База данных "Магазин косметики"

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

gt;* Проверяем: g |= kod_ka, street_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka -> * Да => множество ФЗ изменяется 2.3. kod_ka, street_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka -> * Проверяем: g |= kod_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka -> * Да => множество ФЗ изменяется 2.4. kod_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka -> * Проверяем: g |= kod_ka, office_ka, phone_ka, inn_ka, kpp_ka -> * Да => множество ФЗ изменяется 2.5. kod_ka, office_ka, phone_ka, inn_ka, kpp_ka -> * Проверяем: g |= kod_ka, phone_ka, inn_ka, kpp_ka -> * Да => множество ФЗ изменяется 2.6. od_ka, phone_ka, inn_ka, kpp_ka -> * Проверяем: g |= kod_ka, inn_ka, kpp_ka -> * Да => множество ФЗ изменяется 2.7. kod_ka, inn_ka, kpp_ka -> * Проверяем: g |= kod_ka, kpp_ka -> * Да => множество ФЗ изменяется 2.8. kod_ka, kpp_ka -> * Проверяем: g |= kod_ka -> * Да => множество ФЗ изменяется 3. kod_val, name_val, kurs -> * 3.1. kod_val, name_val, kurs -> * Проверяем: g |= kod_val, kurs -> * Да => множество ФЗ изменяется 3.2. kod_val, kurs -> * Проверяем: g |= kod_val -> * Да => множество ФЗ изменяетсяРисунок 2.7 - Этапы построения леворедуцированного покрытия

 

Леворедуцированное покрытие представлено на рисунке 2.7.

 

kod_nom -> name_nom, kod_str, kod_proiz, ed_izm, ves kod_pr -> kod_tp, kod_nom, price kod_tp -> name_tp, kod_val kod_val -> name_val, kurs kod_proiz -> name_proiz, city_pz, street_pz, house_pz, office_pz, phone_pz kod_pred -> name_pred, kod_proiz, city_pr, street_pr, house_pr, office_pr, phone_pr kod_str -> name_str kod_rek -> kod_nom, kod_var kod_var -> rek kod_sost -> kod_nom, kod_vv kod_vv -> name_vv kod_prod -> date_prod, kod_ka, kod_tp kod_spr -> kod_prod, kod_nom, price_r, kolvo kod_post -> date_post, kod_ka, kod_tp kod_spo -> kod_post, kod_nom, price_rr, kolvo kod_ka -> name_ka, city_ka, street_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka kod_sch -> kod_bank, kod_ka bik -> ks, name_bank, city_b kod_org -> name_org, city, street, house, office, phone, inn_org, kpp, rs, bik kod_opl -> kod_prod, kod_st kod_st -> name_st kod_tp, kod_nom -> price name_nom, kod_proiz -> ed_izm, ves inn_ka -> name_ka name_val -> kurs kod_prod, kod_nom -> price_r kod_nom-> * kod_ka -> * kod_val -> *

Рисунок 2.7 - Леворедуцированное покрытие

 

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

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

 

1. kod_nom -> name_nom, kod_str, kod_proiz, ed_izm, ves 1.1. Если удаляем ed_izm Проверяем: f |= kod_nom -> ed_izm Да => g=f 1.2. Если удаляем ves Проверяем: f |= kod_nom -> ves Да => g=f 2. kod_pr -> kod_tp, kod_nom, price Если удаляем price Проверяем: f |= kod_pr -> price Да => g=f 3. kod_val -> name_val, kurs Если удаляем kurs Проверяем: f |= kod_val -> kurs Да => g=f 4. kod_spr -> kod_prod, kod_nom, price_r, kolvo Если удаляем price_r Проверяем: f |= kod_spr -> price_r Да => g=f 5. kod_spo -> kod_post, kod_nom, price_rr, kolvo Если удаляем price_rr Проверяем: f |= kod_spo -> price_rr Да => g=f 6. kod_ka -> name_ka, city_ka, street_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka Если удаляем name_ka Проверяем: f |= kod_ka -> name_ka Да => g=fРисунок 2.8 - Этапы построения праворедуцированного покрытия

 

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

kod_nom -> name_nom, kod_str, kod_proiz kod_pr -> kod_tp, kod_nom kod_tp -> name_tp, kod_val kod_val -> name_val kod_proiz -> name_proiz, city_pz, street_pz, house_pz, office_pz, phone_pz kod_pred -> name_pred, kod_proiz, city_pr, street_pr, house_pr, office_pr, phone_pr kod_str -> name_str kod_rek -> kod_nom, kod_var kod_var -> rek kod_sost -> kod_nom, kod_vv kod_vv -> name_vv kod_prod -> date_prod, kod_ka, kod_tp kod_spr -> kod_prod, kod_nom, kolvo kod_post -> date_post, kod_ka, kod_tp kod_spo -> kod_post, kod_nom, kolvo kod_ka -> city_ka, street_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka kod_sch -> kod_bank, kod_ka bik -> ks, name_bank, city_b kod_org -> name_org, city, street, house, office, phone, inn_org, kpp, rs, bik kod_opl -> kod_prod, kod_st kod_st -> name_st kod_tp, kod_nom -> price name_nom, kod_proiz -> ed_izm, ves inn_ka -> name_ka name_val -> kurs kod_prod, kod_nom -> price_r kod_post, kod_nom -> price_rr kod_nom -> * kod_ka -> * kod_val -> *

