18. f=g \ render_name -> man_name
Проверяем: f |= render_name -> man_name
[render_name]+f = render_name, man_name, ren_conditions, materials, man_email, man_www, man_country
Да => g=f
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
plug_name -> man_name
edit_name -> man_name
19. f=g \ plug_name -> man_name
Проверяем: f |= plug_name -> man_name
[plug_name]+f = plug_name, man_name, plug_conditions, plug_type, man_email, man_www, man_country
Да => g=f
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
edit_name -> man_name
20. f=g \ edit_name -> man_name
Проверяем: f |= edit_name -> man_name
[edit_name]+f = edit_name, supp_formats, man_name, edit_conditions, man_email, man_www, man_country
Да => g=f
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
Неизбыточное покрытие
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
scene_id -> render_name
render_name -> man_name
plug_name -> man_name
edit_name -> man_name
2.5.2 Построение леворедуцированного покрытия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. packname, scene_id -> amount, archiver_type
1.1. packname, scene_id -> amount, archiver_type
Проверяем: g |= scene_id -> amount, archiver_type
Нет => множество ФЗ не изменяется.
1.2. packname, scene_id -> amount, archiver_type
Проверяем: g |= packname -> amount, archiver_type
Нет => множество ФЗ не изменяется.
2. scene_id, anim_id -> sound
2.1. scene_id, anim_id -> sound
Проверяем: g |= anim_id -> sound
Нет => множество ФЗ не изменяется.
2.2. scene_id, anim_id -> sound
Проверяем: g |= scene_id -> sound
Нет => множество ФЗ не изменяется.
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
plug_name -> man_name, plug_conditions, plug_type
packname, scene_id -> amount, archiver_type
author_id -> author_email
author_email -> author_www
author_www -> author_id
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
Левая редукция или перенос в правую часть
1. Проверка CF-зависимости:
( man_name; man_email; man_www; ) -> man_country
1.1. Сформированная CF-зависимость:
( man_email; man_www; ) -> man_country, man_name
Характеристические множества не эквивалентны
1.2. Сформированная CF-зависимость:
( man_name; man_www; ) -> man_country, man_email
Характеристические множества не эквивалентны
1.3. Сформированная CF-зависимость:
( man_name; man_email; ) -> man_country, man_www
Характеристические множества не эквивалентны
2. Проверка CF-зависимости:
( edit_name; ) -> supp_formats, man_name, edit_conditions
2.1. Сформированная CF-зависимость:
( ) -> supp_formats, man_name, edit_conditions, edit_name
Характеристические множества не эквивалентны
3. Проверка CF-зависимости:
( render_name; ) -> man_name, ren_conditions, materials
3.1. Сформированная CF-зависимость:
( ) -> man_name, ren_conditions, materials, render_name
Характеристические множества не эквивалентны
4. Проверка CF-зависимости:
( plug_name; ) -> man_name, plug_conditions, plug_type
4.1. Сформированная CF-зависимость:
( ) -> man_name, plug_conditions, plug_type, plug_name
Характеристические множества не эквивалентны
5. Проверка CF-зависимости:
( packname, scene_id; ) -> amount, archiver_type
5.1. Сформированная CF-зависимость:
( scene_id; ) -> amount, archiver_type, packname
Характеристические множества не эквивалентны
5.2. Сформированная CF-зависимость:
( packname; ) -> amount, archiver_type, scene_id
Характеристические множества не эквивалентны
6. Проверка CF-зависимости:
( author_id; author_email; author_www; ) -> author_name
6.1. Сформированная CF-зависимость:
( author_email; author_www; ) -> author_name, author_id
Характеристические множества не эквивалентны
6.2. Сформированная CF-зависимость:
( author_id; author_www; ) -> author_name, author_email
Характеристические множества не эквивалентны
6.3. Сформированная CF-зависимость:
( author_id; author_email; ) -> author_name, author_www
Характеристические множества не эквивалентны
7. Проверка CF-зависимости:
( scene_id, anim_id, plug_name, type; ) -> name_anifile, size_kb_ani
7.1. Сформированная CF-зависимость:
( anim_id, plug_name, type; ) -> name_anifile, size_kb_ani, scene_id
Характеристические множества не эквивалентны
7.2. Сформированная CF-зависимость:
( scene_id, plug_name, type; ) -> name_anifile, size_kb_ani, anim_id
Характеристические множества не эквивалентны
7.3. Сформированная CF-зависимость:
( scene_id, anim_id, type; ) -> name_anifile, size_kb_ani, plug_name
Характеристические множества не эквивалентны
7.4. Сформированная CF-зависимость:
( scene_id, anim_id, plug_name; ) -> name_anifile, size_kb_ani, type
Характеристические множества не эквивалентны
8. Проверка CF-зависимости:
( scene_id; ) -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, objects, lights, cameras
8.1. Сформированная CF-зависимость:
( ) -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, objects, lights, cameras, scene_id
Характеристические множества не эквивалентны
9. Проверка CF-зависимости:
( scene_id, anim_id; ) -> sound, frames, raskadrovka
9.1. Сформированная CF-зависимость:
( anim_id; ) -> sound, frames, raskadrovka, scene_id
Характеристические множества не эквивалентны
9.2. Сформированная CF-зависимость:
( scene_id; ) -> sound, frames, raskadrovka, anim_id
Характеристические множества не эквивалентны
Проверка покрытия на праворедуцированность
1. Проверка CF-зависимости:
( man_name; man_email; man_www; ) -> man_country
2.1. Сформированная CF-зависимость:
( man_name; man_email; man_www; )
Характеристические множества не эквивалентны
2. Проверка CF-зависимости:
( edit_name; ) -> supp_formats, man_name, edit_conditions
3.1. Сформированная CF-зависимость:
( edit_name; ) -> man_name, edit_conditions
Характеристические множества не эквивалентны
3.2. Сформированная CF-зависимость:
( edit_name; ) -> supp_formats, edit_conditions
Характеристические множества не эквивалентны
3.3. Сформированная CF-зависимость:
( edit_name; ) -> supp_formats, man_name
Характеристические множества не эквивалентны
3. Проверка CF-зависимости:
( render_name; ) -> man_name, ren_conditions, materials
4.1. Сформированная CF-зависимость:
( render_name; ) -> ren_conditions, materials
Характеристические множества не эквивалентны
4.2. Сформированная CF-зависимость:
( render_name; ) -> man_name, materials
Характеристические множества не эквивалентны
4.3. Сформированная CF-зависимость:
( render_name; ) -> man_name, ren_conditions
Характеристические множества не эквивалентны
4. Проверка CF-зависимости:
( plug_name; ) -> man_name, plug_conditions, plug_type
5.1. Сформированная CF-зависимость:
( plug_name; ) -> plug_conditions, plug_type
Характеристические множества не эквивалентны
5.2. Сформированная CF-зависимость:
( plug_name; ) -> man_name, plug_type
Характеристические множества не эквивалентны
5.3. Сформированная CF-зависимость:
( plug_name; ) -> man_name, plug_conditions
Характеристические множества не эквивалентны
5. Проверка CF-зависимости:
( packname, scene_id; ) -> amount, archiver_type
6.1. Сформированная CF-зависимость:
( packname, scene_id; ) -> archiver_type
Характеристические множества не эквивалентны
6.2. Сформированная CF-зависимость:
( packname, scene_id; ) -> amount
Характеристические множества не эквивалентны
6. Проверка CF-зависимости:
( author_id; author_email; author_www; ) -> author_name
7.1. Сформированная CF-зависимость:
( author_id; author_email; author_www; )
Характеристические множества не эквивалентны
7. Проверка CF-зависимости:
( scene_id, anim_id, plug_name, type; ) -> name_anifile, size_kb_ani
8.1. Сформированная CF-зависимость:
( scene_id, anim_id, plug_name, type; ) -> size_kb_ani
Характеристические множества не эквивалентны
8.2. Сформированная CF-зависимость:
( scene_id, anim_id, plug_name, type; ) -> name_anifile
Характеристические множества не эквивалентны
8. Проверка CF-зависимости:
( scene_id; ) -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, objects, lights, cameras
9.1. Сформированная CF-зависимость:
( scene_id; ) -> size_polys, edit_name, author_id, render_name, size_kb, created, comments, objects, lights, cameras
Характеристические множества не эквивалентны
9.2. Сформированная CF-зависимость:
( scene_id; ) -> scene_name, edit_name, author_id, render_name, size_kb, created, comments, objects, lights, cameras
Характеристические множества не эквивалентны
9.3. Сформированная CF-зависимость:
( scene_id; ) -> scene_name, size_polys, author_id, render_name, size_kb, created, comments, objects, lights, cameras
Характеристические множества не эквивалентны
9.4. Сформированная CF-зависимость:
( scene_id; ) -> scene_name, size_polys, edit_name, render_name, size_kb, created, comments, objects, lights, cameras
Характеристические множества не эквивалентны
9.5. Сформированная CF-зависимость:
( scene_id; ) -> scene_name, size_polys, edit_name, author_id, size_kb, created, comments, objects, lights, cameras
Характеристические множества не эквивалентны
9.6. Сформированная CF-зависимость:
( scene_id; ) -> scene_name, size_polys, edit_name, author_id, render_name, created, comments, objects, lights, cameras
Характеристические множества не эквивалентны
9.7. Сформированная CF-зависимость:
( scene_id; ) -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, comments, objects, lights, cameras
Характеристические множества не эквивалентны
9.8. Сформированная CF-зависимость:
( scene_id; ) -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, objects, lights, cameras
Характеристические множества не эквивалентны
9.9. Сформированная CF-зависимость:
( scene_id; ) -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, lights, cameras
Характеристические множества не эквивалентны
9.10. Сформированная CF-зависимость:
( scene_id; ) -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, objects, cameras
Характеристические множества не эквивалентны
9.11. Сформированная CF-зависимость:
( scene_id; ) -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, objects, lights
Характеристические множества не эквивалентны
9. Проверка CF-зависимости:
( scene_id, anim_id; ) -> sound, frames, raskadrovka
10.1. Сформированная CF-зависимость:
( scene_id, anim_id; ) -> frames, raskadrovka
Характеристические множества не эквивалентны
10.2. Сформированная CF-зависимость:
( scene_id, anim_id; ) -> sound, raskadrovka
Характеристические множества не эквивалентны
10.3. Сформированная CF-зависимость:
( scene_id, anim_id; ) -> sound, frames
Характеристические множества не эквивалентны
Минимальное редуцированное кольцевое покрытие
C
( 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
plug_name -> man_name, plug_conditions, plug_type
packname, scene_id -> amount, archiver_type
author_id -> author_email
author_email -> author_www
author_www -> author_id
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
2.6 Логическая модель предметной областиR0 = ( man_name, man_email, man_www, man_country ) K0 = { man_name, man_email, man_www }
R1 = ( edit_name, supp_formats, man_name, edit_conditions ) K1 = { edit_name }
R2 = ( render_name, man_name, ren_conditions, materials ) K2 = { render_name }
R3 = ( plug_name, man_name, plug_conditions, plug_type ) K3 = { plug_name }
R4 = ( packname, scene_id, amount, archiver_type ) K4 = { packname, scene_id }
R5 = ( author_id, author_email, author_www, author_name ) K5 = { author_id, author_email, author_www }
R6 = ( scene_id, anim_id, plug_name, type, name_anifile, size_kb_ani ) K6 = { scene_id, anim_id, plug_name, type }
R7 = ( scene_id, scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, objects, lights, cameras ) K7 = { scene_id }
R8 = ( scene_id, anim_id, sound, frames, raskadrovka ) K8 = { scene_id, anim_id }
3 ПОСТРОЕНИЕ ЗАПРОСОВ
1. Выбрать все сцены, созданные 20.03.05
SELECT scene_id FROM 3dscene WHERE(created=”20.03.05’)
... прочие). В соответствии с принципами формирования изображения аддитивным или субтрактивным методами разработаны способы разделения цветового оттенка на составляющие компоненты, называемые цветовыми моделями. В компьютерной графике в основном применяют модели RGB и HSB (для создания и обработки аддитивных изображений) и CMYK (для печати копии изображения на полиграфическом оборудовании). Цветовые ...
... средств. К примеру, Adobe Photoshop сейчас не является чисто растровым редактором, a CorelDRAW имеет довольно развитые средства работы с растровой графикой. 2. Графические редакторы, используемые для создания векторных и растровых изображений Редакторы растровой графики Microsoft Paint - простой (или лучше сказать - простейший) редактор, входящий в стандартную поставку операционных систем ...
и в составе растрового изображения. Сейчас Adobe Photoshop позволяет редактировать и растровую, и векторную графику. Хотя основное предназначение. Adobe Photoshop – преобразование существующего изображения, в версии CS4 мы находим массу разнообразных инструментов и для создания оригинальных продуктов. 2. Палитры и инструменты Рассмотрим подробно внешний вид и назначение каждого элемента ...
... трехмерной сцены. Можно создать не только трехмерные стандартные объекты – куб, рюмка и т.д., но и более сложные объекты, скажем, зверюшек, а также различных персонажей и т.д. и т.п.. 4. Применение векторной графики Успехи компьютерных технологий, достигнутые в последние годы, не оставляют места сомнениям при выборе способов получения, хранения и переработки данных о сложных комплексных ...
0 комментариев