Вы находитесь на странице: 1из 15

Министерство общего и профессионального образования свердловской области

Государственное автономное образовательное учреждение


среднего профессионального образования
Свердловской области
"Верхнепышминский механико-технологический техникум «Юность»"

ПРОЕКТНАЯ РАБОТА
по предмету "Основы проектирования баз данных"
специальность 09.02.04 Информационные системы (по отраслям)
проектирование базы данных по теме “Книжный магазин”

Выполнил студент группы ИС-336п: Карпов Артём

Верхняя Пышма, 2023г.


Содержание
Введение 3

1. Описание и анализ предметной области. 4

2. Инфологическая модель. 6

2.1. Концептуальная модель. 6

2.2. ER-модели по сущностям концептуальной модели. 8

3. Нормализация отношений. .

3.1. Исходные данные. .

3.2. Первая нормальная форма отношений. .

3.3. Вторая нормальная форма отношений. .

3.4. Третья нормальная форма отношений. .

4. Физическая модель. .

5. Контрольный пример. .

5.1. Данные. .

5.2. Запросы. .

5.3. Отчёты. .

6. Техническое задание. .

7. Инструкция пользователя .

8. Заключение .

9. Список использованных ресурсов .

2
Введение
В книжном магазине хранится огромное количество книг, услугами магазина
пользуются довольно много людей. Для обеспечения оперативности ведения
информации о книгах и клиентах необходима автоматизированная система,
основанная на современной базе данных. Использование базы данных и
автоматизированной системы для работы с базой данных существенно сократит
время обслуживания клиентов и время работы с библиотекой по систематизации
информации о книгах, по сбору информации о должниках и многие другие задачи.
Предмет исследования – структура и содержание информационных потоков
в процессе основного вида деятельности книжного магазина это продажа
издательской продукции покупателям за наличный или безналичный расчёт.
Целью является разработка информационной системы - базы данных
“Книжный магазин” путём автоматизации информационных потоков по основному
виду деятельности.
Поставленная цель исследования определила необходимость постановки и
решения следующих основных задач:

1. Провести описание и анализ предметной области.

2. Проектирование концептуальной модели данных.

3. Преобразование концептуальной модели в реляционную модель


БД.

4. Построить физическую модель базы данных.

5. Составить техническое задание.

6. Составить инструкцию по эксплуатации для пользователя


системы.

3
1. Описание и анализ предметной области
1. Предметная область деятельности предприятия
Предметной областью деятельности “Книжного магазина” является торговля.
2. Характеристика предприятия
Книжный магазин — это предприятие розничной торговли, реализующее
издательскую книжную продукцию и канцелярские товары. Книжный магазин
является частной собственностью. Книжный магазин имеет торговый зал, где
осуществляется реализация продукции и внутренняя реклама магазина. Имеет
складские помещения для приёма и хранения книготоргового ассортимента.
Книжный магазин ведёт культурно-просветительную работу по пропаганде чтения
среди населения всех возрастных кате. Режим работы книжного магазина
устанавливается собственником самостоятельно. Книжный магазин независимое
книготорговое предприятие, являющимся юридическим лицом. Функционирует на
внутреннем хозрасчёте.
3. Основной вид деятельности предприятия
Основной вид деятельности книжного магазина это продажа издательской
продукции покупателям за наличный или безналичный расчёт. Кроме печатной
издательской продукции книжный магазин продаёт канцелярские товары.
Организация культурного обслуживания населения, пропаганда книг и чтения.
4. Участники основного вида деятельности и их характеристики
К участникам основного вида деятельности относятся сотрудники и
покупатели. В магазине работает один продавец и менеджер. Менеджер управляет
деятельностью магазина.
Для клиента должна быть предусмотрена возможность просмотра информации
о издательствах и авторах книг.
При работе продавец должен иметь возможность решать следующие задачи:
⎯ Предоставлять информацию о новых клиентах;
⎯ Обновлять стоимость товаров;
⎯ Заносить данные о продажах;
4
⎯ Просматривать и вносить изменение в остатки на складе;
⎯ Редактировать ранее имеющиеся данные.
5. Информационные потоки в процессе основного вида деятельности
Магазин выставляет на продажу большое количество книг, в котором очень
сложно ориентироваться. Задачами данного проекта является реализовать
необходимость поиска нужной книги или же занесения новой книги в каталог, или
изменение каких-то неточных данных, или удаление книги, или ненужных
издательств, а так же содержание сведений о совершенных покупках. Эти и другие
задачи изначительно проще решить, если имеется база данных книжного магазина.
Работа книжного магазина является довольно сложным и трудоёмким
процессом. Для учёта книг реальным оформляется и вводится довольно большое
количество документации (оформление накладных на приход книг, оформление
скидок и лицензий и т.д.).
6. Характеристики учёта по основному виду деятельности
Процесс оказания услуг происходит через продавца, клиент находясь в
магазине сообщает информацию о необходимом товаре продавцу, после чего
продавец через терминал сверяет информацию о наличии данного товара в зале или
на складе, в случае положительного результата информирует покупателя о цене.
Таким образом, база данных создаётся для автоматизации учёта книг
магазина. Разрабатываемая база данных предназначена для быстрого и
эффективного обновления данных, оперативной и лёгкой навигации в имеющемся
ассортименте книг, что позволяет облегчить и упростить работу сотрудников
магазина.

