Смекни!
smekni.com

Графические редакторы (пакеты трехмерного моделирования) (стр. 3 из 4)

3. scene_id, anim_id -> frames

3.1. scene_id, anim_id -> frames

Проверяем: g |= anim_id -> frames

Нет => множество ФЗ не изменяется.

3.2. scene_id, anim_id -> frames

Проверяем: g |= scene_id -> frames

Нет => множество ФЗ не изменяется.

4. scene_id, anim_id -> raskadrovka

4.1. scene_id, anim_id -> raskadrovka

Проверяем: g |= anim_id -> raskadrovka

Нет => множество ФЗ не изменяется.

4.2. scene_id, anim_id -> raskadrovka

Проверяем: g |= scene_id -> raskadrovka

Нет => множество ФЗ не изменяется.

5. scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

5.1. scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

Проверяем: g |= anim_id, plug_name, type -> name_anifile, size_kb_ani

Нет => множество ФЗ не изменяется.

5.2. scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

Проверяем: g |= scene_id, plug_name, type -> name_anifile, size_kb_ani

Нет => множество ФЗ не изменяется.

5.3. scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

Проверяем: g |= scene_id, anim_id, type -> name_anifile, size_kb_ani

Нет => множество ФЗ не изменяется.

5.4. scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

Проверяем: g |= scene_id, anim_id, plug_name -> name_anifile, size_kb_ani

Нет => множество ФЗ не изменяется.

Леворедуцированное покрытие

g:

man_name -> man_email, man_www, man_country

edit_name -> supp_formats, man_name, edit_conditions

render_name -> man_name, ren_conditions, materials

plug_name -> man_name, plug_conditions, plug_type

packname, scene_id -> amount, archiver_type

scene_id -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments

scene_id -> objects, lights, cameras

scene_id, anim_id -> sound

scene_id, anim_id -> frames

scene_id, anim_id -> raskadrovka

author_id -> author_name, author_email, author_www

scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

man_email -> man_name

man_www -> man_name

author_email -> author_id

author_www -> author_id

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

g:

man_name -> man_email, man_www, man_country

edit_name -> supp_formats, man_name, edit_conditions

render_name -> man_name, ren_conditions, materials

plug_name -> man_name, plug_conditions, plug_type

packname, scene_id -> amount, archiver_type

scene_id -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments

scene_id -> objects, lights, cameras

scene_id, anim_id -> sound

scene_id, anim_id -> frames

scene_id, anim_id -> raskadrovka

author_id -> author_name, author_email, author_www

scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

man_email -> man_name

man_www -> man_name

author_email -> author_id

author_www -> author_id

1. man_name -> man_email, man_www, man_country

1.1. Если удаляем man_email

Проверяем: f |= man_name -> man_email

Нет => множество ФЗ не изменяется.

1.2. Если удаляем man_www

Проверяем: f |= man_name -> man_www

Нет => множество ФЗ не изменяется.

1.3. Если удаляем man_country

Проверяем: f |= man_name -> man_country

Нет => множество ФЗ не изменяется.

2. edit_name -> supp_formats, man_name, edit_conditions

2.1. Если удаляем supp_formats

Проверяем: f |= edit_name -> supp_formats

Нет => множество ФЗ не изменяется.

2.2. Если удаляем man_name

Проверяем: f |= edit_name -> man_name

Нет => множество ФЗ не изменяется.

2.3. Если удаляем edit_conditions

Проверяем: f |= edit_name -> edit_conditions

Нет => множество ФЗ не изменяется.

3. render_name -> man_name, ren_conditions, materials

3.1. Если удаляем man_name

Проверяем: f |= render_name -> man_name

Нет => множество ФЗ не изменяется.

3.2. Если удаляем ren_conditions

Проверяем: f |= render_name -> ren_conditions

Нет => множество ФЗ не изменяется.

3.3. Если удаляем materials

Проверяем: f |= render_name -> materials

Нет => множество ФЗ не изменяется.

4. plug_name -> man_name, plug_conditions, plug_type

4.1. Если удаляем man_name

Проверяем: f |= plug_name -> man_name

Нет => множество ФЗ не изменяется.

4.2. Если удаляем plug_conditions

Проверяем: f |= plug_name -> plug_conditions

