Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к экзамену по Б_Д.doc
Скачиваний:
6
Добавлен:
09.08.2019
Размер:
614.91 Кб
Скачать
  1. Основные объекты нотации idef 1.X

Основной частью проектирования БД является построение ER-модели («сущность-связь»). Стандарт IDEF 1.X включает в себя след. Компоненты:

- сущность

Множество реально существующих или абстрактных индивидуальных объектов (процесс), которые обладают одинаковым набором свойств. Отдельный элемент этого множества называется «экземпляром сущности». Каждый экземпляр индивидуален и отличается от других. Каждой сущности присваивается уникальное имя и дополнительно указывается номер сущности.

- атрибуты

Свойство объекта. Каждая сущность должна обладать определенным набором атрибутов. Атрибуты определены на соответствующих доменах.

Домен – определенное именованное множество значений.

домены

Базовые:

- строковый домен (множество символьных строк, любой длины и структуры)

- числовой домен

- логический домен

Типизированные:

Это подмножество базового домена или другого типизированного домена

Каждому атрибуту назначается имя, которое уникально в рамках всей модели

Исходя из семантики предметной области, атрибут, который позволяет однозначно определить конкретный экземпляр из множества экземпляров, называется возможным ключом. Если нельзя из атрибутов выбрать возможный ключ, то сущность дополняется новым атрибутом. В качестве первичного ключа выбирают один из возможных ключей. Первичный ключ может быть простым или составным. Предпочтение отдается простому ключу. Предпочтение отдается возможным ключам, которые не допускают неоднозначного толкования. Внешний ключ – атрибут, который принудительно добавляется в другую сущность для организации связи. Может быть простым или составным. Процесс принудительного добавление внешнего ключа называется его миграцией.

- связи

Логическое отношение между сущностями.

Каждая связь определяется глаголом. Каждый конец связи определяется мощностью (числом экземпляров сущности)

Классификация:

  1. Определенная

  2. Неопределенная

  3. Категория

  1. Определенная идентифицирующая связь.

Определенная связь устанавливается при организации связи между сущностями «1 ко многим». В зависимости от значения числа экземпляров на конце связи различают:

  1. Общий случай – 0,1,∞

  2. Искл. 0 – 1, ∞ (P)

  3. Искл. ∞ - 0,1 (Z)

  4. Точное значение

  5. Диапазон значений

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

Пример: Е1 Преподаватель, Е2 Нагрузка.

Сущность Е2 не может быть идентифицирована без первичного ключа сущности Е1.

  1. Определенная неидентифицирующая связь.

Бывает обязательная и необязательная.

Определенная связь устанавливается при организации связи между сущностями «1 ко многим». В зависимости от значения числа экземпляров на конце связи различают:

  1. Общий случай – 0,1,∞

  2. Искл. 0 – 1, ∞ (P)

  3. Искл. ∞ - 0,1 (Z)

  4. Точное значение

  5. Диапазон значений

Определенная неидентифицирующая связь возникает, если атрибуты дочерней сущности идентифицируется независимо от экземпляра родительской сущности (автомобиль и владелец)

Обязательная – дочерний экземпляр не может существовать без экземпляра родительской сущности (недвижимость и владелец)

В противном случае связь необязательная неидентифицирующая определенная.

Такая связь может быть сетевой рекурсивной.

  1. Неопределенная связь.

Устанавливается при установлении связи между сущностями «многие ко многим».

Может быть сетевой рекурсивной

  1. Иерархическая и сетевая рекурсивные связи.

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

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

  1. Связь типа категория.

Связь типа категория представляет собой отношение «род-вид». Отражает связь 1 к 1 между экземплярами сущности. Для каждой связи типа категория указывается «дескриминатор». Атрибут, позволяющий отличить сущности типа категория, участвующие в этой связи. В родительской сущности содержит атрибуты, общие для всех экземпляров сущности «категория». Связь типа категория может быть полной и неполной.

Полная, если каждый экземпляр родительской сущности обязательно связан с каким-либо экземпляром сущности «категория».

Сотрудник E1

Id_сотр, Ф, И, О

Менеджер

