Управление данными, синергия 3 семестр, шпаргалка, краткое содержание учебника. Управление данными 3 сем. Управление данными
Скачать 0.55 Mb.
|
Получение реляционной схемы из ER-диаграммы:Каждая простая сущность превращается в таблицу (отношение). Имя сущности становится именем таблицы. Каждый атрибут становится возможным столбцом с тем же именем. Компоненты уникального идентификатора сущности превращаются в первичный ключ. Связи «многие к одному» и «один к одному» становятся внешними ключами. Индексы создаются для первичного ключа (уникальный индекс), а также внешних ключей и тех атрибутов, которые будут часто использоваться в запросах. Если в концептуальной схеме присутствуют подтипы, то возможны два варианта: все подтипы хранятся в одной таблице, которая создается для самого внешнего супертипа, а для подтипов создаются представления; во втором случае для каждого подтипа создается отдельная таблица и для каждого подтипа первого уровня (для более нижних - представления) супертип воссоздается с помощью представления UNION (из всех таблиц подтипов выбираются общие столбцы - столбцы супертипа). Если остающиеся внешние ключи все принадлежат одному домену, т.е. имеют общий формат, то создаются два столбца: идентификатор связи и идентификатор сущности. Нормальные формы: В первой нормальной форме ER-диаграммы устраняются повторяющиеся атрибуты или группы атрибутов, т.е. производится выявление неявных сущностей, «замаскированных» под атрибуты. Во второй нормальной форме устраняются атрибуты, зависящие только от части уникального идентификатора. Эта часть уникального идентификатора определяет отдельную сущность. В третьей нормальной форме устраняются атрибуты, зависящие от атрибутов, не входящих в уникальный идентификатор. Эти атрибуты являются основой отдельной сущности. Нормализация: приближение к удовлетворительному набору схем отношений. Каждой нормальной форме соответствует набор ограничений. Свойства: каждая следующая форма лучше предыдущей, при переходе к следующей форме свойства прдыдущей сохраняются. Функциональная зависимость - в отношении R атрибут Y функционально зависит от атрибута X (X и Y могут быть составными) в том и только в том случае, если каждому значению X соответствует в точности одно значение Y: R.X (r) R.Y. Полная функциональная зависимость - функциональная зависимость R.X (r) R.Y называется полной, если атрибут Y не зависит функционально от любого точного подмножества X. Транзитивная функциональная зависимость - функциональная зависимость R.X -> R.Y называется транзитивной, если существует такой атрибут Z, что имеются функциональные зависимости R.X -> R.Z и R.Z -> R.Y и отсутствует функциональная зависимость R.Z -> R.X. Неключевой атрибут - любой атрибут отношения, не входящий в состав первичного ключа. Взаимно независимые атрибуты - ни один из атрибутов не является функционально зависимым от других. Детерминант - любой атрибут, от которого полностью функционально зависит некоторый другой атрибут. Многозначные зависимости - В отношении R (A, B, C) существует многозначная зависимость R.A -> -> R.B в том и только в том случае, если множество значений B, соответствующее паре значений A и C, зависит только от A и не зависит от С. Теорема Фейджина. Отношение R (A, B, C) можно спроецировать без потерь в отношения R1 (A, B) и R2 (A, C) в том и только в том случае, когда существует MVD A -> -> B | C. Зависимость соединения - отношение R (X, Y, ..., Z) удовлетворяет зависимости соединения * (X, Y, ..., Z) в том и только в том случае, когда R восстанавливается без потерь путем соединения своих проекций на X, Y, ..., Z. Первая нормальная форма (1NF). Значения всех атрибутов отношения атомарны. Вторая нормальная форма (2NF). Отношение R находится во второй нормальной форме (2NF) в том и только в том случае, когда оно находится в 1NF, и каждый неключевой атрибут полностью зависит от первичного ключа. Отношение R находится во второй нормальной форме (2NF) в том и только в том случае, когда оно находится в 1NF, и каждый неключевой атрибут полностью зависит от каждого ключа R. Третья нормальная форма (3NF). Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF и каждый неключевой атрибут нетранзитивно зависит от первичного ключа. Отношение R находится в третьей нормальной форме (3NF) в том и только в том случае, если находится в 2NF, и каждый неключевой атрибут не является транзитивно зависимым от какого-либо ключа R. Нормальная форма Бойса-Кодда (BCNF). Отношение R находится в нормальной форме Бойса-Кодда (BCNF) в том и только в том случае, если каждый детерминант является возможным ключом. Четвертая нормальная форма (4NF). Отношение R находится в четвертой нормальной форме (4NF) в том и только в том случае, если в случае существования многозначной зависимости A -> -> B все остальные атрибуты R функционально зависят от A. Пятая нормальная форма (нормальная форма проекции-соединения, 5NF или PJ/NF). Отношение R находится в пятой нормальной форме в том и только в том случае, когда любая зависимость соединения в R следует из существования некоторого возможного ключа в R. Тема 4. Основы SQL SQL - язык реляционных БД (1986г.). Ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц-отношений. Используется как для выполнения запросов к данным, так и для построения прикладных программ. Основные категории команд языка SQL: DDL – язык определения данных. Определение структур базы данных. Позволяет создавать и изменять структуру объектов БД. Основные команды: create table, alter table, drop table, create index, alter index, drop index. DML – язык манипулирования данными. Манипулирование информацией внутри объектов реляционной БД. Команды: insert, update, delete. DQL – язык запросов. Выборка данных. Для формирования запросов к реляционной БД - select. DCL – язык управления данными. Управление доступом к информации, находящейся внутри БД. Команды: grant, revoke. Команды администрирования данных. Контроль за выполняемыми действиями и анализ операций БД. Команды управления транзакциями. Команды: commit, rollback, savepoint, set transaction. Способы использования SQL: 1) интерактивная работа, заключающаяся во вводе с терминала отдельных операторов; 2) внедрение операторов в программы на процедурных языках. Идентификаторы предназначены для обозначения объектов в БД и являются именами таблиц, представлений, столбцов и других объектов БД. Набор символов включает строчные и прописные буквы латинского алфавита (A-Z, a-z), цифры (0-9) и символ подчеркивания (_). Идентификатор: может иметь длину до 128 символов, начинается с буквы, не может содержать пробелы. <идентификатор>::=<буква> {<буква>|<цифра>}[...n] Метаязык - язык, в терминах которого дается описание языка SQL. Синтаксические определения задают с помощью специальной металингвистической символики, называемой Бэкуса-Науэра формулами (БНФ). Прописные буквы используются для записи зарезервированных слов. Строчные буквы употребляются для записи слов, определяемых пользователем. Символы в нотации БНФ и их обозначения
Данные - совокупная информация, хранимая в БД в виде одного или нескольких различных типов. Скалярные типы данных, определенные стандартом
Символьные данные состоят из последовательности символов, входящий в набор символов СУБД (чаще всего исп. наборы ASCII и EBCDIC). Формат: <символьный_тип>::= { CHARACTER [ VARYING][длина] | [CHAR | VARCHAR][длина]} Фиксированная и переменная (VARYING) длина: ввести меньшее значение в фиксированной - добавятся справа пробелы; переменная экономит внешнюю память. Битовые данные. Битовый тип исп. для определения битовых строк (последовательность двоичных цифр, каждая из кот. может иметь значение либо 0, либо 1). Формат: <битовый_тип>::= BIT [VARYING][длина] Точные числа. Тип точных числовых данных применяется для определения чисел, которые имеют точное представление (числа сост. из цифр, необязательной десятичной точки и необязательного символа знака). Формат: <фиксированный_тип>::= {NUMERIC[точность[,масштаб]|{DECIMAL|DEC} [точность[, масштаб] | {INTEGER |INT}| SMALLINT} Точность задает общее количество значащих десятичных цифр числа (длина как целой части, так и дробной, но без учета десятичной точки). Масштаб указывает количество дробных десятичных разрядов числа. NUMERIC и DECIMAL - для хранения чисел в десятичном формате. INTEGER (INT) - для больших положительных или отрицательных целых чисел. SMALLINT - небольших положительных или отрицательных целых чисел. Округленные числа (с плавающей точкой) для описания данных, которые нельзя точно представить в компьютере, в частности действительных чисел. Формат: <вещественный_тип>::= { FLOAT [точность]| REAL | DOUBLE PRECISION} Точность задает количество значащих цифр мантиссы. Дата и время для определения моментов времени с некоторой установленной точностью. Формат: <тип_даты/времени>::= {DATE | TIME[точность][WITH TIME ZONE]| TIMESTAMP[точность][WITH TIME ZONE]} Точность задает количество дробных десятичных знаков, определяющих точность сохранения значения в поле SECOND. Интервал (INTERVAL) для представления периодов времени. Домен - набор допустимых значений для одного или нескольких атрибутов. Оператор: <определение_домена>::= CREATE DOMAIN имя_домена [AS] тип_данных [ DEFAULT значение] [ CHECK (допустимые_значения)] Оператор удаления: DROP DOMAIN имя_домена [ RESTRICT | CASCADE] В случае CASCADE любые столбцы таблиц, созданные с использованием удаляемого домена, будут автоматически изменены и описаны как содержащие данные того типа, который был указан в определении удаляемого домена. Типы данных
|