Курсовая работа по предмету "Программирование, компьютеры и кибернетика, ИТ технологии"


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


Министерство образования и науки Российской Федерации

Курский Государственный Технический Университет

Кафедра ПО ВТ

КУРСОВАЯ РАБОТА

по дисциплине: “Базы данных”

Тема: “ Графические редакторы (пакеты трехмерного моделирования)”

Выполнил: студент гр. ПО-21 Чельцов Е. О.

Проверил: доцент Белов В. Г.

К У Р С К

2 0 0 8

СОДЕРЖАНИЕ

  • 1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ
  • 1.1 Основание для разработки
  • 1.2 Задание
  • 2 ТЕХНИЧЕСКИЙ ПРОЕКТ
  • 2.1 Описание предметной области
  • 2.2 Словарь понятий и терминов
  • 2.3 Первый вариант ER-диаграммы:
  • 2.4 Построение функциональных зависимостей:
  • 2.5 Синтез схемы базы данных на основании функциональных зависимостей
  • 2.5.1 Построение неизбыточного покрытия
  • 2.5.2 Построение леворедуцированного покрытия
  • 2.5.3 Построение праворедуцированного покрытия
  • 2.5.4 Построение классов эквивалентностей
  • 2.5.5 Построение минимального покрытия
  • 2.5.6 Получение минимального кольцевого редуцированного покрытия
  • Определение CF-зависимостей по классам эквивалентности
  • Минимальное кольцевое покрытие
  • 2.6. Логическая модель предметной области
  • 2.7 Уточненная концептуальная модель
  • 3 ПОСТРОЕНИЕ ЗАПРОСОВ
  • 1 ТЕХНИЧЕСКОЕ ЗАДАНИЕ

1.1 Основание для разработки

Необходимо спроектировать и разработать базу данных, обеспечивающую ввод, хранение и обработку информации о графических редакторах, а именно пакетах трехмерного моделирования. Основанием для разработки послужило задание на курсовое проектирование по дисциплине “Базы данных”.

1.2 Задание

Спроектировать базу данных, содержащую информацию о графических редакторах, а именно пакетах трехмерного моделирования. Описать предметную область, разработать словарь понятий и терминов, построить систему функциональных зависимостей, ER-диаграмму. Синтезировать схему базы данных на основании функциональных зависимостей (построение неизбыточного покрытия, построение леворедуцированного неизбыточного покрытия, построение праворедуцированного неизбыточного покрытия, построение классов эквивалентностей, построение минимального покрытия). Построить уточненную концептуальную модель в виде ER-диаграммы, запросы предметной области. Записать запросы на языке SQL.

2.ТЕХНИЧЕСКИЙ ПРОЕКТ

2.1 Описание предметной области

В настоящее время большая часть новых компьютерных технологий ориентированна на сферу развлечений. Трехмерная графика является её наиболее интересной составляющей. Она используется в киноиндустрии, в индустрии компьютерных игр, в области проектирования и т.д.

На данный момент существует довольно много средств трехмерного моделирования -- начиная от простейших программ, типа “Ultimate Unwrap3D”, предназначенных для создания простейших сцен и зачастую распространяемых бесплатно, и заканчивая мощными коммерческими пакетами моделирования, типа “Maya”, предназначенных для создания реалистичных изображений и анимации.

В Интернете существуют сайты, на которых хранятся большие коллекции файлов (сцен) для такого рода программ. Каждая сцена имеет свой идентификационный номер и характеризуется следующими параметрами:

-название сцены;

-количество полигонов в сцене;

-размер файла;

-дата создания;

-количество объектов;

-количество источников света;

-количество камер;

-комментарии.

При создании сцены используется модуль просчета изображения -- рендер, который характеризуется:

-поддержка материалов;

-условия распространения;

К каждой сцене прилагается пакет текстур, который характеризуется:

-количеством текстур;

-типом архива.

Сцены бывают статические и с содержанием анимации. Сцена с анимацией имеет параметры:

-наличие звука;

-количество кадров;

-описание анимации (раскадровка).

Если при создании анимации использовалась сторонняя программа или плагин, то последовательность кадров будет содержаться в отдельном файле, с параметрами:

-название файла анимации;

-тип файла;

-размер файла.

Используемый плагин характеризуется:

-тип;

-условия распространения;

-название.

Программа, используемая при создании сцены, характеризуется:

-название;

-поддерживаемые форматы;

-условия распространения.

Характеристики производителя, используемого программного продукта:

-название организации;

-адрес электронной почты;

-адрес сайта Интернет;

-страна.

Так же имеются сведение об авторе сцены:

-полное имя или псевдоним;

-адрес электронной почты;

-адрес сайта Интернет;

Каждый автор имеет свой идентификационный номер.

2.2 Словарь понятий и терминов

Наименование

Смысл

Обозначение

Пример

Имя призводителя

Наименование производителя пакета моделирования

