2.17M
Категория: Базы данныхБазы данных

Производство печатных изданий в издательствах

1.

ПРАВИТЕЛЬСТВО САНКТ-ПЕТЕРБУРГА
КОМИТЕТ ПО НАУКЕ И ВЫСШЕЙ ШКОЛЕ
Санкт-Петербургское государственное бюджетное профессиональное
образовательное учреждение
«Санкт-Петербургский технический колледж управления и коммерции»
Проектирование базы данных: «Производство
печатных изданий в издательствах»
Выполнил: студент группы 9СК-31
ФИО
Санкт-Петербург, 2024

2.

Цель: разработка и создание базы данных предметной области для
«Производство печатных изданий в издательствах».
Для достижения указанной цели поставлены следующие задачи:
- Анализ предметной области.
- Составление модели базы данных.
- Выбор СУБД.
- Создание базы данных.

3.

Концептуальная модель
Тип
1
Имеют
N
Издания
N
1
Имеют
Переплет
1
Составляют
N
Издательство
1
Заключает
N
Договор
1
Содержит
N
Иллюстрации
N
Оформляет
1
Заказчик

4.

Логическая модель
Тип
1
Код типа издания
Тип
Имеет
Иллюстрации
Код иллюстрации
Тип
Содержит
Название
Размер
N
Номер договора
Издательства
Заключают
Код издательства 1
Название
Адрес
Издание
N
Номер издания
N Название
Код типа издания
N
Код переплета
Договор
Номер договора
Дата
N Сумма
Код издательства
N
Номер издания
N
Код заказчика
Имеет
Переплет
1 Код переплета
Тип
1
Составляют
Оформляет
Заказчик
1 Код заказчика
Фамилия
Имя
Отчество
Телефон

5.

Схема данных из SQL

6.

Представление «Информация о договоре»

7.

Триггеры
create trigger Количество_иллюстраций_insert
on [dbo].[Иллюстрации]
after insert
as
declare @nomer int
declare @kolvo int
declare @nomizd int
select @nomer = [номер договора] from
[dbo].[Иллюстрации]
select @kolvo = count([номер договора]) from
[dbo].[Иллюстрации] where [номер договора] =
@nomer
select @nomizd = [Договор].[номер издания] from
[dbo].[Договор] where [Договор].[номер
договора] = @nomer
update [dbo].[Издание]
set [Издание].[количество иллюстраций] = @kolvo
where [Издание].[номер издания] = @nomizd

8.

Триггеры

9.

Функции
select 'в издательстве ' + convert(char (20),
[Название издательства]) + 'заключено ' +
convert(char(2), count([Название
издательства])) + 'договор(а)'
from [Издательства] group by [Название
издательства]

10.

Процедуры
create procedure [dbo].[Publication]
@Title char(15), -- название издания
@Typecode int, -- код типа издания
@Bindingcode int, -- код переплета
@Type char(15) -- тип переплета
AS
declare @code int
if (select [название издания] from издание where [название издания] = @Title AND [код
типа издания] = @Typecode AND [код переплета] = @Bindingcode) is null -- если в таблице
“Издания” нет издания с данными, которые мы ввели
BEGIN
set @code = (select Тип from Переплет where тип = @Type)
if (select тип from Переплет where тип = @Type) is null -- если в списке нет введенного
типа переплета, то такого типа переплета нет
Print('этого издания нет в списке')
else insert Издание values(@Title, @Typecode, @code)
END
else Print('Издание ' + @Title + 'с кодом типа издания' + str(@Typecode) + ' с кодом
переплета' + str(@Bindingcode) + ' и типом переплета' + @Type + ' уже присутствует')

11.

Процедуры

12.

Выводы:
В данном курсовом проекте была реализована база данных на тему
«Производство печатных изданий в издательствах». В процессе
реализации БД были созданы: таблицы, триггеры, схема данных,
представления. Для управления работой с СУБД использовались
запросы, функции, процедуры. Цель и задачи поставленные в начале
реализации курсового проектирования были достигнуты.

13.

Спасибо за внимание!
English     Русский Правила