5
2. Инфологическая модель.

2.1. Проектирование концептуальной модели данных.


Концептуальная модель — это отражение предметной области, для которой
разрабатывается база данных. Не вдаваясь в теорию, отметим, что это некая
диаграмма с принятыми обозначениями элементов. Так, все объекты, обозначающие
вещи, обозначаются в виде прямоугольника. Атрибуты, характеризующие объект - в
виде овала, а связи между объектами - ромбами. Мощность связи обозначаются
стрелками (в направлении, где мощность равна многим - двойная стрелка, а со
стороны, где она равна единице - одинарная).
В книжном магазине товаром являются книга, продавец совершает продажу и
клиент совершает покупку. Это можно представить тремя объектами и двумя
связями:

Продавец совершает продажу, которая подтверждается документом (кассовый


чек). Клиент по желанию может купить понравившуюся ему книгу, которая также
подтверждаться кассовым чеком.

Теперь у нас четыре объекта и три связи. Связь между сущностями “Клиент”
и “Книги” относится к типу связи “ один ко многим ” так как клиент может купить

6
несколько книг. Связь между сущностями “Продавец” и “Продажа” относится к
типу связи “ один ко многим ” так как продавец может совершить несколько
продаж. Связь между сущностями “Продажа” и “Книги” относится к типу связи “
один ко многим ” так одна продажа может включать в себя несколько книг.
Каждый объект концептуальной модели базы данных «Книжный магазин»
имеет свои атрибуты:

7
2.2. ER-моделирование по сущностям концептуальной модели.
На ER модели сущности «Продавец» объявляются следующие
атрибуты, которые в СУБД (программе) могут иметь следующие типы:

ER-модель 1 «Продавец»
− атрибут «Код: Продавец» – есть уникальным целочисленным значением,
которое формируется автоматически. В СУБД это есть поле- счетчик;
− атрибут «Номер телефона» – многозначный атрибут, который может быть
реализован как массив или коллекция и т.п.;
− атрибут «Населённый пункт» – это атрибут, который образует составной
атрибут Адрес. Этот атрибут может быть строчного (текстового) типа (string, Text);
− атрибут «Улица» – это атрибут, который образует составной атрибут
Адрес. Этот атрибут может быть строчного (текстового) типа (string, Text);
− атрибут «Номер дома» – это атрибут, который образует составной атрибут
Адрес. Этот атрибут может быть строчного (текстового) типа (string, Text);
− «атрибут «Номер квартиры» – это атрибут, который образует составной
атрибут Адрес. Этот атрибут может быть строчного (текстового) типа (string, Text);
− атрибут «Фамилия» – это простой атрибут, который являются частью
составного атрибута «ФИО». Этот атрибут может быть строчного (текстового) типа
(string, Text);
− атрибут «Имя» – это простой атрибут, который являются частью
8
составного атрибута «ФИО». Этот атрибут может быть строчного (текстового) типа
(string, Text);
− атрибут «Отчество» – это простой атрибут, который являются частью
составного атрибута «ФИО». Этот атрибут может быть строчного (текстового) типа
(string, Text);

На ER модели сущности «Клиент» объявляются следующие


атрибуты, которые в СУБД (программе) могут иметь следующие типы:

ER-модель 2 «Клиент»
− атрибут «Код: Клиент» – есть уникальным целочисленным значением,
которое формируется автоматически. В СУБД это есть поле- счетчик;
− атрибут «Номер телефона» – многозначный атрибут, который может быть
реализован как массив или коллекция и т.п.;
− атрибут «Фамилия» – это простой атрибут, который являются частью
составного атрибута «ФИО». Этот атрибут может быть строчного (текстового) типа
(string, Text);
− атрибут «Имя» – это простой атрибут, который являются частью
составного атрибута «ФИО». Этот атрибут может быть строчного (текстового) типа
(string, Text);
− атрибут «Отчество» – это простой атрибут, который являются частью
9
составного атрибута «ФИО». Этот атрибут может быть строчного (текстового) типа
(string, Text);

