END;
/
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
CREATE VIEW GetProperDrugDisease (
ЛЕКАРСТВО_ID
, ДИАГНОЗ_ID
) AS
SELECT
ЛЕКАРСТВА_ДИАГНОЗЫ.ЛЕКАРСТВО_ID
, ЛЕКАРСТВА_ДИАГНОЗЫ.ДИАГНОЗ_ID
FROM ДИАГНОЗЫ RIGHT JOIN (ЛЕКАРСТВА_ДИАГНОЗЫ LEFT JOIN ЛЕКАРСТВА ON ЛЕКАРСТВА_ДИАГНОЗЫ.ЛЕКАРСТВО_ID = ЛЕКАРСТВА.ID) ON ЛЕКАРСТВА_ДИАГНОЗЫ.ДИАГНОЗ_ID = ДИАГНОЗЫ.ID WHERE ДИАГНОЗЫ.WAS_REMOVED = 0 AND ЛЕКАРСТВА.WAS_REMOVED = 0;
CREATE VIEW AdminGetAllEmploys (
ФАМИЛИЯ
, ИМЯ
, ОТЧЕСТВО
, ДОЛЖНОСТЬ
, КОНТАКТНЫЙ_ТЕЛЕФОН
, КОГДА_УСТРОИЛСЯ
, КОГДА_УВОЛИЛСЯ
, ДАТА_РОЖДЕНИЯ
, ID
, ДОЛЖНОСТЬ_ID
, ЧЕЛОВЕК_ID
, Login
, PASSWORD
, ПАСПОРТ
, ФОТОГРАФИЯ
, AdministerOptions
) AS
SELECT
ЧЕЛОВЕК.ФАМИЛИЯ
, ЧЕЛОВЕК.ИМЯ
, ЧЕЛОВЕК.ОТЧЕСТВО
, ДОЛЖНОСТЬ.НАЗВАНИЕ
, СОТРУДНИК.КОНТАКТНЫЙ_ТЕЛЕФОН
, СОТРУДНИК.КОГДА_УСТРОИЛСЯ
, СОТРУДНИК.КОГДА_УВОЛИЛСЯ
, СОТРУДНИК.ДАТА_РОЖДЕНИЯ
, СОТРУДНИК.ID
, СОТРУДНИК.ДОЛЖНОСТЬ_ID
, ЧЕЛОВЕК.ID
, СОТРУДНИК.Login
, СОТРУДНИК.Password
, ЧЕЛОВЕК.ПАСПОРТ
, СОТРУДНИК.ФОТОГРАФИЯ
, СОТРУДНИК.AdministerOptions
FROM ЧЕЛОВЕК RIGHT JOIN (ДОЛЖНОСТЬ RIGHT JOIN СОТРУДНИК ON ДОЛЖНОСТЬ.ID=СОТРУДНИК.ДОЛЖНОСТЬ_ID) ON ЧЕЛОВЕК.ID=СОТРУДНИК.ЧЕЛОВЕК_ID ORDER BY ЧЕЛОВЕК.ФАМИЛИЯ;
CREATE VIEW UserGetAllEmploys (
ФАМИЛИЯ
, ИМЯ
, ОТЧЕСТВО
, ПАСПОРТ
, КОГДА_УСТРОИЛСЯ
, КОГДА_УВОЛИЛСЯ
, ID
, AdministerOptions
) AS
SELECT
ФАМИЛИЯ
, ИМЯ
, ОТЧЕСТВО
, ПАСПОРТ
, КОГДА_УСТРОИЛСЯ
, КОГДА_УВОЛИЛСЯ
, ID
, AdministerOptions
FROM AdminGetAllEmploys;
CREATE VIEW БОЛЬНЫЕ (
ФАМИЛИЯ
, ИМЯ
, ОТЧЕСТВО
, ПАСПОРТ
, ДАТА_ПОСТУПЛЕНИЯ
, ДАТА_ВЫПИСКИ
, НАЗВАНИЕ_БОЛЕЗНИ
, ID_БОЛЕЗНИ
, ID_ИСТОРИИ
, ID
, ОСМОТРЕВШИЙ_ID
) AS
SELECT
ЧЕЛОВЕК.ФАМИЛИЯ
, ЧЕЛОВЕК.ИМЯ
, ЧЕЛОВЕК.ОТЧЕСТВО
, ЧЕЛОВЕК.ПАСПОРТ
, ИСТОРИЯ_БОЛЕЗНЕЙ.ДАТА_ПОСТУПЛЕНИЯ
, ИСТОРИЯ_БОЛЕЗНЕЙ.ДАТА_ВЫПИСКИ
, ДИАГНОЗЫ.НАЗВАНИЕ
, ДИАГНОЗЫ.ID
, ИСТОРИЯ_БОЛЕЗНЕЙ.ID
, ЧЕЛОВЕК.ID
, ИСТОРИЯ_БОЛЕЗНЕЙ.ОСМОТРЕВШИЙ_ID
FROM ЧЕЛОВЕК RIGHT JOIN (ДИАГНОЗЫ RIGHT JOIN ИСТОРИЯ_БОЛЕЗНЕЙ ON ДИАГНОЗЫ.ID = ИСТОРИЯ_БОЛЕЗНЕЙ.ДИАГНОЗ_ID) ON ЧЕЛОВЕК.ID = ИСТОРИЯ_БОЛЕЗНЕЙ.БОЛЬНОЙ_ID ORDER BY ЧЕЛОВЕК.ФАМИЛИЯ;
CREATE VIEW GetPunishmentReport (
ID
, НАЗВАНИЕ
, ЗА_ЧТО
, КОГДА
, НАЗНАЧИЛ_ID
, ИСТОРИЯ_ID
) AS
SELECT
НАКАЗАНИЯ.ID
, НАКАЗАНИЯ.НАЗВАНИЕ
, ИСТОРИЯ_НАКАЗАНИЙ.ЗА_ЧТО
, ИСТОРИЯ_НАКАЗАНИЙ.КОГДА
, ИСТОРИЯ_НАКАЗАНИЙ.НАЗНАЧИЛ_ID
, ИСТОРИЯ_НАКАЗАНИЙ.ИСТОРИЯ_ID
FROM ИСТОРИЯ_НАКАЗАНИЙ LEFT JOIN НАКАЗАНИЯ ON ИСТОРИЯ_НАКАЗАНИЙ.НАКАЗАНИЕ_ID=НАКАЗАНИЯ.ID;
CREATE VIEW GetAllProperDrugs (
ID
, БОЛЕЗНЬ_ID
, НАЗВАНИЕ
, ОПИСАНИЕ
) AS
SELECT
ЛЕКАРСТВА.ID
, ЛЕКАРСТВА_ДИАГНОЗЫ.ДИАГНОЗ_ID
, ЛЕКАРСТВА.НАЗВАНИЕ
, ЛЕКАРСТВА.ОПИСАНИЕ
FROM ЛЕКАРСТВА RIGHT JOIN ЛЕКАРСТВА_ДИАГНОЗЫ ON ЛЕКАРСТВА.ID = ЛЕКАРСТВА_ДИАГНОЗЫ.ЛЕКАРСТВО_ID;
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
--настройка начальных сведений
INSERT INTO ДОЛЖНОСТЬ (НАЗВАНИЕ, ЗАРПЛАТА) VALUES ('Системный администратор', 1500);
INSERT INTO ЧЕЛОВЕК (ФАМИЛИЯ , ИМЯ, ОТЧЕСТВО, ПАСПОРТ) VALUES ('Рут', 'Админ', 'Рутович', '{713C102A50184}');
INSERT INTO СОТРУДНИК (ЧЕЛОВЕК_ID, ДОЛЖНОСТЬ_ID, КОГДА_УСТРОИЛСЯ, КОГДА_УВОЛИЛСЯ, ДАТА_РОЖДЕНИЯ, КОНТАКТНЫЙ_ТЕЛЕФОН, LOGIN, PASSWORD, AdministerOptions) VALUES(1, 1, '30.01.2001', NULL , '05.01.1986' , '3713642', 'sa', '+UCjNsEz0Rb5VNwyN21dhg==', 1);
GRANT SELECT ON ДИАГНОЗЫ TO MENTAL_HOSPITAL_USER;
GRANT SELECT ON ЛЕКАРСТВА TO MENTAL_HOSPITAL_USER;
GRANT SELECT ON ИСТОРИЯ_НАКАЗАНИЙ TO MENTAL_HOSPITAL_USER;
GRANT SELECT ON ЛЕЧЕНИЕ TO MENTAL_HOSPITAL_USER;
GRANT SELECT ON ИСТОРИЯ_БОЛЕЗНЕЙ TO MENTAL_HOSPITAL_USER;
GRANT SELECT ON НАКАЗАНИЯ TO MENTAL_HOSPITAL_USER;
GRANT SELECT ON ЧЕЛОВЕК TO MENTAL_HOSPITAL_USER;
GRANT SELECT ON БОЛЬНЫЕ TO MENTAL_HOSPITAL_USER;
GRANT SELECT ON UserGetAllEmploys TO MENTAL_HOSPITAL_USER;
GRANT SELECT ON GetPunishmentReport TO MENTAL_HOSPITAL_USER;
GRANT SELECT ON GetAllProperDrugs TO MENTAL_HOSPITAL_USER;
GRANT EXECUTE ON CreateNewPerson TO MENTAL_HOSPITAL_USER;
GRANT EXECUTE ON DischargePatient TO MENTAL_HOSPITAL_USER;
GRANT EXECUTE ON UserEmployeeUpdate TO MENTAL_HOSPITAL_USER;
GRANT EXECUTE ON AssignPunishment TO MENTAL_HOSPITAL_USER;
GRANT EXECUTE ON AssignTreatment TO MENTAL_HOSPITAL_USER;
GRANT EXECUTE ON AddDiseaseHistoryEntry TO MENTAL_HOSPITAL_USER;
GRANT EXECUTE ON ChangePassword TO MENTAL_HOSPITAL_USER;
GRANT EXECUTE ON GetPersonalInfo TO MENTAL_HOSPITAL_USER;
GRANT EXECUTE ON TryToLogin TO MENTAL_HOSPITAL_USER;
GRANT EXECUTE ON TryToLogin TO MENTAL_HOSPITAL_PUBLIC;
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.