Файл: Пояснительная записка к курсовому проекту по дисциплине базы данных на тему.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 07.11.2023

Просмотров: 127

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
МОСКОВСКИЙ АВТОМОБИЛЬНО-ДОРОЖНЫЙГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ(МАДИ)Пояснительная записка к курсовому проектупо дисциплине«БАЗЫ ДАННЫХ»на тему«Проектирование базы данных «Учет заказов мостостроительной компании»»Выполнил студент: Кузнецов Н.С., гр.2збАСУсПроверил: к.т.н., доц. Исмоилов М.И.Москва 2023

Оглавление


Введение 3

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

2 Проектирование базы данных 5

2.1.1 Описание сущностей 5

2.1.2 Описание связей 6

2.1.3 Концептуальная модель данных в стандарте Чена 7

2.2.1 ER-диаграмма в среде ERwin 8

2.2.2 Анализ ER-диаграммы 8

2.3.1 Генерация базы данных 9

2.3.2 Схема данных в среде, выбранной СУБД 10

3 Запросы 12

Заключение 15
ВведениеВ современном мире значительная часть жизни построена на информационных системах. Существенную роль играют средства накопления и передачи данных.Наиболее эффективным и структурированным средством хранения информации являются базы данных. Большое количество приложений для обработки информации ориентированы на работу с БД.В качестве объекта для проектирования информационной системы выбран Учет заказов мостостроительной компании. Основной вид деятельности – предоставление юридическим лицам надежные мосты.Строительная компании – весьма распространённая и востребованная компания. Задачами проекта будут:– исследование и описание предметной области;– применение метода ER-диаграмм для разработки базы данных;–использование CASE – средства Erwin для анализа модели и автоматической генерации БД;– создание макета сценарного интерфейса для пользователя. 1 Описание предметной области.Объект: Учет заказов мостостроительной компании.Функции: учет заказов.В компани входит некоторое количество сотрудников, которые обрабатывают заявки и направляют их подрядчикам (более маленьким компаниям).Также ведётся учёт клиентов. На каждого клиента оформляется индивидуальным номером и личными данными (фамилия, имя, отчество, телефон). В личной карточке находятся сведения о запрос на строительство.
В компании разработана система штрафов (наименование штрафа, процент от суммы оплаты) для подрядчиков.Все обращения клиентов фиксируются в базе данных, при этом по каждого заказа запоминается: дата сдачи, количество дней, ожидаемая дата сдачи, сумма строительства [сумма строительства = стоимость строительства за сутки * количество дней], сумма штрафа, итоговая сумма. В одной выдаче задействованы один микроавтобус, один клиент, может быть несколько видов штрафов. 2 Проектирование базы данных

2.1 Этап концептуального проектирования

2.1.1 Описание сущностей

В результате анализа предметной области были выделены следующие сущности: должности, сотрудники, скидки, штрафы, клиенты, класс авто, марка, модель, микроавтобусы, прокат, штрафы за прокат.Описание сущностей приведена в таблице 1.Таблица 1. Описание сущностей

Сущность


Атрибут


Ключ


Домен

Обязательность

Примечание


Тип

Размер

должности (positions)

id_pos

PK

числовой

-

+

Auto Increment

name

 

текстовый

50

+




сотрудники (employees)

id_empl

PK

числовой

-

+

Auto Increment

fio




текстовый

100

+




fk_ id_pos

FK

числовой

-

+




phone




текстовый

15

-




клиенты (clients)

id_client

PK

числовой

-

+

Auto Increment

fio




текстовый

100

+




address




текстовый

85

-




phone




текстовый

15

+




fk_ id_sale

FK

числовой

-

-




Заказы

(Orders)

id_class

PK

числовой

-

+

Auto Increment

name

 

текстовый

50

+




Исполнители

(Performers)

id_model

PK

числовой

-

+

Auto Increment

name

 

текстовый

50

+




fk_id_project

FK

числовой

-

+




штрафы за срок сдачи

(penalties for the deadline)

id_ rental_fines

PK

числовой

-

+

Auto Increment

fk_ id_rental

FK

числовой

-

+




fk_ id_fine

FK

числовой

-

+




Проект

(Project)

id_project

PK

числовой

-

+

Auto Increment

name




текстовой

50

+




2.1.2 Описание связей

Данные сущности находятся в связях друг с другом. Между типами сущностей различают следующих 3 типа связей:– «один-к-одному» или 1:1. Это значит, что одному экземпляру некоторой сущности может соответствовать только один экземпляр другой сущности;– «один-ко-многим» или 1:M. Это значит, что одному экземпляру сущности может соответствовать любое количество (M) экземпляров другой сущности. Если известно значение максимального количества экземпляров, то это значение указывается вместо символа М;– «много-к-многим» или M:N. Это означает, что нескольким экземплярам одной сущности может соответствовать несколько экземпляров другой сущности.При разработке БД необходимо принимать во внимание правила обеспечения целостности данных. В разработанной схеме базы данных существует 11 сущностей и 10 связи между ними. Описание связей приведено в таблице 2.Таблица 2. Описание связей

Сущность

Связь

Сущность

