Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛАБЫ ПО БАЗАМ ДАННЫХ.doc
Скачиваний:
46
Добавлен:
01.06.2015
Размер:
268.29 Кб
Скачать

Лабораторная работа №4

СОЗДАНИЕ СТРУКТУРЫ БАЗЫ ДАННЫХ НА ЯЗЫКЕ ЗАПРОСОВ

SQL

Цель занятия

Изучение возможностей и практическое использование языка запросов SQLпо созданию структуры базы данных.

Постановка задачи

1.Создание структуры таблиц базы данных.Сюда входит:

аопределение имен полей и типов данных;

бназначение первичных ключей.

2.Установление взаимосвязей,где необходимо составить запросы по установлению имеющихся взаимосвязей между таблицами.

Ход работы

Создаем структуру реляционной базы данных на основании модели, оптимизированной в лабораторной работе №3.

1.Создание структуры таблиц базы данных:

асоздание таблицыЖелезнодорожный вокзал(соответствует схемеЖелезнодорожный вокзал):

CREATE TABLE [Железнодорожный вокзал] (

[Полное название вокзала] TEXT(20),

Адрес TEXT(50),

Телефон TEXT(9),

Директор TEXT(12)

);

создание таблицы Сотрудник(соответствует схемеСотрудник1):

CREATE TABLE Сотрудник (

[№ трудового договора] NUMBER,

Фамилия TEXT(12),

Имя TEXT(12),

Отчество TEXT(12),

[Дата рождения] DATETIME,

Должность TEXT(10),

[Контактный телефон] TEXT(9),

[Полное название вокзала] TEXT(20)

);

создание таблицы Справочник окладов(соответствует схемеСправочник окладов):

CREATE TABLE [Справочник окладов] (

Должность TEXT(10),

Оклад CURRENCY

);

создание таблицы Маршрут движения(соответствует схемеМаршрут движения):

CREATE TABLE [маршрут движения] (

[Название маршрута] TEXT(30),

[Дата отправления] DATETIME,

[Время отправления] TEXT(10),

[Стоимость билета] CURRENCY,

[№ поезда] NUMBER,

[№ платформы] NUMBER,

[Полное название вокзала] TEXT(20)

);

создание таблицы Пассажир (соответствует схемеПассажир):

CREATE TABLE Пассажир (

[Личный №] NUMBER,

Фамилия TEXT(12),

Имя TEXT(12),

Отчество TEXT(12),

[№ и серия паспорта] TEXT(30),

[Дата покупки билета] DATETIME,

[Название маршрута] TEXT(30),

[Дата отправления] DATETIME,

[Время отправления] TEXT(10),

);

бназначение атомарным первичным ключом таблицыЖелезнодорожный вокзалполяПолное название вокзала:

CREATE INDEX [первичный ключ] ON [Железнодорожный вокзал] ([полное название вокзала])

WITH PRIMARY;

назначение атомарным первичным ключом таблицы Сотрудникполя№ трудового договора:

CREATE INDEX [первичный ключ] ON Сотрудник ([№ трудового договора])

WITH PRIMARY;

назначение атомарным первичным ключом таблицы Справочник окладовполяДолжность:

CREATE INDEX [первичный ключ] ON [Справочник окладов] (Должность)

WITH PRIMARY;

назначение состовым первичным ключом таблицы Маршрут движенияполейНазвание маршрута, время отправления, дата отправления:

CREATE INDEX [первичный ключ] ON Маршрут (

[Название маршрута],

[Дата отправления],

[Время отправления])

WITH PRIMARY;

назначение атомарным первичным ключом таблицы Пассажир поляЛичный:

CREATE INDEX [первичный ключ] ON Пассажир ([Личный №])

WITH PRIMARY;

2.Установление взаимосвязей:

создание взаимосвязи вида “один-ко-многим” между таблицами Железнодорожный вокзалиСотрудник:

ALTER TABLE Сотрудник

ADD CONSTRAINT Связь FOREIGN KEY ([Полное название вокзала])

REFERENCES [Железнодорожный вокзал] ([Полное название вокзала]);

создание взаимосвязи вида “один-ко-многим” между таблицами Справочник окладовиСотрудник:

ALTER TABLE Сотрудник

ADD CONSTRAINT Связь FOREIGN KEY (Должность)

REFERENCES [Справочник окладов] (Должность);

создание взаимосвязи вида “один-ко-многим” между таблицами Железнодорожный вокзалиМаршрут движения:

ALTER TABLE [Маршрут движения]

ADD CONSTRAINT Связь2 FOREIGN KEY ([Полное название вокзала])

REFERENCES [Железнодорожный вокзал] ([Полное название вокзала]);

создание взаимосвязи вида “один-ко-многим” между таблицами Маршрут движенияиПассажир:

ALTER TABLE Пассажир

ADD CONSTRAINT Связь FOREIGN KEY (

[Название маршрута],

[Дата отправления],

[Время отправления])

REFERENCES [Маршрут движения] (

[Название маршрута],

[Дата отправления],

[Время отправления]

);

Сотрудник

1

Железнодорожный

вокзал

Маршрут движения

трудового договора

Полное название вокзала

1

1

1

Название маршрута

Фамилия

Адрес

1

Дата отправления

Имя

Телефон

Время отправления

Отчество

Директор

Стоимость билета

Д

ата рождения

№ поезда

Должность

№ платформы

Контактный тел.

Пассажир

Полное название вокзала

Полное название вокзала

Личный №

Фамилия

Имя

Отчество

Справочник окладов

№ и серия паспорта

Д

1

олжность

Д

ата покупки билета

Оклад

Н

азвание маршрута

Д

ата отправления

Время отправления