Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

pl:dydaktyka:ztb:2012:projekty:rss:logiczny [2012/07/03 22:43]
ztb2012
pl:dydaktyka:ztb:2012:projekty:rss:logiczny [2019/06/27 15:50]
Linia 1: Linia 1:
-====== Projekt logiczny ====== 
  
-==== 1. Schemat bazy ==== 
-**Schemat bazy danych** 
- 
-{{:​pl:​dydaktyka:​ztb:​2012:​projekty:​rss:​n_baza.png|}} 
-  
-==== 2. Słowniki danych ==== 
- 
-**Base** 
-  * base_name – PK, VARCHAR(30) – unikalna nazwa bazy przeszukiwań,​ będąca jednocześnie kluczem głównym 
-  * created – DATE, NOT NULL – data utworzenia bazy przeszukiwań 
-  * notify_type – VARCHAR(6), NOT NULL – typ powiadomień ustawiony w bazie – email, sms lub żaden. 
-  * frequency – INTEGER, NOT NULL – częstotliwość sprawdzania czy w bazie zaszły zmiany 
-  * base_type – INTEGER, NOT NULL - typ bazy (rss lub html) 
-\\ 
- 
-**Channels** 
-  * channelid – PK, INTEGER – id kanału rss 
-  * Uri – VARCHAR(200),​ NOT NULL – adres kanału 
-  * title – VARCHAR(100),​ NOT NULL – tytuł kanału 
-  * last_modified – DATE – data ostatnich zmian w kanale rss 
-  * base_name – FK, VARCHAR(30) – klucz obcy, nazwa bazy zawierającej dany kanał 
-\\ 
- 
-**Entries** 
-  * entryid – PK, INTEGER – id wpisu 
-  * title – VARCHAR(40),​ NOT NULL – tytuł wpisu  
-  * uri – VARCHAR(200),​ NOT NULL – adres do szczegółów dotyczących wpisu 
-  * description – TEXT, NOT NULL – skrótowy opis wpisu 
-  * created – DATE – data utworzenia wpisu 
-  * reprted - INTEGER, NOT NULL – czy wpis został już zaraportowany 
-  * channeled – FK, INTEGER – klucz obcy, id kanału zawierającego ten wpis 
-\\ 
- 
-**Keyword** 
-  * keywordid ​ PK, INTEGER -  id słowa kluczowego 
-  * word – VARCHAR(100),​ NOT NULL – wartość słowa kluczowego 
-  * base_name – FK, VARCHAR(30) – klcuz obcy, baza zawierająca to słowo kluczowe 
-\\ 
- 
-==== 3. Analiza zależności funkcyjnych i normalizacja tabel ==== 
- 
-** 1NF ** 
-\\ 
-Relacja jest w pierwszej postaci normalnej (1NF) wtedy i tylko wtedy gdy wszystkie atrybuty przyjmują wartości elementarne (atomiczne). Atomowość danych jest ściśle powiązana z ich typem (nazwanym i skończonym zbiorem wartości). Pierwsza postać normalna jest konieczna, aby tabelę można było nazwać relacją. 
- 
-Nasza baza spełnia te warunki. Wszystkie wartości w tabelach są atomiczne. 
- 
-**2NF** 
-\\ 
-Relacja R jest w drugiej postaci normalnej (2NF) wtedy i tylko wtedy, gdy nie zawiera zależności częściowych,​ tzn. żadna zależność częściowa nie wynika logicznie ze zbioru F. 
- 
-Wszystkie tabele w naszej bazie posiadają klucz prosty, więc ich atrybuty zależą w całości od klucza głównego. Baza jest w 2NF. 
- 
-**3NF** 
-\\ 
-Relacja jest w trzeciej postaci normalnej tylko wtedy, gdy jest w drugiej postaci normalnej i każdy atrybut wtórny jest tylko bezpośrednio zależny od klucza głównego. Innymi słowy wymaga usunięcia wszelkich pól niezwiązanych z kluczem głównym. 
- 
-Z powodu, że każda tabela w naszej bazie posiada klucz prosty, jej atrybuty są w całości zależne od klucza głównego. Więc warunek postaci 3NF jest również spełniony. 
- 
- 
-==== 4. Projektowanie operacji na danych ==== 
- 
-//Dodanie nowego kanału// 
-<code sql>​INSERT INTO channels(uri,​ title, last_modified,​ base_name) ​ 
-VALUES ('​www.pudelek.pl','​Najświeższe ploteczki',​ '​2012-06-01',​ '​Ploteczki'​);</​code>​ 
-\\ 
- 
-//Pobranie wszystkich baz do modelu jListy// 
-<code sql>​SELECT base_name, type, created, notify_type,​ frequency ​ 
-FROM bases;</​code>​ 
-\\ 
- 
-//Zmiana częstotliwości odświeżania danej bazy// 
-<code sql>​UPDATE bases 
-SET frequency=5 
-WHERE base_name='​Ploteczki';</​code>​ 
-\\ 
- 
-//Pobranie wszystkich wpisów z konkretnej bazy przeszukiwań//​ 
-<code sql>​SELECT e.entryid, e.title, e.uri, e.description,​ e.created, e.reported, ch.uri 
-FROM entries e  
-JOIN channels ch USING (channelid) ​ 
-WHERE ch.base_name=’Nazwa_bazy’;</​code>​ 
pl/dydaktyka/ztb/2012/projekty/rss/logiczny.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0