Нет => множество ФЗ не изменяется.

4.3. Если удаляем plug_type

Проверяем: f |= plug_name -> plug_type

Нет => множество ФЗ не изменяется.

5. packname, scene_id -> amount, archiver_type

5.1. Если удаляем amount

Проверяем: f |= packname, scene_id -> amount

Нет => множество ФЗ не изменяется.

5.2. Если удаляем archiver_type

Проверяем: f |= packname, scene_id -> archiver_type

Нет => множество ФЗ не изменяется.

6. scene_id -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments

6.1. Если удаляем scene_name

Проверяем: f |= scene_id -> scene_name

Нет => множество ФЗ не изменяется.

6.2. Если удаляем size_polys

Проверяем: f |= scene_id -> size_polys

Нет => множество ФЗ не изменяется.

6.3. Если удаляем edit_name

Проверяем: f |= scene_id -> edit_name

Нет => множество ФЗ не изменяется.

6.4. Если удаляем author_id

Проверяем: f |= scene_id -> author_id

Нет => множество ФЗ не изменяется.

6.5. Если удаляем render_name

Проверяем: f |= scene_id -> render_name

Нет => множество ФЗ не изменяется.

6.6. Если удаляем size_kb

Проверяем: f |= scene_id -> size_kb

Нет => множество ФЗ не изменяется.

6.7. Если удаляем created

Проверяем: f |= scene_id -> created

Нет => множество ФЗ не изменяется.

6.8. Если удаляем comments

Проверяем: f |= scene_id -> comments

Нет => множество ФЗ не изменяется.

7. scene_id -> objects, lights, cameras

7.1. Если удаляем objects

Проверяем: f |= scene_id -> objects

Нет => множество ФЗ не изменяется.

7.2. Если удаляем lights

Проверяем: f |= scene_id -> lights

Нет => множество ФЗ не изменяется.

7.3. Если удаляем cameras

Проверяем: f |= scene_id -> cameras

Нет => множество ФЗ не изменяется.

8. scene_id, anim_id -> sound

8.1. Если удаляем sound

Проверяем: f |= scene_id, anim_id -> sound

Нет => множество ФЗ не изменяется.

9. scene_id, anim_id -> frames

9.1. Если удаляем frames

Проверяем: f |= scene_id, anim_id -> frames

Нет => множество ФЗ не изменяется.

10. scene_id, anim_id -> raskadrovka

10.1. Если удаляем raskadrovka

Проверяем: f |= scene_id, anim_id -> raskadrovka

Нет => множество ФЗ не изменяется.

11. author_id -> author_name, author_email, author_www

11.1. Если удаляем author_name

Проверяем: f |= author_id -> author_name

Нет => множество ФЗ не изменяется.

11.2. Если удаляем author_email

Проверяем: f |= author_id -> author_email

Нет => множество ФЗ не изменяется.

11.3. Если удаляем author_www

Проверяем: f |= author_id -> author_www

Нет => множество ФЗ не изменяется.

12. scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

12.1. Если удаляем name_anifile

Проверяем: f |= scene_id, anim_id, plug_name, type -> name_anifile

Нет => множество ФЗ не изменяется.

12.2. Если удаляем size_kb_ani

Проверяем: f |= scene_id, anim_id, plug_name, type -> size_kb_ani

Нет => множество ФЗ не изменяется.

13. man_email -> man_name

13.1. Если удаляем man_name

Проверяем: f |= man_email -> man_name

Нет => множество ФЗ не изменяется.

14. man_www -> man_name

14.1. Если удаляем man_name

Проверяем: f |= man_www -> man_name

Нет => множество ФЗ не изменяется.

15. author_email -> author_id

15.1. Если удаляем author_id

Проверяем: f |= author_email -> author_id

Нет => множество ФЗ не изменяется.

16. author_www -> author_id

16.1. Если удаляем author_id

Проверяем: f |= author_www -> author_id

Нет => множество ФЗ не изменяется.

Удаление зависимостей вида X->

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

g:

man_name -> man_email, man_www, man_country

edit_name -> supp_formats, man_name, edit_conditions

render_name -> man_name, ren_conditions, materials

plug_name -> man_name, plug_conditions, plug_type

packname, scene_id -> amount, archiver_type