Id_сотр, кол-во клиентов, специализация

Секретарь

Курьер

  1. Модель уровня сущностей представления данных. +

  2. Модель уровня ключей представления данных. +

  3. Полноатрибутная модель представления данных. =

Уровни логической модели

Различают три уровня логической модели, отличающихся по глубине представления информации о данных:

  • диаграмма сущность-связь (Entity Relationship Diagram, ERD);

  • модель данныхоснованная на ключах (Key Based model, KB);

  • полная атрибутивная модель (Fully Attributed model, FA).

Диаграмма сущность-связь представляет собой модель данных верхнего уровня. Она включает сущности и взаимосвязи, отражающие основные бизнес-правила предметной области. Такая диаграмма не слишком детализирована, в нее включаются основные сущности исвязи между ними, которые удовлетворяют основным требованиям, предъявляемым к ИС. Диаграмма сущность-связь может включатьсвязи "многие-ко-многим" и не включать описание ключей. Как правило, ERD используется для презентаций и обсуждения структуры данных с экспертами предметной области.

Модель данныхоснованная на ключах, — более подробное представление данных. Она включает описание всех сущностей и первичных ключей и предназначена для представления структуры данных и ключей, которые соответствуют предметной области.

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

  1. Полный синтаксис и назначение оператора Select.

Предназначен для выборки данных из таблицы

Типы выборок: - примитивные

- сложные с вычисляемыми полями

- со связанными подзапросами

- групповые запросы

- групповые запросы со связанными подзапросами

Select предикат(All,Distinct) список_выбора

From источник_записей

Where условие_выбора

Group by поля_группировки

Having условия_группировки

Order by поля_сортировки

В список выбора может входить поле, конкретные значения, вычисляемые поля

Представление where

>< <= >= and or not is like exists between in

  1. Запросы с вычисляемыми полями и агрегативными функциями. +

  2. Групповые запросы. =

Групповой запрос – в котором к полям применяются итоговые (агрегативные) функции и все поля, которые в этих функциях не участвуют, являются полями группировки.

Группировка организовывает предложением group by, условие на групповые функции накладываются в предложении having.

«А вот на вопрос, когда же запрос групповой, можно ответить так – когда в запросе есть агрегативные функции, которые я в названии темы обозвал «агрегатами». Агрегат – это итоговая функция, применяемая к полю, например:» COUNT() – количество  SUM() – сумма  AVG() – среднее значение MIN() – минимум»\ MAX() – максимум

  1. Использование запросов со связанными подзапросами.

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

Пример:

Вывести всех читателей, которые ни разу не пользовались абонементом:

Select Фамилия from Читатели z1

Where not exist (Select * from Абонемент inner join Читатели z2 on абонемент.код_читатели=читатели.код_читателя where z1.код_читателя=z2.код_читателя)

  1. Запросы модификации данных.

  • INSERT INTO – запрос добавления; (см. вопрос 50)

  • DELETE – запрос удаления; (см. вопрос 51)

  • UPDATE – запрос обновления. (см. вопрос 49)

  1. Полный синтаксис и назначение оператора Update.

Запрос обновления

Оператор UPDATE применяется для изменения значений в группе записей или в одной записи указанной таблицы.

Формат оператора:

<оператор_изменения> ::=

UPDATE имя_таблицы SET имя_столбца=

<выражение>[,...n]

[WHERE <условие_отбора>]

Параметр имя_таблицы – это либо имя таблицы базы данных, либо имя обновляемого представления. В предложенииSET указываются имена одного и более столбцов, данные в которых необходимо изменить. Предложение WHEREявляется необязательным. Если оно опущено, значения указанных столбцов будут изменены во всех строках таблицы. Если предложение WHERE присутствует, то обновлены будут только те строки, которые удовлетворяют условию отбора. Выражение представляет собой новое значение соответствующего столбца и должно быть совместимо с ним по типу данных.

Пример. Для товаров первого сорта установить цену в значение 140 и остаток – в значение 20 единиц.

UPDATE Товар SET Товар.Цена=140, Товар.Остаток=20

WHERE Товар.Сорт=" Первый "