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

Страницы работы

Содержание работы

Санкт-Петербургский государственный технический университет
Факультет Технической Кибернетики

Кафедра Компьютерных Систем и Программных Технологий

ЦИКЛ ЛАБОРАТОРНЫХ РАБОТ

Дисциплина: Базы данных

Выполнил студент гр. 5081/1                          Перваков А.С.

Руководитель, ст. преподаватель                     Моисеев  М.Ю.

"___ "_________ 2011 г.

Санкт-Петербург
2011

Лабораторная 1. SQL-DDL

1.1.  Цели работы

Ознакомление с основами проектирования схемы БД, способами нормализации отношений в БД, языком описания сущностей и ограничений БД SQL-DDL.

1.2. Программа работы

1)Представить схему БД, соответствующую заданию (должно получиться не менее 7 таблиц)

2)Привести схему БД к 3НФ

3)Создание скрипта БД в соответствии с согласованной схемой (должны присутствовать первичные и внешние ключи, ограничения на диапазоны значений).

4)Создание скрипта, заполняющего все таблицы БД данными.

5)Выполнение SQL-запросов, изменяющих схему созданной БД по заданию преподавателя.

1.3. Выполнение работы

Задание: Военкомат.

ИС содержит информацию о призывниках различного возраста и статуса, текущем местонахождении призывников и личных делах, медицинских данных.

Диаграмма базы, сгенерированная в среде IBExpert, приведена на рисунке 1:

Описание: E:\Учеба СПБГПУ\КСПТ\Базы данных\fffuuuu.bmp

Рис. 1. Диаграмма базы данных военкомата.

Диаграмма содержит таблицы:

·  people – таблица с призывниками

·  delays – отсрочки

·  reason – причины отсрочек

·  summons – повестки

·  status – справочник статусов

·  status_history – история смены статусов для каждого призывника

·  address – справочник адресов

·  address_link – связующая таблица для М:М связи призывников с адресами. адреса могут быть двух типов(address_type): 1 - адрес регистрации, 2 - фактический

·  professions – справочник медицинских должностей

·  medics – медицинские работники

·  medical_notes – таблица с записями обследований

Скрипт создания БД приведён в листинге 1.

Листинг 1:

CREATE DATABASE 'E:\Учеба СПБГПУ\КСПТ\Базы данных\VOEN.FDB'

USER 'SYSDBA' PASSWORD 'masterkey'

PAGE_SIZE 16384

DEFAULT CHARACTER SET WIN1251 COLLATION WIN1251;

CREATE TABLE ADDRESS (

    ID   INTEGER NOT NULL,

    STR  VARCHAR(256) NOT NULL

);

CREATE TABLE ADDRESS_LINK (

    PERSON_ID     INTEGER NOT NULL,

    ADDRESS_ID    INTEGER NOT NULL,

    ADDRESS_TYPE  SMALLINT NOT NULL

);

CREATE TABLE DELAYS (

    ID         INTEGER NOT NULL,

    PERSON_ID  INTEGER NOT NULL,

    DT_TO      TIMESTAMP NOT NULL,

    REASON_ID  INTEGER

);

CREATE TABLE MEDICAL_NOTES (

    ID         INTEGER NOT NULL,

    TEXT       VARCHAR(1024) NOT NULL,

    AUTHOR_ID  INTEGER NOT NULL,

    PERSON_ID  INTEGER NOT NULL,

    DT_NOTE    TIMESTAMP NOT NULL

);

CREATE TABLE MEDICS (

    ID             INTEGER NOT NULL,

    NAME           VARCHAR(256) NOT NULL,

    PROFESSION_ID  INTEGER NOT NULL

);

CREATE TABLE PEOPLE (

    ID        INTEGER NOT NULL,

    NAME      VARCHAR(256) NOT NULL,

    DT_BIRTH  TIMESTAMP NOT NULL

);

CREATE TABLE PROFESSIONS (

    ID           INTEGER NOT NULL,

    DESCRIPTION  VARCHAR(64) NOT NULL

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Отчеты по лабораторным работам
Размер файла:
411 Kb
Скачали:
0