Проектирование и разработка БД «Автосервис»
Заказать уникальную курсовую работу- 34 34 страницы
- 9 + 9 источников
- Добавлена 19.06.2022
- Содержание
- Часть работы
- Список литературы
- Вопросы/Ответы
1. Проектирование базы данных 6
1.1 Анализ предметной области 6
1.2 Анализ готовых решений 7
1.3 Инфологическая модель 9
1.4 Даталогическая модель БД 13
2. Реализация базы данных 18
2.1 Характеристика СУБД Microsoft SQL Server 18
2.2 Создание структуры БД 19
2.2.1 БД и таблицы 19
2.2.2 Индексы 24
2.3 Заполнение таблиц 25
2.4 Создание запросов 28
2.4.1 Запрос на выборку по условиям 28
2.4.2 Многотабличный запрос с использованием соединения 28
2.4.3 Запрос с использованием подзапроса 29
2.5 Итоговый запрос 30
3. Создание представлений 31
3.1 Итоговое представление 31
ЗАКЛЮЧЕНИЕ 33
Список использованной литературы 34
Таблицы могут иметь большое количество строк, а, так как строки не находятся в каком-нибудь определенном порядке, их поиск по указанному значению может потребовать времени[8].В базе данных Avtoservis создано несколько индексов:в таблице DISCOUNTсоздан уникальный, некластерныйиндекс:CREATE UNIQUE NONCLUSTERED INDEX I_NCL_markaON DISCOUNT (NUMBER_DISC desc)в таблице MARKAсоздан уникальный, некластерный индекс:CREATE UNIQUE NONCLUSTERED INDEX I_NCL_markaON MARKA (NAME_MARKA desc)2.3 Заполнение таблицВ созданные таблицы были добавлены данные. Ниже приведены скрипты для добавления данных в таблицы:INSERT INTO MARKA VALUES (1,'МЭРСЕДЕС');INSERT INTO MARKA VALUES (2,'БМВ');INSERT INTO MARKA VALUES (3,'ВАЗ');INSERT INTO MARKA VALUES (4,'ФОРД');INSERT INTO MARKA VALUES (5,'ОПЕЛЬ');INSERT INTO MARKA VALUES (6,'ХОНДА');INSERT INTO MARKA VALUES (7,'ТАЙОТА');INSERT INTO COLOUR VALUES (1,'ЧЕРНЫЙ');INSERT INTO COLOUR VALUES (2,'БЕЛЫЙ');INSERT INTO COLOUR VALUES (3,'КРАСНЫЙ');INSERT INTO COLOUR VALUES (4,'СЕРЫЙ');INSERT INTO COLOUR VALUES (5,'СИНИЙ');INSERT INTO DISCOUNT VALUES (1,8467387, 5);INSERT INTO DISCOUNT VALUES (2,9370122, 10);INSERT INTO DISCOUNT VALUES (3,8403859, 15);INSERT INTO DISCOUNT VALUES (4,3390275, 5);INSERT INTO DISCOUNT VALUES (5,0038572, 5);INSERT INTO DISCOUNT VALUES (6,9372016, 10);INSERT INTO DISCOUNT VALUES (7,9472564, 5);INSERT INTO DISCOUNT VALUES (8,5964930, 10);INSERT INTO TYPE_WORK VALUES (1,'ПОКРАСКА',5000, 7);INSERT INTO TYPE_WORK VALUES (2,'РЕМОНТКПП',20000, 5);INSERT INTO TYPE_WORK VALUES (3,'ДИАГНОСТИКА',1000, 1);INSERT INTO TYPE_WORK VALUES (4,'ШИНОМОНТАЖ',800, 1);INSERT INTO TYPE_WORK VALUES (5,'РЕМОНТДВИГАТЕЛЯ', 15000, 7);INSERT INTO TYPE_WORK VALUES (6,'РЕМОНТХОДОВОЙ',2000, 2);INSERT INTO TYPE_WORK VALUES (7,'МОЙКА',500, 1);INSERT INTO TYPE_WORK VALUES (8,'ЗАМЕНАМАСЛА',3000, 1);INSERT INTO CUSTOMERS VALUES (1,'Петров Петр Геннадьевич',89997778888, 1);INSERT INTO CUSTOMERS VALUES (2,'Сидоров Иван Сергеевич',89994445566, 2);INSERT INTO CUSTOMERS VALUES (3,'Попова Наталья Павловна',89995554411, 3);INSERT INTO CUSTOMERS VALUES (4,'Попова Вероника Сергеевна',89992226633, 4);INSERT INTO CUSTOMERS VALUES (5,'Лазарева Анна Сергеевна',89996665577, 5);INSERT INTO CUSTOMERS VALUES (6,'Шишкин Иван Петрович', 89994125555, 6);INSERT INTO CUSTOMERS VALUES (7,'Самойлов Алексей Викторович', 89995654444, 7);INSERT INTO CUSTOMERS VALUES (8,'Рязанов Сергей Иванович', 89998574122, 8);INSERT INTO COUNTRY VALUES (1,'ГЕРМАНИЯ');INSERT INTO COUNTRY VALUES (2,'АМЕРИКА');INSERT INTO COUNTRY VALUES (3,'РОССИЯ');INSERT INTO COUNTRY VALUES (4,'ЯПОНИЯ');INSERT INTO TYPE_MASTER VALUES (1,'МАЛЯР');INSERT INTO TYPE_MASTER VALUES (2,'МЕХАНИК');INSERT INTO TYPE_MASTER VALUES (3,'ШИНОМОНТАЖНИК');INSERT INTO TYPE_MASTER VALUES (4,'АВТОМОЙЩИК');INSERT INTO TYPE_MASTER VALUES (5,'МАСТЕРПОРЕМОНТУХОДОВОЙ');INSERT INTO CARS VALUES (1,'T676HH', 2012, 3, 2, 1, 3);INSERT INTO CARS VALUES (2,'E666K', 2013, 1, 5, 2, 2);INSERT INTO CARS VALUES (3,'O987KH', 2009, 4, 4, 3, 6);INSERT INTO CARS VALUES (4,'A456MC', 2008, 4, 1, 4, 7);INSERT INTO CARS VALUES (5,'P098HA', 2009, 1, 2, 5, 5);INSERT INTO CARS VALUES (6,'K777KK', 2010, 1, 5, 6, 1);INSERT INTO CARS VALUES (7,'E454AT', 2011, 2, 1, 7, 4);INSERT INTO CARS VALUES (8,'P000PP', 2012, 1, 3, 8, 1);INSERT INTO MASTER VALUES (1,ПетровМаксим Иванович ', 89654754411, 30000, 2);INSERT INTO MASTER VALUES (2,ИвановСергейПетрович', 89657452123, 35000, 1);INSERT INTO MASTER VALUES (3,ПоповНиколай Николаевич ', 89654587412, 20000, 4);INSERT INTO MASTER VALUES (4,СоболевРоманСергеевич', 89635241254, 20000, 3);INSERT INTO MASTER VALUES (5,Смирнов Андрей Андреевич', 89657458996, 30000, 5);INSERT INTO ORDERS VALUES (1, 423, 8, 3, 7);INSERT INTO ORDERS VALUES (2, 321, 2, 2, 1);INSERT INTO ORDERS VALUES (3, 634, 7, 5, 6);INSERT INTO ORDERS VALUES (4, 989, 1, 1, 3);INSERT INTO ORDERS VALUES (5, 467, 6, 4, 4);INSERT INTO ORDERS VALUES (6, 651, 5, 1, 5);INSERT INTO ORDERS VALUES (7, 342, 3, 1, 2);INSERT INTO ORDERS VALUES (8, 542, 4, 1, 8);2.4 Созданиезапросов2.4.1 Запрос на выборку по условиямВ данномзапросевыдать марки машин, у которых название начинается на букву «М».(Рисунок 3). SELECT TOP (100) PERCENT NAME_MARKA AS МаркаFROM dbo.MARKAWHERE (NAME_MARKA LIKE 'м%')Рисунок 3 - Результат выполнения однотабличного запроса2.4.2 Многотабличный запрос с использованием соединенияВ данномзапросевыдать ФИО клиента, номер машины, у которых марка Мэрсэдэс, отсортировать по ФИО по возрастанию (Рисунок4). SELECT TOP (100) PERCENT dbo.CUSTOMERS.NAME_CUST AS ФИО, dbo.CARS.NUMBER AS Номер, dbo.MARKA.NAME_MARKA AS МаркаFROM dbo.CARS INNER JOINdbo.CUSTOMERS ON dbo.CARS.ID_CUST = dbo.CUSTOMERS.ID_CUST INNER JOINdbo.MARKA ON dbo.CARS.ID_MARKA = dbo.MARKA.ID_MARKAWHERE (dbo.MARKA.NAME_MARKA = 'МЭРСЕДЕС')ORDER BY ФИОРисунок 4 - Результат выполнения многотабличного запроса2.4.3 Запрос с использованием подзапросаЗапрос с использованием подзапроса – запрос, выполняющий выборку информации из одной или нескольких таблиц, используя вложенный запрос.В результате выполнения запроса мы получим список мастеров, у которых такая же зарплата как у мастера «Петров Максим Иванович»(Рисунок 5).Рисунок 5 - Результат выполнения запроса с использование подзапросаSELECT TOP (100) PERCENT NAME_MAST, SALARYFROM dbo.MASTERWHERE (SALARY = (SELECT SALARY FROM dbo.MASTER AS MASTER_1 WHERE (NAME_MAST = 'Петров Максим Иванович')))2.5Итоговый запросИтоговый запрос– запрос, выполняющий выборку информации из одной или нескольких таблиц, выполняя группировку записей по одному из полей и вычисляя итоговые значения с использованием агрегатных функций по другим полям.Этот запрос делает выборку информации из нескольких таблиц. В результате этого мы увидим, количество учеников, которые не оплатили обучение в группе № 3 (Рисунок 6). Рисунок 6 - Результат выполнения итогового запросаSELECT TOP (100) PERCENT COUNT(dbo.CUSTOMERS.NAME_CUST) AS [Количествоклиентов], dbo.MARKA.NAME_MARKAFROM dbo.CARS INNER JOINdbo.CUSTOMERS ON dbo.CARS.ID_CUST = dbo.CUSTOMERS.ID_CUST INNER JOINdbo.MARKA ON dbo.CARS.ID_MARKA = dbo.MARKA.ID_MARKAWHERE (dbo.MARKA.NAME_MARKA = 'ВАЗ')GROUP BY dbo.MARKA.NAME_MARKA3. Создание представлений3.1 Итоговое представлениеВ данном разделе рассматривается создание представлений для удобства пользователей базы.Ниже приведены примеры реализованных форм.На рисунке 7 отображен результат выполнения запроса «Заказы»:SELECT TOP (100) PERCENT ORDERS_1.NAME_ORDER AS [Номерзаказа], dbo.MARKA.NAME_MARKA AS Марка, dbo.CARS.NUMBER AS [Номермашины], dbo.CARS.YEAR AS [Годвыпуска], dbo.CUSTOMERS.NAME_CUST AS Клиент, dbo.CUSTOMERS.PHONE AS Телефон, dbo.TYPE_WORK.NAME_WORK AS [Работа/услуга], dbo.TYPE_WORK.COST AS СтоимостьFROM dbo.CUSTOMERS INNER JOINdbo.CARS ON dbo.CUSTOMERS.ID_CUST = dbo.CARS.ID_CUST INNER JOINdbo.MARKA ON dbo.CARS.ID_MARKA = dbo.MARKA.ID_MARKA INNER JOINdbo.ORDERS AS ORDERS_1 ON dbo.CARS.ID_CARS = ORDERS_1.ID_CARS INNER JOINdbo.TYPE_WORK ON ORDERS_1.ID_WORK = dbo.TYPE_WORK.ID_WORKGROUP BY ORDERS_1.NAME_ORDER, dbo.MARKA.NAME_MARKA, dbo.CARS.NUMBER, dbo.CARS.YEAR, dbo.CUSTOMERS.NAME_CUST, dbo.CUSTOMERS.PHONE, dbo.TYPE_WORK.NAME_WORK, dbo.TYPE_WORK.COSTРисунок 7 – Результат выполнения запроса «Заказы»ЗАКЛЮЧЕНИЕВ настоящее время базы данных почти во всех сферах человеческой деятельности. Так как с помощью электронных баз данных работа персонала организации, будь то хоть автосервис, становится быстрой, качественной и удобной.В результате работы, объектом которой являлсяавтосервис, была создана база данных «Avtoservis». В ходе данной работы были выполнены все поставленные задачи. Были применены знания языка запросов SQL, а также знания предметной области как «Базы данных». Список использованной литературыВикипедия.[Электронныйресурс]–Режимдоступа:https://ru.wikipedia.org/wiki/%CF%F0%E5%E4%EC%E5%F2%ED%E0%FF_%EE%E1%EB%E0%F1%F2%FC.Библиотекаonline.[Электронныйресурс]– Режим доступа:http://citforum.ru/database/dbguide/1-4.shtml.Студопедия.[Электронныйресурс]–Режимдоступа:http://studopedia.ru/3_193121_semanticheskie-modeli.html.Студопедия. [Электронный ресурс]–Режимдоступа: http://studopedia.net/9_81642_protsess-normalizatsii.html.Википедия.[Электронныйресурс]–Режимдоступа:https://ru.wikipedia.org/wiki/%D0%94%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_(%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85).РезервноекопированиеивосстановлениебазданныхSQLServer. [Электронный ресурс] – Режим доступа:http://technet.microsoft.com/ru/library/ms187048.aspx#BnrStrategies.ИНТУИТ.[Электронныйресурс]– Режим доступа:http://www.intuit.ru/studies/courses/1095/191/lecture/4991?page=2.MSSQLServer.[Электронныйресурс]– Режим доступа:http://www.sql.ru/docs/sql/u_sql/ch17.shtmlСтудопедия. [Электронныйресурс]–Режимдоступа: http://studopedia.net/13_116785_subd-Microsoft-SQL-Server.html.
2. Библиотека online. [Электронный ресурс] – Режим доступа: http://citforum.ru/database/dbguide/1-4.shtml.
3. Студопедия. [Электронный ресурс] – Режим доступа: http://studopedia.ru/3_193121_semanticheskie-modeli.html.
4. Студопедия. [Электронный ресурс] – Режим доступа: http://studopedia.net/9_81642_protsess-normalizatsii.html.
5. Википедия. [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/%D0%94%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B0%D1%8F_%D0%BC%D0%BE%D0%B4%D0%B5%D0%BB%D1%8C_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85_(%D0%B1%D0%B0%D0%B7%D1%8B_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85).
6. Резервное копирование и восстановление баз данных SQL Server. [Электронный ресурс] – Режим доступа: http://technet.microsoft.com/ru/library/ms187048.aspx#BnrStrategies.
7. ИНТУИТ. [Электронный ресурс] – Режим доступа: http://www.intuit.ru/studies/courses/1095/191/lecture/4991?page=2.
8. MS SQL Server. [Электронный ресурс] – Режим доступа: http://www.sql.ru/docs/sql/u_sql/ch17.shtml
9. Студопедия. [Электронный ресурс] – Режим доступа: http://studopedia.net/13_116785_subd-Microsoft-SQL-Server.html.
Вопрос-ответ:
Что входит в проектирование базы данных для автосервиса?
Проектирование базы данных для автосервиса включает в себя анализ предметной области, анализ готовых решений, создание информационной и даталогической моделей БД.
Какой программный комплекс может использоваться для проектирования базы данных для автосервиса?
Для проектирования базы данных для автосервиса можно использовать различные программные комплексы, например, ERwin Data Modeler, SQL Power Architect, MySQL Workbench и другие.
Какие таблицы и индексы могут быть созданы в базе данных для автосервиса?
В базе данных для автосервиса могут быть созданы таблицы, такие как "Клиенты", "Автомобили", "Заказы", "Сотрудники" и другие. Также в БД могут быть добавлены необходимые индексы для оптимизации выполнения запросов.
Какие типы запросов могут быть созданы в базе данных для автосервиса?
В базе данных для автосервиса могут быть созданы запросы на выборку данных по условиям, многотабличные запросы с использованием соединений, запросы на обновление, удаление и добавление данных, а также запросы на агрегирование данных.
Какие СУБД могут использоваться для реализации базы данных для автосервиса?
Для реализации базы данных для автосервиса можно использовать различные СУБД, такие как Microsoft SQL Server, MySQL, PostgreSQL, Oracle и другие.
Зачем нужно проектирование базы данных?
Проектирование базы данных необходимо для создания эффективной структуры данных, удовлетворяющей потребностям конкретной предметной области. Это позволяет упростить доступ и обработку информации, обеспечить целостность и безопасность данных.
Какими методами можно провести анализ предметной области?
Анализ предметной области может быть проведен путем изучения бизнес-процессов компании, взаимодействием с заказчиком, анализом документации и данных. Также можно использовать методы наблюдения и интервьюирования сотрудников.
Что такое инфологическая модель в проектировании базы данных?
Инфологическая модель представляет собой абстрактное описание предметной области, основанное на понятиях и связях между ними. В ней не учитывается структура или способ хранения данных, а лишь логическое отображение информации.
Какие характеристики имеет СУБД Microsoft SQL Server?
СУБД Microsoft SQL Server обладает мощными возможностями по управлению данными, обеспечивает высокую производительность, надежность и безопасность. Её отличительная особенность - широкий функционал для работы с большими объемами данных и поддержка различных типов запросов.
Какие задачи решает создание индексов в БД?
Создание индексов в базе данных позволяет ускорить выполнение запросов, так как они создают отсортированный порядок данных, улучшают работу сравнений и фильтрацию информации. Индексы увеличивают эффективность поиска и сокращают время на обработку запросов.
Что включает в себя проектирование и разработка БД "Автосервис"?
Проектирование и разработка БД "Автосервис" включает в себя анализ предметной области, анализ готовых решений, создание инфологической и даталогической моделей БД.
Какие модели БД используются при проектировании "Автосервис"?
При проектировании "Автосервис" используются инфологическая модель и даталогическая модель БД.