Разработка реляционной базы данных

Заказать уникальную курсовую работу
Тип работы: Курсовая работа
Предмет: Проектирование баз данных
  • 32 32 страницы
  • 14 + 14 источников
  • Добавлена 23.02.2023
1 496 руб.
  • Содержание
  • Часть работы
  • Список литературы
  • Вопросы/Ответы
ВВЕДЕНИЕ 3
1. ИНФОЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ 5
1.1. Анализ предметной области 5
1.2. Анализ информационных задач и пользователей системы 8
2. ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ 10
2.1. Выявление реквизитов сущностей 10
2.2. Формирование схемы данных 13
2.3. Выбор СУБД и других программных средств 13
2.4. Составление реляционных отношений 14
2.5. Нормализация полученных отношений 16
2.6. Определение требований к операционной обстановке 17
2.7. Описание групп пользователей и прав доступа 17
3. ФИЗИЧЕСКОЕ ПРОЕКТИРОВАНИЕ 19
3.1. Создание таблиц в базе данных 19
3.2. Заполнение таблиц данными 22
3.3. Проектирование наиболее востребованных запросов 25
ЗАКЛЮЧЕНИЕ 30
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 31

Фрагмент для ознакомления

Запросы на выборку могут быть однотабличными, многотабличными и вложенными.Длягруппировки рядов выборки используем конструкцию GROUP BY, дляподсчёта количества записей в каждой группе используем функцию COUNT, для вычисления минимального, максимального и средних значений по выборке или группе используем функции MIN, MAX и AVG соответственно.Ниже приведены запросы, реализующие предполагаемый функционал разрабатываемой базы данных.Выбор сотрудника по ФИО и должности:SELECTNAME,surname,lastname,passport,phone,name_postFROMstaff,postsWHEREstaff.Id_post=posts.Id_postANDname_postLIKE'%Приемщик%'ANDNAMELIKE'%Ольга%'ANDsurnameLIKE'%Александровна%';Выборклиента по ФИО:SELECTNAME,surname,lastname,phone,addressFROMclientsWHERENAMELIKE'%Д%'ANDsurnameLIKE'%П%'ANDlastnameLIKE'%О%';Cписок всех отработанных заказов:SELECTnum_order,date_order,clients.Name,clients.Surname,clients.Lastname,sum_order,deliveryFROMorders,clientsWHEREclients.Id_clnt=orders.Id_clntANDissued=1;Cписок всех текущих заказов:SELECTnum_order,date_order,clients.Name,clients.Surname,clients.Lastname,sum_order,deliveryFROMorders,clientsWHEREclients.Id_clnt=orders.Id_clntANDissued=0;Отобразить список заказов поФИО клиента: SELECTnum_order,date_order,clients.Name,clients.Surname,clients.Lastname,sum_order,delivery,staff.LastnameASpriemFROMorders,clients,staffWHEREclients.Id_clnt=orders.Id_clntANDorders.Id_staff=staff.Id_staffANDclients.NameLIKE'%С%'ANDclients.SurnameLIKE'%Д%'ANDUPPER(clients.Lastname)LIKE'%В%';Отобразить список заказов покатегории изделия: SELECTorders.Id_order,num_order,date_order,sum_orderFROMordersWHEREorders.Id_orderIN(SELECTid_orderFROMcomposition,productWHEREcomposition.Id_productIN(SELECTid_productFROMproduct,categoryWHEREproduct.Id_cat=category.Id_catANDproduct.Id_cat=2));Отобразить список заказовпо виду обработки: SELECTorders.Id_order,num_order,date_order,sum_orderFROMordersWHEREorders.Id_orderIN(SELECTid_orderFROMcomposition,typeprocessingWHEREcomposition.Id_typeIN(SELECTid_typeFROMtypeprocessingWHEREUPPER(name_process)LIKE'%СУХАЯ%'));Отобразить список заказовпо принявшему сотруднику: SELECTnum_order,date_order,clients.Name,clients.Surname,clients.Lastname,sum_order,delivery,staff.LastnameASpriemFROMorders,clients,staffWHEREclients.Id_clnt=orders.Id_clntANDorders.Id_staff=staff.Id_staffANDUPPER(staff.Name)LIKE'%О%'ANDstaff.SurnameLIKE'%А%'ANDstaff.LastnameLIKE'%МА%';Запрос для формированияквитанциизаказа (по номеру заказа):SELECTcomposition.Id_order,clients.Name,clients.Surname,clients.Lastname,num_order,date_order,name_product,quantity,name_process,price*coeff*quantityASsum_price,staff.LastnameASpriemFROMcomposition,product,typeprocessing,orders,clients,staffWHEREcomposition.Id_product=product.Id_productANDcomposition.Id_type=typeprocessing.Id_typeANDcomposition.Id_order=orders.Id_orderANDorders.Id_clnt=clients.Id_clntANDorders.Id_staff=staff.Id_staffANDnum_orderLIKE'%390%';Формирование корешка квитанции (по номеру заказа) для клиента:SELECTcomposition.Id_order,clients.Name,clients.Surname,clients.Lastname,num_order,date_order,sum(quantity)ASquantity_product,sum(price*coeff*quantity)ASsum_price,staff.LastnameASpriemFROMcomposition,product,typeprocessing,orders,clients,staffWHEREcomposition.Id_product=product.Id_productANDcomposition.Id_type=typeprocessing.Id_typeANDcomposition.Id_order=orders.Id_orderANDorders.Id_clnt=clients.Id_clntANDorders.Id_staff=staff.Id_staffANDnum_orderLIKE'%390%'GROUPBY1;Расчет стоимости обработки изделий в заказе:SELECTcomposition.Id_order,num_order,sum(price*coeff*quantity)ASsum_productFROMcomposition,product,typeprocessing,ordersWHEREcomposition.Id_product=product.Id_productANDcomposition.Id_type=typeprocessing.Id_typeANDcomposition.Id_order=orders.Id_orderGROUPBY1Суммарная выручка по дням:SELECTdate_order,sum(sum_order)ASsum_dateFROMordersGROUPBY1Средняя выручка за месяц:SELECTmonth(date_order),sum(sum_order)ASavg_sum_monthFROMordersGROUPBY1Максимальная выручка за месяц с указанием дня:SELECTmonth(date_order)ASmonth_,date_order,MAX(sum_order)ASmax_sum_monthFROMordersGROUPBY1Минимальная выручка за месяцс указанием дня:SELECTmonth(date_order)ASmonth_,date_order,min(sum_order)ASmin_sum_monthFROMordersGROUPBY1Минимальная и максимальная выручки по месяцам:SELECTmonth(date_order)ASmonth_,min(sum_order)ASmin_sum_month,max(sum_order)ASmax_sum_monthFROMordersGROUPBY1Количество принятых заказов по сотрудникам и месяцам:SELECTmonth(date_order)ASmonth_,orders.Id_staff,lastname,count(id_order)AScnt_ordersFROMorders,staffWHEREorders.Id_staff=staff.Id_staffGROUPBY2,1Количество принятых заказов по клиентам и месяцам:SELECTMonth(date_order)ASMonth,Count(num_order)ASQuantity_Orders,Concat(clients.Lastname,' ',clients.Name,' ',clients.Surname)ASFIO_Clients,Sum(sum_order)ASSum_OrdersFROMorders,clientsWHEREorders.Id_clnt=clients.Id_clntGROUPBY3,1ORDERBY3,1;Для сортировки записей в выборке в операторе SELECT используется конструкцияORDER BY, в которой указывается по каким полям осуществляется сортировка. Обычно сортировка идёт в порядке возрастания.Сортировка списка клиентов по ФИО:SELECTLastname,Name,Surname,Phone,AddressFROMclientsORDERBY1,2,3;Сортировка списка сотрудников по ФИО и должности:SELECTname_post,Lastname,Name,Surname,Phone,Passport,AddressFROMstaff,postsWHEREstaff.Id_post=posts.Id_postORDERBY1,2,3,4;Cписок заказов с ФИО клиентов, отсортированный по дате и номеру заказа:SELECTdate_order,num_order,Concat(clients.Lastname,' ',clients.Name,' ',clients.Surname)ASFIO_Clients,sum_orderFROMorders,clientsWHEREorders.Id_clnt=clients.Id_clntORDERBYdate_order,num_order;Сортировка списка изделий в алфавитном порядке по категориям:SELECTcategory,Name_product,Price,DurationFROMproduct,categoryWHEREproduct.Id_cat=category.Id_catORDERBYcategory,name_product;ЗАКЛЮЧЕНИЕВ данной курсовой работе была разработана база данных «Химчистка».Проектирование базы данных «Химчистка» является актуальной задачей для предприятия, так как использование базы данных позволит Разработанная база данных позволяет добавлять, изменять, удалять и просматривать все имеющиеся и вводимые данные. Созданные таблицы позволяют просматривать и корректировать входную информацию. Данная курсовая работа является актуальной и была разработана с использованием MySQL и менеджера баз данных HeidiSQL.При этом решение является временным, но необходимым, так как дальнейшее развитие базы данных может предполагать создание полноценного приложения, разработанного на одном из языков программирования высокого уровня, позволяющего использовать разработанную базу данных пользователю любого уровня подготовки в области информационных технологий.СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВBasic help on using HeidiSQL. [Электронный ресурс] – Режим доступа: https://www.heidisql.com/help.phpMySQL. Workbench. Проектируем БД. Теория и практика. [Электронный ресурс] URL: http://digital-flame.ru/2016/02/22/mysql-workbench-proektiruem-bd-teoriya-i-praktika/Гарсиа-Молина, Гектор. Системы баз данных : Полный курс / Гектор Гарсиа-Молина, Джеффри Д. Ульман, Дженнифер Уидом ; [Пер. с англ. и ред. А.С. Варакина].– М.: Издательство «Вильямс», 2017 г. – 1088 с.Грабер,Мартин. SQL для простых смертных. – М.: Издательство «ЛОРИ», 2020 г. – 389 с.Дюбуа П. MySQL. Сборник рецептов. – Пер. с англ. – СПб: СимволПлюс, 2006. –1056 с.Кузнецов М.В. MySQL 5 / М.В. Кузнецов, И.В Симдянов. – СПб.: БХВ-Петербург, 2010. – 1024 с.Куликов, С. C. Работа с MySQL, MS SQL Server и Oracle в примерах :практ. пособие / С. С. Куликов. – 2-е изд. – Минск : Четыре четверти, 2021. – 600с.Новиков Б. А. Основы технологий баз данных: учебное пособие / Б. А. Новиков, Е. А. Горшкова, Н. Г. Графеева; под ред. Е. В. Рогова. – 2-е изд. – М.: ДМК Пресс, 2020. – 582 с.НОУ ИНТУИТ. Работа с базами данных. Лекция 6: Реляционный подход к построению инфологической модели. [Электронный ресурс] – Режим доступа: https://intuit.ru/studies/courses/3439/681/lecture/14024Подзапросы.[Электронный ресурс] – Режим доступа: https://metanit.com/sql/mysql/4.7.phpТейлор, Аллен.SQL для чайников, 9-е изд. : Пер. с англ. – СПб. : ООО «Диалектика», 2020. – 544 с.Форта,Бен.SQL за 10 минут, 5-е изд.: Пер. с англ. – М.: ООО «Вильямс»,2021. –352 с.Шварц Б., Зайцев П., Ткаченко В. MySQL по максимуму. – Спб: Питер, 2018. – 864 c.Что такое база данных?[Электронный ресурс] – Режим доступа:https://www.oracle.com/ru/database/what-is-database/