man_name

Discreet

Почта производителя

Адрес электронной почты производителя

man_email

authcodes.neu@autodesk.com

Сайт производителя

Адрес сайта производителя

man_www

www.discreet.com

Страна

Страна производителя

man_country

USA

Название средства моделирования

Полное название средства моделирования

edit_name

3DS MAX 6.0

Условия распространения средства моделирования

Условия распространения средства моделирования

edit_conditions

Commercial

Форматы

Форматы файлов, поддерживаемые программой моделирования

supp_formats

*.max, *.chr

Рендер

Полное название рендера

render_name

Mental Ray

Условия распространения рендера

Условия распространения рендера

ren_conditions

Commercial

Материалы

Поддерживает ли рендер материалы(да/нет)

materials

Yes

Плагин

Полное название плагина или сторонней программы, использованной при создании анимации

plug_name

Character Studio 4.1

Условия распространения плагина

Условия распространения плагина или сторонней программы, использованной при создании анимации

plug_conditions

Commercial

Тип плагина

Программа или плагин

plug_type

plugin

Идентификатор сцены

Идентификатор сцены

scene_id

0035

Название сцены

Название сцены

scene_name

My_scene

Количество полигонов

Количество полигонов в сцене

size_polys

50 564

Размер файла сцены

Размер файла, содержащего сцену

size_kb

3 693

Дата создания сцены

Дата создания сцены

created

14.03.05

Комментарии к сцене

Комментарии к сцене

comments

Сцена анимации персонажа из игры

Пакет текстур

Название архива, содержащего текстуры к сцене

packname

My_pack

Количество текстур в архиве

Количество текстур в архиве

amount

20

Тип архива

Тип архива, содержащего текстуры к сцене

archiver_type

*.zip

Объекты

Количество объектов в сцене

objects

12

Свет

Количество источников освещения в сцене

lights

3

Камеры

Количество камер в сцене

cameras

1

Идентификатор анимации

Идентификатор файла анимации

anim_id

0013

Звук

Присутствует ли звук в анимированной сцене(да/нет)

sound

no

Количество кадров анимации

Количество кадров анимации

frames

150

Раскадровка

Комментарий, содержащий детальное пояснение анимации персонажа

raskadrovka

1-10: ходьба

11-20: бег

21-60: падение

Тип файла анимации

Тип файла анимации

type

*.bip

Имя файла анимации

Имя файла анимации

name_anifile

My_anim

Размер файла анимации

Размер файла анимации

size_kb_ani

825

Идентификатор автора сцены

Идентификатор автора сцены

author_id

0045

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

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

author_name

Renderman

Почта автора

Адрес электронной почты автора сцены

author_email

renderman@mail.ru

Сайт автора

Адрес сайта Интернет автора сцены

author_www

www.renman.narod.ru

2.3 Первый вариант ER-диаграммы:

2.4 Построение функциональных зависимостей:

Функциональная зависимость

Описание

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

Программа моделирования не может быть произведена двумя и более производителями

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

Идентификатор сцены, идентификатор анимации, плагин, тип плагина определяют имя файла анимации и размер файла анимации

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

Полное множество атрибутов предметной области

Z={man_name, man_email, man_www, man_country, edit_name, supp_formats, edit_conditions, render_name, materials, ren_conditions, plug_name, plug_conditions, plug_type, scene_id, scene_name, size_polys, size_kb, created, comments, packname, amount, archoiver_type, objects, lights, cameras, anim_id, sound, frames, raskadrovka, type, name_anifile, size_kb_ani, author_id, author_name, author_email, author_www}

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

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

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

1. f=g man_name -> man_email, man_www, man_country

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

[man_name]+f = man_name

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

2. f=g edit_name -> supp_formats, man_name, edit_conditions

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

[edit_name]+f = edit_name, man_name, man_email, man_www, man_country

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

3. f=g render_name -> man_name, ren_conditions, materials

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

[render_name]+f = render_name, man_name, man_email, man_www, man_country

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

4. f=g plug_name -> man_name, plug_conditions, plug_type

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

[plug_name]+f = plug_name, man_name, man_email, man_www, man_country

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

5. f=g packname, scene_id -> amount, archiver_type

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

[packname, scene_id]+f = packname, scene_id, scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, supp_formats, man_name, edit_conditions, man_email, man_www, man_country, ren_conditions, materials, objects, lights, cameras, author_name, author_email, author_www

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

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

Проверяем: f |= scene_id -> scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments

[scene_id]+f = scene_id, objects, lights, cameras, render_name, man_name, ren_conditions, materials, man_email, man_www, man_country

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

7. f=g scene_id -> objects, lights, cameras

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

[scene_id]+f = scene_id, scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, supp_formats, man_name, edit_conditions, man_email, man_www, man_country, ren_conditions, materials, author_name, author_email, author_www

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

