
- •1. Определение информации. Основные проблемы, возникающие при хранении информации.
- •2. Отличительные особенности субд как программного продукта. Понятие экземпляра и базы данных.
- •3. Категории пользователей субд. Функциональные требования различных категорий пользователей к субд.
- •4. История развития субд. Особенности не реляционных моделей данных.
- •5. Общая характеристика моделей данных. Основные свойства. Понятие атрибутов, доменов.
- •6. Отношения модели данных. Понятия сущности и связи.
- •7. Ограничение целостности модели данных. Трехуровневая архитектура ansi/sparc.
- •8. Структурные компоненты модели данных в нотации idef1x. Понятия сущность, связь. Типы сущностей и связей.
- •9. Реляционная модель данных. Базовые структурные компоненты реляционной модели данных. Основные свойства.
- •10. Свойства реляционной модели данных. Представление сущности.
- •11. Свойства реляционной модели данных. Представление связи.
- •12. Требования целостности в реляционной модели данных.
- •13. Язык определения данных в реляционной модели данных. Основные возможности. Примеры.
- •14. Типы ограничений целостности, основные типы данных, основные операции реляционной модели данных.
- •15. Проектирование реляционных баз данных. Цели проектирования, основные этапы.
- •16. Проектирование реляционных баз данных. Проблемы обновления, удаления, добавления данных. Типы ограничений целостности.
- •17. Функциональная зависимость. Нормализация отношений. Концепция нормальных форм.
- •18. Первая и вторая нормальные форма. Определение. Аномалии, возникающие при нарушении. Примеры нарушения и нормализации.
- •19. Третья нормальная форма. Нормальная форма Бойса-Кодда. Определение. Аномалии, возникающие при нарушении. Примеры нарушения и нормализации.
- •20. Понятие многозначной зависимости. Примеры.
- •21. Четвертая и пятая нормальные формы. Определение. Аномалии, возникающие при нарушении. Примеры нарушения и нормализации.
- •22. Основные свойства sql, как языка программирования. Отличие от других языков программирования.
- •23. Основы построения sql- запросов. Источники данных запроса. Условия выборки кортежей. Примеры.
- •24. Левые, правые и полные соединения. Функции для работы с null значениями. Выборка уникальных записей. Примеры.
- •25. Использование подзапросов. Типы подзапросов. Примеры.
- •26. Коррелированные подзапросы. Особенности использования in, not in,exists, not exists.
- •27. Теоретико-множественные операции в sql-запросах. Примеры.
- •28. Агрегирующие функции. Группировка кортежей. Примеры.
- •29. Представления. Особенности использования. Примеры.
- •30. Триггеры в Transact sql. Пример реализации триггера.
- •31. Курсоры. Основные функции. Правила применения. Примеры.
- •32. Внутренние структуры данных. Двухуровневая система доступа к данным. Отношения каталогов.
- •33. Методы доступа к данным. Бинарные деревья.
- •34. Методы доступа к данным. Многоходовые деревья.
- •35. Методы доступа к данным. Сбалансированные деревья. Структура, правила следования. Основные свойства.
- •36. Операция вставки элемента в в-дерево. Проблема переполнения, методы решения. Пример.
- •37. Операция удаления элемента из в-дерева. Проблема антипереполнения. Методы решения. Пример
- •42. Индекс на основе битовых карт. Основные свойства.
- •43. Индекс на основе битовых карт. Структура листового блока. Операция добавления элемента.
- •44. Индекс на основе битовых карт. Операция обновления элемента. Блокировка записей.
- •45. Методы доступа к данным. Основные операции выполнения sql-выражения.
- •46. Методы доступа к данным. Типы соединений таблиц.
8. Структурные компоненты модели данных в нотации idef1x. Понятия сущность, связь. Типы сущностей и связей.
Методология IDEF1X - один из подходов к семантическому моделированию данных, основанный на концепции Сущность-Связь. Концептуально IDEF1X-модель можно рассматривать как проект логической схемы базы данных для проектируемой системы. Информационные модели типа "сущность - связь" являются логическими моделями и не зависят от реализации баз данных и методов доступа.
Основными компонентами стандарта IDEF1X являются следующие: сущности, атрибуты, связи (по лекциям – без атрибутов).
Сущность (множество сущностей, класс объектов) - множество реально существующих или абстрактных индивидуальных объектов, которые обладают одинаковым набором свойств. Отдельный элемент этого множества называется экземпляром сущности. Каждый экземпляр сущности индивидуален и должен отличаться от других экземпляров этой сущности. Например, если предметной областью является магазин, то в ней можно выделить следующие сущности: товар, продавец, покупатель, процесс покупки товара покупателем. Каждой сущности присваивается уникальное имя. Имя сущности задается существительным в единственном числе, именительном падеже. Дополнительно каждой сущности ставится в соответствие некоторое короткое уникальное имя (номер сущности), которое обычно не несет никакой смысловой нагрузки, но в связи с компактностью обычно используется для отображения сущности в различных компонентах инфологической модели. Графически сущность отображается в виде прямоугольника с прямыми (независимая по идентификации сущность) или скругленными (зависимая по идентификации сущность) углами. Имя сущности располагается над прямоугольником.
Атрибут – свойство объекта реального мира. Каждая сущность должна обладать определенным набором атрибутов. Для всех экземпляров одной сущности набор атрибутов одинаков, но их значения для каждого конкретного экземпляра сущности могут различаться. Каждый атрибут должен быть определен на соответствующем домене. Домен представляет собой именованное и определенное множество значений. На одном домене могут определяться один или несколько атрибутов.
Существует два основных типа доменов: базовый (основной) домен и типизированный домен. К базовым доменам обычно относятся следующие: множество символьных строк любой длины и структуры, в состав которых входят символы любого алфавита (например, домен с именем СТРОКА); множество числовых значений (например, домен с именем ЧИСЛО); множество булевских данных (например, домен с именем БУЛЕВА ПЕРЕМЕННАЯ).
Типизированный домен представляет собой подмножество базового или другого типизированного домена. Любой типизированный домен наследует правила построения родительского домена, которые обычно усиливаются дополнительными ограничениями на допустимые значения. Каждому атрибуту может быть назначено имя роли. Имя роли (функциональное имя) – это синоним атрибута, который обычно показывает роль данного атрибута в данной сущности.
Взаимодействие сущностей отражается посредством связи. Связь представляет собой логическое соотношение между сущностями. При инфологическом проектировании обычно используют бинарные связи, так как они проще в определении и понимании, чем "n-арные" связи, и имеют простое графическое отображение. Кроме того, любая "n-арная" связь может быть представлено с помощью n бинарных связей. В методологии IDEF1X рассматриваются только бинарные связи. Каждая бинарная связь определяется (именуется) глаголом или глагольной фразой, выражающей некоторое ограничение или бизнес-правило. Причем именование бинарной связи осуществляется обязательно в двух направлениях. Важной характеристикой каждого конца связи является мощность. Мощностью (кардинальным числом) конца связи называется число экземпляров сущности, находящейся на данном конце связи, соответствующих одному экземпляру другой сущности, вовлеченной в эту связь.
В нотациях IDEF1X определяются основные типы связей: определенная связь (отражает отношение между сущностями типа "один ко многим"); неопределенная связь (отражает отношение между сущностями типа "многие ко многим"); связь типа категория (отражает отношение между сущностями типа "род-вид", связь типа "один к одному").
Внешний вид |
Тип и обязательность связи |
Мощность связи справа |
|
Обязательная, идентифицирующая |
1 |
|
0 .. ∞ | |
z |
0 или 1 | |
p |
1 .. ∞ | |
<число> |
<число> | |
|
Необязательная, неидентифицирующая |
0 .. ∞ |
|
Обязательная, неидентифицирующая |
0 .. ∞ |
Определенные
связи бывают
идентифицирующими и не идентифицирующими.
Соответственно, дочерние сущности,
вовлеченные в эти связи, могут быть
зависимыми
или независимыми по идентификации.
В идентифицирующей
определенной связи
любой экземпляр дочерней сущности не
может существовать и идентифицироваться
(определяться) без некоторого экземпляра
соответствующей родительской сущности,
т.е. дочерняя сущность является зависимой
от родительской (зависимой по идентификации
и по существованию). Такая
связь организуется посредством внешнего
ключа,
который обязательно входит в состав
первичного ключа дочерней сущности. В
не
идентифицирующей определенной связи
экземпляры
дочерней сущности идентифицируются
независимо от экземпляров родительской
сущности. Дочерняя
сущность, вовлеченная в эту связь,
является независимой по идентификации.
Такая связь организуется посредством
внешнего ключа,
который не входит в состав первичного
ключа дочерней сущности. Не
идентифицирующая определенная связь
может быть обязательной или необязательной.
В
обязательной не идентифицирующей
определенной связи любой экземпляр
дочерней сущности не может существовать
без некоторого экземпляра соответствующей
родительской сущности (каждому экземпляру
родительской сущности соответствует
нуль, один или несколько экземпляров
дочерней сущности, а каждому экземпляру
дочерней сущности соответствует в
точности один экземпляр родительской
сущности). Дочерняя
сущность, вовлеченная в эту связь,
является зависимой по существованию и
независимой по идентификации.
При графическом отображении обязательная
не идентифицирующая определенная связь
обозначается пунктирной
линией между связываемыми сущностями
с жирной точкой на дочернем конце связи.
В
необязательной не идентифицирующей
определенной связи
каждому экземпляру родительской сущности
соответствует нуль, один или несколько
экземпляров дочерней сущности, а каждому
экземпляру дочерней сущности – нуль
или один экземпляр родительской сущности.
Дочерняя сущность, вовлеченная в эту
связь, является независимой по
существованию и по идентификации.
При графическом отображении необязательная
не идентифицирующая определенная связь
обозначается пунктирной линией между
связываемыми сущностями с жирной точкой
на дочернем конце связи и прозрачным
ромбом на родительском конце связи.
Связь типа категория (иерархия наследования). Эта связь представляет собой особый тип отношения сущностей ("род-вид"), когда связываемые экземпляры сущностей отражают один и тот же объект реального мира. При организации этой связи одна из связываемых сущностей (родовая, супертип) включает в себя полное множество экземпляров некоторого объекта реального мира, а другая связываемая сущность (категория, подтип) – только часть экземпляров этого множества объектов, объединенных некоторой совокупностью одинаковых свойств, т.е. представляет собой подтип родовой сущности. Если каждый экземпляр родовой сущности обязательно связан с каким-либо экземпляром сущностей категория, то связь типа категория называется полной. Если в родовой сущности имеется экземпляр (экземпляры), который не связан ни с одним из экземпляров сущностей категории, то связь типа категория называется неполной. Графически родовая сущность изображается в виде прямоугольника с прямыми углами, а сущности категории – в виде прямоугольника со скругленными углами (сущность категория является зависимой по идентификации).