System zarządzania treścią.



Podobne dokumenty
BAZA DANYCH SIECI HOTELI

Plan bazy: Kod zakładający bazę danych: DROP TABLE noclegi CASCADE; CREATE TABLE noclegi( id_noclegu SERIAL NOT NULL,

Hurtownia Świętego Mikołaja projekt bazy danych

TABUN_CMS. System zarządzania treścią dla dedykowanej grupy użytkowników. Tabun_CMS 2008 Marcin Biegun, Szymon Bąk

Monika Sychla Daniel Smolarek Projekt bazy danych

Instrukcja podwaja zarobki osób, których imiona zaczynają się P i dalsze litery alfabetu zakładamy, że takich osbób jest kilkanaście.

w PL/SQL bloki nazwane to: funkcje, procedury, pakiety, wyzwalacze

Projekt-bazy danych Poczta

CREATE TABLE autorzy ( id_autora SERIAL PRIMARY KEY, imie TEXT, nazwisko TEXT );

Procedury wyzwalane. (c) Instytut Informatyki Politechniki Poznańskiej 1

Projektowanie bazy danych

PL/SQL. Zaawansowane tematy PL/SQL

PODSTAWY BAZ DANYCH 13. PL/SQL

Bartosz Jachnik - Kino

Kowalski Marcin Wrocław, dn Jaśkiewicz Kamil Bazy Danych 1 Podstawy Projekt Temat: Baza danych do zarządzania projektami

Cheatsheet PL/SQL Andrzej Klusiewicz 1/9

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Zaawansowane bazy danych i hurtownie danych semestr I

Baza danych hotel Maciej Gerus

Kancelaris - Zmiany w wersji 2.50

Wykonanie strony internetowej projektu wraz z hostingiem i administracją

System Informatyczny CELAB. Przygotowanie programu do pracy - Ewidencja Czasu Pracy

Bazy danych, 4. wiczenia

SQL :: Data Definition Language

Język PL/SQL Procedury i funkcje składowane

SQL 4 Structured Query Lenguage

Strona główna góra

Praca na wielu bazach danych część 2. (Wersja 8.1)

Instrukcja programu PControl Powiadowmienia.

INFORMATOR TECHNICZNY WONDERWARE

Archiwum Prac Dyplomowych

Wymagania edukacyjne z przedmiotu PRACOWNIA SSIECIOWYCH SYSTEMÓW OPERACYJNYCH klasa 2iA. zmodernizować serwer. zrekonfigurować serwer;

SIMPLE.ERP 6.10 Metryka i wymagania

Wykład 5 funkcje i procedury pamiętane widoki (perspektywy) wyzwalacze

Blaski i cienie wyzwalaczy w relacyjnych bazach danych. Mgr inż. Andrzej Ptasznik

Chemoinformatyczne bazy danych - Wprowadzenie do technologii baz danych. Andrzej Bąk

Opis instalacji systemu Intranet Komunikator

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

INSTRUKCJA Panel administracyjny

Wyzwalacz - procedura wyzwalana, składowana fizycznie w bazie, uruchamiana automatycznie po nastąpieniu określonego w definicji zdarzenia

Adres strony internetowej, na której Zamawiający udostępnia Specyfikację Istotnych Warunków Zamówienia:

Zaloguj się do Moje GS1. wprowadź dane o swoich lokalizacjach w mniej niż 5 minut!

Programowanie w SQL procedury i funkcje. UWAGA: Proszę nie zapominać o prefiksowaniu nazw obiektów ciągiem [OLIMP\{nr indeksu}] Funkcje użytkownika

I. 1) NAZWA I ADRES: Województwo Zachodniopomorskie - Zachodniopomorski Zarząd Dróg

Pierwsze kroki. Krok 1. Uzupełnienie danych własnej firmy

I. 1) NAZWA I ADRES: Województwo Łódzkie, al. Piłsudskiego 8, Łódź, woj. łódzkie, tel. 042

Projekt bazy danych. Schemat bazy danych. Opis bazy danych

W wyświetlonym okienku New Web Server Application wybierz opcję Web App Debugger Executable, a w polu Class Name wpisz: P1.

SIECI KOMPUTEROWE I BAZY DANYCH

Procedury i funkcje składowane

Centrum Informatyki "ZETO" S.A. w Białymstoku. Instrukcja użytkownika dla urzędników nadających uprawnienia i ograniczenia podmiotom w ST CEIDG

Instrukcja Obsługi STRONA PODMIOTOWA BIP

Budowa i konfiguracja sieci komputerowej cz.3

