Студопедия

КАТЕГОРИИ:


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

Основные виды связей




Виды отношений

Свойства отношений

Альтернативная терминология

Терминология, используемая в реляционной модели, порой может привести к пу­танице, поскольку помимо предложенных двух наборов терминов существует еще один - третий. Отношение в нем называется файлом (file), кортежи - записями (records), а атрибуты - полями (fields). Эта терминология основана на том факте, что физически реляционная СУБД может хранить каждое отношение в отдельном файле.

1) Каждое отношение имеет имя, отличное от других,

2) Атрибут имеет уникальное имя,

3) Значения атрибута берутся из одного и того же домена,

4) Атрибуты уникальны (нет повторяющихся столбцов),

5) Порядок следования атрибутов не имеет значения,

6) Кортежи уникальны, повторений быть не может,

7) Кортежи не упорядочены, порядок не имеет значения,

8) Значения атрибутов логически не делимы (ячейки отношений).

 

– Базовое отношение - часть БД, соответствующая некото­рой сущности в концептуальной схеме, имеет собственное наименование.

– Производное отношение определено через другие (базовые) с использованием средств СУБД.

– Именованное отношение - переменное, определяется операторами СУБД для более удобного представления пользователя.

– Представление – именованное производное отношение, выраженное через операторы СУБД, физически в БД не существует.

– Результат запроса – неименованное производное отношение, не хранится, существует только, пока нужен.

– Хранимое отношение – физически поддерживается в памяти компьютера, прежде всего - базовые отношения.

В реляционной БД отношения связаны друг с другом. Связь – это ассоциирование двух и более отношений. Связь позволяет по значениям одних кортежей находить другие.

 

«Один к одному» (1:1) Работник à Зарплата

«Один ко многим» (1:М) Дом à Жильцы

«Многие к одному» (М:1) Студенты à Группа

«Многие ко многим» (М:M - множественные связи) - в реляционных БД реализуются через другие связи и отношения (например, много студентов сдает много дисциплин).

 


7. Первичные и внешние ключи. Непротиворечивость и целостность данных

 

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

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

Ключ ( потенциальный ключ) – минимальный набор атрибутов (полей), по значениям которого можно однозначно определить требуемый кортеж. На значения ключа наложено некоторое ограничение.

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

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

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

Операция - действие одного из стандартных типов над объектом БД:

– Операция изменения структуры - действия по созданию, модификации или удаления структуры информационной таблицы либо других объектов БД;

– Операция изменения требований - это действия по созданию, удалению или применению ранее разработанных ограничений к столбцам таблицы или доменам;

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

Два основных правила целостности реляционной модели называются целостностью сущностей и ссылочной целостностью.

Для рассмотрения этих правил используется понятие определитель NULL, который указывает, что значение атрибута в настоящий момент неизвестно. Определитель NULL не следует понимать как нулевое значение или заполненную пробелами текстовую строку. Нули и пробелы представляют собой некоторые значения, а ключевое слово NULL обозначает отсутствие какого-либо значения, неопределенность. Ключевое слово NULL следует рассматривать как способ обработки неполных или необычных данных.

Правило целостности сущностей: в базовом отношении ни один атрибут первичного ключа не может содержать отсутствующих значений, т.е. NULL-значений.

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

Второе ограничение целостности касается внешних ключей.

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

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

Средства поддержки целостности данных (см. DCL SQL и т.т.)

Поддержка целостности данных включает средства задания ограничений, которые вводятся для защиты БД от нарушения согласованности данных. Большая часть этих ограничений задается в операторах CREATE и ALTER TABLE.

Типы ограничений поддержки целостности данных и их реализация в стандарте ISO в операторах CREATE или ALTER TABLE:

Обязательные данные: Для некоторых столбцов требуется наличие в каждой строке таблицы конкретного значения, отличного от значения NULL. Так, в таблице RABOTNIK каждый работник обязательно занимает ту или иную должность. Для задания ограничений такого типа предусмотрено использова­ние служебного слова NOT NULL. Например,

DOLJNOST VARCHAR(10) NOT NULL.

Ограничения для доменов атрибутов: Каждый столбец имеет собственный домен - некоторый набор допустимых значений. Например, для определения пола работника достаточно всего двух значений, поэтому домен для столбца POL таблицы RABOTNIK можно оп­ределить как набор из двух строк длиной в один символ со значением либо 'М', либо 'Ж'. Можно описать его таким образом:

POL CHAR NOT NULL CHECK (POL IN (‘M’, ‘Ж’)).

Целостность сущностей: Первичный ключ таблицы должен иметь уникальное непустое значение в каждой строке таблицы. Например, каждая строка таблицы RABOTNIK должна содержать уникальное непустое значе­ние личного (табельного) номера работника в столбце NOMER, оно бу­дет определять работника, описываемого данной строкой табли­цы. Требования поддержки целостности данных задаются с помощью фразы

PRIMARY KEY (NOMER).

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

PRIMARY KEY (FIRMA, NOMER).

Фраза PRIMARY KEY может указываться в определении таблицы только один раз. Гарантировать уникальность значений для альтернативных ключей таблицы может ключевое слово UNIQUE и ключевые слова NOT NULL.

Ссылочная целостность: Понятие ссылочной целостности означает, что если поле внешнего ключа содержит некоторое значение, то оно обязательно должно ссылаться на существующую строку в родительской таблице. На­пример, значение OTDEL (внешний ключ) таблицы RABOTNIK, если оно не опущено, должно свя­зывать каждого сотрудника с конкретной строкой таблицы OTDELS, соответствующей тому отделению фирмы, в котором данный сотрудник работает. В противном случае работник окажется приписан­ным к несуществующему отделению компании.

Для определения внешнего ключа OTDEL в таблице RABOTNIK можно использовать, на­пример, следующее предложение:

FOREIGN KEY(OTDEL) REFERENCES OTDELS.

При этом будет отклонена попытка создания в дочерней таблице RABOTNIK значения внешнего ключа, не соответствующего одному из уже существующих значений первичного ключа родительской таблицы OTDELS. При попытке обновить или удалить значение первичного ключа в родительской таблице в зависимости от правил поддержки ссылочной це­лостности, указанных во фразах ON UPDATE и ON DELETE предложения FOREIGN KEY выполняется каскадирование, занесение во внешние ключи NULL-значений, значений по умолчанию, новых значений или операция не производится вообще.

Требования данного предприятия: Обновления данных в таблицах могут быть ограничены существующими в данной организации требованиями (бизнес-правилами). Реали­зовать бизнес-правила предприятий можно, например, с помощью предложений CHECK и условий, записанных на языке SQL.





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


Дата добавления: 2015-05-09; Просмотров: 784; Нарушение авторских прав?; Мы поможем в написании вашей работы!


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



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




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