1. Basic help on using HeidiSQL. [Электронный ресурс] – Режим доступа: https://www.heidisql.com/help.php
2. MySQL. Workbench. Проектируем БД. Теория и практика. [Электронный ресурс] URL: http://digital-flame.ru/2016/02/22/mysql-workbench-proektiruem-bd-teoriya-i-praktika/
3. Гарсиа-Молина, Гектор. Системы баз данных : Полный курс / Гектор Гарсиа-Молина, Джеффри Д. Ульман, Дженнифер Уидом ; [Пер. с англ. и ред. А.С. Варакина]. – М.: Издательство «Вильямс», 2017 г. – 1088 с.
4. Грабер, Мартин. SQL для простых смертных. – М.: Издательство «ЛОРИ», 2020 г. – 389 с.
5. Дюбуа П. MySQL. Сборник рецептов. – Пер. с англ. – СПб: Символ Плюс, 2006. – 1056 с.
6. Кузнецов М.В. MySQL 5 / М.В. Кузнецов, И.В Симдянов. – СПб.: БХВ-Петербург, 2010. – 1024 с.
7. Куликов, С. C. Работа с MySQL, MS SQL Server и Oracle в примерах : практ. пособие / С. С. Куликов. – 2-е изд. – Минск : Четыре четверти, 2021. – 600 с.
8. Новиков Б. А. Основы технологий баз данных: учебное пособие / Б. А. Новиков, Е. А. Горшкова, Н. Г. Графеева; под ред. Е. В. Рогова. – 2-е изд. – М.: ДМК Пресс, 2020. – 582 с.
9. НОУ ИНТУИТ. Работа с базами данных. Лекция 6: Реляционный подход к построению инфологической модели. [Электронный ресурс] – Режим доступа: https://intuit.ru/studies/courses/3439/681/lecture/14024
10. Подзапросы. [Электронный ресурс] – Режим доступа: https://metanit.com/sql/mysql/4.7.php
11. Тейлор, Аллен. SQL для чайников, 9-е изд. : Пер. с англ. – СПб. : ООО «Диалектика», 2020. – 544 с.
12. Форта, Бен. SQL за 10 минут, 5-е изд.: Пер. с англ. – М.: ООО «Вильямс», 2021. – 352 с.
13. Шварц Б., Зайцев П., Ткаченко В. MySQL по максимуму. – Спб: Питер, 2018. – 864 c.
14. Что такое база данных? [Электронный ресурс] – Режим доступа: https://www.oracle.com/ru/database/what-is-database/

