Projekt logiczny

1. Schemat bazy

2. Słowniki danych

Składnia słownika:

= składa się z, zdefiniowany jako
+ i, oraz
() wybór opcji
{} powtarzanie
[] wybór z kilki możliwości
| oddzielenie możliwości wyboru
** komentarz, opis
@ klucz identyfikator

Identyfikatory ogólne:

Ciąg znaków – polskie znaki diakrytyczne(pl) = {A – Z | a – z | 0 – 9 | _ | - | ą | ć | ę | ł | ń | ó | ś | ź | ż | Ą | Ć | Ę | Ł | Ń | Ó | Ś | Ź | Ż}

Ciąg znaków = {A – Z | a – z | 0 – 9}

Znak = {A – Z | a – z | 0 – 9}

Znaki specjalne = {! | „ | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / | ; | < | = | > | ? | @ | [ | \ | ] | ^ | _ | ` | { | | | } | ~}

Liczba = {0 – 9}

Czas = GG + MM + SS

GG = [1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24]
*Godziny*

MM = [01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60]
*Minuty*

SS = [01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60]
*Sekundy*

Data = DD + MM + YYYY

DD = [1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 26 | 27 | 28 | (29) | (30) | (31)]
*Dni miesiąca*

MM = [1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12]
*Miesiące*

YYYY = 0000 – 9999
*rok*

3. Analiza zależności funkcyjnych i normalizacja tabel

1. Pierwsza postać normalna (1NF): Relacja jest w pierwszej postaci normalnej, jeśli wartości atrybutów są elementarne (atomowe, niepodzielne) - są to pojedyncze wartości określonego typu, a nie zbiory wartości. Tabela reprezentująca tę relację nie zawiera powtarzających się grup informacji. Każda kolumna jest wartością skalarną (atomową), a nie macierzą lub listą czy też czymkolwiek, co posiada własną strukturę.

2. Druga postać normalna (2NF): Relacja jest w drugiej postaci normalnej wtedy i tylko wtedy gdy jest w I postaci normalnej i każda kolumna zależy funkcyjnie od całego klucza głównego (a nie np. od części klucza).

3. Trzecia postać normalna (3NF): Mamy z nią do czynienia wtedy i tylko wtedy, gdy tabela jest w 2NF oraz gdy wszystkie pola nie będące polami klucza głównego są od niego zależne.

4. Czwarta postać normalna (4NF): Relacja jest w czwartej postaci normalnej, jeżeli zawsze wtedy kiedy zbiór atrybutów X określa wartościowo Y, to zachodzi jeden z następujących warunków:
- Y jest puste lub zawiera się w X,
- Suma zbiorów X i Y jest pełnym zbiorem atrybutów,
- X zawiera klucz.

5. Postać normalna Boyce'a-Codda (BCNF): W tej postaci zależności funkcyjne muszą mieć następującą postać: jeżeli X → A i atrybut A nie jest zawarty w X, to X jest kluczem lub zawiera klucz.

4. Projektowanie operacji na danych

pobranie id dla przykładowego imienia:

SELECT id_name FROM table_names WHERE table_names.name = 'Tomasz'

gdy nie ma, dodanie imienia:

INSERT INTO table_names(name) VALUES('Tomasz');


pobranie id nazwiska:

SELECT id_surname FROM table_surname WHERE table_surname.surname = 'Wiktor';

gdy nie ma:

INSERT INTO table_surname(surname) VALUES('Wiktor');


dodanie zawodnika:

INSERT INTO users(id_name,id_surname,user_nic,email,password,description,type_accound,is_root,is_blocked)
VALUES(1,1,'zawody','zawody@zawody.pl','haslo w md5','przykladowy opis',1,'0','0');


dodanie do grupy:

INSERT INTO user_conn_group(id_user,id_group,status)
VALUES (2,2,1);


przykładowe dodanie zawodów:

INSERT INTO games(id_module,id_user_prod,date_create,date_start,date_close_list,subject,description,active,localization)
VALUES (3,2,'2012-01-01 00:00','2012-01-02 00:00','2012-05-01 00:00','zapraszamy na zawody','opis naszych zawodow',1,'Krakow - ....');
pl/dydaktyka/ztb/2012/projekty/karate/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