|
|
pl:dydaktyka:ztb:2011:projekty:trener:projekt_logiczny [2011/06/19 19:33] ztb2011 |
pl:dydaktyka:ztb:2011:projekty:trener:projekt_logiczny [2019/06/27 15:50] |
====== 1 Skrypt tworzący bazę danych ====== | |
| |
{{:pl:dydaktyka:ztb:2011:projekty:trener:create_data_base.sql|}} | |
| |
| |
Skrypt tworzy tabele, ustala dla nich klucze główne. Dodatkowo dodawane są do bazy przykładowe dane. | |
| |
====== 2 Słownik danych ====== | |
| |
__Abstract__ - tabela abstrakcyjna po której dziedziczą wszystkie tabele w bazie danych: | |
| |
* created - integer | |
* created_time - date | |
* modified - integer | |
* modified_time - date | |
| |
__Match_Set__ - tabela przechowująca statystyki z meczów: | |
| |
* mset_id - integer, NOT NULL, | |
* mset_match - integer | |
* mset_player - integer | |
* mset_team - integer | |
* mset_position - character(1) | |
* mset_intime - integer | |
* mset_outtime - integer | |
| |
| |
__Matches__ - tabela przechowująca dane o rozegranych meczach: | |
| |
* mts_id - integer, NOT NULL | |
* mts_host - integer, NOT NULL | |
* mts_guest - integer, NOT NULL | |
* mts_city - character varying(40) | |
* mts_hscore - integer, NOT NULL | |
* mts_gscore - integer, NOT NULL | |
* mts_hposs - integer | |
* mts_gposs - integer | |
* mts_haccu - integer | |
* mts_gaccu - integer | |
| |
__Notes__ - tabela przechowująca notatki trenera na temat zawodnika: | |
| |
* nt_id - integer, NOT NULL | |
* nt_date - date | |
* nt_text - text | |
* nt_usr_id - integer, NOT NULL | |
| |
__Players__ - tabela przechowująca dane na temat zawodników: | |
| |
* pl_id - integer, NOT NULL | |
* pl_birthdate - date | |
* pl_city - character varying(30) | |
* pl_footed - character(1) | |
* pl_weight - integer | |
* pl_speed - integer | |
* pl_mot_perf - integer | |
* pl_goals - integer | |
* pl_matches - integer | |
* pl_ycards - integer | |
* pl_rcards - integer | |
* pl_usr_id - integer NOT NULL | |
* pl_tm_id - integer, NOT NULL | |
| |
| |
__Roles__ - tabela przechowująca opis ról definiowanych w systemie: | |
| |
* rol_id - integer, NOT NULL | |
* rol_name - character varying(255) | |
* rol_description - character varying(255) | |
| |
| |
__Stats__ - tabela przechowująca statystyki dotyczące zawodnika: | |
| |
* sts_id - integer, NOT NULL | |
* sts_match - integer, NOT NULL | |
* sts_player - integer, NOT NULL | |
* sts_team - integer, NOT NULL | |
* sts_event - character(1) | |
* sts_time - integer | |
| |
__Teams__ - tabela przechowująca informacje na temat drużyny: | |
| |
* tm_id - integer, NOT NULL | |
* tm_name - character varying(40) | |
* tm_city - character varying(40) | |
| |
__Transfers__ - tabela przechowująca informacje na temat zmian drużyny przez zawodnika: | |
| |
* trf_id - integer, NOT NULL | |
* trf_player - integer, NOT NULL | |
* trf_seller - integer, NOT NULL | |
* trf_buyer - integer, NOT NULL | |
| |
__User_roles__ - tabela przechowująca informacje na temat roli jaką posiada użytkownik: | |
* urol_user_id - integer, NOT NULL | |
* urol_rol_id - integer, NOT NULL | |
| |
| |
| |
| |
====== 3 Analiza zależności funkcyjnych i normalizacja tabel ====== | |
| |
1FN - Pierwsza postać normalna | |
| |
Elementy wszystkich tabel są atomami, atomy są elementarne. | |
| |
2FN - Druga postać normalna | |
| |
Wszystkie tabele spełniają pierwszą postać normalną, dodatkowo każdy atrybut w tabeli w pełni zależy od klucza głównego. | |
| |
3FN - Trzecia postać normalna | |
| |
Wszystkie tabele spełniają 2 i 3 FN oraz nie są zależne przechodnio. | |
| |
====== 4 Funkcjonalność bazy danych ====== | |
| |
| |