SIWZ Portal Internetowy dla projektu. Uzdrowiskowy Dolny Śląsk

Bazy danych. Projekt prostej biblioteki. 26 stycznia Hubert Anisimowicz,

Spis treści. Rozdział 1 ewyniki. mmedica - INSTR UKC JA UŻYTKO W NIKA

Zarządzanie Zasobami by CTI. Instrukcja

Chmura obliczeniowa. do przechowywania plików online. Anna Walkowiak CEN Koszalin

Bazy danych wykład dwunasty PL/SQL, c.d. Konrad Zdanowski ( Uniwersytet Kardynała Stefana Bazy danych Wyszyńskiego, wykładwarszawa)

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

I. Zakładanie nowego konta użytkownika.

epuap Ogólna instrukcja organizacyjna kroków dla realizacji integracji

KOLEKCJE - to typy masowe,zawierające pewną liczbę jednorodnych elementów

Bazy danych programowanie Wykład dla studentów matematyk

Instalacja programu. Omówienie programu. Jesteś tu: Bossa.pl

Instrukcja obsługi platformy zakupowej e-osaa (klient podstawowy)

Wyzwalacze. Anna Fiedorowicz Bazy danych 2

Bloki anonimowe w PL/SQL

E.14 Bazy Danych cz. 18 SQL Funkcje, procedury składowane i wyzwalacze

Audyt SEO. Elementy oraz proces przygotowania audytu. strona

Waldemar Pietrzak s5207. Projekt Wypożyczalnia Samochodów

1. Wyzwalacze BD (ang. triggers)

Wyzwalacze. do automatycznego generowania wartości kluczy głównych. Składnia instrukcji tworzacej wyzwalacz

Pakiety podprogramów Dynamiczny SQL

Zestaw skróconych instrukcji dotyczący najważniejszych operacji w programie Merkury Quattro.

Opis obsługi systemu Ognivo2 w aplikacji Komornik SQL-VAT

Oracle PL/SQL. Paweł Rajba.

API transakcyjne BitMarket.pl

DECLARE <nazwa_zmiennej> typ [(<rozmiar> )] [ NOT NULL ] [ { := DEFAULT } <wartość> ];

Zdalne odnawianie certyfikatów do SWI

CitiDirect EB - Mobile

Aplikacje internetowe i rozproszone - laboratorium

PL/SQL. Zaawansowane tematy PL/SQL. Piotr Medoń

Konfiguracja współpracy urządzeń mobilnych (bonowników).

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

LAB 6 BEGIN TRANSACTION, COMMIT, ROLLBACK, SET TRANSACTION ISOLATION LEVEL,

Język PL/SQL. Rozdział 5. Pakiety podprogramów. Dynamiczny SQL

JMMS Instrukcja użytkowania kont Autor oraz Recenzent

1: 2: 3: 4: 5: 6: 7: 8: 9: 10:

Systemowe aspekty baz

I. 1) NAZWA I ADRES: Muzeum i Instytut Zoologii Polskiej Akademii Nauk, ul. Wilcza 64,

INSTRUKCJA TESTOWANIA USŁUG NA PLATFORMIE ELA-ENT

InsERT GT Własne COM 1.0

Ładowanie i reorganizacja

Tabele wykorzystywane w przykładach

I. 1) NAZWA I ADRES: Ośrodek Rozwoju Polskiej Edukacji za Granicą, ul. Rolna 175,

Comarch ERP XL Business Intelligence Start. Migracja do wersji 2018

Transkrypt:

Żewłakw Tmasz Wś Krzysztf Bazy Danych 2 Semestr 2011L System zarządzania treścią. 0. Etap 0: Słwny pis prjektu. System zarządzania treścią. Aplikacja umżliwiająca łatwą aktualizację i edycję strn tekstwych serwisu za pmcą wizualneg edytra treści (umżliwia t wygdne twrzenie i frmatwanie dkumentów bez znajmści HTMLa) raz publikację tych treści w internecie. Zarządzanie treścią serwisu dbywa się pprzez wygdny panel dstępny z pzimu strny www, który jest dstępny wyłącznie dla użytkwników psiadających dpwiednie uprawnienia. Użytkwnicy w systemie są pdzieleni na rle z uwagi na zakres prac. Administratr p zalgwaniu się d systemu, mże każdemu zarejestrwanych użytkwników nadad dpwiedni stpie uprawnie. Aplikacja zstanie wyknana w technlgii PHP z użyciem bazy danych PstgreSQL. Szkielet aplikacji będzie party framewrk ZendFramewrk. 1. Etap 1: Prjekt bazy danych. 1.1. Diagram ER.

