Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Первичный ключ




Ключи

Идентификация объектов и их свойств (атрибутов)

Основные понятия

Реляционная база данных – это совокупность отношений.

Отношением называется таблица, которая обладает следующими свойствами:

· все элементы каждого ее столбца имеют одинаковую природу;

· каждый столбец имеет уникальное имя;

· в таблице нет двух одинаковых строк;

· информативность таблицы не зависит от порядка расположения строк или столбцов.

Строки отношения называются кортежами. Каждый столбец отношения имеет уникальное имя, которое называется наименованием атрибута или просто атрибутом. Множество допустимых значений атрибута образует домен атрибута, который обозначается как dom (например, домен атрибута А – dom(A)), а множество допустимых значений всех атрибутов отношения - домен отношения (обозначается буквой D). Количество атрибутов в отношении, как правило, остается неизменным в течение жизни базы данных и называется степенью отношения. Количество кортежей определяет мощность отношения (кардинальное число), которая в свою очередь постоянно изменяется во времени.

Множество всех атрибутов отношения определяет схему отношения. Как правило, отношение обозначается строчными буквами конца латинского алфавита, например: r, s,..., а схема отношения – прописными, соответственно: R, S,.... Тогда отношение r со схемой R будет обозначаться как r(R), а если R={A1,A2,...,Ak}, то возможен следующий вариант записи r(A1,A2,...,Ak). Кортежи впоследствии мы будем обозначать буквой t,тогда, если AiÎR, то t(Ai) следует читать так – значение кортежа на атрибуте Аi, а также, ti(S) – значение I – ого кортежа на атрибутах множества S в отношении r, полагая при этом, что SÍR.

Определение 1

Кортеж t={a1, a2,…,an} есть отображение из схемы отношения в домен отношения D такое, что a1Îd1,a2Îd2, …, anÎdn.

Определение 2

Отношение есть множество отображений из схемы отношения в домен отношения D такое, что a1Îd1,a2Îd2, …, anÎdn.

Идентификация атрибутов происходит в процессе изучения процессов, подлежащих автоматизации. На первом этапе выделяются классы объектов (сущности) и устанавливаются их свойства (атрибуты).

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

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

Ниже приведены имена атрибутов, которые имели место при описании выделенных сущностей (см. Таблица 1).

Присваивая имена атрибутам, необходимо отслеживать, чтобы они были простыми, достаточно короткими и понятными. Имя атрибута должно быть выражено существительным в единственном числе, в ряде допускается использование характеризующих прилагательных. Не желательно в имя атрибута включать без необходимости имя сущности, например, именовать атрибуты Номер заказа, Номер государственной регистрации машины. Более коррект- ной считается следующая форма обращения к тому или иному атрибуту <имя сущности>.<имя атрибута>. Например, Заказ.Номер, Автомобиль.Номер государственной регистрации.

Таблица 1

Сущность Название атрибута
Автомобиль Номер государственной регистрации
  Цвет
  Марка
Заказ Номер
  Адрес
  Номер телефона
  Название конечного пункта
  Время регистрации
  Время выполнения

 

Некоторые атрибуты могут быть составными, их следует выделить и проанализировать. Например, атрибут Адрес состоит из нескольких составляющих, и в случае с заказом такси он будет включать в себя название улицы, номер дома, номер корпуса и номер подъезда. Если в выходных документах не требуется расчленение этого атрибута на составляющие и если при осуществлении запросов к базе данных, в качестве критерия запроса не используется какая – либо часть составного атрибута, то его можно оставить в исходном виде. Однако, если диспетчер периодически делает запрос, выявляя, как часто заказы поступают из домов в начале улицы Куратова или с конца набережной Нефтяников, то целесообразно представить составной атрибут Адрес в виде простых атрибутов: Название улицы, Номер дома, Номер корпуса, Номер подъезда. Отметим, что атрибут Название улицы также можно рассматривать как составной, поскольку в городе может присутствовать переулок Нефтяников, улица Нефтяников, набережная Нефтяников и т.д., поэтому возможно, исходя из ранее изложенных соображений, ввести такой атрибут как объект населенного пункта (переулок, улица, проспект и т.д.). Окончательный список атрибутов приведен ниже (см. Таблица 2.)

