Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kurosovaya_BD последняя.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
248.83 Кб
Скачать

2.2. Этап логического проектирования

2.2.1. ER-диаграмма в среде ERwin

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

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

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

После построения, согласно концептуальной модели, логическая модели принимает вид:

Анализ ER-диаграммы.

1. Составные атрибуты – нет

2. Многозначные атрибуты – нет

3. Производные атрибуты –

Накладная(сумма)

4. Связь 1:1 - нет

5. Рекурсивная связь – нет.

6. Избыточные связи:

1.мастер обслуживает клиента

2.мастер выполняет работу

3.мастер ремонтирует мотоцикл

4.мастер использует материалы

5.клиент принадлежит мотоцикл

6.клиент приобретает материалы

7.услуга применяется к мотоцикл

8.в накладной указываются материалы

9.мотоцикл использует материалы

7. Связь M:M – нет

Итоговый вариант логической диаграммы выглядит так:

2.3 Этап физического проектирования

Схема данных в среде выбранной СУБД

В качестве СУБД мной была выбрана СУБД Microsoft Access 2010. Приложение Microsoft Access 2010 исключительно удобно в использовании благодаря готовым шаблонам и эффективным средствам, которые сохраняют свою важность по мере увеличения объема данных.

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

С помощью СУБД Microsoft Access 2010 мной была разработана следующая физическая модель базы данных:

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

3. Запросы к бд

1. Запрос, какие мотоциклы присутствуют у клиентов.

SQL-текст:

SELECT Клиенты.Код_клиента, Клиенты.Фамилия, Клиенты.Имя, Мотоциклы.Код_мотоцика, Мотоциклы.Марка, Мотоциклы.Модель

FROM Клиенты INNER JOIN Мотоциклы ON Клиенты.Код_клиента = Мотоциклы.Код_клиента;

Результат:

2. Запрос, какие работы заказали клиенты.

SQL-текст:

SELECT Клиенты.Код_клиента, Клиенты.Фамилия, Клиенты.Имя, Работа.Код_работы, Работа.Наименование

FROM Работа INNER JOIN ((Клиенты INNER JOIN Мотоциклы ON Клиенты.Код_клиента = Мотоциклы.Код_клиента) INNER JOIN Накладная ON Мотоциклы.Код_мотоцика = Накладная.Код_мотоцикла) ON Работа.Код_работы = Накладная.Код_работы;

Результат:

3. Запрос, работы мастера «Звягинцев».

SQL-текст:

SELECT Мастера.Код_мастера, Мастера.Фамилия, Мастера.Имя, Работа.Код_работы, Работа.Наименование

FROM Работа INNER JOIN (Мастера INNER JOIN Накладная ON Мастера.Код_мастера = Накладная.Код_мастера) ON Работа.Код_работы = Накладная.Код_работы

WHERE (((Мастера.Фамилия)='Звягинцев'));

Результат:

4. Запрос, с кем из клиентов работал каждый мастер.

SQL-текст:

SELECT Клиенты.Код_клиента, Клиенты.Фамилия, Клиенты.Имя, Мастера.Код_мастера, Мастера.Фамилия, Мастера.Имя

FROM Клиенты INNER JOIN (Мотоциклы INNER JOIN (Мастера INNER JOIN Накладная ON Мастера.Код_мастера = Накладная.Код_мастера) ON Мотоциклы.Код_мотоцика = Накладная.Код_мотоцикла) ON Клиенты.Код_клиента = Мотоциклы.Код_клиента;

Результат:

5. Запрос, сумма дохода по клиентам.

SQL-текст:

SELECT Клиенты.Код_клиента, Клиенты.Фамилия, Клиенты.Имя, Sum(Накладная.Сумма) AS [Sum-Сумма]

FROM (Клиенты INNER JOIN Мотоциклы ON Клиенты.Код_клиента = Мотоциклы.Код_клиента) INNER JOIN Накладная ON Мотоциклы.Код_мотоцика = Накладная.Код_мотоцикла

GROUP BY Клиенты.Код_клиента, Клиенты.Фамилия, Клиенты.Имя;

Результат:

6. Запрос, телефонный справочкик.

SQL-текст:

SELECT

Фамилия, Имя, Отчество, Телефон, "Клиент" as Тип_персоны

FROM Клиенты

UNION

SELECT Фамилия, Имя, Отчество, Телефон, "Мастер" as Тип_персоны

FROM Мастера;

Результат:

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]