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

Этапы построения минимального покрытия на основе прямой функциональной определяемости представлены на рисунке 2.5.

 

2. Проверка: f \ Ef(sp, np) |= sp, np -> sp, np?
Да => заменяем sp, np -> Fam, Im, Otch, pol, dateborn, datevidachi,
kemvidan, country, city, street, numstreet, numflat, dolgnost и sp, np ->
num_room на sp, np -> Fam, Im, Otch, pol, dateborn, datevidachi,
kemvidan, country, city, street, numstreet, numflat, dolgnost, num_room.
5. Проверка: f \ Ef(num_zal) |= num_zal -> num_zal?
Да => заменяем num_zal -> type_zal и num_zal -> num_p на num_zal ->
type_zal, num_p.
6. Проверка: f \ Ef(code_inv) |= code_inv -> code_inv?
Да => заменяем code_inv -> firm_inv, model_inv и code_inv -> code_obj
на code_inv -> firm_inv, model_inv, code_obj.
7. Проверка: f \ Ef(code_tec) |= code_tec -> code_tec?
Да => заменяем code_tec -> firm_tec, model_tec и code_tec ->
code_obj на code_tec -> firm_tec, model_tec, code_obj.
8. Проверка: f \ Ef(code_meb) |= code_meb -> code_meb?
Да => заменяем code_meb -> firm_meb, dlina, width, height, color и
code_meb -> code_obj на code_meb -> firm_meb, dlina, width, height,
color, code_obj.
9. Проверка: f \ Ef(inv_number_INV_out) |= inv_number_INV_out ->
inv_number_INV_out?
Да => заменяем inv_number_INV_out -> inv_number_INV и
inv_number_INV_out -> date_out_inv на inv_number_INV_out ->
inv_number_INV, date_out_inv.
10. Проверка: f \ Ef(inv_number_TEC_out) |= inv_number_TEC_out ->
inv_number_TEC_out?
Да => заменяем inv_number_TEC_out -> inv_number_TEC и
inv_number_TEC_out -> date_out_tec на inv_number_TEC_out ->
inv_number_TEC, date_out_tec.
11. Проверка: f \ Ef(inv_number_MEB_out) |= inv_number_MEB_out ->
inv_number_MEB_out?
Да => заменяем inv_number_MEB_out -> inv_number_MEB и
inv_number_MEB_out -> date_out_meb на inv_number_MEB_out ->
inv_number_MEB, date_out_meb.
12. Проверка: f \ Ef(code_balls) |= code_balls -> code_balls?
Да => заменяем code_balls -> material и code_balls -> code_inv на
code_balls -> material, code_inv.
13. Проверка: f \ Ef(code_gate) |= code_gate -> code_gate?
Да => заменяем code_gate -> height_gate, shirina, kind и code_gate ->
code_inv на code_gate -> height_gate, shirina, kind, code_inv.

Рисунок 2.5 - Этапы построения минимального покрытия на основе прямой функциональной определяемости

 

Редуцированное минимальное покрытие представлено на рисунке 2.6

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

Рисунок 2.6 - Редуцированное минимальное покрытие


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



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