INSERT INTO SUMMONS (ID, DT_CREATE, DT_SUMMON, PERSON_ID) VALUES (93, '2013-06-24 00:00:00', '2013-07-01 00:00:00', 32);
INSERT INTO SUMMONS (ID, DT_CREATE, DT_SUMMON, PERSON_ID) VALUES (94, '2013-06-24 00:00:00', '2013-07-01 00:00:00', 34);
INSERT INTO SUMMONS (ID, DT_CREATE, DT_SUMMON, PERSON_ID) VALUES (95, '2013-06-24 00:00:00', '2013-07-01 00:00:00', 36);
INSERT INTO SUMMONS (ID, DT_CREATE, DT_SUMMON, PERSON_ID) VALUES (96, '2013-06-24 00:00:00', '2013-07-01 00:00:00', 38);
INSERT INTO SUMMONS (ID, DT_CREATE, DT_SUMMON, PERSON_ID) VALUES (97, '2013-06-24 00:00:00', '2013-07-01 00:00:00', 40);
INSERT INTO SUMMONS (ID, DT_CREATE, DT_SUMMON, PERSON_ID) VALUES (98, '2013-06-24 00:00:00', '2013-07-01 00:00:00', 42);
INSERT INTO SUMMONS (ID, DT_CREATE, DT_SUMMON, PERSON_ID) VALUES (99, '2013-06-24 00:00:00', '2013-07-01 00:00:00', 44);
INSERT INTO SUMMONS (ID, DT_CREATE, DT_SUMMON, PERSON_ID) VALUES (100, '2013-06-24 00:00:00', '2013-07-01 00:00:00', 46);
INSERT INTO SUMMONS (ID, DT_CREATE, DT_SUMMON, PERSON_ID) VALUES (101, '2013-06-24 00:00:00', '2013-07-01 00:00:00', 48);
INSERT INTO SUMMONS (ID, DT_CREATE, DT_SUMMON, PERSON_ID) VALUES (102, '2013-06-24 00:00:00', '2013-07-01 00:00:00', 50);
COMMIT WORK;
1.4.Выводы
В результате работы был проведен анализ задания и построена конечная модель БД. Реализовано создание БД, заполнение таблиц БД значениями, сгенерированными с помощью IBExpert и вручную, выполнены простейшие SQL-запросы, что позволило на примере ознакомиться с языком описания сущностей и ограничений БД SQL-DDL.
Лабораторная 2. SQL-DML
2.1. Цели работы
Ознакомление с языком создания запросов управления данными SQL-DML.
2.2. Программа работы
1) Изучение SQL-DML. Выполнение запросов из списка стандартных запросов.
2) Изучение основных возможностей IBExpert.
3) Реализация SQL-запросов в соответствии с индивидуальным заданием.
Выполненные запросы SELECT сохранены в БД в виде представлений, запросы INSERT, UPDATE или DELETE -- в виде ХП.
2.3. Выполнение работы
С помощью IBExpert была получена ER-диаграмма созданной БД (с помощью Database Designer), которая представлена на рис.1. С помощью IBExpert автоматически сгенерированы данные для нескольких таблиц, которые можно просмотреть в листинге 2.
Индивидуальные SQL-запросы:
1) Медицинское досье на призывника.
Скрипт запроса приведён в листинге 3:
Листинг 3:
CREATE VIEW NOTE(
A,
B,
C,
D,
E,
F)
AS
select p.name, p.dt_birth, pr.description, m.name, mn.text, mn.dt_note
from people p, medical_notes mn, medics m, professions pr
where mn.person_id=p.id and mn.author_id=m.id and m.profession_id=pr.id
order by mn.dt_note
;
Результат запроса представлен на рисунке 2.
Рис. 2. Результат запроса медицинского досье на человека.
2) Список призывников с фактическими адресами, не прошедших осмотр на заданную дату.
Скрипт запроса приведён в листинге 4:
Листинг 4:
CREATE VIEW DESERTER(
A,
B)
AS
select people.name, address.str
from people, status_history, address_link, address
where address.id = address_link.person_id
and people.id=address_link.person_id
and people.id=status_history.person_id
and dt_change between '31.12.2010' and '02.01.2011' and status_id=0
;
Результат запроса представлен на рисунке 3.
Рис. 3. Призывники, не прошедшие медосмотр 1.01.2011
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.