Курсовая 5 класс. Мой курсовой БД. 1 Анализ предметной области. 5 Постановка задачи 11
Скачать 2.77 Mb.
|
3.1. T-SQL-определения регламентированных запросов1.Вывод ограниченной информации о врачах с фамилией, оканчивающейся на «ов». CREATE VIEW View1_infoVrach /*Указываем имя представления*/ AS SELECT /*Указываем, какие поля будут выведены*/ Персонал_Поликлиники .Имя, Персонал_Поликлиники .Фамилия,Персонал_Поликлиники .Специализация FROM Персонал_Поликлиники /*Из какой таблицы*/ WHERE Персонал_Поликлиники .Фамилия LIKE "[]ов" 2. Информация об анализе крови. CREATE VIEW View2_AnalizKrovi AS SELECT /*Указываем, какие поля, из каких таблиц будут выведены*/ История_болезни_пациента.ФИО,Сведения_об_анализах.Анализ,Сведения_об_анализах.Срок_сдачи FROM /*Указываем таблицу, и связанные с ней при помощи оператора INNER JOIN таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/ (История_болезни_пациента INNER JOIN Сведения_об_анализах ON История_болезни_пациента.Номер_Пациента =Сведения_об_анализах.Номер_Пациента) WHERE Сведения_об_анализах.Анализ LIKE 'Кровь' /*Выбираются только анализ крови*/ 3. Информация о больных диабетом. CREATE VIEW View3_BolniyeDiabetom AS SELECT /*Указываем, какие поля, из каких таблиц будут выведены*/ История_болезни_пациента.ФИО,Сведения_о_заболевании.Заболевание,Сведения_о_заболевании.Выписанные_препараты FROM /*Указываем таблицу, и связанные с ней при помощи оператора INNER JOIN таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/ (История_болезни_пациента INNER JOIN Сведения_о_заболевании ON История_болезни_пациента.Номер_Пациента =Сведения_о_заболевании.Номер_Пациента) WHERE Сведения_о_заболевании.Заболевание LIKE 'Диабет' /*Выбираются только больные диабетом*/ 4. Информация о больных лечившихся в санаторииСосны. CREATE VIEW View4_SanatoriySosny AS SELECT /*Указываем, какие поля, из каких таблиц будут выведены*/ История_болезни_пациента.ФИО,Сведения_о_санаторном_лечении.Санаторий,Сведения_о_санаторном_лечении.Дата_поступления, Сведения_о_санаторном_лечении.Дата_выписки FROM /*Указываем таблицу, и связанные с ней при помощи оператора INNER JOIN таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/ (История_болезни_пациента INNER JOIN Сведения_о_санаторном_лечении ON История_болезни_пациента.Номер_Пациента =Сведения_о_санаторном_лечении.Номер_Пациента) WHERE Сведения_о_санаторном_лечении.Санаторий LIKE 'Сосны' /*Выбираются только больные лечившиеся в санатроии сосны*/ 5. Информация о препаратах аптеки, количество привезённого в аптеку препарата должно быть от 1 до 20 или от 60 до 110. CREATE VIEW View5_infoPreparaty AS SELECT /*Указываем, какие поля таблиц будут выведены*/ Сведения_о_препаратах_аптеки.Вырисанные_препараты,Сведения_о_препаратах_аптеки.Имеется_в_наличии,Сведения_о_привозе_препаратов.Количество, Сведения_о_привозе_препаратов.Дата_привоза FROM /*Указываем таблицу, и связанные с ней таблицы, из которых выбираются связанные данные.*/ /*таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/ (Сведения_о_препаратах_аптеки INNER JOIN Сведения_о_привозе_препаратов ON Сведения_о_препаратах_аптеки.Вырисанные_препараты =Сведения_о_привозе_препаратов.Вырисанные_препараты) WHERE (Сведения_о_привозе_препаратов.Количество BETWEEN 1 AND 20) OR (Сведения_о_привозе_препаратов.Количество BETWEEN 60 AND 110) 6. Информация о врачах , кабинет приёма врача должно быть от 1 до 10 или от 15 до 20. CREATE VIEW View6_infoVrach AS SELECT /*Указываем, какие поля таблиц будут выведены*/ Расписание_приёма_врачей_поликлиники.Специализация,Персонал_Поликлиники.Фамилия,Персонал_Поликлиники.Имя FROM /*Указываем таблицу, и связанные с ней таблицы, из которых выбираются связанные данные.*/ /*таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/ (Расписание_приёма_врачей_поликлиники INNER JOIN Персонал_Поликлиники ON Расписание_приёма_врачей_поликлиники .Табельный_номер =Персонал_Поликлиники.Табельный_номер) WHERE (Расписание_приёма_врачей_поликлиники.Кабинет BETWEEN 1 AND 10) OR (Расписание_приёма_врачей_поликлиники.Кабинет BETWEEN 15 AND 20) 7. Информация о пациентах инвалидах ВОВ и о полеженным им льготам CREATE VIEW View7_infoVeteranVOV AS SELECT /*Указываем, какие поля таблиц будут выведены*/ История_болезни_пациента.ФИО,История_болезни_пациента.Дата_Рождения,Свединия_о_льготах.Тип_льгот, Свединия_о_льготах.Плата_за_лечение FROM /*Указываем таблицу, и связанные с ней таблицы, из которых выбираются связанные данные.*/ /*таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/ (История_болезни_пациента INNER JOIN Свединия_о_льготах ON История_болезни_пациента .Тип_льгот =Свединия_о_льготах.Тип_льгот) WHERE История_болезни_пациента .Тип_льгот LIKE 'Инвалид ВОВ' 8.Вывод о поставщиках препаратов ЧУП. CREATE VIEW View8_infoPostavschik /*Указываем имя представления*/ AS SELECT /*Указываем, какие поля будут выведены*/ Сведения_о_поставщиках_препаратов .Поставщик, Сведения_о_поставщиках_препаратов.Контактный_телефон FROM Сведения_о_поставщиках_препаратов /*Из какой таблицы*/ WHERE Сведения_о_поставщиках_препаратов.Поставщик LIKE 'ЧУП[]' 9.Вывод ограниченной информации о пациентах без льгот. CREATE VIEW View9_infoPacient /*Указываем имя представления*/ AS SELECT /*Указываем, какие поля будут выведены*/ История_болезни_пациента .ФИО, История_болезни_пациента.Дата_Рождения, История_болезни_пациента.Тип_льгот FROM История_болезни_пациента /*Из какой таблицы*/ WHERE История_болезни_пациента.Тип_льгот LIKE 'нет' 10.Вывод ограниченной информации о врачах с фамилией, оканчивающейся на «ин» или «ина» . CREATE VIEW View10_infoVrach /*Указываем имя представления*/ AS SELECT /*Указываем, какие поля будут выведены*/ Персонал_Поликлиники .Имя, Персонал_Поликлиники .Фамилия,Персонал_Поликлиники .Специализация FROM Персонал_Поликлиники /*Из какой таблицы*/ WHERE Персонал_Поликлиники .Фамилия LIKE "[]ин" or Персонал_Поликлиники .Фамилия LIKE "[]ина" 11.Вывод ограниченной информации о препаратах отпускаемых без рецепта . CREATE VIEW View11_infoPreprat /*Указываем имя представления*/ AS SELECT /*Указываем, какие поля будут выведены*/ Сведения_о_препаратах_аптеки .Вырисанные_препараты, Сведения_о_препаратах_аптеки .Поставщик,Сведения_о_препаратах_аптеки .Цена FROM Сведения_о_препаратах_аптеки /*Из какой таблицы*/ WHERE Сведения_о_препаратах_аптеки.Тип_продажи_препарата LIKE 'Без рецепта' 12.Вывод ограниченной информации о препаратах количство которых при привозе было от 1 до 20 или от 50 до 70 . CREATE VIEW View12_infoPreprat /*Указываем имя представления*/ AS SELECT /*Указываем, какие поля будут выведены*/ Сведения_о_привозе_препаратов .Вырисанные_препараты, Сведения_о_привозе_препаратов .Дата_привоза FROM Сведения_о_привозе_препаратов /*Из какой таблицы*/ WHERE (Сведения_о_привозе_препаратов.Количество BETWEEN 1 AND 20) OR (Сведения_о_привозе_препаратов.Количество BETWEEN 50 AND 70) 13. Информация о больных диабетом. CREATE VIEW View13_BolniyeAnginoy AS SELECT /*Указываем, какие поля, из каких таблиц будут выведены*/ История_болезни_пациента.ФИО,Сведения_о_заболевании.Заболевание,Сведения_о_заболевании.Выписанные_препараты FROM /*Указываем таблицу, и связанные с ней при помощи оператора INNER JOIN таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/ (История_болезни_пациента INNER JOIN Сведения_о_заболевании ON История_болезни_пациента.Номер_Пациента =Сведения_о_заболевании.Номер_Пациента) WHERE Сведения_о_заболевании.Заболевание LIKE 'Ангина' /*Выбираются только больные диабетом*/ 14. Информация о больных лечившихся в санатории Сосны и Рентгенчик. CREATE VIEW View14_SanatoriySosnyRengen AS SELECT /*Указываем, какие поля, из каких таблиц будут выведены*/ История_болезни_пациента.ФИО,Сведения_о_санаторном_лечении.Санаторий,Сведения_о_санаторном_лечении.Дата_поступления, Сведения_о_санаторном_лечении.Дата_выписки FROM /*Указываем таблицу, и связанные с ней при помощи оператора INNER JOIN таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/ (История_болезни_пациента INNER JOIN Сведения_о_санаторном_лечении ON История_болезни_пациента.Номер_Пациента =Сведения_о_санаторном_лечении.Номер_Пациента) WHERE (Сведения_о_санаторном_лечении.Санаторий LIKE 'Сосны' or Сведения_о_санаторном_лечении.Санаторий LIKE 'Рентгенчик') /*Выбираются только больные лечившиеся в санатроии сосны и рентгенчик*/ 15. Информация о фльрографии и кардиограмме. CREATE VIEW View15_FD AS SELECT /*Указываем, какие поля, из каких таблиц будут выведены*/ История_болезни_пациента.ФИО,Сведения_об_анализах.Анализ,Сведения_об_анализах.Срок_сдачи FROM /*Указываем таблицу, и связанные с ней при помощи оператора INNER JOIN таблицы, из которых выбираются связанные данные. После операнда ON указываем, по каким полям связаны две таблицы*/ (История_болезни_пациента INNER JOIN Сведения_об_анализах ON История_болезни_пациента.Номер_Пациента =Сведения_об_анализах.Номер_Пациента) WHERE (Сведения_об_анализах.Анализ LIKE 'Фльрография' or Сведения_об_анализах.Анализ LIKE 'Кардиограмма') |