- •База данных
- •Введение
- •1.2 Выбор и описание автоматизируемых функций
- •1.3 Первичное описание информационного обеспечения
- •1.4 Вывод
- •2 Выявление ограничений и правил поддержания целостности
- •2.1 Уровень атрибутов
- •2.3 Уровень множеств кортежей
- •2.4 Уровень базы данных
- •2.5 Вывод
- •3.1 Составление локальных исходных er-моделей
- •Мназвание
- •3.4 Вывод
- •4 Проектирование глобальной er-модели
- •4.1 Выявление и устранение эквивалентных сущностей
- •4.2 Выявление категорий и синтез обобщающих сущностей
- •4.3 Выявление и устранение дублирования атрибутов и связей
- •5.1.3 Замена явных связей 1:м неявными
- •5.2 Спецификация ограничений и правил поддержания целостности
- •5.3 Sql-код для создания реляционной модели
- •5.4 Вывод
- •Модели соединения таблиц базы данных для реализации представлений для функции 2 «прием учащихся» представлены на рис.6.1.2.
- •Модели соединения таблиц базы данных для реализации представлений для функции 3 «сдача экзаменов» представлены на рис.6.1.3.
- •Модели соединения таблиц базы данных для реализации представлений для функции 4 «планирование учебного процесса» представлены на рис.6.1.4.
- •6.3 Sql-код для реализации представлений Функция 1 «учет кадров»
- •Функция 2 «прием учащихся»
- •Функция 3 «сдача экзаменов»
- •6.4 Вывод
- •Проектирование доступа к базе данных из локальных функций
- •7.4 Вывод
- •Список литературы
6.3 Sql-код для реализации представлений Функция 1 «учет кадров»
CREATE VIEW Учет_кадров AS
SELECT Сотрудник.*, Контакт.номер_телефона, Телефон.тип_телефона,
Телефон.примечания, Диплом.код_диплома, Диплом.код_специальности,
Специальность.название_специальности,
Диплом.название_учебного_заведения,
Диплом.дата_окончания_учебного_заведения,
Карьера.код_должности, Должность.название_должности,
Карьера.номер_приказа, Карьера.дата_поступления,
Карьера.оклад, Карьера.дата_увольнения
FROM ((Сотрудник LEFT OUTER JOIN (Контакт LEFT OUTER JOIN Телефон ON Контакт.номер_телефона=Телефон.номер_телефона) ON Сотрудник.код_сотрудника=Контакт.код_сотрудника) LEFT OUTER JOIN
(Диплом LEFT OUTER JOIN Специальность ON Диплом.код_специальности=Специальность.код_специальности) ON Сотрудник.код_сотрудника=Диплом.код_сотрудника) LEFT OUTER JOIN (Карьера LEFT OUTER JOIN Должность ON Карьера.код_должности=Должность.код_должности) ON Сотрудник.код_сотрудника=Карьера.код_сотрудника;
Функция 2 «прием учащихся»
CREATE VIEW V_Учащийся AS
SELECT Учащийся.код_учащегося, Учащийся.ФИО,
Учащийся.код_свидетельства_о_рождении
FROM Учащийся
CREATE VIEW V_Обучение AS
SELECT код_инструмента, название_инструмента, номер_приказа, дата_подписания, код_сотрудника, ФИО, дата_поступления
FROM (Уч_П LEFT OUTER JOIN (Приказ LEFT OUTER JOIN Сотрудник
ON Приказ.код_сотрудника=Сотрудник.код_сотрудника) ON Уч_П.номер_приказа=Приказ.номер_приказа) LEFT OUTER JOIN (Специализация LEFT OUTER JOIN Инструмент ON Специализация.код_инструмента=Инструмент.код_инструмента) ON Уч_П.код_учащегося=Специализация.код_учащегося
WHERE Уч_П.код_учащегося=@код_учащегося;
CREATE VIEW V_Родственник AS
SELECT код_родственника, ФИО, место_работы
FROM Семья LEFT OUTER JOIN Родственник ON Семья.код_родственника=Родственник.код_родственника
WHERE Семья.код_учащегося=@код_учащегося;
CREATE VIEW V_Контакты AS
SELECT номер_телефона, код_телефона, примечания
FROM Контакты LEFT OUTER JOIN Телефон ON Контакты.номер_телефона=Телефон.номер_телефона
WHERE Контакты.код_учашегося=@код_учащегося;
CREATE VIEW V_Льгота AS
SELECT код_льготы, название_льготы, плата_за_обучение, дата_назначения_льготы, дата_снятия_льготы
FROM Условия_обучения LEFT OUTER JOIN Льгота ON Условия_обучения.код_льготы=Льгота.код_льготы
WHERE Условия_обучения.код_учащегося=@код_учащегося;
Функция 3 «сдача экзаменов»
CREATE PROCEDURE Сдача_экзаменов
@год INT OUTPUT
@номер_экзамена INT OUTPUT
@дата DATE OUTPUT
@время_начала TIME OUTPUT
@время_окончания TIME OUTPUT
@кабинет INT OUTPUT
@тип_экзамена CHAR(15) OUTPUT
@код_сотрудника INT OUTPUT
@ФИО_сотрудника CHAR (25) OUTPUT
@код_учащегося INT OUTPUT
@ФИО_учащегося CHAR(25) OUTPUT
@код_предмета INT OUTPUT
@название_предмета CHAR(10) OUTPUT
@оценка INT OUTPUT
SELECT @дата=Экзамен.дата, @время_начала=Экзамен. время_начала,
@время_окончания=Экзамен. время_окончания,
@кабинет=Экзамен.кабинет, @тип_экзамена=Экзамен.тип_экзамена,
@код_сотрудника=Предмет.код_сотрудника,
@ФИО_сотрудника=Сотрудник.ФИО,
@код_учащегося=Экзаменуемый.код_учащегося,
@ФИО_учащегося=Учащийся.ФИО,
@код_предмета=Предмет.код_предмета,
@название_предмета=Предмет.название_предмета,
@оценка=Экзамен.оценка,
@год =Экзамен.год,
@номер_экзамена=Экзамен.номер_экзамена
FROM (Экзамен LEFT OUTER JOIN (Предмет LEFT OUTER JOIN Сотрудник ON Предмет.код_сотрудника=Сотрудник.код_сотрудника) ON Экзамен.код_предмета=Предмет.код_предмета) LEFT OUTER JOIN (Экзаменуемый LEFT OUTER JOIN Учащийся ON Экзаменуемый.код_учащегося=Учащийся.код_учащегося) ON Экзамен.год=Экзаменуемый.год AND Экзамен.номер_экзамена=Экзаменуемый.номер_экзамена
Функция 4 «планирование учебного процесса»
CREATE STORED PROCEDURE Учебный_процесс
@номер_учебного_плана INT INPUT
@дата_утверждения_учебного_плана DATE OUTPUT
@особенности MEMO OUTPUT
@код_сотрудника INT OUTPUT
@ФИО_сотрудника CHAR (25) OUTPUT
SELECT @дата_утверждения_учебного_плана=Учебный_план.дата_утверждения_учеб-ного_плана, @особенности=Учебный_план.особенности,
@код_сорудника=Учебный_план.код_сотрудника,
@ФИО_сотрудника=Сотрудник.ФИО
FROM Учащийся LEFT OUTER JOIN Сотрудник ON Учебный_план.код_сотрудника=Сотрудник.код_сотрудника;
CREATE STORED PROCEDURE V_Ч_Пр
@номер_учебного_плана INT INPUT
@год INT OUTPUT
@номер_четверти INT OUTPUT
@код_предмета INT OUTPUT
@название_предмета CHAR (15) OUTPUT
@количество_часов NUMERIC OUTPUT
@код_сотрудника INT OUTPUT
@ФИО CHAR (25) OUTPUT
SELECT @год=План_Четверть.год, @номер_четверти=План_Четверть.номер_четверти, @код_предмета=Ч_П.код_предмета, @название_предмета=Предмет.название_предмета, @количество_часов=Ч_П.количество_часов, @код_сотрудника=Предмет.код_сотрудника, @ФИО=Сотрудник.ФИО
FROM План_Четверть LEFT OUTER JOIN (Четверть LEFT OUTER JOIN (Ч_П LEFT OUTER JOIN (Предмет LEFT OUTER JOIN Сотрудник ON Предмет.код_сотрудника=Сотрудник.код_сотрудника) ON Ч_П.код_предмета=Предмет.код_предмета)
ON Четверть.год=Ч_П.год AND Четверть.номер_четверти=Ч_П.номер_четверти) ON План_Четверть.год=Четверть.год AND План_Четверть.номер_четверти=Четверть.номер_четверти
WHERE План_Четверть.номер_учебного_плана=@номер_учебного_плана;
CREATE STORED PROCEDURE V_план_учащийся
@номер_учебного_плана INT INPUT
@код_учащегося INT OUTPUT
@ФИО_учащегося CHAR (25) OUTPUT
SELECT @код_учащегося=Уч_Пл.код_учащегося,
@ФИО_учащегося=Учащийся.ФИО
FROM Уч_Пл LEFT OUTER JOIN Учащийся ON Уч_Пл.код_учащегося=Учащийся.код_учащегося
WHERE Уч_Пл.номер_учебного_плана=@номер_учебного_плана;
Функция 5 «проведение занятий»
CREATE VIEW V_Занятие AS
SELECT Занятие.дата, Занятие.время_начала, Занятие.время_окончания, Занятие.кабинет, Занятие.код_предмета, Предмет.название_предмета, Занятие.код_сотрудника, Сотрудник.ФИО, Занятие.код_учащегося, Учащийся.ФИО, Занятие.оценка
FROM ((Занятие LEFT OUTER JOIN Предмет ON Занятие.код_предмета=Предмет.Код_предмета) LEFT OUTER JOIN Сотрудник ON Занятие.код_сотрудника=Сотрудник.код_сотрудника) LEFT OUTER JOIN Учащийся ON Занятие.код_учащегося=Учащийся.код_учащегося;