Синтез схемы базы данных на основании функциональных зависимостей

Построение неизбыточного покрытия

Исходное множество функциональных зависимостей представлено на рисунке 2.3.

 

sp, np -> Fam, Im, Otch, pol, dateborn, datevidachi, kemvidan, country, city, street, numstreet, numflat, dolgnost
Fam, Im, Otch, dateborn, country, city, street, numstreet, numflat -> sp, np
sp_pl, np_pl -> date, rost, ves, staff, number, status
date, staff, number, status -> sp_pl, np_pl
sp, np -> num_room
num_p -> square, naznachenie
num_room -> room
num_zal -> type_zal
num_zal -> num_p
code_obj -> kol, date, balance
code_inv -> firm_inv, model_inv
code_inv -> code_obj
code_tec -> firm_tec, model_tec
code_tec -> code_obj
code_meb -> firm_meb, dlina, width, height, color
code_meb -> code_obj
inv_number_INV -> code_inv
inv_number_TEC -> code_tec
inv_number_MEB -> code_meb
inv_number_INV_out -> inv_number_INV
inv_number_TEC_out -> inv_number_TEC
inv_number_MEB_out -> inv_number_MEB
inv_number_INV_out -> date_out_inv
inv_number_TEC_out -> date_out_tec
inv_number_MEB_out -> date_out_meb
inv_number_INV, date_IinZal -> num_zal
inv_number_TEC, date_TecInP -> num_р
inv_number_MEB, date_MebInP -> num_р
code_balls -> material
code_balls -> code_inv
code_gate -> height_gate, shirina, kind
code_gate -> code_inv
code_trenager -> type
code_trenager -> code_inv
code_TV -> diagonal, screen
code_TV -> code_tec
code_refreg -> height_ref, widht_ref, depht_ref, sum_sq_polok, com_volume, user_volume
code_refreg -> code_tec
code_vacuum -> moshnost_v
code_vacuum -> code_tec
code_bed -> type_bed
code_bed -> code_meb
code_table -> type_table, material_table
code_table -> code_meb
code_shkaf -> type_shkaf
code_shkaf -> code_meb

Рисунок 2.3 - Исходное множество функционаьных зависимостей

 

В ходе построения неизбыточнго покрытия множество функциональных зависимостей не изменилось.

 

Построение леворедуцированного покрытия

В ходе построения леворедуцированного покрытия множество функциональных зависимостей не изменилось.

Построение праворедуцированного покрытия

 

В ходе построения праворедуцированного покрытия множество функциональных зависимостей не изменилось.

 


 


Построение классов эквивалентности

Этапы построения классов эквивалентности представлены на рисунке 2.8.

 

1. Ef(sp, np):
 sp, np -> Fam, Im, Otch, pol, dateborn, datevidachi, kemvidan, country, city, street, numstreet, numflat, dolgnost
 Fam, Im, Otch, dateborn, country, city, street, numstreet, numflat -> sp, np
 sp, np -> num_room
2. Ef(sp_pl, np_pl):
 sp_pl, np_pl -> date, rost, ves, staff, number, status
 date, staff, number, status -> sp_pl, np_pl
3. Ef(num_p):
 num_p -> square, naznachenie
4. Ef(num_room):
 num_room -> room
5. Ef(num_zal):
 num_zal -> type_zal
 num_zal -> num_p
6. Ef(code_obj):
 code_obj -> kol, date, balance
7. Ef(code_inv):
 code_inv -> firm_inv, model_inv; code_inv -> code_obj
8. Ef(code_tec):
 code_tec -> firm_tec, model_tec; code_tec -> code_obj
9. Ef(code_meb):
 code_meb -> firm_meb, dlina, width, height, color; code_meb -> code_obj
10. Ef(inv_number_INV):
 inv_number_INV -> code_inv
11. Ef(inv_number_TEC):
15. Ef(inv_number_MEB_out):
inv_number_MEB_out -> inv_number_MEB
inv_number_MEB_out -> date_out_meb
16. Ef(inv_number_INV, date_IinZal):
inv_number_INV, date_IinZal -> num_zal
17. Ef(inv_number_TEC, date_TecInP):
inv_number_TEC, date_TecInP -> num_р
18. Ef(inv_number_MEB, date_MebInP):
inv_number_MEB, date_MebInP -> num_р
19. Ef(code_balls):
code_balls -> material
code_balls -> code_inv
20. Ef(code_gate):
code_gate -> height_gate, shirina, kind
code_gate -> code_inv
21. Ef(code_trenager):
code_trenager -> type
code_trenager -> code_inv
22. Ef(code_TV):
code_TV -> diagonal, screen
code_TV -> code_tec
23. Ef(code_refreg):
code_refreg -> height_ref, widht_ref, depht_ref, sum_sq_polok, com_volume, user_volume
code_refreg -> code_tec
24. Ef(code_vacuum):
code_vacuum -> moshnost_v
code_vacuum -> code_tec
25. Ef(code_bed):
code_bed -> type_bed
code_bed -> code_meb
26. Ef(code_table):
code_table -> type_table, material_table
code_table -> code_meb
27. Ef(code_shkaf):
code_shkaf -> type_shkaf
code_shkaf -> code_meb

Рисунок 2.4 - Этапы построения классов эквивалентности

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: