Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Неопределенная информация и трехзначная логика

Ключи

Роль ключа основана на концепции определяемости.

В контексте таблиц баз данных, выражение А определяет В, означает, что зная значение атрибута А можно найти значение атрибута В.

Принцип определяемости используется при формулировании центральной концепции реляционных баз данных – функциональной зависимости.

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

Любой атрибут, который является частью составного ключа, называют ключевым атрибутом.

Типы ключей:

· Суперключ – это атрибут или комбинация атрибутов, уникально идентифицирующих каждую сущность таблицы.

· Потенциальный ключ. Это минимальный суперключ. Т.е. суперключ, который не содержит подмножества атрибутов, которое само по себе тоже является суперключом.

· Первичный ключ. Это потенциальный ключ, выбранный для уникальной идентификации строк таблицы. Он не может содержать пустых значений.

· Альтернативный ключ. Это потенциальный ключ, который не был выбран в качестве первичного.

· Вторичный ключ. Это атрибут или комбинация атрибутов, используемых исключительно в целях поиска данных и не требующий уникальности.

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

Пример(суперключ): Из ТАБЛИЦА 1

SNUM

SNUM,LNAME

SNUM, LNAME,FNAME

Пример(потенциальный ключ):

SNUM

PASP

LNAME,FNAME

Пример(первичный ключ):

PASP

Пример(альтернативный ключ):

SNUM

Ключи используют для:

1. Исключения дублирования значений в ключевых атрибутах.

2. Упорядочивание строк.

3. Ускорение работы с картежами отношения.

4. Организации связывания таблиц

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

Приведем 3 характерных примера:

1. Может оказаться, что при приеме служащего на работу, ему не сразу выдается конкретное задание, тогда атрибут «выполняемое задание» у этого сотрудника по крайней мере временно будет содержать неопределенное значение.

2. Пусть в одной таблице хранится информация о различных типах летательных аппаратов. В этом случае поле «мощность_двигателя» может представлять содержательные данные только для тех аппаратов, у которых этот двигатель есть. Для планёра такое поле может содержать только неопределенное значение.

3. В таблице учета военнообязанных для некоторых лиц может отсутствовать «точная дата рождения»(пока неизвестна). Однако в данном случае полная неопределенность отсутствует, поскольку известно, что любое допустимое значение этого атрибута принадлежит известному диапазону.

Эти три примера иллюстрируют три наиболее распространенных случае неполноты информации, их соответственно называют случаями неизвестности, неприменимости и возможности. Поэтому обычно в реляционных СУБД выделяют одно специальное значение NULL, которое считается автоматически входящим в любой встроенный тип данных и любой определенный пользователем домен. Что имеется ввиду под неопределенным значением в каждом конкретном случае определяется семантикой предметной области.

В языке запросов фиксируется лишь следующее, если при вычислении арифметического выражения хотя бы одно из использованных значений есть NULL, то и значение всего арифметического выражения есть NULL, соответственно в операциях сравнения, значения левого или правого операнда или и того и другого есть нулл, то результатом операции сравнения является «неизвестно». Тем самым в языке запросов используется не двузначная, а трехзначная логика. Таблицы истинности основных операций расширяются следующим образом:

· True AUD unknown = unknown

· False OR unknown = false

· NOT (unknown) < unknown

Таким образом наличие выделенного неопределенного значения null в некоторой степени решает проблему представления неполной информации, во вторых трехзначная логика позволяет в ряде случаев не заботится о наличии неопределенных значений при формулировке запросов.

Как принято говорить неопределенное значение и трехзначная логика позволяют повысить выразительную мощность языка запросов.

Связывание таблиц

В реляционных СУБД для указания связи таблиц производят операцию их связывания. Преимущества, обеспечивающиеся связыванием таблице, заключаются:

1. В контроле целостности(СУБД) вводимых данных в соответствии с установленными связями, что повышает достоверность хранения в СУБД информации.

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

Между таблицами могут устанавливаться бинарные, тернарные и в общем случае n-арные связи.

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

Связь вида 1:1 является частным случаем связи 1:M и образуется, когда все поля связи одной и другой таблицы являются первичными ключами. Поскольку значения в первичных ключах обеих таблиц не повторяются, обеспечивается взаимно-однозначное соответствие записей этих таблиц. На практике связи вида 1:1 используются сравнительно редко, т.к. хранимую в двух таблицах информацию в этом случае можно объединить в одну таблицу, однако в некоторых случаях для ускорения обработки информации, повышения удобства работы нескольких пользователей с общей информацией, обеспечение более высокой степени защиты информации, действительно может оказаться удобней иметь две и более таблиц.

Связь 1:М имеет место в случае, когда одной записи первой(главной) таблицы соответствует несколько записей второй(подчиненной, дочерней) таблицы.

Самый общий вид связи М:М возникает в случаях, когда нескольким записям одной таблицы соответствует несколько записей другой таблицы. При этом каждая сторона отношения выглядит как отношение 1:М. Однако если рассматривать взаимосвязь таблиц с двух сторон становится очевидно, что ни одна из таблиц не может быть главной и для их связывания необходима третья таблица. Связующая таблица представляет собой промежуточную таблицу, которая служит «мостом» между двумя таблицами в отношении М:М, её ключ состоит из ключевых полей этих таблиц, с каждой из которых она связана отношением «многие к одному», помимо ключевых полей связующая таблица может содержать дополнительные поля, которых нет в связываемых таблица, но которые могут иметь значение для каждой из них. Связанные поля не обязательно должны иметь одинаковые имена, однако они должны иметь одинаковые типы данных. Существует возможность создавать связь между текстовыми полями разной длины, однако это может вызвать сложности при создании запросов.

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

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

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

<== предыдущая лекция | следующая лекция ==>
Торговая палата | Ограничение целостности
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 492; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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