- •Глава I «Общие вопросы» Вопросы 1-6
- •История развития бд. Сравнить между собой этапы(файлы и файловые системы, бд на больших эвм, эпоха персональных компьютеров, распределенные базы данных)
- •История развития бд.
- •Файлы и файловые системы.
- •Базы данных на больших эвм.
- •Эпоха персональных компьютеров.
- •Распределенные базы данных.
- •Архитектура базы данных. Физическая и логическая независимость (трехуровневая модель ansi).
- •Описать процесс прохождения пользовательского запроса
- •Пользователи баз данных. Основные функции группы администратора бд
- •Пользователи баз данных.
- •Основные функции группы администратора базы данных.
- •Перечислить классы субд. Какие возможности обеспечивает использование профессиональных субд.
- •Этапы разработки аис.
- •Глава II «Архитектура бд, режимы работы» Вопросы 7-12
- •Режимы работы с базой данных.
- •Архитектура клиент-сервер: структура типового интерактивного приложения.
- •Модель fs.
- •Модель rda
- •Модель сервера баз данных
- •Модель сервера приложений
- •Глава III «Модели данных, язык описания данных, реляционная алгебра» Вопросы 13-19
- •Иерархическая модель данных. Язык описания данных иерархической модели. Внешние модели.
- •Иерархическая модель данных.
- •Язык описания данных иерархической модели.
- •Внешние модели.
- •Пример иерархической базы данных.
- •Язык манипулирования данными в иерархических базах данных. Операторы поиска данных. Операторы поиска данных с возможностью модификации. Операторы модификации данных.
- •Операторы поиска данных.
- •Операторы поиска данных с возможностью модификации.
- •Операторы модификации данных.
- •Обновить
- •Ввести новый экземпляр сегмента.
- •Сетевая модель данных. Язык описания данных в сетевой модели.
- •Сетевая модель данных.
- •15.2. Язык описания данных в сетевой модели.
- •Язык манипулирования данными в сетевой модели.
- •Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Основные операции (объединение, пересечение, разность, конкатенация кортежей, произведение)
- •18.1. Теоретико-множественные операции реляционной алгебры.
- •Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Специальные операции (выборка, проекция, соединение, деление).
- •Глава IV
- •Вопросы 20-27
- •Язык sql. История развития sql. Структура sql. Типы данных.
- •Язык sql. История развития sql.
- •Структура sql.
- •Типы данных.
- •Операторы описания данных (ddl).
- •Операторы манипулирования данными (dml)
- •Язык запросов dql. Оператор выбора select.
- •Предикаты раздела where
- •Null-значения. Трехзначная логика
- •Агрегатные функции в операторе выбора
- •Вложенные запросы.
- •Глава V «Проектирование бд» Вопросы 28-33
- •Проектирование реляционных бд на основе принципов нормализации:
- •Этапы жизненного цикла бд. Этапы проектирования бд
- •Системный анализ предметной области (два подхода к выбору состава и структуры предметной области)
- •Инфологическое моделирование. Er - модель (базовые понятия сущность, связь, типы связей: 1:1, 1:n, n:n, обязательная/необязательная).
- •Инфологическое моделирование.
- •Переход к реляционной модели данных (правила преобразования er-модели в реляционную).
- •Даталогическое проектирование. Перечень результирующих документов, корректная схема бд. Два пути проектирование схемы бд.
- •Глава VI «Нормальные формы» Вопросы 34-37
- •Последовательность нормальных форм. Их свойства. Первая нормальная форма (1нф), вторая нормальная форма (2нф),
- •Третья нормальная форма (3нф), нормальная форма Бойса-Кодда (бк нф),
- •Нф Бойса-Кодда.
- •Четвертая нормальная форма (4нф), пятая нормальная форма (5нф)
- •Глава VII «oracle (Теория)» Вопросы 38-42
- •Сурбд Oracle. Конфигурации Oracle. Типы пользователей. Основные обязанности dba.
- •Субд Oracle.
- •Конфигурации Oracle.
- •Типы пользователей.
- •Основные обязанности dba.
- •Архитектура Oracle (физический и логический уровень)
- •Субд Oracle. Табличные пространства. Сегменты, экстенты и блоки данных.
- •Онлайновые и офлайновые табличные пространства
- •Файлы данных
- •Сегменты, экстенты и блоки данных.
- •Сегменты.
- •Экстенты.
- •Блоки данных.
- •Экземпляр Oracle. Sga, pga
- •Процессы. 7 основных фоновых процессов Oracle
- •Пользовательские процессы
- •Процессы Oracle
- •Глава VIII «oracle (Практика)» Вопросы 43-49
- •Объекты бд Oracle. Создание таблиц. Типы данных
- •Объекты Oracle.
- •Создание таблиц.
- •Типы данных.
- •Субд Oracle. Создание индексов.
- •Субд Oracle. Создание представлений
- •Субд Oracle. Создание последовательностей
- •Субд Oracle. Определенные пользователем типы данных. Создание синонимов
- •Субд Oracle. Создание ограничений
- •Субд Oracle. Создание табличных пространств
- •Глава IX
- •Вопросы 50-58
- •Основные понятия и конструкции pl/sql. Архитектура pl/sql
- •Поддерживаемый набор символов pl/sql. Арифметические операторы и операторы отношения
- •Структура программы и переменные pl/sql
- •Pl/sql. Условные операторы if
- •Pl/sql. Циклы
- •Pl/sql. Курсоры. Курсорный цикл for.
- •Курсорный цикл for.
- •Pl/sql. Хранимые процедуры
- •Пример хранимой процедуры.
- •Pl/sql. Функции
- •Pl/sql. Триггеры
- •Пример триггера.
Реляционная алгебра. Теоретико-множественные операции реляционной алгебры. Специальные операции (выборка, проекция, соединение, деление).
Первой специальной операцией реляционной алгебры является горизонтальный выбор, или операция фильтрации, или операция ограничения отношений. Для определения этой операции нам необходимо ввести дополнительные обозначения.
Пусть а - булевское выражение, составленное из термов сравнения с помощью связок И ( ∧ ), ИЛИ ( ∨ ), НЕ ( ¬ ) и, возможно, скобок. В качестве термов сравнения допускаются:
терм А ос а, где А — имя некоторого атрибута, принимающего значения из домена D; a — константа, взятая из того же домена D, a∈D ; oc — одна из допустимых для данного домена D операций сравнения;
терм А ос В, где А, В — имена некоторых θ - сравнимых атрибутов, то есть атрибутов, принимающих значения из одного и то же домена D.
Тогда результатом операции выбора, или фильтрации, заданной на отношении R в виде булевского выражения, определенного на атрибутах отношения R, называется отношение R[α], включающее те кортежи из исходного отношения, для которых истинно условие выбора или фильтрации:
R[α(r)]={r|r∈R∧α(r)="Истина"}
Операция фильтрации является одной из основных при работе с реляционной моделью данных. Условие а может быть сколь угодно сложным.
Следующей специальной операцией является операция проектирования.
Пусть R — отношение, SR=(A1,...,An) — схема отношения R.
Обозначим через B подмножество [ Ai ]; B ⊆{ Ai}.
При этом пусть B1 — множество атрибутов из { Ai}, не вошедших в B.
Если B = {A1i, Ai2,..., Aik}, B = {A1, A2j ,..., Akj} и r = < a1i, a2i,...,ai >, aki ∈Akii,
то r [B], s = < a1j, a2j, ... , amj > ; amj ∈Amj.
Проекцией отношения R на набор атрибутов В, обозначаемой R[B], называется отношение со схемой, соответствующей набору атрибутов В SR[B]=B, содержащему кортежи, получаемые из кортежей исходного отношения R путем удаления из них значений, не принадлежащих атрибутам из набора В.
R[B] = {r[B]}
По определению отношений все дублирующие кортежи удаляются из результирующего отношения.
Операция проектирования, называемая иногда также операцией вертикального выбора, позволяет получить только требуемые характеристики моделируемого объекта. Чаще всего операция проектирования употребляется как промежуточный шаг в операциях горизонтального выбора, или фильтрации. Кроме того, она используется самостоятельно на заключительном этапе получения ответа на запрос.
Следующей специальной операцией реляционной алгебры является операция условного соединения.
В отличие от рассмотренных специальных операций реляционной алгебры: фильтрации и проектирования, которые являются унарными, то есть производятся над одним отношением, операция условного соединения является бинарной, то есть исходными для нее являются два отношения, а результатом — одно.
Пусть R={r}, Q={q} - исходные отношения,
SR, SQ - схемы отношений R и Q соответственно.
SR=(A1,A2,...,Ak); SQ=(B1,B2,...,Bm), где Ai, Bj — имена атрибутов в схемах отношений R и Q соответственно. При этом полагаем, что заданы наборы атрибутов А и В
А ⊆{A} i=1,k; B ⊆{Bj} j=1,m
и эти наборы состоят из θ - сравнимых атрибутов.
Тогда соединением отношений R и Q при условии β будет подмножество декартова произведения отношений R и Q, кортежи которого удовлетворяют условию β, рассматриваемому как одновременное выполнение условий:
r.Ai θi Bi: i=1,k, где k — число атрибутов, входящих в наборы А и В, а θi— конкретная операция сравнения.
Ai θi Bi D; θi — i-й предикат сравнения, определяемый из множества допустимых на домене Di операций сравнения.
R [ β] Q = { (r,q) | (r, q) | r.A θi q.Bi= "Истина", i=1,k}
Последней операцией, включаемой в набор операций реляционной алгебры, является операция деления.
Для определения операции деления рассмотрим сначала понятие множества образов.
Пусть R — отношение со схемой SR = (A1, A2 ,…, Ak);
Пусть A — некоторый набор атрибутов А ⊆{ Ai} i=1,k , A1 — набор атрибутов, не входящих в множество A.
Пересечение множеств A и A1 пусто: A A1 =0; объединение множеств равно множеству всех атрибутов исходного отношения: A A1 = SR.
Тогда множеством образов элемента у проекции R[A] называется множество таких элементов y проекции R[A ] , для которых сцепление (x, y) является кортежами отношения R, то есть
QA(x) = {y | y ∈R[A ] ∧ (x, y) ∈R} - множество образов.
Например, множеством образов отношения R15 по материалу "сталь-ст2" будет множество кортежей
R15.Материал = {< 00011075, Гайка М2, "сталь-ст2">, < 00011077, Гайка М4, "сталь-ст2">}
Дадим теперь определение операции деления.
Пусть даны два отношения R и T соответственно со схемами:
SR = (A1, A2, ... , Ak); ST = (B1, B2, ... , Bm);
A и B - наборы атрибутов этих отношений, одинаковой длины (без повторений);
A ⊆SR ;B ⊆ST. Атрибуты A1 — это атрибуты из R, не вошедшие в множество A.
Пересечение множеств A A1 = — пусто и A A1 = S. Проекции R[A] и T[B] совместимы по объединению, то есть имеют эквивалентные схемы: SR[A] ~ ST[B] .
Тогда операция деления ставит в соответствие отношениям R и T отношение Q = R[A:B]T, кортежи которого являются теми элементами проекции R[A1], для которых T[B] входит в построенные для них множество образов:
R[A:B]T = {r | r∈R[A1] ∧T[B] ⊆{y | y ∈R [A] ∧ (r, y) ∈R } }.
Операция деления удобна тогда, когда требуется сравнить некоторое множество характеристик отдельных атрибутов. Например, пусть у нас есть отношение R7, которое содержит номенклатуру всех выпускаемых деталей на нашем предприятии, а в отношении R10 хранятся сведения о том, что и в каких цехах действительно выпускается. Поставим задачу определить перечень цехов, в которых выпускается вся номенклатура деталей.
Тогда решением этой задачи будет операция деления отношения R10 на отношение R7 по набору атрибутов (Шифр детали, Наименование детали).
R 17 = R10[Шифр детали, Наименование детали: Шифр детали, Наименование детали]R7
R 17 |
Цех |
Цех1 |