Добавил:
t.me Инфо для ГУАП студентов от меня: https://kafaka.notion.site/99e6d9b70ca74f7baef3daea17839e5a Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Чурилов / 3 курс 2 семестр / Чурилов_БД_Z9411_ЛР3.docx
Скачиваний:
12
Добавлен:
14.10.2024
Размер:
233.08 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное автономное образовательное учреждение высшего образования

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ»

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

Кафедра проблемно-ориентированных вычислительных комплексов

ОЦЕНКА

ПРЕПОДАВАТЕЛЬ

кандидат техн. наук _________________ Е.Л. Турнецкая

подпись, дата

ЛАБОРАТОРНАЯ РАБОТА №3

Создание базы данных на сервере MySql

по дисциплине «Базы данных»

РАБОТУ ВЫПОЛНИЛ

СТУДЕНТ ГР. Z9411 __________________ А.С. Чурилов

подпись, дата

Студенческий билет № 2019/3684

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

2022г.

Оглавление

1. Цель работы 3

2. Создание базы данных и добавление таблиц 3

3. Заполнение таблиц 7

4. Изменение свойств таблиц 9

Заключение 11

Список источников 12

  1. Цель работы

Цель лабораторной работы: изучить операции по созданию и заполнению базы данных на сервере MySQL.

  1. Создание базы данных и добавление таблиц

1. Разработаем новую базу данных под названием DBtheatre, соответствующую даталогической модели информационной системы «Театр», приведенной на рисунке 1.

Рисунок 1 – Даталогическая модель информационной системы «Театр»

Для создания базы данных в приложении MySQL Workbench воспользуемся командой create database. Для повторных обращений к информационной системе необходимо прописывать инструкцию use.

Как видно из схемы, база данных должна содержать пять различных таблиц, каждая из которых имеет первичный ключ. Также все сущности связаны между собой с помощью внешних ключей.

Первой добавим таблицу employees, содержащую информацию о работниках театра. В среде разработки пропишем следующий программный код:

create database DBtheatre;

use DBtheatre;

create table employees

(

id_emp int not null primary key,

surname_emp char(30) not null,

name_emp char(30) not null,

patr_emp char(30) not null,

sex_emp char(5) not null,

year_birth_emp int not null,

year_job_emp int not null,

exp_emp int not null,

posit_emp char(25) not null,

town_emp char(15),

adr_emp char(15),

ph_emp char(10) not null

);

desc employees;

Для указания первичного ключа дополним описание атрибута словосочетанием primary key, которое принято записывать после определения типа данных столбца.

Команда desc позволяет вывести на экран структуру созданной таблицы.

Результат выполнения программных инструкций приведен на рисунке 2.

Рисунок 2 – Добавление таблицы employees в базу данных DBtheatre

2. Добавим таблицу performances, в которую входят данные о театральных постановках. В среде разработки пропишем следующий программный код:

use DBtheatre;

create table performances

(

name_perf char(30) not null primary key,

director_perf char(30) not null,

painter_perf char(30) not null,

conductor_perf char(30) not null,

author_perf char(30) not null,

genre_perf char(10) not null,

type_perf char(10) not null

);

desc performances;

Результат выполнения программных инструкций приведен на рисунке 3.

Рисунок 3 – Добавление таблицы performances в базу данных DBtheatre

3. Добавим таблицу timetable, где подробно изложено расписание гастролей театральных трупп. В среде разработки пропишем следующий программный код:

use DBtheatre;

create table timetable

(

name_tour char(30) not null primary key,

name_perf_tour char(30) not null,

foreign key (name_perf_tour)

references performances (name_perf)

on update cascade,

town_tour char(20) not null,

date_beg_tour char(10) not null,

date_end_tour char(10) not null

);

desc timetable;

Для установления связей между таблицами БД укажем внешние ключи. Для этого при описании данных используется словосочетание foreign key, причем также необходимо указать таблицу, на которую ссылается конкретный внешний ключ. Это выполняется с помощью параметра references.

Результат выполнения программных инструкций приведен на рисунке 4.

Рисунок 4 – Добавление таблицы timetable в базу данных DBtheatre

4. Добавим таблицу troupes, содержащую информацию о составленных в театре труппах и о спектаклях, в которых они участвуют. В среде разработки пропишем следующий программный код:

use DBtheatre;

create table troupes

(

id_troupe int not null primary key,

name_perf_troupe char(30) not null,

foreign key (name_perf_troupe)

references performances (name_perf)

on update cascade,

id_emp_troupe int not null,

foreign key (id_emp_troupe)

references employees (id_emp)

on update cascade,

role char(20) not null

);

desc troupes;

Результат выполнения программных инструкций приведен на рисунке 5.

Рисунок 5 – Добавление таблицы troupes в базу данных DBtheatre

5. Добавим таблицу repertoire, в которой представлены сведения о репертуаре театра. В среде разработки пропишем следующий программный код:

use DBtheatre;

create table repertoire

(

id_repert int not null primary key,

name_perf_repert char(30) not null,

foreign key (name_perf_repert)

references performances (name_perf)

on update cascade,

date_repert char(10) not null,

period_repert char(10),

day_time_repert char(15) not null,

cost_ticket int not null

);

desc repertoire;

Результат выполнения программных инструкций приведен на рисунке 6.

Рисунок 6 – Добавление таблицы repertoire в базу данных DBtheatre