Файл: Этап логического проектирования. Выбор модели данных. Нормализация отношений рбд.doc

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

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

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

Добавлен: 29.10.2023

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

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

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ЛАБОРАТОРНАЯ РАБОТА №2

Тема «Этап логического проектирования. Выбор модели данных.

Нормализация отношений РБД»
Цель лабораторной работы:

Использование теоретических знаний и применение их на практике при выборе модели данных, адекватно отражающей предметную область проектируемой базы данных. Практическая реализация теоретических знаний по приведению отношений к 3НФ.
Задание на лабораторную работу:

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

  2. Выполнить нормализацию отношений:

  • подтвердить выбор ключевых атрибутов отношений, выполненный на предыдущем этапе проектирования;

  • провести анализ функциональных зависимостей отношений;

  • декомпозировать отношения и констатировать наличие:

а) первой нормальной формы (1НФ);

б) второй нормальной формы (2НФ);

в) третьей нормальной формы (3НФ).

1) Построение реляционной модели.
1. Клиент

ФИО_КЛ

АДРЕС_КЛ

ТЕЛ_КЛ

ЭЛ_П

ДАТА_РОЖДЕНИЯ

ИСТОРИЯ_ЗАЙМОВ_КЛ

ЗАМЕТКИ_КЛ


2. ТОВАРЫ

НАЗВАНИЕ_ПР

ID_ПР

КАТЕГОРИЯ

ОПИСАНИЕ

СТОИМ_ПР


3. ОТЧЕТ

ДАТА_ВЫД_ЗА

СУММА_К_ВЫП

СТАТУС_ЗА

ДАТА_ЗАЛ

СРОК_ЗАЛ

ПРОЦЕНТНАЯ_СТ

СУМ_ЗА

ДАТА_ИСТ_СР_ЗА

СТАТУС_ЗАЛОЖЕННОГО _ПРЕД

ДАТА_ВЫК

НОМ_ОТ

ID_ПР

ЭЛ_П







КЛИЕНТ




Фио_кл




Адрес_кл




Тел_кл




Пасп_дан




Э л_п




Дата_рождения




История_займов_кл




Заметки_кл















































ОТЧЕТ

Дата_выдачи_за

Эл_п

Статус_за

Дата_зал

Срок_зал

Процентная_ст

Сум_за

Дата_ист_ср_за

Статус_заложенного_пред

Дата_вык

Ном_от

ID_пр

Сумма_к_вып



ТОВАРЫ

I D_пр

Название_пр

Описание

Категория_пр

Стоим_пр



Рисунок 1. Логическая схема реляционной базы данных


2) Нормализация отношений
Анализ функциональных зависимостей:
Идентификатор для каждого предмета (ID_Предмета) может определяться только однозначно и не зависит от других атрибутов, поэтому он является первичным ключом отношения.Адрес клиента (Адрес_клиента) может зависеть от идентификатора клиента (ID_Клиента), так как каждый клиент может иметь только один адрес. Таким образом, имеем функциональную зависимость ID_Клиента → Адрес_клиента.Категория или тип предмета (Категория_Предмета) может зависеть от идентификатора предмета (ID_Предмета), так как каждый предмет может быть отнесен только к одной категории. Таким образом, имеем функциональную зависимость ID_Предмета → Категория_Предмета.Оценочная стоимость предмета (Стоимость) может зависеть от идентификатора предмета (ID_Предмета), так как каждый предмет имеет только одну оценочную стоимость. Таким образом, имеем функциональную зависимость ID_Предмета → Стоимость.Дата залога предмета (Дата_Залога) может зависеть от идентификатора предмета (ID_Предмета), так как каждый предмет может быть заложен только один раз. Таким образом, имеем функциональную зависимость ID_Предмета → Дата_Залога.Срок залога (Срок_Залога) может зависеть от идентификатора предмета (ID_Предмета), так как каждый предмет может быть заложен только на определенный срок. Таким образом, имеем функциональную зависимость ID_Предмета → Срок_Залога.Процентная ставка за займ (Ставка) может зависеть от идентификатора предмета (ID_Предмета), так как каждый предмет может иметь только одну ставку. Таким образом, имеем функциональную зависимость ID_Предмета → Ставка.Сумма займа (Сумма_Займа) может зависеть от идентификатора предмета (ID_Предмета), так как каждый предмет может быть заложен только
Вопросы для проверки знаний и защиты лабораторной работы:

  1. Что понимается под моделью данных? Какие модели данных вам известны?

  2. Какие основные компоненты должна содержать любая модель данных?

  3. Дать характеристику иерархической и сетевой моделей данных.

  4. Какую структуру данных предполагает реляционная модель?

  5. Перечислить и привести пример операций обработки отношений, определенных в реляционной алгебре.

  6. Что понимается под нормализацией отношений.

  7. Перечислите известные вам виды функциональных зависимостей. Дайте их определение.