1.2. Opis związków na diagramie ER. 1.3. Opis encji.

1.4. Analiza wymagań funkcjnalnych i niefunkcjnalnych. Wymagania funkcjnalne ID Nazwa Opis Prirytet 1. Autryzacja użytkwników użytkwnik mże się zalgwad za pmcą 1 indywidualneg lginu raz hasła. P zalgwaniu użytkwnik w zależnści d typu knta zyskuje dpwiednie uprawnienia d zarządzania treścią. 2. Zarządzanie użytkwnikami mżliwśd twrzenia użytkwników 2 uprawinych d edycji zasbów serwisu 3 pzimy uprawnie 3. Mżliwśd publikwania, użytkwnik mże ddawad własne 1 edycji i usuwania własnych treści kmentarze, redaktr pnadt mże ddawad własne psty, natmiast administratr ma mżliwśd ddawania strn. 4. Wizualny edytr treści mżliwśd wizualnej edycji treści za pmcą 3 edytra typu WYSIWYG. 5. Filtracja kmentarzy kmentarze niezalgwanych 2 użytkwników muszą zstad zatwierdzne przez administratra/redaktra przed publikwaniem. 6. Lgwanie akcji wszystkie akcje wyknywane na strnie są 3 lgwane w bazie danych. 7. Knfiguracja ustawie system umżliwia zmianę knfiguracji w zależnści d platfrmy na jakiej jest uruchminy 1 Wymagania niefunkcjnalne Bezpieczestw system musi zapewnid bezpieczestw użytkwników nikt nie mże mied bezpśrednieg dstępu d ich danych w bazie p za kierwnikiem instytutu raz administratrem. Niezawdnśd system pwinien byd dstępny ciągle raz zapewniad spójnśd wprwadzanych danych. Wysce niepżądane są pmyłki we wprwadzaniu tematu pracy. Przyjazny interfejs aplikacja pwinna byd łatwa w użytku, przejrzysta raz estetycznie wyglądająca. Intuicyjnśd bsługi jest bardz pżądana. System pmcy system pwinien byd wypsażny w kmentarze przy każdym z pól wybru. Mżliwśd rzwju systemu pwinna byd mżliwśd dpisywania nwych mdułów, raz zmiany wyglądu.

1.5. Diagram lgiczny. 1.6. Skrypt DDL. W sbnym pliku: baza.sql

2. Etap 2: Prjekt aplikacji. 2.1. Hierarchia menu. Administracja Kategrie Przeglądaj Edytuj Usu Ddaj Strny Przeglądaj Edytuj Usu Ddaj Psty Przeglądaj Edytuj Usu Ddaj Przeglądaj kmentarze Usu Kmentarz Użytkwnicy Przeglądaj Edytuj Usu Ddaj Strna Psty Przeglądaj Kmentuj Strny Przeglądaj 2.2. Szkielet aplikacji. Psty mduł umżliwiający wyświetlanie, ddawanie, edycję raz usuwanie pstów wyświetlanych później na strnie głównej. Strny mduł umżliwiający wyświetlanie, ddawanie, edycję raz usuwanie strn infrmacyjnych. Użytkwnicy mduł bsługujący rejestrację, lgwanie raz zarządzanie kntem użytkwników raz nadawanie im dpwiednich uprawnie dstępu d panelu zarządzania treścią. Kmentarze mduł umżliwiający ddawanie kmentarzy, wstępną mderację raz umżliwiający usuwanie kmentarzy. Lgi mduł umżliwiający przeglądanie w czytelnej frmie lgów z działa pdczas użytkwania aplikacji. Opcje mduł umżliwiający dstswywanie pcji działania aplikacji d własnych preferencji.

2.3. Pdział realizacji funkcjnalnści między strnę serwera i klienta. Klient Wyświetlanie pstów, mżliwśd ich edycji raz usunięcia, Mżliwśd kmentwania pstów raz ich mderacji, Obsługa edycji, mdyfikacji raz ddawania pstów, strn i użytkwników. Wstępna walidacja wprwadzanych danych, Wyświetlanie przyjazneg interfejsu. Serwer Pbieranie, edycja raz usuwanie rekrdów w bazie danych zarządzanie bazą danych, Obsługa sesji użytkwnika, Pełna walidacja danych, Obsługa żąda danych. Lgwanie zdarze i akcji. 2.4. Spsób realizacji wymuszania integralnści danych. W tabelach zstały pdefiniwane pwiązania na bazie kluczy bcych. Ddając wartści d tabeli, w przypadku tabeli z kluczami bcymi, schemat bazy wymusza na nas ddawanie wartści jedynie zgdnych. Ddatkw tabele płączne danym kluczem bcym są w tych samych mmentach usuwane. Przykładw, ddając pst d kategrii musimy wybrad jedną z aktualnie zdefiniwanych. Natmiast jeśli usuwamy kategrię, również wszystkie wpisy z kategrii są usuwane. 2.5. Indeksy w bazie danych. Indeksy zstały nałżne w celu szybszeg wyszukiwania infrmacji w tabelach. Znajdują się ne na następujących plach: categries.id cmment_status.id cmments.id lgs.id ptins.name pages.id psts.id priviliges.id publish_statuses.id users.id

