среда, 12 августа 2009 г.

БДД

3.2. Целостность реляционных данных
В любой момент времени любая БД содержит некоторые определенные значения, которые выражают определенное состояние объекта реального мира. Следовательно, БД нуждается в определении неких правил целостности, необходимых для того, чтобы данные не вступили в противоречие с реальным миром. Такие правила целостности являются специфическими для каждой БД. Это, по сути, информирование СУБД об ограничениях реального мира, НАПРИМЕР, имя – только текстовое значение, значения веса, роста могут быть только положительные и т.д.
Но таких правил целостности недостаточно – не менее важно, чтобы данные внутри самой БД не противоречили друг другу.
НАПРИМЕР, чтобы предотвратить такие ситуации: в базе данных Факультет случайно указали, что Иванов Петр учится в группе ИНФ-15, но такой группы на данном факультете нет. Или для того же Петра группу указали правильно – ИНФ-13, но в качестве ФИО ее старосты написали Сидорова Н.М., а на самом деле старостой ИНФ-13 является Андреева С.В.
Для предотвращения подобных ситуаций существуют общие правила целостности реляционных данных. Эти правила связаны с первичными и внешними ключами.
3.2.1. Потенциальные, первичные и альтернативные ключи
Пусть R – некоторое отношение, тогда потенциальный ключ K для R это подмножество множества атрибутов R, для которого выполняются следующие свойства:
1) уникальность, т.е. нет двух различных кортежей в текущем значении переменной отношения R с одинаковыми значениями K;
2) неизбыточность, т.е. никакое подмножество K не обладает свойством уникальности.
НАПРИМЕР, в отношении Студенты потенциальным ключом могут являться атрибуты НомерЗачетки, НомерЛичногоДела или НомерПаспорта, т.к. каждый из них удовлетворяет определению. Но неверно будет назвать потенциальным ключом этого отношения множество нескольких из этих атрибутов, т.к. хотя для такого множества выполняется свойство уникальности, но не выполняется свойство неизбыточности.
Потенциальные ключи предназначены для обеспечения основного механизма адресации на уровне кортежей, т.е. по значению потенциального ключа можно однозначно найти кортеж. В СУБД Access потенциальные ключи называются также индексированными полями и обозначаются так: в свойстве поля Индексированное поле указывается значение «Да».
Базовое отношение может иметь несколько потенциальных ключей, но один их них должен быть выбран в качестве первичного ключа. Остальные же будут называться альтернативными. НАПРИМЕР, в таблице Специальности существует два потенциальных ключа: ШифрСпециальности и НазваниеСпециальности. Первичным ключом мы назначили ШифрСпециальности, тогда альтернативный ключ – НазваниеСпециальности.
В СУБД Access для первичного ключа значением свойства Индексированное поле указывается значение «Да (совпадения не допускаются)», а для альтернативного может быть такое же или «Да (совпадения допускаются)».
В любом отношении должен быть первичный ключ, значит должен содержаться хотя бы один потенциальный ключ (это может быть одно поле, а может быть множество нескольких или даже всех атрибутов отношений).
Если же в базовом отношении нет естественных потенциальных ключей или они неудобны в рамках создаваемой БД, то вводят искусственные ключи (НАПРИМЕР, КодПреподавателя, чтобы не использовать номер паспорта, номер личного дела или табельный номер).

Нашел сайт, где можно быстро сказать отличные увлекательные сюжетно-ролевые игры и развлекаться весь день

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

Почитайте форум рыбаков и вы узнаете немало интересного

БД2

3.1.2. Отношения
С отношением связаны понятия переменной отношения и значения отношения.
Переменная отношения — обычная переменная, т.е. именованный объект, значение которого может изменяться со временем (по сути - это заданные атрибуты данного отношения).
Значение отношения — значение переменной отношения в конкретный момент времени (по сути - это сохраненные значения атрибутов отношений).
Дадим более точное определение отношения.
Отношение R1, определенное на множестве доменов D1, D2, …, Dn (необязательно различных), состоит из двух частей: заголовка и тела.
Заголовок содержит фиксированное множество пар {Ai:Di}, где Ai – имя атрибута, Di – имя домена.
Тело содержит множество пар {Ai:Zij}, где Ai – имя атрибута, Zij – значение i-ого атрибута в j-ом кортеже.
i = 1,2,…n, где n – степень отношения,
j = 1,2,…m, где m – кардинальное число.
НАПРИМЕР
Рассмотрим отношение Студенты:
Заголовок: {№зачетки : Целый; Фамилия : Текстовый; Имя : Текстовый; ДатаРождения : Дата; Адрес : Текстовый; Группа:Текстовый}
Тело: {№зачетки : 111111; Фамилия : Петров; …}
{№зачетки : 222222; Фамилия : Иванов; …}