Рисунок 2.9 - Праворедуцированное покрытие

 

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

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

 

1. Ef( kod_nom ): kod_nom -> name_nom, kod_str, kod_proiz kod_nom -> * 2. Ef( kod_pr ): kod_pr -> kod_tp, kod_nom 3. Ef( kod_tp ): kod_tp -> name_tp, kod_val 4. Ef( kod_val ): kod_val -> name_val; kod_val -> * 5. Ef( kod_proiz ): kod_proiz -> name_proiz, city_pz, street_pz, house_pz, office_pz, phone_pz 6. Ef( kod_pred ): kod_pred -> name_pred, kod_proiz, city_pr, street_pr, house_pr, office_pr, phone_pr 7. Ef( kod_str ): kod_str -> name_str 8. Ef( kod_rek ): kod_rek -> kod_nom, kod_var 9. Ef( kod_var ): kod_var -> rek 10. Ef( kod_sost ): kod_sost -> kod_nom, kod_vv 11. Ef( kod_vv ): kod_vv -> name_vv 12. Ef( kod_prod ): kod_prod -> date_prod, kod_ka, kod_tp 13. Ef( kod_spr ): kod_spr -> kod_prod, kod_nom, kolvo 14. Ef( kod_post ): kod_post -> date_post, kod_ka, kod_tp 15. Ef( kod_spo ): kod_spo -> kod_post, kod_nom, kolvo 16. Ef( kod_ka ): kod_ka -> city_ka, street_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka kod_ka -> * 17. Ef( kod_sch ): kod_sch -> kod_bank, kod_kaРисунок 2.10 - Этапы построения классов эквивалентности

 

18. Ef( bik ): bik -> ks, name_bank, city_b 19. Ef( kod_org ): kod_org -> name_org, city, street, house, office, phone, inn_org, kpp, rs, bik 20. Ef( kod_opl ): kod_opl -> kod_prod, kod_st 21. Ef( kod_st ): kod_st -> name_st 22. Ef( kod_tp, kod_nom ): kod_tp, kod_nom -> price 23. Ef( name_nom, kod_proiz ): name_nom, kod_proiz -> ed_izm, ves 24. Ef( inn_ka ): inn_ka -> name_ka 25. Ef( name_val ): name_val -> kurs 26. Ef( kod_prod, kod_nom ): kod_prod, kod_nom -> price_r 27. Ef( kod_post, kod_nom ): kod_post, kod_nom -> price_rrРисунок 2.11 - Этапы построения классов эквивалентности

 

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

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

 

1. Проверка: f \ Ef(kod_nom) |= kod_nom -> kod_nom? Да => заменяем kod_nom -> name_nom, kod_str, kod_proiz и kod_nom -> * на kod_nom -> name_nom, kod_str, kod_proiz, *. 2. Проверка: f \ Ef(kod_val) |= kod_val -> kod_val? Да => заменяем kod_val -> name_val и kod_val -> * на kod_val -> name_val, *. 3. Проверка: f \ Ef(kod_ka) |= kod_ka -> kod_ka? Да => заменяем kod_ka -> city_ka, street_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka и kod_ka -> * на kod_ka -> city_ka, street_ka, house_ka, office_ka, phone_ka, inn_ka, kpp_ka, *.Рисунок 2.11 - Этапы построения минимального покрытия на основе прямой функциональной определяемости

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

 

kod_pr -> kod_tp, kod_nom kod_tp -> name_tp, kod_val kod_proiz -> name_proiz, city_pz, street_pz, house_pz, office_pz, phone_pz kod_pred -> name_pred, kod_proiz, city_pr, street_pr, house_pr, office_pr, phone_pr kod_str -> name_str kod_rek -> kod_nom, kod_var kod_var -> rek kod_sost -> kod_nom, kod_vv kod_vv -> name_vv kod_prod -> date_prod, kod_ka, kod_tp kod_spr -> kod_prod, kod_nom, kolvo kod_post -> date_post, kod_ka, kod_tp kod_spo -> kod_post, kod_nom, kolvo kod_sch -> kod_bank, kod_ka bik -> ks, name_bank, city_b kod_org -> name_org, city, street, house, office, phone, inn_org, kpp, rs, bik kod_opl -> kod_prod, kod_st kod_st -> name_st kod_tp, kod_nom -> price n