Файл: Пояснительная записка к курсовому проекту по дисциплине базы данных на тему.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 128
Скачиваний: 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 Проектирование базы данных
Рис.1. Концептуальная модель данных в стандарте Чена
Для создания базы данных используется команда CREATE DATABASE. Для создания таблиц применяется команда CREATE TABLE. С этой командой можно использовать ряд операторов, которые определяют столбцы таблицы и их атрибуты. И кроме того, можно использовать ряд операторов, которые определяют свойства таблицы в целом. Внешние ключи применяются для установки связи между таблицами. Внешний ключ устанавливается для столбцов из зависимой, подчиненной таблицы, и указывает на один из столбцов из главной таблицы. Для создания ограничения внешнего ключа после ключевого слова REFERENCES указывается имя связанной таблицы и в круглых скобках имя связанного столбца, на который будет указывать внешний ключ. С помощью оператора CONSTRAINT можно задать имя для ограничения внешнего ключа.
Результат:2. Вывести список сотрудников.
Результат:3. Вывести список сотрудников, работающих на должности «Оператор ЭВМ».
Результат:4. Вывести должности на которых стоят более 1 сотрудника.
Результат:5. Вывести количество клиентов у каждого сотрудника.
Оглавление
Введение 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
В компании разработана система штрафов (наименование штрафа, процент от суммы оплаты) для подрядчиков.Все обращения клиентов фиксируются в базе данных, при этом по каждого заказа запоминается: дата сдачи, количество дней, ожидаемая дата сдачи, сумма строительства [сумма строительства = стоимость строительства за сутки * количество дней], сумма штрафа, итоговая сумма. В одной выдаче задействованы один микроавтобус, один клиент, может быть несколько видов штрафов. 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 |
| select * from employess |
| select p.name, e.fio from positins as p join employess as e on p.id_pos = e.id_pos Where p.name = 'Оператор ЭВМ' |
| 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 |
| 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 |