Столбцы всех первичных ключей таблицы являются идентифицирующими, т.е. значения этих полей генерируются автоматически.
Диаграмма созданной базы данных приведена на рисунке 2.1.
Рисунок 2.1 – Диаграмма базы данных
Данные таблицы соответствуют требованиям нормализации реляционных БД. Таблицы находятся в 1НФ, т.к. все их поля являются простыми (неделимыми), нет повторяющихся полей и каждый столбец таблиц хранит одно-единственное значение и не является ни списком, ни множеством значений. Таблицы находятся во 2НФ, т.к. они находятся в 1НФ, имеют простые первичные ключи и каждое не ключевое поле функционально зависит от первичного ключа. Таблицы находится в 3НФ, т.к. они находятся во 2НФ и все не ключевые поля являются взаимно-независимыми.
2.2 Создание представлений, хранимых процедур, пользовательских функций, триггеров
Сведения о всех сотрудниках:
SELECT ФИО, Дата_рождения, Пол, Адрес, Телефон, Паспортные_данные, Образование
FROM Сотрудники
Сведения о сотрудниках с определенными ФИО:
SELECT ФИО, Дата_рождения, Пол, Адрес, Телефон, Образование, Паспортные_данные
FROM Сотрудники
WHERE (ФИО = @ФИО)
Отображение сведений по сотрудниках с определенным возрастом:
SELECT Код_сотрудника, ФИО, Дата_рождения, Пол, Адрес, Телефон, Паспортные_данные, Образование
FROM Сотрудники
WHERE (DATEDIFF(year, Дата_рождения, GETDATE()) = @Возраст)
Отображение полных сведений по клиентам :
SELECT dbo.Клиенты.ФИО, dbo.Клиенты.Пол, dbo.Клиенты.Профессия, dbo.Клиенты.Дата_рождения, dbo.Клиенты.Рост, dbo.Клиенты.Вес, dbo.Клиенты.Дети, dbo.Клиенты.Семейное_положение, dbo.Клиенты.Вредные_привычки, dbo.Клиенты.Хобби, dbo.Знак_задиака.Название AS Знак, dbo.Клиенты.Адрес, dbo.Клиенты.Телефон, dbo.Клиенты.Паспортные_данные, dbo.Клиенты.Инфа_о_партнере
FROM dbo.Клиенты INNER JOIN dbo.Знак_задиака ON dbo.Клиенты.Код_знака = dbo.Знак_задиака.Код_знака INNER JOIN dbo.Национальность ON dbo.Клиенты.Код_национальности= dbo.Национальность.Код_национальности
Отображение сведений по клиентам с определенным возрастом:
SELECT Код_клиента, ФИО, Профессия, Дата_рождения, Семейное_положение, Пол
FROM Клиенты
WHERE (DATEDIFF(year, Дата_рождения, GETDATE()) = @Возраст)
Отображение сведений по клиентам с определенным полом:
SELECT ФИО, Пол, Дата_рождения, Профессия, Хобби, Семейное_положение, Знак_зодиака, Адрес
FROM Клиенты
WHERE (Пол = @Пол)
Отображение сведений по клиентам с определенной национальностью:
SELECT dbo.Клиенты.ФИО, dbo.Клиенты.Пол, dbo.Клиенты.Адрес, dbo.Клиенты.Професия, dbo.Клиенты.Дата_рождения,dbo.Клиенты.Телефон, dbo.Клиенты.Паспортные_данные
FROM dbo.Клиенты INNER JOIN dbo.Знак_задиака ON dbo.Клиенты.Код_знака = dbo.Знак_задиака.Код_знака INNER JOIN dbo.Национальность ON dbo.Клиенты.Код_национальности = dbo.Национальность.Код_национальности
WHERE (dbo.Национальность.Название = @Национальность)
Отображение сведений по клиентам с определенным знаком зодиака:
SELECT dbo.Клиенты.ФИО, dbo.Клиенты.Пол, dbo.Клиенты.Адрес, dbo.Клиенты.Профессия,dbo.Клиенты.Дата_рождения,dbo.Клиенты.Телефон, dbo.Клиенты.Паспортные_данные
FROM dbo.Клиенты INNER JOIN dbo.Знак_задиака ON dbo.Клиенты.Код_знака = dbo.Знак_задиака.Код_знака INNER JOIN dbo.Национальность ON dbo.Клиенты.Код_национальности = dbo.Национальность.Код_национальности
WHERE (dbo.Знак_задиака.Название = @Знак)
Сведения по всем оказанным услугам:
SELECT dbo.Заказы.Код_заказа, dbo.Заказы.Дата, dbo.Сотрудники.ФИО AS Сотрудник, dbo.Клиенты.ФИО AS Клиент
FROM dbo.Заказы INNER JOIN .Сотрудники ON dbo.Заказы.Код_сотрудника = dbo.Сотрудники.Код_ сотрудника INNER JOIN
dbo.Клиенты ON dbo.Заказы.Код_клиента = dbo.Клиенты.Код_клиента
Сведения по оказанным услугам определённому клиенту:
SELECT dbo.Заказы.Код_заказа, dbo.Заказы.Дата, dbo.Сотрудники.ФИО AS Сотрудник, dbo.Клиенты.ФИО AS Клиент
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.