Свойства отношений
1. Нет одинаковых кортежей. Это следует из того, что тело отношения определено как математическое множество кортежей, а множество по определению не содержит одинаковых элементов.
Следствие этого свойства: в отношении всегда существует первичный ключ.
2. Кортежи неупорядочены. Это следует также из того, что тело отношения определено как математическое множество кортежей. А математическое множество по определению не упорядочено. Именно поэтому в отношении не существует таких понятий, как «следующий», «предыдущий», «второй кортеж» и т.п.
3. Атрибуты не упорядочены. Это следует из того, что заголовок отношения –определен как математическое множество атрибутов. А оно не упорядочено. Т.е. опять нет понятий «первый атрибут», «следующий атрибут» и т.п.
4. Все значения атрибутов неделимы. Это следствие того, что каждый атрибут определен на своем домене, а домен – множество неделимых скаляров (значений).


Проверка whois по айпи-адресу и домену в одном месте для вас

Не будьте равнодушны, Спасите жизнь ребенка! и он будет благодарен вам навечно

Отличный сайт, где можно заказать Грузоперевозки Пермь быстро и недорого

БД 5

III. Реляционная модель данных
Реляционная модель состоит из трех частей, в которых рассматриваются объекты, целостность данных и операторы. Рассмотрим эти части.
3.1. Реляционные объекты данных
Рассмотрим специальную терминологию, принятую в теории реляционных БД.





№ Фамилия Имя Отчество Адрес Телефон
1 Иванов Иван Иванович Ленина, 12 22-22-22
2 Петров Петр Петрович Свободы, 2 33-33-33
3 Ильин Илья Ильич Грина, 34 44-44-44




Отношением называется вся таблица, отвечающая определенным свойствам (о них – ниже).
Атрибут соответствует столбцу этой таблицы, а именно – свойствам объектов, сведения о которых хранятся в ней.
Первичный ключ – это атрибут, значения которого уникально идентифицируют записи.
Кортеж соответствует заполненной строке таблицы.
Степень отношения – количество его атрибутов.
Кардинальное число – количество кортежей в отношении в текущий момент времени.
Домен – это общая совокупность значений, из которой берутся конкретные значения для конкретного атрибута.
Домены
Домены также можно определять как именованное множество скалярных значений одного типа. Эти скалярные значения также называют скалярами. По сути это наименьшая семантическая (смысловая) единица данных. У скаляров нет внутренней структуры, т.е. они не разложимы в данной реляционной модели.
Например, если имеется свойство объекта ФИО, он предусматривает скаляры, содержащие фамилию, имя, отчество. Конечно, эти скаляры можно еще разбить на буквы, но тогда будет утрачен нужный смысл.
Из доменов, как уже говорилось, берутся значения атрибутов.
На практике домены часто не описывают, а задают типом и форматом данных. Каждый атрибут должен быть определен на единственном домене либо иметь единственный тип.
Основное назначение доменов — ограничение сравнения различных по смыслу атрибутов.
Например: Если мы зададим домены следующим образом:
№ зачетки = {000001, 000002, 000003 … 999999}
Коды преподавателей = {1, 2, 3 … 1000},
то система выдаст ошибку на запрос типа: “Вывести всех студентов, № зачетки которых совпадают с кодами преподавателей”. Если же домены не определены, а определен только целый тип, то подобный запрос выполниться, хотя не будет иметь смысла.
Еще одно возможное применение доменов – использование их в специальных запросах. Например, «Какие отношения в БД включают атрибуты, определенные на домене «Код преподавателя»?». В системе, поддерживающей домены, такой запрос будет иметь смысл и результатом его будет список отношений, где используется код преподавателя (Преподаватели, Занятия, Кафедры). А в системе, где домены не определены, реализовать гораздо сложнее – если через имена атрибутов, то они могут не совпадать (Преподаватель, КодПреподавателя, Заведующий, РуководительКружка и т.п.), а если через тип – то получится много лишних отношений, т.к. немало атрибутов может иметь целый тип.

Профессиональное и эффективное поисковое продвижение ваших сайтов прогрессивными сео-методами

Оперативная компьютерная помощь в различных случаях: от переустановки ОС до ремонта компьютера

Если вам нужен редуктор, то наша Цена редуктор удивит вас своей доступностью