Название схемы соответствует имени пользователя в базе studs (sXXXXXX). Команда для подключения к базе studs: psql -h pg


Университет ИТМО
Кафедра ВТ
Базы данных
Лабораторная работа №2
Вариант 1103
Выполнили: Ковалёва Алёна, Найденкова Екатерина, группа P3100
Преподаватель: Гаврилов А.В.
2017 год
1. Текст задания.
1. На основе предложенной предметной области (текста) составить ее описание. Из полученного описания выделить сущности, их атрибуты и связи.
2. Составить инфологическую модель.
3. Составить даталогическую модель. При описании типов данных для атрибутов должны использоваться типы из СУБД PostgreSQL.
4. Реализовать даталогическую модель в PostgreSQL. При описании и реализации даталогической модели должны учитываться ограничения целостности, которые характерны для полученной предметной области.
5. Заполнить созданные таблицы тестовыми данными. Для создания объектов базы данных у каждого студента есть своя схема. Название схемы соответствует имени пользователя в базе studs (sXXXXXX). Команда для подключения к базе studs: psql -h pg -d studs Каждый студент должен использовать свою схему при работе над лабораторной работой №2 (а также в рамках выполнения 3 и 4 этапа курсовой работы).
2. Описание предметной области.
Был ли другой выход? Если бы он отказался лететь - на что надеялась Каролина, - то жалел бы до конца жизни. Семью это все равно погубило бы. Лучше уж расстаться так, на расстоянии. Он выполнил свой долг...
3. Список сущностей и их классификацию (стержневая, ассоциация, характеристика).
Полёт_Персонал (характеристика)-
Семья (стержневая)-
Положение в семье (характеристика)-
Персонал_Семья (ассоциация)-
Космические корабли- обладают следующими атрибутами-модель
Персонал (стержневая)- обладает следующими атрибутами-имя, фамилия, отчество, возраст, долг, положением в семье, должностью
Полёты- обладают следующими атрибутами- стоимостью,
Должность (характеристика)- обладает следующими атрибутами-название, зарплата.
Космические станции - обладают следующими атрибутами-название,
4. Инфологическая модель (ER-диаграмма в расширенном виде - с атрибутами, ключами...).
5. Даталогическая модель (должна содержать типы атрибутов, вспомогательные таблицы для отображения связей "многие-ко-многим").
6. Реализация даталогической модели на SQL.
studs=> CREATE TABLE Космический_корабль ( ид_Космический_корабль integer PRIMARY KEY,
Модель text NOT NULL,
Скорость integer NOT NULL
CHECK (Скорость > 0)
);
CREATE TABLE
studs=> CREATE TABLE Должность (
ид_Должность integer PRIMARY KEY,
Название text NOT NULL,
Зарплата integer NOT NULL
CHECK (Зарплата>0)
);
CREATE TABLE
studs=> CREATE TABLE Космические_станции ( ид_Космические_станции integer PRIMARY KEY,
Название text NOT NULL,
Количество_жителей integer NOT NULL
);
CREATE TABLE
studs=> CREATE TABLE Семья (
ид_Семья integer PRIMARY KEY,
Взаимопонимание integer DEFAULT 50
);
CREATE TABLE
studs=> CREATE TABLE Положение_в_семье ( ид_Положение_в_семье integer PRIMARY KEY,
Название text NOT NULL
);
CREATE TABLE
studs=> CREATE TABLE Полёт (
ид_Полёт integer PRIMARY KEY,
Стоимость integer NOT NULL,
Длительность_полёта interval NOT NULL, ид_Космические_станции integer REFERENCES Космические_станции ON DELETE CASCADE,
ид_Космический_корабль integer REFERENCES Космический_корабль ON DELETE CASCADE
CHECK (Стоимость >0)
);
CREATE TABLE
studs=> CREATE TABLE Персонал (
ид_Полёт integer PRIMARY KEY,
Имя text NOT NULL,
Фамилия text NOT NULL,
Отчество text NOT NULL,
Возраст integer NOT NULL,
Долг integer DEFAULT 0,
ид_Должность integer REFERENCES Должность ON DELETE SET NULL, ид_Космические_станции integer REFERENCES Космические_станции ON DELETE SET NULL
CHECK ( Возраст >=18 AND Возраст <80)
);
CREATE TABLE
studs=> CREATE TABLE Полёт_Персонал (
ид_Полёт integer REFERENCES Полёт,
ид_Персонал integer REFERENCES Персонал,
PRIMARY KEY (ид_Полёт,ид_Персонал)
);
CREATE TABLE
studs=> CREATE TABLE Персонал_ПВС ( ид_Положение_в_семье integer REFERENCES Положение_в_семье, ид_Персонал integer REFERENCES Персонал,
PRIMARY KEY (ид_Положение_в_семье,ид_Персонал)
);
CREATE TABLE
studs=> CREATE TABLE Персонал_Семья (
ид_Семья integer REFERENCES Семья,
ид_Персонал integer REFERENCES Персонал,
PRIMARY KEY (ид_Семья, ид_Персонал)
);
CREATE TABLE7. Выводы по работе.

Приложенные файлы

  • docx 9243128
    Размер файла: 16 kB Загрузок: 0

Добавить комментарий