На ER модели сущности «Книги» объявляются следующие атрибуты, которые


в СУБД (программе) могут иметь следующие типы:

ER-модель 3 «Книги»
− атрибут «Код: Книги» – есть уникальным целочисленным значением,
которое формируется автоматически. В СУБД это есть поле-счетчик;
− атрибут «Название» – простой атрибут, который можно реализовать
строковым значением (string, Text);
− атрибут «Цена» – простой атрибут, который можно реализовать
целочисленным значением (int, integer);

10
На ER модели сущности «Продажа» объявляются следующие атрибуты,
которые в СУБД (программе) могут иметь следующие типы:

ER-модель 4 «Продажа»
− атрибут «Код: Продажа» – есть уникальным целочисленным значением,
которое формируется автоматически взятое из сущности «Услуги». В СУБД это
есть поле-счетчик;
− атрибут «Код: Клиент» – есть уникальным целочисленным значением,
которое формируется автоматически, взятое из сущности «Клиент». В СУБД это
есть поле-счетчик;
− атрибут «Код: Продавец» – есть уникальным целочисленным значением,
которое формируется автоматически взятое из сущности «Продавец». В СУБД это
есть поле-счетчик;
− атрибут «Дата продажи» – простой атрибут типа Дата (DateTime);
− атрибут «Количество» – простой атрибут, который можно реализовать
целочисленным значением (int, integer);

11
3. Нормализация отношений.

3.1. Исходные данные

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


таблиц. Для проведения процесса нормализации отношений, рассмотрим исходные
данные каждого отношения:
1. Продавец продает книги. Книги производится производителем. При этом:
продавец может продать несколько книг, и каждый продавец продает хотя бы одну
книгу.
2. У каждой книги есть тип. Каждая книга обязательно относится к какому -
либо типу, причем, только к одному. В магазине могут быть в наличии книги не всех
типов. Книг одного типа может быть несколько.
3. Таблица будет иметь 5 полей: «Продавец» со всеми данными о продавце,
«Клиент» со всеми данными о клиенте, «Книги», «Продажа». С учётом поученных
сведений можно заключить, что будет иметь место дублирование данных, равно как
и отсутствие значений некоторых полей в записях.

Набор предварительных таблиц (рис. 1).

12
3.2. Первая нормальная форма

Все атрибуты отношений “Книги” и “Продажа” простые, то есть их значения


неделимы. В нашем случае некоторые атрибуты являются не простыми. Так,
например, данные о месте жительства в таблице “Продавец” можно разделить на
населённый пункт, улицу, номер дома и номер квартиры, а в в таблице “Клиент”
данные о ФИО можно разделить на Фамилию, Имя и Отчество. Иными словами,
первая нормальная форма содержит правило об исключении повторяющихся групп,
т.е. атрибут некоторого экземпляра сущности должен содержать одно значение, а не
список значений.
После приведения отношения к первой нормальной форме можно получить,
следующие результаты.

Первая нормальная форма (рис. 2).


3.3. Вторая нормальная форма

Каждое не ключевое поле связано полной функциональной зависимостью с


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

13
Вторая нормальная форма (рис. 3).
3.4. Третья нормальная форма

Любой неключевой атрибут нетранзитивно зависит от ключа.


Транзитивная зависимость – ситуация, при которой в некоторой тройке
атрибутов первый зависит от второго, второй от третьего, а третий от первого.
Транзитивная зависимость наблюдается в том случае, если одно из двух
неключевых полей зависит от первичного ключа, а другое зависит от первого
неключевого поля.
Исключить транзитивные зависимости можно, разбив данное отношение на
несколько отношений, в моём случае их два и оба находятся в таблице «Продажа»:
«Продажа» и «Сумма продажи». При этом в каждое из них следует добавить поле,
являющееся первичным ключом отношения, например, поле с именем «Код».
Кроме того, чтобы данные не потеряли связи между собой, нужно добавить в
таблицы вторичные ключи. Этими ключами будут: в таблице «Продажа» - «Код
книги»; в таблице «Сумма продажи» - «Код сумма продажи». В результате получим
следующий результат.

14
Третья нормальная форма (рис. 4).
Иными словами, третья нормальная форма содержит правило о том, что
каждый атрибут, не являющийся ключевым, должен зависеть только от ключа
сущности и не зависеть от других атрибутов. Требование о независимости
атрибутов друг от друга означает, что изменение одного атрибута, не входящего в
ключ сущности, никак не отразится на другом.

15

Вам также может понравиться