Базы данных и знаний (30859-1)

Посмотреть архив целиком

Базы данных и знаний


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 срок_выполнения > разность;

Выводит неуспешно выполненные задания


Случайные файлы

Файл
151829.rtf
50683.doc
43506.rtf
176962.rtf
10074-1.rtf




Чтобы не видеть здесь видео-рекламу достаточно стать зарегистрированным пользователем.
Чтобы не видеть никакую рекламу на сайте, нужно стать VIP-пользователем.
Это можно сделать совершенно бесплатно. Читайте подробности тут.