Добавил:
больше работ здесь: https://github.com/alisadex Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторные работы (Создание своей СУБД) / ППСУБДиЗ финальная версия документации.docx
Скачиваний:
4
Добавлен:
11.02.2024
Размер:
500.04 Кб
Скачать

1 Таблица: Products

Название: ProductID, Name, Brand, Type, Price, Description, Ingredients, Characteristics

Нормализация: В данном случае, нам нужно убедиться, что все атрибуты зависят только от ключа ProductID. Все атрибуты, кроме Price, Ingredients, Characteristic. Выделим их в отдельную таблицу ProductDetails.

Таким образом, у нас будет таблица с основной информацией о продуктах и отдельная таблица с деталями.

Новая таблица: ProductDetails

Название: Price, Ingredients, Characteristic

2 Таблица: Customers

Название: CustomerID, Name, ContactInfo, Address

Нормализация: Таблица также находится в 3НФ, поскольку атрибуты зависят только от идентификатора клиента (CustomerID).

3 Таблица: Suppliers

Название: SupplierID, Name, ContactInfo, DeliveryTerms

Нормализация: Аналогично, таблица находится в 3НФ, так как атрибуты зависят только от идентификатора поставщика (SupplierID).

4 Таблица: Orders

Название: OrderID, CustomerID, ProductID, Quantity, Price, DeliveryStatus, PaymentStatus

Нормализация: В данном случае, нам нужно убедиться, что все атрибуты зависят только от ключа OrderID. Все атрибуты, кроме Quantity и Price, зависят только от идентификатора заказа (OrderID). Quantity и Price зависят от ProductID, поэтому нужно выделить их в отдельную таблицу.

Новая таблица: OrderDetails

Название: OrderID, ProductID, Quantity, Price

5 Таблица: WarehouseInventory

Название: ItemID, ProductID, Quantity, Location

Нормализация: Здесь атрибуты зависят только от ключа ItemID, поэтому таблица уже в 3НФ.

6 Таблица: SalesAndReports

Название: ReportID, Date, Revenue, SoldProducts

Нормализация: Здесь атрибуты зависят только от ключа ReportID, поэтому таблица уже в 3НФ.

7 Таблица: Marketing

Название: Marketing ID, Name, Description, Cost

Нормализация: Здесь атрибуты зависят только от ключа PromotionID, поэтому таблица уже в 3НФ.

8 Таблица: Employees

Название: EmployeeID, Name, Role, ContactInfo, WorkSchedule

Нормализация: Таблица находится в 3НФ, так как атрибуты зависят только от идентификатора сотрудника (EmployeeID).

9 Таблица: AdminData

Название: AdminID, UserName, Password, AccessLevel

Нормализация:** Таблица также находится в 3НФ, так как атрибуты зависят только от идентификатора администратора (AdminID).

После выполнения этих шагов, база данных будет находиться в третьей нормальной форме (3НФ), что обеспечит более эффективное управление данными и уменьшит дублирование информации.

Даталогическая модель.

Ниже представлена даталогическая модель данных, которая сводится к представлению инфологической модели в терминах выбранной СУБД, описывает данные и связи между данными (рис.2).

Рис.2 Даталогическая модель данных

Этап 4. Выбор субд

Для сравнения разных СУБД выберем методику. Сравнивать мы будем по критериям, которые присущи для каждой системы управления БД. Если в конкретной СУБД реализован критерий, и он является преимуществом для него, то мы будем в таблицу напротив этой СУБД и критерия ставить «1», если среди СУБД этот критерий лучший среди всех систем, то ставим «2» иначе «0». Далее мы будем складывать количество баллов для каждой СУБД. И СУБД, у которого больше всего баллов, то будет считаться лучшим, и мы будем использовать его для создания физической модели.

Критерий

Microsoft Access

PostgreSQL

MySQL

SQLite

Oracle Database

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

1

1

1

1

1

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

1

2

1

1

2

Масштабируемость: Субд должна быть способна масштабироваться и обрабатывать большие объемы данных, обеспечивая эффективное распределение нагрузки.

1

2

1

1

2

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

1

1

1

1

2

Гибкость: Субд должна быть гибкой и легко адаптируемой к различным требованиям и изменениям бизнес-процессов.

1

2

1

1

1

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

1

1

1

1

1

Удобство использования: Субд должна обладать интуитивным и простым интерфейсом, понятными инструментами разработки и администрирования, чтобы облегчить работу с данными.

2

1

2

1

1

Многопользовательская поддержка (возможность одновременного доступа к данным нескольким пользователям)

1

2

2

2

2

Исходя из этих критериев, можно сказать, что все СУБД (Microsoft Access, PostgreSQL, MySQL, SQLite, Oracle Database) обладают большинством присущих им критериев. Но по количеству баллов больше всего набрали такие СУБД как Oracle Database и PostgreSQL оба по 12 баллов. Эти две системы предлагают более широкие возможности в отношении масштабируемости, безопасности и гибкости. Рассмотрев все плюсы и минусы, наша подгруппа выбрала PostgreSQL как основное СУБД для реализации нашего проекта.

На основе анализа характеристик разных СУБД, таких как MySQL, PostgreSQL, Microsoft Access, SQLite и Oracle, мы пришли к выводу, что лучшей СУБД для наших целей является PostgreSQL. PostgreSQL считается одной из лучших реляционных СУБД из-за нескольких ключевых преимуществ.

Во-первых, мощность и гибкость: PostgreSQL предлагает широкий спектр возможностей, включая поддержку сложных типов данных, массивов, JSON, XML, GIS, полнотекстовых поисков и многих других расширений. Это делает его идеальным выбором для проектов с разнообразными и сложными требованиями.

Во-вторых, производительность: PostgreSQL обеспечивает высокую производительность благодаря оптимизированному планировщику запросов, поддержке параллельного выполнения запросов, кэшированию результатов запросов и другим техникам оптимизации.

В-третьих, надёжность: PostgreSQL предлагает множество механизмов, обеспечивающих надежность и целостность данных, включая транзакции, контроль целостности, архивацию журналов и многие другие.

Таким образом, PostgreSQL обладает мощными возможностями, высокой производительностью, надежностью и широкой поддержкой, что делает его одной из лучших СУБД для хранения и управления данными. Мы выбираем PostgreSQL как наиболее подходящую СУБД для наших целей. Она сочетает в себе все необходимые преимущества по этим ключевым параметрам.