scene_id -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments

scene_id -> objects, lights, cameras

scene_id, anim_id -> sound

scene_id, anim_id -> frames

scene_id, anim_id -> raskadrovka

author_id -> author_name, author_email, author_www

scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

man_email -> man_name

man_www -> man_name

author_email -> author_id

author_www -> author_id

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

1. Ef( man_name ):

man_name -> man_email, man_www, man_country

man_email -> man_name

man_www -> man_name

2. Ef( edit_name ):

edit_name -> supp_formats, man_name, edit_conditions

3. Ef( render_name ):

render_name -> man_name, ren_conditions, materials

4. Ef( plug_name ):

plug_name -> man_name, plug_conditions, plug_type

5. Ef( packname, scene_id ):

packname, scene_id -> amount, archiver_type

6. Ef( scene_id ):

scene_id -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments

scene_id -> objects, lights, cameras

7. Ef( scene_id, anim_id ):

scene_id, anim_id -> sound

scene_id, anim_id -> frames

scene_id, anim_id -> raskadrovka

8. Ef( author_id ):

author_id -> author_name, author_email, author_www

author_email -> author_id

author_www -> author_id

9. Ef( scene_id, anim_id, plug_name, type ):

scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

2.5.5 Построение минимального покрытия

1. Проверка: f \ Ef(man_name) |= man_name -> man_email?

Нет => множество ФЗ не изменяется.

2. Проверка: f \ Ef(man_name) |= man_name -> man_www?

Нет => множество ФЗ не изменяется.

3. Проверка: f \ Ef(man_name) |= man_email -> man_www?

Нет => множество ФЗ не изменяется.

4. Проверка: f \ Ef(scene_id) |= scene_id -> scene_id?

Да => заменяем scene_id -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments и scene_id -> objects, lights, cameras на scene_id -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, objects, lights, cameras.

5. Проверка: f \ Ef(scene_id, anim_id) |= scene_id, anim_id -> scene_id, anim_id?

Да => заменяем scene_id, anim_id -> sound и scene_id, anim_id -> frames на scene_id, anim_id -> sound, frames.

6. Проверка: f \ Ef(scene_id, anim_id) |= scene_id, anim_id -> scene_id, anim_id?

Да => заменяем scene_id, anim_id -> sound, frames и scene_id, anim_id -> raskadrovka на scene_id, anim_id -> sound, frames, raskadrovka.

7. Проверка: f \ Ef(author_id) |= author_id -> author_email?

Нет => множество ФЗ не изменяется.

8. Проверка: f \ Ef(author_id) |= author_id -> author_www?

Нет => множество ФЗ не изменяется.

9. Проверка: f \ Ef(author_id) |= author_email -> author_www?

Нет => множество ФЗ не изменяется.

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

g:

man_name -> man_email, man_www, man_country

edit_name -> supp_formats, man_name, edit_conditions

render_name -> man_name, ren_conditions, materials

plug_name -> man_name, plug_conditions, plug_type

packname, scene_id -> amount, archiver_type

author_id -> author_name, author_email, author_www

scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

man_email -> man_name

man_www -> man_name

author_email -> author_id

author_www -> author_id

scene_id -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, objects, lights, cameras

scene_id, anim_id -> sound, frames, raskadrovka

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

Определение CF-зависимостей по классам эквивалентности

Минимальноекольцевоепокрытие

( man_name; man_email; man_www; ) -> man_country

( edit_name; ) -> supp_formats, man_name, edit_conditions

( render_name; ) -> man_name, ren_conditions, materials

( plug_name; ) -> man_name, plug_conditions, plug_type

( packname, scene_id; ) -> amount, archiver_type

( author_id; author_email; author_www; ) -> author_name

( scene_id, anim_id, plug_name, type; ) -> name_anifile, size_kb_ani

( scene_id; ) -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, objects, lights, cameras

( scene_id, anim_id; ) -> sound, frames, raskadrovka

Получение кольцевого минимального

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

Естественное характеристическое множество

для кольцевого покрытия

f(C):

man_name -> man_email

man_email -> man_www

man_www -> man_name

man_www -> man_country

edit_name -> supp_formats, man_name, edit_conditions

render_name -> man_name, ren_conditions, materials