Формы представления отношений
Отношения — это множества (но не упорядоченные списки!) кортежей. Порядок, в котором кортежи перечисляются в пределах отношения, не существен. Вполне возможно, например, переставить кортежи отношения Movies, показанного на рис. 1, любым из шести различных способов, но это никоим образом не повлияет на его содержимое.
Более того, допускается без каких-либо последствий изменять и порядок задания атрибутов отношения. Если, однако, реляционная схема отношения подвергается упорядочению, необходимо помнить, что наименования атрибутов являются заголовками столбцов отношения. Поэтому, изменяя порядок перечисления атрибутов, мы должны позаботиться и о соответствующем упорядочении столбцов отношения. При перемещении столбцов изменится и взаимное положение компонентов кортежей. В результате каждый компонент кортежа займет то же место, что и соответствующий ему атрибут.
На рис. 2 показан один из многочисленных вариантов представления отношения Movies, получаемых при перемещении его строк и столбцов. Все возможные версии таблицы рис. 1 (включая и ту, которая изображена на рис. 2) по существу являются различными формами, в которых допустимо изображать отношение Movies.
year |
title |
film Type |
length |
1991 |
Mighty Ducks |
color |
104 |
1992 |
Wayne's World |
color |
95 |
1977 |
Star Wars |
color |
124 |
Рис. 2. Другая форма представления отношения Movies
Экземпляры отношения
Отношение, содержащее информацию о кинофильмах, по своей природе не является статичным; этому и большинству других отношений со временем свойственно меняться. Изменения обычно затрагивают содержимое отношения: в базу данных помещаются новые кортежи (например, представляющие сведения о новинках кинематографии), а также модифицируются (при поступлении дополнительной уточняющей информации) или удаляются (по самым разным причинам) существующие.
Гораздо менее вероятны такие изменения, которые затрагивают схему отношения. Однако ситуации, связанные с необходимостью добавления, изменения или удаления атрибутов отношения, иногда все же возникают. Операции по изменению схемы реальных баз данных обычно весьма дорогостоящи, поскольку подразумевают просмотр и модификацию миллионов кортежей. Например, при добавлении нового атрибута задача отыскания подходящих значений для новых компонентов существующих кортежей может оказаться весьма трудоемкой или даже вовсе неразрешимой.
Конкретное множество кортежей отношения называют экземпляром (instance) отношения. Например, набор из трех кортежей, показанный на рис. 3.1 (см. с. 88), образует некоторый экземпляр отношения Movies. Ясно, что отношение, подобное Movies, могло претерпевать изменения раньше и будет подвержено изменениям впредь. Скажем, в 1980 году отношение Movies не могло содержать кортежей для таких кинофильмов, как Mighty Ducks или Wayne's World (их просто еще не было). Традиционные системы баз данных обычно поддерживают только одну версию любого отношения: набор кортежей, которые содержатся в отношении "в данный момент". Такой экземпляр отношения принято называть текущим экземпляром (current instance).
