
- •Основные этапы проектирования базы данных
- •Расширенная модель «сущность-связь» (eer-модель): уточнение/обобщение, агрегирование и композиция, графическое изображение на er-диаграмме с использованием uml
- •Реляционная модель: основные понятия, свойства отношений, реляционные ключи, реляционная целостность.
- •Нормализация: цели, избыточность данных и аномалии обновления, понятие функциональной зависимости, нормальные формы(1нф, 2нф, 3нф, нфбк).
- •Обобщенная методология проектирования реляционных баз данных: основные этапы.
- •1.9 Обсуждение локальных концептуальных моделей с конечными пользователями
- •Методология концептуального проектирования баз данных (построения er-модели).
- •Методология логического проектирования реляционных баз данных.
- •Основные приемы работы в графической среде Management Studio: подключение к серверу, создание, присоединение и отсоединение баз данных.
- •Типы данных sql Server. Создание и модификация таблиц.
- •Transact sql. Простые запросы на выборку данных: инструкция select, сортировка, отбор строк по условию, использование агрегирующих функций, группировка
- •Transact sql. Сложные (многотабличные) запросы на выборку данных: подзапросы
- •Transact sql. Сложные (многотабличные) запросы на выборку данных: соединения
- •Transact sql. Сложные (многотабличные) запросы на выборку данных: множественные операции
- •Transact sql. Манипулирование данными: добавление, обновление и удаление данных в таблицах
Основные этапы проектирования базы данных
1. Концептуальное проектирование — сбор, анализ и редактирование требований к данным. Для этого осуществляются следующие мероприятия:
обследование предметной области, изучение ее информационной структуры
выявление всех фрагментов, каждый из которых характеризуется пользовательским представлением, информационными объектами и связями между ними, процессами над информационными объектами
моделирование и интеграция всех представлений
По окончании данного этапа получаем концептуальную модель, инвариантную к структуре базы данных. Часто она представляется в виде модели «сущность-связь».
2. Логическое проектирование — преобразование требований к данным в структуры данных. На выходе получаем СУБД-ориентированную структуру базы данных и спецификации прикладных программ. На этом этапе часто моделируют базы данных применительно к различным СУБД и проводят сравнительный анализ моделей.
3. Физическое проектирование — определение особенностей хранения данных, методов доступа и т. д.
Различие уровней представления данных на каждом этапе проектирования реляционной базы данных:
КОНЦЕПТУАЛЬНЫЙ УРОВЕНЬ — Представление аналитика (используется инфологическая модель «сущность-связь»)
* сущности
* атрибуты
* связи
ЛОГИЧЕСКИЙ УРОВЕНЬ — Представление программиста
* записи
* элементы данных
* связи между записями
ФИЗИЧЕСКИЙ УРОВЕНЬ — Представление администратора
* группирование данных
* индексы
* методы доступа
Модель «сущность-связь» (ER-модель): основные понятия (типы сущностей, типы связей, атрибуты, ключи), структурные ограничения (ограничения кратности), графическое изображение в виде ER-диаграмм с использованием UML
Тип сущности – группа объектов с одинаковыми свойствами, которая рассматривается в конкретной предметной области как имеющая независимое существование.
Тип сущности может быть объектом с физическим (реальным) существованием или объектом с концептуальным (абстрактным) существованием. Пример типа сущности – студент, дисциплина, продажа, аттестация т.д.Тип связи – набор осмысленных ассоциаций между сущностями разных типов. Каждому типу связи присваивается имя, которое должно описывать его назначение.Экземпляр связи – однозначно-идентифицируемая ассоциация, которая включает по одному экземпляру сущности из каждого участвующего в связи типа сущности.Каждый тип связи изображается в виде линий, соединяющий соответствующие типы сущности и обозначенные именем этой связи (обычно глагол). На схеме должно быть показано направления действия каждой связи. Поскольку на обычно имеет смысл только одно Атрибут – свойство типа сущности или типа связи. Простой атрибут – атрибут, состоящий из одного компонента с независимым существованием. Составной атрибут – атрибут, состоящий из нескольких компонентов, каждый из которых характеризуется независимым существованиемСоставной атрибут – АДРЕС включает в себя (регион, район, город, улица). Однозначный атрибут – атрибут, который содержит одно значение для каждого экземпляра сущности определенного типа. Многозначный атрибут – номер телефона. Производный атрибут (вычисляемый) – атрибут, который представляет значение производное от значения связанного с ним атрибута или некоторого множества атрибутов, принадлежащих некоторому типу сущности (необязательного данного)
Ключ
Потенциальный ключ – атрибут или минимальный набор атрибутов, который однозначно идентифицируют каждый экземпляр типа сущностиПервичный ключ – потенциальный ключ, который выбран для однозначной идентификации каждого экземпляра сущности определенного типа. Составной ключ – потенциальный ключ, который состоит из 2 или нескольких атрибутов. AK – альтернативный ключ. PK – потенциальный ключ. PPK – часть потенциального ключа. Сущность сильного типа – тип сущности, существование которого не зависит от какого-то другого типа сущности. Характерной особенностью сильного типа является то, что каждый экземпляр сущности может быть однозначно идентифицирован с помощью атрибутов первичного ключа сущности этого типа. Сущность слабого типа – тип сущности, существование которого зависит от какого-то другого типа сущности. Структурные ограничения. Кратность – количество (заданное как одно значение или как диапазон значений) возможных экземпляров сущности некоторого типа, которые могут быть связаны с одним экземпляром сущности другого типа с помощью определенной связи. Кратность сложной связи – количество (заданное как одно значение или как диапазон значений) экземпляров сущности определённого типа в n-ой связи определяемая после фиксации остальных n-1 значений.
Ограничение кратности фактически состоит из двух отдельных ограничений:
Кардинальность – определяет максимальное количество возможных экземпляров связи для каждой сущности участвующей в связи конкретного типа
Степень участия – определяет, участвуют ли в связи все или только некоторое экземпляры сущности