МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
ГОМЕЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ИМЕНИ П. О. СУХОГО
Факультет автоматизированных и информационных систем
Кафедра «Информационные технологии»
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №4
по дисциплине «Базы данных»
на тему: «Язык SQL: разработка БД,
использование для обработки данных в СУБД MS Access
»
Выполнила: студентка гр. ИТ-32
Принял:
Дата сдачи отчета: _____________________
Дата допуска к защите: _____________________
Дата защиты: _____________________
Гомель 2013
Цель: получить навыки использования языка SQL для обработки данных в СУБД MS Access.
Задание к лабораторной работе
1. Согласно своему варианту с использованием инструкции SQL создать таблицу.
2. С помощью SQL запроса добавить в созданную таблицу записи.
3. С помощью SQL запроса удалить из таблицы записи по условию заданному в варианте.
4. С помощью SQL запроса обновить в таблице записи по заданному условию из варианта.
5. С помощью SQL запроса сформировать вспомогательную таблицу из записей основной таблицы, отобранных по заданному условию из варианта.
6. С помощью SQL запроса уничтожить вспомогательную таблицу.
7. С помощью SQL запроса сформировать запрос на выборку по заданному условию из варианта.
ВАРИАНТ 16. История болезни
ФИО больного; паспортные данные (адрес, номер, дата выдачи); диагноз при поступлении; дата поступления; даты осмотра; запись врача по датам осмотра.
· Удалить из таблицы все записи по конкретному лицу;
· заменить фамилию больного с заданной на заданную;
· сформировать новую таблицу, содержащую сведения обо всех больных, поступивших в заданную дату;
· вывести все сведения о больных с одинаковым диагнозом.
Создание таблицы:
CREATE TABLE История_болезни
(ФИО CHAR(20), Паспортные_данные INTEGER, Диагноз_при_поступлении CHAR (30), Дата_поступления DATETIME, Дата_осмотра DATETIME,Запись_врача CHAR(40));
Инструкция CREATE TABLE служит для создания таблицы. При этом мы указываем имя каждого поля и его тип чрез запятую..
Добавление записи в таблицу:
INSERT INTO История_болезни ( ФИО, Паспортные_данные, Диагноз_при_поступлении, Дата_поступления, Дата_осмотра, Запись_врача )
VALUES ([ВВЕДИТЕ ФИО], [ВВЕДИТЕ ПАСПОРТНЫЕ ДАННЫЕ], [ВВЕДИТЕ ДИАГНОЗ], [ВВЕДИТЕ ДАТУ ПОСТУПЛЕНИЯ], [ВВЕДИТЕ ДАТУ ОСМОТРА], [ВВЕДИТЕ ЗАПИСЬ ВРАЧА]);
Инструкция INSERT INTO …VALUES служит для добавления записей в таблицу.
Удаление из таблицы всех записей по ФИО и паспортным данным:
DELETE *
FROM История_болезни
WHERE ФИО=[введите ФИО] AND паспортные_данные=[введите название паспортные данные];
Замена ФИО больного:
UPDATE История_болезни SET ФИО = [Введите новое ФИО]
WHERE ФИО=[Введите ФИО];
Инструкция UPDATE служит обновления данных в таблице, SET устанавливает новое значение обновляемого поля, WHERE определяет условие по которому происходит обновление данных.
Формирование новой таблицы, содержащую сведения обо всех больных, поступивших в заданную дату;
SELECT ФИО, Паспортные_данные, Диагноз_при_поступлении, Дата_поступления, Дата_осмотра, Запись_врача INTO Вспомогательная
FROM История_болезни
WHERE Дата_поступления=[введите дату поступления];
Инструкция SELECT используется для выборки данных. Условие отбора указывается после ключевого слова WHERE. Инструкция INTO создает вспомогательную таблицу в которую вносятся выбранные данные.
Уничтожение вспомогательной таблицы:
DROP TABLE ВспомогательнаяТаблица;
После ключевых слов указывается имя таблицы, которую необходимо удалить.
Вывод всех сведений о больных с одинаковым диагнозом:
SELECT ФИО, Паспортные_данные, Диагноз_при_поступлении, Дата_поступления, Дата_осмотра, Запись_врача
FROM История_болезни
WHERE Диагноз_при_поступлении=[введите диагноз];
Производится выборка данных указанных после ключевого слова SELECT из таблицы «История_болезни» по условию указанному после слова WHERE.
SQL-запросы, соответствующие запросам, состоящих из двух таблиц
Создаем две таблицы «История болезни» и «Паспорт», которые связываются по полю номер паспорта. Пример создания и добавления таблиц приведен выше.
Удаление из таблицы всех записей по ФИО и паспортным данным:
DELETE История_болезни.ФИО, История_болезни.паспортные_данные, *
FROM История_болезни INNER JOIN Паспорт ON История_болезни.Паспортные_данные = Паспорт.Номер
WHERE (((История_болезни.ФИО)=[введите ФИО]) AND ((История_болезни.паспортные_данные)=[введите название паспортные данные]));
Операция INNER JOIN объединяет записи из таблиц «История_болезни» и «Паспорт» по полю «Номер», если связующие поля одного типа и содержат одинаковые значения, остальные записи в выборке не участвуют.
Формирование новой таблицы, содержащую сведения обо всех больных, поступивших в заданную дату;
SELECT История_болезни.ФИО, История_болезни.Паспортные_данные, История_болезни.Диагноз_при_поступлении, История_болезни.Дата_поступления, История_болезни.Дата_осмотра, История_болезни.Запись_врача, Паспорт.Адрес INTO Вспомогательная
FROM История_болезни INNER JOIN Паспорт ON История_болезни.Паспортные_данные = Паспорт.Номер
WHERE (((История_болезни.Дата_поступления)=[введите дату поступления]));
Вывод всех сведений о больных с одинаковым диагнозом:
SELECT История_болезни.ФИО, Паспорт.Адрес, Паспорт.Дата_выдачи, История_болезни.Диагноз_при_поступлении, История_болезни.Дата_поступления, История_болезни.Дата_осмотра, История_болезни.Запись_врача
FROM История_болезни INNER JOIN Паспорт ON История_болезни.Паспортные_данные = Паспорт.Номер
GROUP BY История_болезни.ФИО, Паспорт.Адрес, Паспорт.Дата_выдачи, История_болезни.Диагноз_при_поступлении, История_болезни.Дата_поступления, История_болезни.Дата_осмотра, История_болезни.Запись_врача
HAVING (((История_болезни.Диагноз_при_поступлении)=[введите диагноз]));
Вывод: получили навыки использования языка SQL для обработки данных в СУБД MS Access, ознакомились с теоритическими материалами по данной теме. Создали запросы, выполняющие следующие действия: создание таблиц, добавление полей в заданную таблицу, формирование вспомогательных таблиц по заданному условию, удаление полей по заданному условию, удаление таблиц, связывание нескольких таблиц.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.