Базы данных SQL-DDL и SQL-DML. Изучение транзакций. Программирование на языке SQL. Консольное приложение (Цикл лабораторных работ). Вариант № 1, страница 16

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