Отношения.
Реляционные базы данных
Рассмотрим подробно это определение. Как представлены свойства объекта? Для каждого свойства выбирается некоторое множество значений, называемое доменом, элементы которого (и только они) используются для записи характеристики конкретного объекта. Другими словами, смысл домена в том, чтобы определить роль соответствующей характеристики при описании свойств объекта. Наиболее распространенные… Читать ещё >
Отношения. Реляционные базы данных (реферат, курсовая, диплом, контрольная)
До сих пор мы рассматривали множества, характеристики которых заданы в самом общем виде. Если же на объекты наложить более строгие условия, то можно ввести дополнительные операции. Основным объектом реляционных баз данных является отношение.
Отношение в реляционной базе данных — подмножество прямого (декартова) произведения значений различных свойств объекта, рассматриваемого в определенном ракурсе.
Рассмотрим подробно это определение. Как представлены свойства объекта? Для каждого свойства выбирается некоторое множество значений, называемое доменом, элементы которого (и только они) используются для записи характеристики конкретного объекта. Другими словами, смысл домена в том, чтобы определить роль соответствующей характеристики при описании свойств объекта. Наиболее распространенные домены: числа, строки, булевские значения (истина и ложь), множества значений, заданные перечислением (например, названия дней недели или месяцев), допустимые оценки знаний студентов (пятибалльная, европейская — А, В, С, D, E, FX, F, стобальная и т. п.), названия дисциплин и т. д. Прямое произведение доменов представляет множество всех возможных комбинаций элементов, выбранных из каждого домена. Например, если отношение содержит три свойства, то каждый из элементов отношения определяется тремя значениями, по одному из каждого домена. В любой момент времени в отношении представлена только часть (подмножество) всех возможных комбинаций свойств объекта, причем, как правило, незначительная часть.
Для чего добавлены слова «объект, рассматриваемый в определенном ракурсе». Слово «объект» используется в самых различных смыслах. Например, студент это объект, множество — объект, отношение объект и т. д. Часто возникает путаница, что именно в данный момент понимается под объектом. При создании модели мы естественно берем не все характеристики реального объекта, а только часть их, рассматривая реальный объект с какой-либо определенной точки зрения, в определенном ракурсе. Как правило, в базе данных информация о реальном объекте хранится в различных ракурсах, и, как правило, разбросана по разным отношениям. Обычно формулировка задачи выполняется в терминах реальных объектов и умение студента состоит в том, чтобы при ее решении выбрать соответствующие поставленной задаче отношения, именно те, в которых хранятся данные об объектах, обозначенных в поставленной задаче.
Таким образом, отношение можно рассматривать как множество элементов (строк, кортежей), каждый из которых содержит предусмотренные этим отношением значения характеристик некоторого реального объекта.
Наиболее трудная часть решения задачи студентом состоит как раз в правильной интерпретации текста задачи, выделении тех отношений в базе данных, в которых хранятся характеристики объектов, упомянутых в задаче.
Отношение можно рассматривать как двумерную таблицу, каждая строка которой соответствует значениям выделенных характеристик объекта, а столбцы — характеристики (свойства, атрибуты) этих объектов. Степенью отношения называется количество атрибутов, а мощностью — количество кортежей.
Кроме естественных характеристик объектов, таких как вес, рост, оценка знаний следует обратить внимание на особые характеристики, называемые ключами отношения.
Первичный ключ — характеристика объекта, назначение которой состоит в том, чтобы различать объекты, собранные в одном отношении.
В большинстве случаев это специальная характеристика — идентификатор, не несущая какой-либо смысловой нагрузки, но в отдельных случаях роль первичного ключа могут играть и обычные свойства, при условии, что они не могут принимать одинаковые значения для различных объектов в течение всего времени существования отношения.
Между разными объектами могут существовать связи. Например, фраза «староста группы» должна интерпретироваться следующим образом. Имеется два различных типа объектов: студенты и группы. Один из студентов, как правило, учащийся в группе, играет в ней особую роль — роль старосты группы. Эта роль и является связью между двумя типами объектов. Кстати, в предыдущем предложении высказана и другая связь между теми же типами объектов — студент учится в группе. Более подробно связи рассматриваются в разделе «проектирование баз данных». Здесь мы только подчеркиваем, что связи в реляционных базах данных реализуются через специальные свойства объектов — внешние ключи.
Внешний ключ — специальная характеристика объекта, реализующая связь этого объекта с другим.
В некоторых случаях связи между объектами реализуются отдельными отношениями. В таких отношениях совокупность внешних ключей, являясь первичным ключом этого отношения, характеризует (указывает на) те объекты, между которыми связь установлена.
Здесь приходится еще раз подчеркнуть, что в реляционной модели отношениями реализуются как множества объектов, так и факты существования связей между объектами В этом случае, конечно же, интерпретировать отношение как совокупность объектов не правильно. Надо говорить о множестве существующих связей между объектами. Однако на применении операций над отношениями этот нюанс роли не играет.. В связи с этим, еще раз следует отметить о роли как самих отношений во всей модели, так и о роли любого из атрибутов в каждом отношении. Одной, но достаточно важной составляющей, успешного решения задач в базах данных является четкое представление о той роли, которую атрибут играет в отношении и во всей модели в целом. Именно поэтому при проектировании модели существенное внимание должно быть уделено наименованию атрибутов, чтобы само название подсказывало роль, которую атрибут играет в модели. Не менее важно умение студента воспринимать размерность, которая скрыта в каждом домене. С чисто математической точки зрения домены состоят из одинаковых значений. Например, и возраст студента и номер группы могут быть представлены целыми числами. Однако у студента не должно даже возникнуть мысли складывать или сравнивать значения этих доменов, потому только, что это бессмысленно именно в силу различия размерности; два домена представляют различную природу данных.