Хелпикс

Главная

Контакты

Случайная статья





Проектирование на концептуальном уровне



 

Практическая работа

Проектирование на концептуальном уровне

На концептуальном уровне мы выделили несколько сущностей:

· Жанр

· Автор

· Исполнитель

· Музыкальное произведение

Проектирование на логическом уровне

· Жанр ­­– 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;

 

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.