- •Оглавление
- •Глава 1. Проектирование базы данных для регистратуры поликлиники 4
- •Глава 2. Разработка базы данных «Регистратура поликлиники» 15
- •Глава 1. Проектирование базы данных для регистратуры поликлиники
- •1.1 Описание предметной области
- •1.2 Концептуальное моделирование
- •1.3 Реляционное моделирование.
- •1.4 Даталогическая модель
- •Глава 2. Разработка базы данных «Регистратура поликлиники»
- •2.1 Выбор субд
- •2.2 Создание элементов базы данных
- •2.2.1 Таблицы
- •2.2.2 Sql запросы
- •2.3 Формы
- •2.5 Аппаратные и технические требования к бд
- •2.6 Защита данных
- •2.7 Справка по работе с базой данных регистратуры поликлиники
2.2.2 Sql запросы
Основным назначением запросов является отбор данных по критериям поиска. Их можно создавать с помощью конструктора, мастера запросов или непосредственно на языке SQL.
В базе данных регистратуры поликлиники содержится 10 запросов:
1. Запрос списка пациентов.
Данный запрос даёт следующую информацию: номер карты, фамилия, имя, отчество, адрес, год рождения и номер полиса пациента.
Так этот запрос выглядит на языке SQL:
SELECT Пациент.[Номер карты], Пациент.ФИО, Пациент.Адрес, Пациент.[Год рождения], Пациент.[Номер полиса]
FROM Пациент;
2. Запрос списка врачей.
Этот запрос даёт следующую информацию: фамилия, имя, отчество, номер кабинета и часы приёма врачей поликлиники.
На языке SQL он выглядит следующим образом:
SELECT Врач.ФИО, Врач.[Номер кабинета], Врач.[Часы приёма с:], Врач.[Часы приема до:]
FROM Врач;
3. Запрос информации о диагнозе пациента.
Данный запрос выдаёт диагноз определённого пациента и рекомендуемое лекарство.
На языке SQL этот запрос выглядит:
SELECT [Карта больного].Диагноз, [Карта больного].Лекарство, Пациент.ФИО
FROM [Карта больного] INNER JOIN Пациент ON [Карта больного].[Номер карты] = Пациент.[Номер карты]
WHERE (((Пациент.ФИО)=[Введите ФИО]));
4. Запрос номера кабинета.
Этот запрос выдаёт информацию: номер конкретного кабинета и ФИО врача, который принимает в данном кабинете.
Этот запрос на языке SQL выглядит так:
SELECT Кабинет.[Номер кабинета], Кабинет.Назначение, Врач.ФИО
FROM Кабинет INNER JOIN Врач ON Кабинет.[Номер кабинета]=Врач.[Номер кабинета]
WHERE (((Кабинет.Назначение)=[Введите Назначение кабинета]));
5. Запрос о времени и дате проведения приёма.
Данный запрос предоставляет такую информацию, как: дата и время приёма, номер кабинета, в котором будет проходить приём и фамилия, имя, отчество врача, который будет проводить приём.
На языке SQL данный запрос выглядит так:
SELECT Пациент.ФИО, Прием.[Номер кабинета], Прием.[Дата и время приема], Врач.ФИО
FROM Врач INNER JOIN (Пациент INNER JOIN Прием ON Пациент.[Номер полиса]=Прием.[Номер полиса]) ON Врач.[Номер кабинета]=Прием.[Номер кабинета]
WHERE (((Пациент.ФИО)=[Введите ФИО]));
6. Запрос на получение информации о рекомендуемом лекарстве.
Данный запрос даёт следующую информацию: номер полиса определённого пациента и лекарство, прописанное лечащим врачом.
На языке SQL запрос выглядит так:
SELECT [Карта больного].Лекарство, Пациент.[Номер полиса]
FROM [Карта больного] INNER JOIN Пациент ON [Карта больного].[Номер карты]=Пациент.[Номер карты]
WHERE (((Пациент.[Номер полиса])=[Введите номер полиса]));
7. Запрос на получение информации о карте больного.
Этот запрос выдаёт следующую информацию: номер карты, симптомы, диагноз, назначенное лекарство.
На языке SQL данный запрос выглядит так:
SELECT [Карта больного].[Номер карты], [Карта больного].Симптомы, [Карта больного].Диагноз, [Карта больного].Лекарство, Пациент.ФИО
FROM [Карта больного] INNER JOIN Пациент ON [Карта больного].[Номер карты]=Пациент.[Номер карты]
WHERE (((Пациент.ФИО)=[Введите ФИО]));
8. Запрос «Список приёмов».
Данный запрос даёт такую информацию, как: фамилия, имя, отчество пациента, записавшегося на приём; фамилия, имя, отчество врача, который будет проводить приём; номер кабинета, в котором будет проходить приём и дата и время приёма(см.рисунок 4). Так запрос выглядит на языке SQL:
SELECT Прием.[Номер кабинета], Прием.[Дата и время приема], Пациент.ФИО, Врач.ФИО
FROM Врач INNER JOIN (Пациент INNER JOIN Прием ON Пациент.[Номер полиса]=Прием.[Номер полиса]) ON Врач.[Номер кабинета]=Прием.[Номер кабинета];
Рисунок 4. Запрос «Список приёмов»