Таблица 2

Сущность Название атрибута
   
Автомобиль Номер государственной регистрации
  Цвет
  Марка

Таблица 2 (окончание)

   
Заказ Номер
  Объект (улица, переулок, проспект, площадь и т.п.)
  Название объекта
  Номер дома
  Номер корпуса
  Номер подъезда
  Номер телефона
  Название конечного пункта
  Время регистрации
  Время выполнения

 

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

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

Определение 3

Подмножество атрибутов схемы отношения, однозначно идентифицирующее любую запись в отношении и не имеющее собственного подмножества [1] , также идентифицирующего любую запись в отношении, называется ключом отношения.

Как следует из определения, ключ отношения должен отвечать следующим требованиям:

· идентифицировать кортеж;

· не содержать "лишних" атрибутов.

Если множество атрибутов содержит собственное подмножество, однозначно идентифицирующее запись в отношении, то оно называется суперключом. Однако СУПЕРКЛЮЧ - НЕ КЛЮЧ.

Определение 4

Атрибут, входящий в ключ отношения (первичный или возможный), называется основным атрибутом.

Ключ может состоять как из одного атрибута, так и нескольких. Во втором случае говорят, что ключ является составным. Одно отношение может иметь несколько ключей. В качестве активного ключа выбирается только один, его называют первичным (на схеме первичный ключ выделяется подчеркиванием), остальные ключи называют возможными. При выборе первичного ключа следует отдать предпочтение несоставному ключу или ключу, содержащему наименьшее количество атрибутов. При этом следует учитывать, что правка значений первичного ключа нежелательна. Например, нельзя в качестве первичного ключа принимать № паспорта или какого-либо документа, значение номера которого может меняться в течение жизни системы. Если в отношении нет ключа, отвечающего всем вышеперечисленным требованиям, то вводится так называемый суррогатный ключ – атрибут, значение которого для каждого кортежа уникально и является внутренним делом системы. Примерами суррогатных ключей могут служить табельный номер, который присваивается сотруднику на предприятии, регистрационный номер исходящей и входящей корреспонденции и т.п. Кроме того, суррогатный ключ позволяет уменьшить объем хранящихся в информационной системе данных. Рассмотрим это на следующем примере. Пусть предприятие получает товар по накладным, номера которых уникальны только для данного поставщика. Это означает, что для идентификации накладной необходимо знать ее номер, дату ее оформления и название предприятия поставщика. R(Накладная)={Номер, Название предприятия}. Допустим, что по одной накладной может быть отпущено несколько наименований товара. Для определения количества отпускаемого товара, если даже предположить, что одноименный товар не может иметь различных цен, в отношении Содержание накладной необходимо использовать как минимум 4 атрибута (на схеме отношения они подчеркнуты): R(Содержание накладной)={Номер, Название предприятия, Название товара, Цена, Количество}. Размер первичного ключа отношения Содержание накладной можно было бы значительно сократить, как впрочем, и само отношение Содержание накладной, если в отношение Накладная ввести новый атрибут Регистрационный номер (суррогатный ключ), в этом случае схемы отношений примут вид: R(Накладная) = {Регистрационный номер, Номер, Название предприятия}, R(Содержание накладной) = {Регистрационный номер, Название товара, Цена, Количество}.

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

Таблица 3

Номер накладной Название предприятия
  Завод «Прогресс»
  Завод «Прогресс»
  Завод «Прогресс»
  Завод «Маяк»

Таблица 4

Номер накладной Название предприятия Название товара Цена Количество
  Завод «Прогресс» Изделие А    
  Завод «Прогресс» Изделие А    
  Завод «Прогресс» Изделие B    
  Завод «Прогресс» Изделие A    
  Завод «Маяк» Изделие А    
  Завод «Маяк» Изделие B    

 

И в завершение еще раз сформулируем дополнительные требования к ключам:

· Ключи не должны содержать NULL[2] признаков атрибутов.

· Значение ключа не должно корректироваться в процессе жизни данных, или вероятность их корректировки должна быть очень мала.

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

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




Поделиться с друзьями:


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


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



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




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