Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
853.35 Кб
Скачать
  1. Ограничения, налагаемые на столбцы. Ссылочная целостность.

Одним из основополагающих понятий в технологии баз данных является понятие целостности.

Поддержка целостности в реляционной модели данных в ее классическом понимании включает в себя три аспекта.

Во-первых, это поддержка структурной целостности, которая трактуется как то, что реляционная СУБД должна допускать работу только с однородными структурами данных типа «реляционное отношение». При этом понятие «реляционного отношения» должно удовлетворять всем ограничениям, накладываемым на него в классической теории реляционной БД (отсутствие дубликатов кортежей, соответственно обязательное наличие первичного ключа, отсутствие понятии упорядоченности кортежей).

Во-вторых, это поддержка языковой целостности, которая состоит в том, что реляционная СУБД должна обеспечивать языки описании и манипулирования данными не ниже стандарта SQL. Не должны быть доступны иные низкоуровневые средства манипулирования данными, не соответствующие стандарту.

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

В-третьих, это поддержка ссылочной целостности (Declarative Referential Integrity, DR1), означает обеспечение одного из заданных принципов взаимосвязи между экземплярами кортежей взаимосвязанных отношений.

Ссылочная целостность обеспечивает поддержку непротиворечивого состояния БД в процессе модификации данных при выполнении операций добавления или удаления.

Доп. Вопрос. Привести пример ссылочной целостности в любых двух таблица. К примеру таблица студенты связана с таблицей специальности через одинаковые столбцы в двух таблицах

  1. Запросы к нескольким таблицам (соединения таблиц).

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

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

SELECT Customers.cname,

Salespeople.sname

FROM Customers, Salespeolpe

WHERE Salespeolpe.snum = Customers.snum;

Также можно, как и в обычных запросах, указывать и другие условия. Можно соединять какое угодно количество таблиц.

Доп. Вопрос. Может ли таблица соединяться сама с собой. Может. Эта связь называется рекурсивной.

  1. Нормализация отношений (функциональная и транзитивная зависимости). Нормальные формы

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

Преимущества нормализации:

  • сводит к минимуму избыточность данных;

  • уменьшает проблемы обеспечения целостности;

  • выявляет опущенные связи, сущности и таблицы.

Основные нормальные формы:

  • первая нормальная форма (1NF) – все атрибуты должны иметь одно значение и не повторяться;

  • вторая нормальная форма (2NF) – все атрибуты должны зависеть от всего UID своей сущности;

  • третья нормальная форма (3 NF) – атрибуты, не входящие в UID, не могут зависеть от другого атрибута, не входящего в UID.

Основные свойства нормальных форм:

  • каждая следующая нормальная форма в некотором смысле улучшает свойства предыдущей;

  • при переходе к следующей нормальной форме свойства предыдущих нормальных форм сохраняются.

Таблицы в БД связаны между собой с помощью ключей. Зависимости между таблицами могут быть функциональные, многозначные и транзитивные.

Функциональная зависимость, по сути, является связью типа «многие одному» между множествами атрибутов (столбцов) рассматриваемого отношения.

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

Транзитивная зависимость. Если для атрибутов А, В и С некоторого отношения существуют функциональные зависимости А→В, В→С, говорят, что атрибут С связан транзитивной зависимостью с атрибутом А через атрибут В (при этом атрибут А не должен функционально зависеть ни от атрибута В, ни от атрибута С).

Доп вопрос. Имеются ли еще нормальные формы.

Нормальная форма Бойса — Кодда

Доменно-ключевая нормальная форма

Пример избыточности данных. В таблицах не дублируются строки. То есть мы можем получить нужную нам информацию из 2 таблиц

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]