Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание на курсовой проект с примерами / пример - музыкальная школа.doc
Скачиваний:
96
Добавлен:
02.05.2014
Размер:
644.1 Кб
Скачать

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 Занятие.код_учащегося=Учащийся.код_учащегося;