Файл: Практическая работа 1 Преобразование реляционной бд в сущности и связи Цель работы выработать.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 782
Скачиваний: 8
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
кассепродаютсябилетынаспектакли.Стоимостьбилетазависитотряда,театраиспектакля.Каждыйденьвтеатреможетидтинеболееодногоспектакля.Спектакльхарактеризуетсяназваниемиавтором.Каждыйпокупательможеткупитьсколькоугоднобилетовна любыеспектакли.Задачи для БД:
Следующие сценарии сначала иллюстрируют, как дизайн базы данных может нарушать первую нормальную форму, за которыми следуют соответствующие примеры.
Каждому клиенту соответствует "повторяющаяся группа" транзакций. Такая структура может быть представлена в иерархической базе данных, но не в базе данных SQL, поскольку SQL не поддерживает вложенные таблицы.Автоматизированная оценка любого запроса, связанного с транзакциями клиентов, в целом включает в себя два этапа:
В измененной структуре первичным ключом является {Идентификатор клиента} в первом отношении, {Идентификатор клиента, идентификатор транзакции} во втором отношении.Теперь каждая строка представляет отдельную транзакцию по кредитной карте, и СУБД может получить интересующий ответ, просто найдя все строки с датой, приходящейся на октябрь, и суммируя их суммы. Структура данных размещает все значения на равных основаниях, предоставляя каждое из них напрямую СУБД, поэтому каждое потенциально может напрямую участвовать в запросах; тогда как в предыдущей ситуации некоторые значения были встроены в структуры более низкого уровня, которые должны были обрабатываться особым образом. Соответственно, нормализованный дизайн подходит для обработки запросов общего назначения, в то время как ненормализованный дизайн - нет.Стоит отметить, что эта конструкция отвечает дополнительным требованиям для второй и третьей нормальной формы.
-
Какие спектакли идут в определенный день? -
Есть ли билеты на конкретный спектакль? -
Сколько стоит конкретный билет? Вариант 4.
-
Какие грузовики свободны? -
Какой заказчик сделал самый дорогой заказ? -
Какой грузовик выполнил наибольшее количество заказов?
-
ПостроениеER-диаграммы.
-
Выберите из описания предметной области все существительные. Продумайте, какие из них будут соответствовать сущностям, а какие атрибутам сущностей. Зарисуйте в отчет все сущности с их атрибутами согласно обозначениям, принятым в ER-диаграммах. -
На рисунке подчёркиванием атрибутов обозначьте для каждой сущности уникальный идентификатор (Ключ). При необходимости добавьте сущностям атрибуты, которые помогут однозначно отличить каждый экземпляр сущности. -
Определите и включите в схему связи сущностей. Подпишите названия связей и пронумеруйте связи. Для первой связи укажите тип и модальность. Для всех связей запишите их прочтение слева направо и справа налево. -
Если в схеме присутствуют связи типа «много-со-многими» уберите их путем ввода дополнительной сущности. Измененную схему зарисуйте в отчет.
-
. Получениереляционной схемы изER-диаграммы.-
Каждая сущность превращается в таблицу. Имя сущности – имя таблицы. Набор всех таблиц – БД. Вспомните, что такое схема БД. Запишите схему вашей БД в отчет. -
Зарисуйте все полученные таблицы с их заголовками и названиями столбцов. Выделите потенциальные и внешние ключи (если есть) для каждой таблицы. Укажите столбцы, допускающие неопределенные значения. -
Докажите, что полученные отношения находятся в Первой нормальной форме. (Первая нормальная форма (1NF) — это свойство отношения в реляционной базе данных. Отношение находится в первой нормальной форме тогда и только тогда, когда ни один домен атрибутов не имеет отношений в качестве элементов. Или более неформально, что ни один столбец таблицы не может иметь таблиц в качестве значений (или повторяющихся групп).)
-
Следующие сценарии сначала иллюстрируют, как дизайн базы данных может нарушать первую нормальную форму, за которыми следуют соответствующие примеры.
Конструкции, нарушающие 1NF
Эта таблица транзакций по кредитным картам клиентов не соответствует первой нормальной форме:| Заказчик | Идентификатор клиента | Транзакции | ||||||||||||
| Абрахам | 1 |
| ||||||||||||
| Исаак | 2 |
| ||||||||||||
| Джейкоб | 3 |
|
-
Распаковка одной или нескольких групп транзакций клиентов, позволяющая проверять отдельные транзакции в группе, и -
Получение результата запроса на основе результатов первого этапа
Конструкции, соответствующие 1NF
Чтобы привести модель к первой нормальной форме, мы можем выполнить нормализацию. Нормализация (до первой нормальной формы) - это процесс, при котором атрибуты с непростыми доменами извлекаются для разделения автономных отношений. Извлеченные отношения дополняются внешними ключами, ссылающимися на первичный ключ отношения, которое его содержало. Процесс может быть применен рекурсивно к непростым доменам, вложенным в несколько уровней.[4]В этом примере идентификатор клиента является первичным ключом содержащих отношений и поэтому будет добавлен в качестве внешнего ключа к новому отношению:| Заказчик | Идентификатор клиента |
| Абрахам | 1 |
| Исаак | 2 |
| Джейкоб | 3 |
| Идентификатор клиента | Идентификатор транзакции | Дата | Сумма |
| 1 | 12890 | 14 октября 2003 | −87 |
| 1 | 12904 | 15 октября 2003 | −50 |
| 2 | 12898 | 14 октября 2003 | −21 |
| 3 | 12907 | 15 октября 2003 | −18 |
| 3 | 14920 | 20 ноября 2003 | −70 |
| 3 | 15003 | 27 ноября 2003 | −60 |
В измененной структуре первичным ключом является {Идентификатор клиента} в первом отношении, {Идентификатор клиента, идентификатор транзакции} во втором отношении.Теперь каждая строка представляет отдельную транзакцию по кредитной карте, и СУБД может получить интересующий ответ, просто найдя все строки с датой, приходящейся на октябрь, и суммируя их суммы. Структура данных размещает все значения на равных основаниях, предоставляя каждое из них напрямую СУБД, поэтому каждое потенциально может напрямую участвовать в запросах; тогда как в предыдущей ситуации некоторые значения были встроены в структуры более низкого уровня, которые должны были обрабатываться особым образом. Соответственно, нормализованный дизайн подходит для обработки запросов общего назначения, в то время как ненормализованный дизайн - нет.Стоит отметить, что эта конструкция отвечает дополнительным требованиям для второй и третьей нормальной формы.