Реферат: Базы данных и знаний
1. Нормализация исходногоотношения.
2. Разработка программсоздания таблиц; формы для ввода данных в таблицу.
3. Создание отчётов.
1.Нормализация исходногоотношения .
/>
Чтобы нормализовать данноеисходное отношение необходимо привести его сначала к первой, потом ко второй,а затем и к третьей нормальной форме .
Отношения находятся в 1-ойнормальной форме тогда и только тогда, когда все входящие в него доменысодержат только атомарные значения
Основные действия дляприведения к первой нормальной форме:
- удаляем повторяющиеся группы вотдельных таблицах;
- создаём отдельные таблицы длякаждого множества отношений;
- определяем первичный ключ в каждомотношении .
В результате этих действий получаем две таблицы.
В первую вошли поля,которые связаны с первичным ключом отношением “ 1 — 1 ”:
№ сотрудника Фамилия Имя Отчество Пол Адрес Дата рожденияПервичным ключом в этой новойтаблице является № сотрудника.
Во вторую вошли поля,которые связаны с первичным ключом отношением “ 1 — ¥ ”:
№ сотрудника, №задания,содержание задания, № документа, Содержание документа, Дата получениядокумента, Дата получения задания, срок выполнения задания, дата окончаниявыполнения задания
№ сотрудника № задания Содержание задания № документа Содержание документа Дата получения документа Дата получения задания Срок выполнения задания Дата окончания выполнения заданияПервичным ключом в этойтаблице являются составной ключ, содержащий поля “№ сотрудника, №задания.
Отношение R находится во 2-ойнормальной форме, если оно находится в 1-ой нормальной форме, и каждыйнеключевой атрибут функционально полно зависит от первичного ключа .
Основные действия: — удалениечастичной зависимости .
Для приведения ко второйнормальной форме необходимо удалить частичную зависимость .
Во второй таблице существуетчастичная зависимость поля “№ документа ” от составного ключа “№ сотрудника” — “№ задания”. Это поле полностью зависит от поля ”-“№ задания” и совсем независит от поля “№ сотрудника” .
Для удаления этойзависимости разделяем таблицу на две.
Первая:
№ сотрудника, № задания
№ сотрудника №заданияПервичным ключом в этойтаблице является составной ключ, включающий в себя поля “№ сотрудника“ и №задания.
Вторая:
№ задания, содержание задания, дата получения задания,срок выполнения задания, дата окончания выполнения задания, номер документа,содержание документа, дата получения документа
№ задания Дата получения задания Содержание задания Срок выполнения задания Дата окончания выполнения задания Номер документа Содержание документа дата получения документа
Первичным ключом в этойтаблице является поле “№ задания” .
Отношение находится в 3-ейнормальной форме, если оно находится во 2-ой нормальной форме и каждыйнеключевой атрибут нетранзитивно зависит от первичного ключа .
Во второй таблице существуеттранзитивная зависимость:
— поля “Содержание документа”и “Дата получения документа” зависят от первичного ключа “№ задания” через поле“№ документа”;
Для удаления этой зависимостивыделяем эти поля в отдельную таблицу .
Получаем две таблицы:
№ задания Содержание задания Дата получения задания Срок выполнения Дата окончания выполнения № документаПервичным ключом является поле “№ задания”
№ документа Содержание документа Дата получения документаПервичным ключом являетсяполе “№ документа”
В результате этого получаемчетыре таблицы .
Первая:
№ сотрудника Фамилия Имя Отчество Пол Адрес Дата рожденияПервичным ключом в этой таблице является поле “№сотрудника”
Вторая:
№ сотрудника №заданияПервичным ключом в этойтаблице является составной ключ, включающий в себя поля “№ сотрудника” и “№задания” .
Третья:
№ задания Содержание задания Дата получения задания Срок выполнения Дата окончания выполнения № документаПервичным ключом в этойтаблице является поле “№ задания”.
Четвёртая:
№ документа Содержание документа Дата получения документаПервичным ключом в этойтаблице является поле “№ документа” .
2. Разработка программ создания таблиц, формы для вводаданных в таблицы.
Создание таблицы “документы”
CREATE TABLE Докумены (Номер_Документа INTEGER CONSTRAINT Индекс5 PRIMARY KEY, Содержание_ДокументаTEXT, Дата_Полу4ения date);
Создание таблицы “задание”
create table Задание (Номер_Задания INTEGER CONSTRAINT a1 PRIMARY KEY, содержание_задания text,Дата_Полу4ения date, срок_выполнения integer, Дата_Окон4ания_Выполнения date,Номер_Документа integer);
Создание таблицы “сотрудник”
CREATE TABLE Сотрудник (Номер_сотрудника COUNTER CONSTRAINT Индекс1 PRIMARY KEY, Фамилия TEXT, ИмяTEXT, От4ество TEXT, Пол TEXT, Дата_Рождения date, Адрес TEXT);
Создание таблицы
create tableСотрудник_Задание ( Номер_Сотрудника INTEGER CONSTRAINT Индек2 PRIMARY KEY ,
Номер_Задания integer);
3. Создание отчета для печати
Задание:
Вывести успешные и неуспешныезадания.
Запрос состоит из двухзарпросов:
1.
SELECT Задание.Номер_Задания,Задание.содержание_задания, Дата_Окон4ания_Выполнения-Дата_полу4ения ASразность, Дата_Окон4ания_Выполнения, Задание.срок_выполнения
FROM Задание;
2.
SELECT Задание.Номер_Задания,Задание.содержание_задания, (Дата_Окон4ания_Выполнения)
FROM все
WHERE срок_выполнения >разность;
Выводит успешно выполненныезадания
1.
SELECT Задание.Номер_Задания,Задание.содержание_задания, Дата_Окон4ания_Выполнения-Дата_полу4ения ASразность, Дата_Окон4ания_Выполнения, Задание.срок_выполнения
FROM Задание;
2.
SELECT Задание.Номер_Задания, Задание.содержание_задания,(Дата_Окон4ания_Выполнения)
FROM все
WHERE срок_выполнения >разность;
Выводит неуспешно выполненныезадания