8. f=g scene_id, anim_id -> sound

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

[scene_id, anim_id]+f = scene_id, anim_id, scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, supp_formats, man_name, edit_conditions, man_email, man_www, man_country, ren_conditions, materials, objects, lights, cameras, frames, raskadrovka, author_name, author_email, author_www

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

9. f=g scene_id, anim_id -> frames

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

[scene_id, anim_id]+f = scene_id, anim_id, scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, supp_formats, man_name, edit_conditions, man_email, man_www, man_country, ren_conditions, materials, objects, lights, cameras, sound, raskadrovka, author_name, author_email, author_www

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

10. f=g scene_id, anim_id -> raskadrovka

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

[scene_id, anim_id]+f = scene_id, anim_id, scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, supp_formats, man_name, edit_conditions, man_email, man_www, man_country, ren_conditions, materials, objects, lights, cameras, sound, frames, author_name, author_email, author_www

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

11. f=g author_id -> author_name, author_email, author_www

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

[author_id]+f = author_id

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

12. f=g scene_id, anim_id, plug_name, type -> name_anifile, size_kb_ani

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

[scene_id, anim_id, plug_name, type]+f = scene_id, anim_id, plug_name, type, man_name, plug_conditions, plug_type, man_email, man_www, man_country, scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, supp_formats, edit_conditions, ren_conditions, materials, objects, lights, cameras, sound, frames, raskadrovka, author_name, author_email, author_www

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

13. f=g man_email -> man_name

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

[man_email]+f = man_email

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

14. f=g man_www -> man_name

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

[man_www]+f = man_www

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

15. f=g author_email -> author_id

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

[author_email]+f = author_email

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

16. f=g author_www -> author_id

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

[author_www]+f = author_www

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

17. f=g scene_id -> render_name

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

[scene_id]+f = scene_id, scene_name, size_polys, edit_name, author_id, render_name, size_kb, created, comments, supp_formats, man_name, edit_conditions, man_email, man_www, man_country, ren_conditions, materials, objects, lights, cameras, author_name, author_email, author_www

Да => 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

render_name -> man_name

plug_name -> man_name

edit_name -> man_name

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 Построение классов эквивалентностей





Не сдавайте скачаную работу преподавателю!
Данную курсовую работу Вы можете использовать для написания своего курсового проекта.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем курсовую работу самостоятельно:
! Как писать курсовую работу Практические советы по написанию семестровых и курсовых работ.
! Схема написания курсовой Из каких частей состоит курсовик. С чего начать и как правильно закончить работу.
! Формулировка проблемы Описываем цель курсовой, что анализируем, разрабатываем, какого результата хотим добиться.
! План курсовой работы Нумерованным списком описывается порядок и структура будующей работы.
! Введение курсовой работы Что пишется в введении, какой объем вводной части?
! Задачи курсовой работы Правильно начинать любую работу с постановки задач, описания того что необходимо сделать.
! Источники информации Какими источниками следует пользоваться. Почему не стоит доверять бесплатно скачанным работа.
! Заключение курсовой работы Подведение итогов проведенных мероприятий, достигнута ли цель, решена ли проблема.
! Оригинальность текстов Каким образом можно повысить оригинальность текстов чтобы пройти проверку антиплагиатом.
! Оформление курсовика Требования и методические рекомендации по оформлению работы по ГОСТ.

Читайте также:
Разновидности курсовых Какие курсовые бывают в чем их особенности и принципиальные отличия.
Отличие курсового проекта от работы Чем принципиально отличается по структуре и подходу разработка курсового проекта.
Типичные недостатки На что чаще всего обращают внимание преподаватели и какие ошибки допускают студенты.
Защита курсовой работы Как подготовиться к защите курсовой работы и как ее провести.
Доклад на защиту Как подготовить доклад чтобы он был не скучным, интересным и информативным для преподавателя.
Оценка курсовой работы Каким образом преподаватели оценивают качества подготовленного курсовика.

Сейчас смотрят :

Курсовая работа Способы содержания птицы
Курсовая работа Действие уголовного закона во времени и пространстве
Курсовая работа Управление персоналом
Курсовая работа Анализ кредитного портфеля коммерческого банка
Курсовая работа Учет и аудит расчетов с поставщиками и подрядчиками на примере ОАО "ВЭЛТ-Кинескоп"
Курсовая работа Анализ показателей эффективности финансово-хозяйственной деятельности предприятия
Курсовая работа Управление государственным долгом
Курсовая работа Договор ренты
Курсовая работа Финансовая устойчивость страховых компаний
Курсовая работа Организация налогового учёта в организации
Курсовая работа Анализ эффективности использования трудовых ресурсов
Курсовая работа Оперативное планирование производства предприятия
Курсовая работа Самооценка младших школьников
Курсовая работа Налоговая система РФ и проблемы ее совершенствования
Курсовая работа Бронхиальная астма