2.6. GUI.

3. Etap 3: Implementacja. 3.1. Aplikacja. Dstępna pd adresem http://prjekty.ws.in/bd/ 3.2. Prcedury wbudwane i triggery. FUNKCJE Funkcja usuwająca kmentarze zawierające dane słw CREATE OR REPLACE FUNCTION delcmmentwithwrd(slw character) RETURNS blean AS BEGIN --INSERT INTO user_cnnectin_data (ip, user_id) VALUES (_ip, _user_id); DELETE FROM cmments WHERE cntent LIKE '%' slw '%'; IF FOUND THEN RETURN true; ELSE RETURN false; END IF; END; LANGUAGE plpgsql VOLATILE COST 100; Funkcja zliczająca ilść pstów i strn stwrznych przez użytkwnika. CREATE OR REPLACE FUNCTION getcunt() RETURNS numeric AS DECLARE cunter NUMERIC(5,0); tmp NUMERIC(5,0); BEGIN SELECT COUNT(*) INTO cunter FROM psts; SELECT COUNT(*) INTO tmp FROM pages; cunter := cunter + tmp; RETURN (cunter) ; END; LANGUAGE plpgsql VOLATILE COST 100;

Funkcja zliczająca punkty użytkwnika CREATE OR REPLACE FUNCTION getpints(userid numeric) RETURNS numeric AS DECLARE pints NUMERIC(5,0); tmp_pints NUMERIC(5,0); BEGIN SELECT COUNT(*) INTO pints FROM psts WHERE "authr" = USERID; pints := pints * 3; SELECT COUNT(*) INTO tmp_pints FROM pages WHERE "authr" = USERID; tmp_pints := tmp_pints * 4; pints := pints + tmp_pints; RETURN (pints) ; END; LANGUAGE plpgsql VOLATILE COST 100; Triggery Trigger ustawiający dmyślną kategrię dla pstów z usuwanej kategrii CREATE TRIGGER delete BEFORE DELETE ON categries FOR EACH ROW EXECUTE PROCEDURE bdelete(); REATE OR REPLACE FUNCTION bdelete() RETURNS trigger AS DECLARE idk NUMERIC(5,0); BEGIN SELECT id INTO idk FROM categries WHERE name = 'brak kategrii'; UPDATE psts SET categry = idk WHERE categry = OLD.id; RETURN NULL; END; LANGUAGE plpgsql VOLATILE COST 100;

Trigger pełniący rlę lggera. CREATE TRIGGER lg AFTER INSERT OR UPDATE OR DELETE ON psts FOR EACH ROW EXECUTE PROCEDURE lg_add(); CREATE OR REPLACE FUNCTION lg_add() RETURNS trigger AS BEGIN IF (TG_OP = 'DELETE') THEN insert int lg(ip, date, actin, descr) values (new.authr, nw(), 'delete', ld.title); RETURN OLD; ELSIF (TG_OP = 'UPDATE') THEN insert int lg(ip, date, actin, descr) values (new.authr, nw(), 'update', new.cntent); RETURN NEW; ELSIF (TG_OP = 'INSERT') THEN insert int lg(ip, date, actin, descr) values (new.authr, nw(), 'insert', new.title); RETURN NEW; END IF; RETURN NULL; END; LANGUAGE plpgsql VOLATILE COST 100; Trigger sprawdzający pprawnść adresu mail użytkwnika. CREATE TRIGGER vadilate_mailt BEFORE INSERT ON users FOR EACH ROW EXECUTE PROCEDURE vadilate_mail(); CREATE OR REPLACE FUNCTION vadilate_mail() RETURNS trigger AS BEGIN IF NEW.email NOT LIKE '%@%' THEN RAISE EXCEPTION '% bledny mail', NEW.email; END IF; RETURN NEW; END; LANGUAGE plpgsql VOLATILE COST 100;