Модель данных - это способ описания структуры и хранения данных в информационной системе. Это абстрактное представление о том, как данные организованы, связаны друг с другом и как к ним можно получить доступ.Существует множество различных моделей данных, которые могут использоваться для проектирования информационных систем. Некоторые из наиболее распространенных моделей данных:Иерархическая модель данных (Hierarchical Data Model)Сетевая модель данных (Network Data Model)Реляционная модель данных (Relational Data Model)Объектно-ориентированная модель данных (Object-Oriented Data Model)Иерархическая-объектно-ориентированная модель данных (Hierarchical-Object-Oriented Data Model)Документо-ориентированная модель данных (Document-Oriented Data Model)Графовая модель данных (Graph Data Model)Каждая модель данных имеет свои сильные и слабые стороны и может быть применена в зависимости от конкретных потребностей и целей информационной системы.

2.Любая модель данных должна содержать следующие основные компоненты:Сущности (Entities) - это объекты, которые являются представлением реальных или концептуальных объектов, с которыми работает система. Каждая сущность имеет уникальный идентификатор и набор атрибутов, которые описывают свойства объекта.Атрибуты (Attributes) - это характеристики, которые описывают каждую сущность. Атрибуты определяются типом данных и могут иметь ограничения на допустимые значения.Связи (Relationships) - это связи между сущностями. Они описывают отношения между объектами и могут быть однонаправленными или двунаправленными.Ограничения (Constraints) - это правила, которые описывают допустимые значения для атрибутов и связей. Ограничения могут быть применены для обеспечения целостности данных.Операции (Operations) - это функции, которые могут быть выполнены над сущностями, связями и атрибутами. Операции могут быть простыми, такими как чтение или запись данных, или сложными, такими как вычисление статистики или выполнение анализа данных.Атрибуты времени (Time Attributes) - это атрибуты, которые описывают время, связанное с сущностью. Например, атрибуты даты и времени могут быть использованы для отслеживания даты создания или изменения сущности.Иерархии (Hierarchies) - это отношения между сущностями, которые организованы в иерархическую структуру. Иерархии могут использоваться для описания структуры организации, классификации товаров и т.д.Аудит (Audit) - это запись всех изменений данных в системе, которые могут быть использованы для отслеживания истории изменений и обеспечения безопасности данных.


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

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

Реляционная алгебра - это математический язык, используемый для работы с реляционными базами данных. Он включает в себя набор операций для обработки отношений (таблиц).Некоторые из наиболее распространенных операций обработки отношений в реляционной алгебре включают:Выборка (Selection): выборка определенных строк на основе заданного условия. Например, SELECT * FROM table WHERE age > 25Проекция (Projection): выборка определенных столбцов из таблицы. Например, SELECT name, age FROM tableОбъединение (Union): объединение двух таблиц в одну, удаляя дубликаты строк. Например, SELECT * FROM table1 UNION SELECT * FROM table2Пересечение (Intersection): выборка строк, которые присутствуют в обеих таблицах. Например, SELECT * FROM table1 INTERSECT SELECT * FROM table2Разность (Difference): выборка строк из первой таблицы, которых нет во второй. Например, SELECT * FROM table1 EXCEPT SELECT * FROM table2Соединение (Join): объединение строк из двух таблиц на основе определенного условия. Например, SELECT * FROM table1 JOIN table2 ON table1.id = table2.idГруппировка (Grouping): группировка строк в таблице на основе заданного столбца и вычисление агрегированных функций для каждой группы. Например, SELECT department, AVG(salary) FROM employees GROUP BY department