Filipenya_Katerina / Отчёт 4
.docxМИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
Учреждение Образования
«Белорусский Государственный Университет Информатики и Радиоэлектроники»
кафедра информатики
Инструменты и средства программирования
Отчёт по лабораторной работе №4
Выполнила: студентка гр. 152002
Филипеня Екатерина Дмитриевна
Проверил:
Тычко Дмитрий Николаевич
Минск 2013
Задание
1. Создать базу данных для хранения данных Проекта. При разработке базы уделить внимание следующим аспектам:
– нормализация таблиц;
– наличие в таблицах ограничений (уникальность значений, первичные ключи);
– наличие связей между таблицами;
– индексы таблиц;
– (по желанию) наличие хранимых процедур с SQL-кодом для основных операций с данными (выборка, вставка, обновление, удаление).
2. После создания базы данных сгенерировать и изучить SQL-скрипты для создания объектов базы (таблиц, связей). Написать SQL-скрипты для вставки в таблицы базы тестовых значений.
Листинг
ALTER PROCEDURE ViewFilm
AS
Select *
from Films join Directors
on Films.DirectorId=Directors.Id
join Genres
on Films.GenreId=Genres.Id
join Duration
on
Films.DurationId = Duration.Id
ALTER PROCEDURE UpdateFilm
@newname varchar(100),
@newrating int,
@newdirid uniqueidentifier,
@newgenid uniqueidentifier,
@newdurid uniqueidentifier,
@id uniqueidentifier
AS
update Films
set Name = @newname, Rating = @newrating,
DirectorId = @newdirid, GenreId = @newgenid,
DurationId = @newdurid
where Id = @id
ALTER PROCEDURE SearchFilmWithName
@filmname varchar(100)
AS
SELECT * from Films
where Name = @filmname
ALTER PROCEDURE SearchFilmsWithGenre
@genreid uniqueidentifier
AS
SELECT * from Films
where GenreId = @genreid
ALTER PROCEDURE SearchFilmsWithDirector
@directorid uniqueidentifier
AS
SELECT * from Films
where DirectorId = @directorid
ALTER PROCEDURE NewDuration
@hour int,
@min int,
@sec int,
@id uniqueidentifier
AS
insert into Duration
values(@min,@sec,@hour,@id)
ALTER PROCEDURE GetGenres
AS
SELECT Genre
from Genres
ALTER PROCEDURE GetGenre
@id uniqueidentifier
AS
SELECT Genre from Genres
where Id = @id
ALTER PROCEDURE GetFullName
@id uniqueidentifier
AS
SELECT Surname + ' ' + Name
from Directors where Id = @id
ALTER PROCEDURE GetFilms
AS
SELECT Name
from Films
ALTER PROCEDURE GetFilmName
@id uniqueidentifier
AS
SELECT Name from Films
where Id = @id
ALTER PROCEDURE GetFilm
@id uniqueidentifier
AS
SELECT * from Films
where Id = @id
ALTER PROCEDURE GetDirectors
AS
SELECT Surname + ' ' + Name
from Directors
ALTER PROCEDURE GetDirector
@id uniqueidentifier
AS
SELECT Name, Surname
from Directors where Id = @id
ALTER PROCEDURE FilmsByRating
AS
SELECT *
from Films
order by Rating desc,Name
ALTER PROCEDURE DeleteFilm
@id uniqueidentifier
AS
delete from Films
where Id= @id
ALTER PROCEDURE AddGenre
@genre varchar(50),
@id uniqueidentifier
AS
insert into Genres
values(@genre,@id)
ALTER PROCEDURE AddFilm
@name varchar(100),
@rating int,
@dirid uniqueidentifier,
@genid uniqueidentifier,
@durid uniqueidentifier,
@id uniqueidentifier
AS
insert into Films
values(@name,@rating,@dirid,@genid,@durid,@id)
ALTER PROCEDURE AddDirector
@name varchar(50),
@surname varchar(50),
@id uniqueidentifier
AS
insert into Directors
values(@name,@surname,@id)