русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ключи схем отношений.


Дата добавления: 2015-07-09; просмотров: 828; Нарушение авторских прав


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

Пусть задана схема отношения R=(U, F), XÍU;

Множество Х называют сверхключом схемы отношения R, если Х+=U, то есть зависимость Х—>U принадлежит F+ .

Минимальный по включению сверхключ называется ключом, то есть Х – ключ схемы R, если:

1) X+ = U;

2) ни для какого собственного подмножества YÌХ, Y+¹U.

В литературе часто такой ключ называют возможным ключом, а собственно ключом называют некоторый определенный возможный помеченный ключ, иногда такой помеченный ключ называют первичным, а остальные – просто ключами, здесь термины: возможный ключ, первичный ключ, не используются, поскольку они связаны с семантикой базы.

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

Задача нахождения произвольного “первого попавшегося” ключа отношения решается довольно просто. Это можно сделать следующим образом: рассматривается все множество атрибутов U, из него вычеркивается любой атрибут, получаем множество V; если V+=U, то вычеркнутый атрибут так и остается вычеркнутым, иначе возвращаем его на место. Далее пытаемся вычеркнуть следующий атрибут, так продолжаем до тех пор, пока ни один атрибут нельзя будет вычеркнуть. Оставшийся набор атрибутов является ключом отношения.

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



Пример.

Для схемы отношения R=(U, F), где U={А1, А2, …, А8},

F={А1¾>А2; А2—>АЗ; A3¾>А1; А2,АЗ—>А4; А4,А7¾>А6;

А6,А5—>А7; А7¾>А8} требуется найти все ключи, наборы первичных и непервичных атрибутов и сверхключ. В результате решения получаем.

Все ключи отношения:

К1={А1, А5, А6}, К2={А1, А5, А7}, КЗ={А2, А5, A6},

К4={А2, А5, А7}, К5={АЗ, А5, А6}, К6={АЗ, А5, А7}.

Множество первичных атрибутов: {А1, А2, АЗ, А5, А6, А7}.

Множество непервичных атрибутов: {А4, А8}.

Ясно, что сверхключом является любое множество атрибутов, содержащее ключ, например, в приведенном примере сверхключом является множество: {А1, А2, А5, А6}.



<== предыдущая лекция | следующая лекция ==>
Функциональные зависимости и их свойства. | Покрытие множеств зависимостей.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.