Лабораторная работа 3.1 Анализ предметной области и создание модели данных
Определение реляционной модели данных вручную, сущности, атрибуты, связи
Ситуация:
На одном из крупных предприятий - сотовых операций регулярно производятся измерения качества работы сети. Измерения производит на местности группа сотрудников. По результатам исполнители создают отчет следующего вида:
Отчет о результатах измерений
Дата: 27.04.2005
Время: 15.00
Измерение проводилось по адресу: г. Санкт-Петербург, Невский проспект, д.1
Номер базовой станции: 1515
Попыток установки соединений: 2000
Успешно установленных соединений: 1990
Процент отказов: 0,5 %
Ответственный исполнитель: Иванов Иван Иванович
Подпись:
Перед вами поставлена задача обеспечить сохранение результатов измерений в базе данных.
Задание:
1) На основании анализа представленных данных создайте список всех сущностей, информацию о которых, скорее всего, потребуется сохранять в базе данных;
2) Для каждой сущности определите необходимый список атрибутов;
3) Определите список всех связей, которые вам потребуются, в следующем формате:
Номер связи | Первая сущность | Вторая сущность | Тип связи (один-к-одному, один-ко-многим, многие-к-одному, многие-ко-многим) |
Запишите полученные ответы на бумаге (например, на пустой стороне страницы методички) или наберите в документе Word и сравните их с ответом в методичке.
Решение:
К пунктам 1 и 2 - список сущностей:
Сущность 1: измерение
Атрибуты: дата/время, адрес, базовая станция, попыток установки соединений, успешно установленных соединений, ответственный исполнитель.
Сущность 2: дата/время
Атрибуты: дата/время измерения
Примечание: информацию о дате и времени всегда лучше выносить за пределы таблицы фактов (главной таблицы) по нескольким причинам:
· размерность числового ключа обычно меньше, чем размерность типа данных для даты/времени - экономится место в главной таблице;
· в этом случае удобно использовать дополнительные флаги, например, рабочие/нерабочие дни, сезонности и т.п.
Сущность 3: адрес
Атрибуты: город, улица, дом
Примечание: разбиение значения на более мелкие удобно, если, например, потребуется поднять результаты измерений для определенного города
Сущность 4: базовая станция
Атрибуты: номер
Сущность 5: ответственный исполнитель
Атрибуты: фамилия, имя, отчество, отдел, должность
К пункту 3: создание списка связей
Номер связи | Первая сущность | Вторая сущность | Тип связи (один-к-одному, один-ко-многим, многие-к-одному, многие-ко-многим) |
Измерение | Дата/время | Многие-к-одному | |
Измерение | Адрес | Многие-к-одному | |
Измерение | Базовая станция | Многие-к-одному | |
Измерение | Ответственный исполнитель | Многие-к-одному |
Лабораторная работа 3.2 Проектирование системы базы данных средствами Microsoft Visio for Enterprise Architects
Проектирование структуры базы данных в Visio, Database Model Diagram, автоматическое создание базы данных SQL Server на основе спроектированной в Visio схемы
Задание:
1) На основе ситуации в предыдущей лабораторной работе и учета требований нормализации спроектируйте базу данных Measures и составьте для нее схему типаDatabase Model Diagram в Visio for Enterprise Arсhitects. Сохраните эту схему как C:\measures.vsd.
2) На основе этой диаграммы сгенерируйте базу данных MeasuresDB на вашем локальном сервере SQL Server.
Лабораторная работа 3.2 Проектирование системы базы данных средствами Microsoft Visio for Enterprise Architects
Решение:
К пункту 1: проектирование базы данных в Visio:
1) В меню Programs запустите Microsoft Visio.
2) В меню File выберите New -> Database -> Database Model Diagram. Будет создана новая пустая диаграмма соответствующего типа.
3) Установите удобный вам размер схемы (например, 100 %), а затем из контейнера Shapes перетащите на диаграмму элемент Entity. Щелкните по нему правой кнопкой мыши и в контекстном меню выберите Database Properties. Соответствующее окно будет открыто в нижней части экрана.
4) В списке Categories убедитесь, что выбрана строка Definition и введите следующие значения:
Physical name - Measures
Conceptual name - Measures
5) Перейдите на строку Columns, убедитесь, что переключатель стоит в положении Physical Data Type (Microsoft SQL Server) и введите информацию о следующих столбцах:
(поле Notes заполнять не обязательно, значения в нем генерируются автоматически).
Просмотрите остальные строки (Primary ID и т.п.) и оставьте значения в них по умолчанию.
6) Перетащите на схему еще один элемент Entity. Для Physical Name и Conceptual Name для него настройте значение MeasuresDateTime, а столбцы настройте следующим образом:
7) Точно также создайте еще одну сущность Address со столбцами
8) Еще одну - Station со столбцами
9) и последнюю - Employee со столбцами
10) После того, как создание всех объектов Entity завершено, необходимо создать отношения между таблицами. Эта операция производится так:
· нажмите на кнопку Connector Tool в панели инструментов Standard (соседняя кнопка с указателем мыши не должна быть нажата);
· наведите указатель мыши на таблицу с первичным ключом (например, MeasuresDateTime). Таблица будет выделена красным;
· перетащите таблицу с первичным ключом на таблицу с внешним ключом (Measures). Если все сделано правильно, то на схеме появится стрелка с красными квадратами на конце и вначале.
Примечание. Создание связей в первый раз получается не всегда. Если возникают проблемы, можно обратиться к преподавателю. Обратите внимание, что для столбцов, между которыми создаются отношения, должен совпадать тип данных и название (с учетом регистра).
В итоге схема может выглядеть так:
11) сохраните ее как c:\measures.vsd.
К пункту 2 - создание на основе диаграммы базы данных в SQL Server:
1) В меню Programs -> Microsoft SQL Server запустите Enterprise Manager и раскройте контейнер для вашего локального сервера -> Databases.
2) В контекстном меню для контейнера Databases выберите New database и введите имя создаваемой базы данных MeasuresDB. Оставьте для остальных параметров значения по умолчанию и нажмите OK.
3) Откройте созданную вами схему Measures.vsd в Visio и в меню Database выберите Generate. На экране Generate a Database Schema установите все три флажка:
4) На экране Establish a connection to a database просмотрите доступные драйверы в списке в списке Installed Visio drivers и оставьте Microsoft SQL Server. Переставьте переключатель в положение Database already exists.
5) На следующем экране со списком источников данных нажмите на кнопку New. Откроется окно создания нового источника ODBC. На первом экране переставьте переключатель в положение System Data Source и нажмите на кнопку Next.
6) На втором экране выберите SQL Server (последняя строка) и нажмите Next, а затем _ Finish.
7) На следующем экране в поле Name введите MeasuresDSN, в поле Server введите имя вашего компьютера и нажмите Next.
8) На следующем экране оставьте переключатель в положении With Windows NT Authentification и нажмите Next.
9) На следующем экране установите флажок Change the default database to и выберите базу данных MeasuresDB. Нажмите на кнопку Next, а затем - Finish и OK.
10) В списке источников данных выберите созданный вами MeasuresDB и нажмите Next. Просмотрите создаваемые таблицы и еще раз нажмите Next, а затем - Finish.
11) В ответ на приглашение просмотреть созданный файл DDL нажмите OK. Просмотрите созданный скрипт и закройте окно с ним.
12) Обновите окно Enterprise Manager и просмотрите созданные таблицы в базе данных MeasuresDB.