Вопрос-ответ:

Зачем нужно информационное проектирование реляционных баз данных?

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

Как осуществляется анализ предметной области при разработке реляционной базы данных?

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

Какие сущности и связи следует определить при анализе предметной области?

При анализе предметной области необходимо определить основные объекты (сущности), которые будут представлены в базе данных, и связи между ними. Например, в системе учета товаров это могут быть сущности "Товар", "Поставщик" и "Заказ", а связи между ними могут представлять отношения "Поставляет" и "Содержит".

Что такое нормализация реляционных отношений и для чего она используется?

Нормализация реляционных отношений – это процесс разделения больших таблиц на более мелкие, чтобы устранить избыточность и зависимости между данными. Она используется для повышения эффективности работы с базой данных, улучшения структуры данных и избегания проблем с целостностью данных.

Какие требования следует учитывать при определении операционной обстановки базы данных?

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

Зачем нужно инфологическое проектирование при разработке реляционной базы данных?

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

Каким образом проводится анализ предметной области при разработке реляционной базы данных?

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

Какие задачи и пользователи системы должны быть проанализированы при разработке реляционной базы данных?

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

Каким образом формируется схема данных при логическом проектировании реляционной базы данных?

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

Что такое нормализация в контексте разработки реляционной базы данных?

Нормализация является процессом разделения больших и неструктурированных таблиц на меньшие и более структурированные. Цель нормализации - устранение избыточности данных и создание эффективной структуры базы данных, что позволяет избежать аномалий при операциях с данными и повысить производительность системы.

Как происходит разработка реляционной базы данных?

Разработка реляционной базы данных состоит из двух основных этапов: инфологического проектирования и логического проектирования.

Что включает в себя инфологическое проектирование базы данных?

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