![]()
|
|||
Проектирование на концептуальном уровне
Практическая работа Проектирование на концептуальном уровне На концептуальном уровне мы выделили несколько сущностей: · Жанр · Автор · Исполнитель · Музыкальное произведение Проектирование на логическом уровне · Жанр – REFJANR · Автор – REFAUTOR · Исполнитель – REFEXCT · Музыкальное произведение – REFMUSWORKS На логическом уровне добавили связующую таблицу, которая связывает музыкальное произведение и исполнителя: · Исполнение – REFEXECUTION Проектирование на физическом уровне На этом уровне мы создали скрипт в Workbench MYSQL:
SET NAMES utf8 COLLATE utf8_unicode_ci; DROP DATABASE IF EXISTS mus; CREATE DATABASE mus DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_unicode_ci; USE mus; /*** жанр ***/ create table refjanr ( codjanr char(3) not null, /* код жанра */ namejanr varchar(20),
constraint pk_refjanr primary key (codjanr) ); commit; /*** автор ***/ create table refauthor ( codauthor char(3) not null, /* код автор */ author varchar(100),
constraint pk_refauthor primary key (codauthor) ); commit; /*** музыкальное произведение ***/ create table refmusworks ( codjanr char(3) not null, /* код жанра */ codauthor char(3) not null, /* код автор */ codmusworks char(3) not null, /* код музыкального поизведения */ nameworks varchar(100), /* название произведения*/
constraint pk_refmusworks primary key (codjanr, codauthor, codmusworks), constraint fk1_refmusworks foreign key (codjanr) references refjanr(codjanr) on delete cascade on update cascade, constraint fk2_refmusworks foreign key (codauthor) references refauthor(codauthor) on delete cascade on update cascade ); commit; /*** исполнитель ***/ create table refexct ( codexct char(3) not null, /* код исполнителя */ nameexct varchar(100), /* имя исполнителя */
constraint pk_refexect primary key (codexct) ); commit;
/*** исполнение ***/ create table refexecution ( codjanr char(3) not null, /* код жанра */ codauthor char(3) not null, /* код автор */ codmusworks char(3) not null, /* код музыкального поизведения */ codexct char(3) not null, /* код исполнителя */
constraint pk_refexecution primary key (codjanr, codauthor, codmusworks, codexct), constraint fk1_refexecution foreign key (codjanr, codauthor, codmusworks) references refmusworks(codjanr, codauthor, codmusworks) on delete cascade on update cascade, constraint fk2_refexecution foreign key (codexct) references refexct(codexct) on delete cascade on update cascade
); commit; show tables;
|
|||
|