- •А рхитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi)
- •Пользователи баз данных. Основные функции группы администратора бд
- •Описание процесса прохождения пользовательского запроса
- •Перечислить классы субд. Какие возможности обеспечивает использование профессиональных субд
- •Этапы разработки аис
- •Модели данных
- •Режимы работы с базой данных
- •Архитектура клиент-сервер: структура типового интерактивного приложения
- •Инфологическое моделирование. Er - модель.
- •Системный анализ предметной области
- •Этапы жизненного цикла ис. Этапы проектирования бд
- •Алгоритм перехода от er к реляционной модели данных.
- •Даталогическое проектирование, корректная схема бд.
- •Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф), нормальная форма Бойса-Кодда (бк нф)
- •Сурбд Oracle. Конфигурации Oracle. Архитектура Oracle (физический и логический уровень)
- •Субд Oracle. Табличные пространства. Сегменты, экстенты и блоки данных.
- •Объекты бд Oracle. Создание таблиц. Типы данных. Пользовательские типы данных
- •Субд Oracle. Создание индексов.
- •Субд Oracle. Создание представлений
- •Субд Oracle. Создание последовательностей
- •Субд Oracle. Определенные пользователем типы данных. Создание синонимов
- •Субд Oracle. Создание ограничений
- •Субд Oracle. Создание табличных пространств
- •Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Основные операции
- •Реляционная алгебра. Специальные операции.
- •Язык sql. История развития sql. Структура sql. Типы данных.
- •Операторы описания данных (ddl).
- •Операторы манипулирования данными (dml)
- •Основные понятия и конструкции pl/sql. Архитектура pl/sql
- •Язык запросов dql. Оператор выбора select.
- •Агрегатные функции в операторе выбора. Вложенные запросы.
- •Поддерживаемый набор символов pl/sql. Арифметические операторы и операторы отношения
- •Предикаты раздела where
- •Структура программы и переменные pl/sql
- •Null-значения, трехзначная логика
- •Pl/sql. Условные операторы if
- •Pl/sql. Циклы
- •Pl/sql. Курсоры. Курсорный цикл for.
- •Pl/sql. Хранимые процедуры
- •Pl/sql. Функции
- •Pl/sql. Триггеры
Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф)
Последовательная нормализация схемы отношений – это когда каждая следующая итерация соответствует нормальной форме более высокого уровня и обладает лучшими свойствами по сравнению с предыдущей.
Каждой нормальной форме соответствует некоторый определенный набор ограничений и отношения находятся в некоторой НФ, если удовлетворяют свойственному ей набору ограничений.
Последовательность НФ: 1, 2, 3, БК, 4, 5.
Каждая следующая НФ улучшает свойства предыдущей, но при переходе к следующей НФ свойства предыдущих сохраняются.
Отношение находится в 1НФ тогда и только тогда, когда на пересечении каждого столбца и каждой строки находятся только элементарные значения атрибутов.
Отношение находится в 2НФ тогда и только тогда, когда находится в 1НФ и не содержит неполных функциональных зависимостей не первичных атрибутов от атрибутов первичного ключа.
Функциональная зависимость – определяет устойчивые отношения между объектами и их свойствами в рассматриваемой предметной области.
Полная функциональная зависимость: R.A -> R.B полная, если ∀А1 ⊆ А R.A ↛ R.B (если набор атрибутов В функционально зависит от А и не зависит функционально от любого подмножества А)
Например, есть отношение: (ФИО, № зачетки, Группа, Дисциплина, Оценка), PK=зачетка+дисциплина
ФИО зависит от № зачетки, Оценка зависит от Дисциплины.
Эти атрибуты зависят только от части ключа – неполная функциональная зависимость.
Чтобы привести к 2НФ надо разбить на проекции:
№ зачетки, ФИО, Группа
№ зачетки, Дисциплина, оценка
Третья нормальная форма (3нф), нормальная форма Бойса-Кодда (бк нф)
Последовательная нормализация схемы отношений – это когда каждая следующая итерация соответствует нормальной форме более высокого уровня и обладает лучшими свойствами по сравнению с предыдущей, при этом следующая НФ сохраняет свойства предыдущей.
Каждой нормальной форме соответствует некоторый определенный набор ограничений и отношения находятся в некоторой НФ, если удовлетворяют свойственному ей набору ограничений.
Отношение находится в 3НФ тогда и только тогда, когда оно находится в 2НФ и не содержит транзитивных зависимостей.
Транзитивная функциональная зависимость, если существует набор атрибутов С такой, что:
1) С ⊆ А (С не является подмножеством А)
2) В ⊄ С (С не включает в себя В)
3) R.A -> R.С (существует функциональная зависимость С от А)
4) R.С ↛ R.А (НЕ существует функциональная зависимость А от С)
5) R.С -> R.B (существует функциональная зависимость В от С)
id_клиента, ФИО, город, почтовый индекс фио зависит от ID город зависит от ID почтовый индекс зависит от города
в рамках данной таблицы индекс зависит от города а город зависит от ID => индекс зависит от ID
есть транзитивная зависимость, чтобы избавиться, строим дополнительное отношение:
город, индекс
id_клиента, фио, город
Отношение находится в НФБК тогда и только тогда, когда оно находится в 3НФ и каждый детерминант является возможным ключом отношения.
Рассмотрим отношение, моделирующее сдачу студентом экзаменов.
(№ зачетки, ID_студента, Дисциплина, Дата, Оценка)
Возможные ключи: 1) № зачетки, Дисциплина, Дата и 2) ID_студента, Дисциплина, Дата
Имеются следующие функциональные зависимости:
№ зачетки, Дисциплина, Дата -> Оценка
ID_студента, Дисциплина, Дата -> Оценка
№ зачетки -> ID_студента
ID_студента -> № зачетки
Это отношение находится в 2НФ и 3НФ, но не удовлетворяет НФБК, потому что есть 2 детерминанта (ID_студента, № зачетки), которые не являются возможными ключами отношения.в
Поэтому можно разделить отношение:
(ID_студента, Дисциплина, Дата, Оценка), (№ зачетки, ID_студента)
ИЛИ
(№ зачетки, Дисциплина, Дата, Оценка), (№ зачетки, ID_студента)
Эти схемы равнозначны.
3НФ или НФБК являются достаточными для реальных проектов БД, однако в теории нормализации существуют НФ высших порядков.