Показатель кардинальности

Степень участия

1-й сущности

2-й сущности

1

2

3

4

5

6

Должность

Занимает

Сотрудник

1:М

Ч

П

Сотрудники

Оформляют

Клиент

1:М

Ч

П

Сотрудники

Оформляют

Заказ

1:М

Ч

П

Штрафы

Выписываются

Штрафы срок работы

1:М

Ч

П

Сотрудники

Принадлежит

Исполнители

1:М

Ч

П

Проект

Готовность

Исполнители

1:М

Ч


П

2.1.3 Концептуальная модель данных в стандарте Чена

Концептуальная модель данных в стандарте Чена приведена на рисунке 1.
Рис.1. Концептуальная модель данных в стандарте Чена

2.2 Этап логического проектирования

2.2.1 ER-диаграмма в среде ERwin

Логическая модель данных в среде ERwin приведена на рисунке 2.Рис.2. Логическая модель данных в среде ERwin.

2.2.2 Анализ ER-диаграммы

На этом этапе необходимо проанализировать следующие «нежелательные», с точки зрения многих СУБД, элементы:– составные атрибуты;– многозначные атрибуты;– производные атрибуты;– рекурсивные связи;– связи с показателем кардинальности «1 х 1»;– избыточная связь;– связи с показателем кардинальности «М х N».При проектировании и создании исходной базы данных были соблюдены все требования реализации в целевой СУБД, таким образом в процессе анализа модель данных не подвергалась изменениям.Анализ модели на этапе логического проектирования считается законченным, и полученная модель является логической моделью данных, которая может быть реализована в выбранной целевой СУБД.

2.3 Этап физического проектирования.

2.3.1 Генерация базы данных

Чтобы создать новую базу данных откроем SQL Server Management Studio и создадим запрос (листинг 1).Листинг 1. Скрипт генерации базы данных

CREATE DATABASE BRIDGE_BUILD
CREATE TABLE positins(

id_pos int primary key identity(1,1) NOT NULL,

name varchar(50) NOT NULL

);
CREATE TABLE employess(

id_empls int primary key identity(1,1) NOT NULL,

fio varchar(50) NOT NULL,

phone varchar(15) NOT NULL,

id_pos int NOT NULL,

foreign key (id_pos) references positins(id_pos)

);
CREATE TABLE clients(

id_client int primary key identity(1,1) NOT NULL,

fio varchar(100) NOT NULL,

address varchar(85) NULL,

phone varchar(15) NOT NULL,

id_empls int NOT NULL,

foreign key (id_empls) references employess(id_empls)

);
CREATE TABLE Orders(

id_sale int primary key identity(1,1) NOT NULL,

name varchar(50) NOT NULL,

id_client int NOT NULL,

foreign key (id_client) references clients(id_client)

);
CREATE TABLE Project(

id_project int primary key identity(1,1) NOT NULL,

name varchar(50) NOT NULL,

id_sale int NOT NULL,

foreign key (id_sale) references Orders(id_sale)

);
CREATE TABLE Performers(

id_model int primary key identity(1,1) NOT NULL,

name varchar(50) NOT NULL,

id_project int NOT NULL,

foreign key (id_project) references Project(id_project)

);
CREATE TABLE Penalties_for_the_deadline(

id_rental_fines int primary key identity(1,1) NOT NULL,

id_rental int NOT NULL,

id_fine int NOT NULL,

id_model int NOT NULL,

foreign key (id_model) references Performers(id_model)

);

Для создания базы данных используется команда CREATE DATABASE. Для создания таблиц применяется команда CREATE TABLE. С этой командой можно использовать ряд операторов, которые определяют столбцы таблицы и их атрибуты. И кроме того, можно использовать ряд операторов, которые определяют свойства таблицы в целом. Внешние ключи применяются для установки связи между таблицами. Внешний ключ устанавливается для столбцов из зависимой, подчиненной таблицы, и указывает на один из столбцов из главной таблицы. Для создания ограничения внешнего ключа после ключевого слова REFERENCES указывается имя связанной таблицы и в круглых скобках имя связанного столбца, на который будет указывать внешний ключ. С помощью оператора CONSTRAINT можно задать имя для ограничения внешнего ключа.

2.3.2 Схема данных в среде, выбранной СУБД

Схема данных в среде СУБД MS SQL Server приведена на рисунке 2.Рисунок 2 – Схема данных в среде MS SQL Server 3 Запросы1. Вывести список клиентов.

select * from Clients
Результат:2. Вывести список сотрудников.

select * from employess
Результат:3. Вывести список сотрудников, работающих на должности «Оператор ЭВМ».

select p.name, e.fio

from positins as p

join employess as e on p.id_pos = e.id_pos

Where p.name = 'Оператор ЭВМ'
Результат:4. Вывести должности на которых стоят более 1 сотрудника.

select p.name, count(*)

from positins as p

join employess as e on p.id_pos = e.id_pos

group by p.name

having count(*) > 1
Результат:5. Вывести количество клиентов у каждого сотрудника.

select e.fio, count(*) as client_count

from employess as e

join Clients as c on e.id_empls = c.id_empls

group by e.fio