Управление данными УД / Управление данными_ИСТ-11-12-15 / ИСТ-12 / 3-Основы языка SQL / Рогачева
.docСанкт-Петербургский Государственный Университет Телекоммуникаций имени проф. М.А. Бонч-Бруевича
Факультет Информационных систем и технологий Кафедра Информационных и управляющих систем
Отчет к лабораторной работе №3
«Создание БД «Проекты»»
По дисциплине: Управление данными
Выполнила: Рогачёва А.В.
Группа ИСТ-12
Преподаватель: Сабинин О.Ю.
Санкт-Петербург
2014
Цель работы: Создать базу данных для учета сотрудников и выполняемых ими проектов.
Задание:
1. Создать базу данных для учета сотрудников и выполняемых ими проектов.
Требования к модели:
-
Проект может выполнять один или несколько сотрудников;
-
Сотрудники могут участвовать в одном или нескольких проектах;
-
У сотрудников может быть один начальник и один или несколько подчиненных;
-
Сотрудники закреплены за отделами;
-
В отделе может работать один или несколько сотрудников:
-
Сотрудник или закреплен за одним отделом или не закреплен ни за одним отделом.
База данных должна содержать следующую информацию:
- о сотрудниках: Фамилию, имя, отчество, должность, зарплату, отдел, начальник;
- об отделах: Название отдела, телефон;
- о проектах: Название проекта.
2. Предусмотреть значения по умолчанию для столбца Зарплата (0), Телефон (‘111-11-11’) и проверку вводимых пользователем значений - Зарплата >= 0 и Зарплата<=60000;
3. Значения в столбцах Название отдела и Название проекта должны быть уникальными.
4. Внести в таблицы базы данных по 5 записей. Проверить работу связей, ограничений и значений по умолчанию.
5. Оформить отчет по работе
Ход работы:
-
Создадим таблицу «СОТРУДНИКИ» и добавим все необходимые поля (рисунок 1). Значение по умолчанию для «ЗАРПЛАТА» приравниваем 0.

Рисунок 1 - Таблица "СОТРУДНИКИ"
-
Создаем ограничение вводимых значений в столбце «ЗАРПЛАТА» >=0 & <=60000 (рисунок 2).

Рисунок 2 - Ограничение значений поля "ЗАРПЛАТА"
-
Заполним таблицу «СОТРУДНИКИ» пятью строками информации (рисунок 3).

Рисунок 3 - Заполненная таблица "СОТРУДНИКИ"
-
Создадим таблицу «ОТДЕЛ» и добавим все необходимые поля таблицы по заданию (рисунок 4). Значение по умолчанию для «ТЕЛЕФОН» приравниваем 111-11-11.

Рисунок 4 - Таблица "ОТДЕЛ
-
.зададим уникальность для каждой строки столбца «НАЗВАНИЕ_ОТДЕЛА» (рисунок 5)

Рисунок 5 - Уникальность для столбца «НАЗВАНИЕ_ОТДЕЛА»
-
Заполним таблицу «ОТДЕЛ» пятью строками информации (рисунок 6)

Рисунок 6 - Заполненная таблица «ОТДЕЛ»
-
Спроектируем таблицу «ПРОЕКТ» и зададим поля таблицы (рисунок 7).

Рисунок 7 - Таблица «ПРОЕКТ»
-
Зададим уникальность для каждой строки столбца «НАЗВАНИЕ_ПРОЕКТА» (рисунок 8)

Рисунок 8 - Уникальность столбца «НАЗВАНИЕ_ПРОЕКТА»
-
Заполним таблицу «ПРОЕКТ» информацией (рисунок 9)

Рисунок 9 - Заполненная таблица "ПРОЕКТ"
-
Связь «ПРОЕКТЫ» с «СОТРУДНИКИ» многие ко многим, не может быть реализована в СУБД. Для ее создания вводим ассоциативную таблицу «УЧАСТНИКИ_ПРОЕКТА». Добавим в неё два поля «НОМЕР_СТРУДНИКА» и «НОМЕР ПРОЕКТА» и заполним 5 строк (рисунок 10)

Рисунок 10 - Заполненная таблица "УЧАСТНИКИ_ПРОЕКТА"
-
Свяжем все таблицы:
-
«СОТРУДНИКИ»-«ТАБ_НОМЕР» связан с «СОТРУДНИКИ»-«НАЧАЛЬНИК» унарной связью, то есть таблица связана сама с собой (рисунок 11)

Рисунок 11 - Связь «НАЧАЛЬНИК» - «ТАБ_НОМЕР»
-
«СОТРУДНИКИ»-«ОТДЕЛ» связан с «ОТДЕЛ»-«НОМЕР_ОТДЕЛА» (рисунок 12)

Рисунок 12 - Связь «ОТДЕЛ» - «НОМЕР_ОТДЕЛА»
-
«УЧАСТНИКИ ПРОЕКТА»-«НОМЕР_ПРОЕКТА» связан с «ПРОЕКТЫ»-«НОМЕР_ПРОЕКТА» (рисунок 13)

Рисунок 13 - Связь «НОМЕР_ПРОЕКТА» - «НОМЕР_ПРОЕКТА»
-
«УЧАСТНИКИ ПРОЕКТА»-«НОМЕР_СОТРУДНИКА» связан с «СОТРУДНИКИ»-«НОМЕР_СОТРУДНИКА» (рисунок 14)

Рисунок 14 - Связь «НОМЕР_СОТРУДНИКА» - «ТАБ_НОМЕР»
-
Построим в Data Modeler реляционную модель 4 таблиц (рисунок 15).

Рисунок 15 - Реляционная модель таблиц в Data Modeler
-
Проверим работу связей и значений по умолчанию.
-
Проверка на уникальность значений строк в столбцах. Выдается ошибка при попытке написать уже имеющееся значение в столбце «НАЗВАНИЕ_ОТДЕЛА»

и «НАЗВАНИЕ_ПРОЕКТА»

Вывод: В ходе данной лабораторной работы были созданы четыре таблицы «СОТРУДНИК», «ПРОЕКТЫ», «ОТДЕЛЫ», «УЧАСТНИКИ_ПРОЕКТА». Были реализованы унарная, многие-к-одному и многие-ко-многим связи между 4 таблицами. Связь многие-ко-многим в СУБД невозможна, поэтому была создана ассоциативная таблица «УЧАСТНИКИ_ПРОЕКТА».
