- •Вопросы по дисциплине «Информационные системы и технологии»
- •Функциональная зависимость
- •Правила вывода Армстронга
- •Операторы[править | править исходный текст]
- •Преимущества
- •Недостатки
- •Процедурные расширения
- •Получение информации
- •Передача информации
- •Обработка информации
- •Хранение информации
- •1) Производительность
- •2) Надежность и безопасность
- •3) Расширяемость и масштабируемость
- •Преимущества
- •Недостатки
- •Многоуровневая архитектура клиент-сервер
Функциональная зависимость
Пусть
дано отношение
со
схемой (заголовком)
,
и
—
некоторые подмножества множества
атрибутов отношения
.
Множество
функционально
зависит от
тогда
и только тогда, когда каждое значение
множества
связано
в точности с одним значением множества
.
Обозначается
.
Другими словами, если два кортежа совпадают по атрибутам , то они совпадают и по атрибутам .
В этом случае — детерминант, — зависимая часть.
Функциональная зависимость называется тривиальной, если зависимая часть является подмножеством детерминанта.
Правила вывода Армстронга
Рефлексивность:
Пополнение:
Транзитивность:
Кроме того, из данных правил довольно просто выводятся несколько дополнительных правил, упрощающих задачу вывода функциональных зависимостей.
Самоопределение:
Декомпозиция:
Объединение:
Композиция:
Теорема всеобщего объединения Дарвена:
Нормализация отношений. Минимальное множество ФЗ. Нормальные формы. Денормализация отношений.
Нормализация отношений – это формальный аппарат ограничений на формирование отношений (таблиц), который позволяет устранить дублирование, обеспечивает непротиворечивость хранимых в базе данных, уменьшает трудозатраты на ведение (ввод, корректировку) базы данных.
минимальное множество ФЗ.
- является минимальным если:
1. Каждая зависимость в Х имеет один атрибут правой части.
2. Неодну зависимость А определяет Б нельзя заменить зависимостью С определяет Б, где С является собственным подмножеством А и получить в результате эквивалентное множество ФЗ
3. Из множество Х нельзя удалить ни одной зависимости. И получить в результате. Эквивалентное множество ФЗ
Минимальным покрытием множества ФЗХ называется минимальное множество зависимостей Хмин эквивалентное Х
Нормальные формы
1нф.
Отношение находятся в 1нф тогда и только тогда когда не один атрибут картежа не содержит более одного значения и любой ключевой атрибут не пуст
2нф.
Отношения находятся в 2нф если оно удовлетворяет 1нф и все его атрибуты не входящи первичный ключ связаны полной ФЗ с первичным ключом.
3нф.
Отношение находится в 3нф если оно удовлетворяет требованиям 2нф и не имеет атрибутов невходящих в первичный ключ которые находились бы в транзиивной ФЗ от этого ключа
Денормализация (англ. denormalization) — намеренное приведение структуры базы данных в состояние, не соответствующее критериям нормализации, обычно проводимое с целью ускорения операций чтения из базы за счет добавления избыточных данных.
Устранение аномалий данных в соответствии с теорией реляционных баз данных требует, чтобы любая база данных была нормализована, то есть соответствовала требованиям нормальных форм. Соответствие требованиям нормализации минимизирует избыточность базы данных и обеспечивает отсутствие многих видов логических ошибок обновления и выборки данных.
Однако в некоторых случаях для некоторых запросов выборки операция соединения (JOIN) нормализованных отношений выполняется неприемлемо долго. Вследствие этого в ситуациях, когда производительность таких запросов невозможно повысить иными средствами, может проводиться денормализация — композиция нескольких отношений (таблиц) в одну, которая, как правило, находится во второй, но не в третьей нормальной форме. Новое отношение фактически является хранимым результатом операции соединения исходных отношений.
За счёт такого перепроектирования операция соединения при выборке становится ненужной и запросы выборки, которые ранее требовали соединения, работают быстрее.
Следует помнить, что денормализация всегда выполяется за счёт повышения риска нарушения целостности данных при операциях модификации. Поэтому денормализацию следует проводить в крайнем случае, если другие меры повышения производительности невозможны. Идеально, если денормализованная БД используется только на чтение.
Кроме того, следует учесть, что ускорение одних запросов на денормализованной БД может сопровождаться замедлением других запросов, которые ранее выполнялись отдельно на нормализованных отношениях.
Реляционная алгебра. Операции реляционной алгебры.
Реляционная алгебра — замкнутая система операций над отношениями в реляционной модели данных. Операции реляционной алгебры также называют реляционными операциями.
Первоначальный набор из 8 операций был предложен Э. Коддом в 1970-е годы и включал как операции, которые до сих пор используются (проекция, соединение и т.д.), так и операции, которые не вошли в употребление (например, деление отношений).
В процессе развития реляционной теории и практики было предложено несколько новых реляционных операций, например полусоединение (SEMI-JOIN) и полуразность, или анти-полусоединение (ANTI-SEMI-JOIN)[1][2], CROSS APPLY и OUTER APPLY, транзитивное замыкание (TCLOSE) и др.
Поскольку многие операции выразимы друг через друга, в составе реляционной алгебры можно выделить несколько вариантов базиса (набора операций, через который выразимы все остальные). Наиболее известный и строго определённый базис (алгебра А) предложен Кристофером Дейтом и Хью Дарвеном[3].
Реляционная алгебра и реляционное исчисление эквивалентны по своей выразительной силе[4]. Существуют правила преобразования запросов между ними.
5 основных операций:
выборка;
проекция;
декартово произведение;
объединение;
разность.
3 дополнительные операции:
соединения;
пересечения;
деления.
Реляционное исчисление.
Реляционное исчисление — прикладная ветвь формальной теории, носящей название «исчисления предикатов первого порядка». В основе исчисления лежит понятие переменной с определенной для нее областью допустимых значений и понятие правильно построенной формулы, опирающейся на переменные, предикаты и кванторы. Наряду с реляционной алгеброй является способом получения результирующего отношения в реляционной модели данных. В зависимости от того, что является областью определения переменной, различают:
Исчисление кортежей
Исчисление доменов
Исчисление кортежей
Запросы, использующие TRC, представлены в следующем виде: x(A) ∣ F(x) где x - это переменная кортежа, A - это множество атрибутов и F - формула. Результирующие отношение состоит из всех кортежей t(A), которые удовлетворяют F(t).
Исчисление доменов
В исчислении доменов областью определения переменных являются не отношения, а домены. Применительно к базе данных СЛУЖАЩИЕ-ПРОЕКТЫ можно говорить, например, о доменных переменных ИМЯ (значения – допустимые имена) или НОСЛУ (значения – допустимые номера служащих).
Процедурные и непроцедурные средства доступа к данным. Язык SQL.
SQL (структурированный язык запросов) — формальный непроцедурный язык программирования, применяемый для создания, модификации и управления данными в произвольной реляционной базе данных, управляемой соответствующей системой управления базами данных (СУБД). SQL основывается на исчислении кортежей.
Язык SQL представляет собой совокупность
операторов,
инструкций,
и вычисляемых функций.
