
- •Структуры данных. Стек. Очередь. Список.
- •Методы сортировки. Примеры алгоритмов.
- •Поиск данных в массивах и в файлах. Примеры алгоритмов.
- •Доступ к бд средс-ми php
- •1. Поддержка баз данных в рнр.
- •Технология Microsoft .Net. Особенности, основные положения и характеристики.
- •2. Основные функциональные средства управления сеансом.
- •5. Получение и обработка результатов запроса
- •6.Отсоединение от бд
- •7. Освобождение ресурсов
- •Объектно-ориентированное программирование средствами с#.
- •Создание Windows-приложений средствами с##.
- •Виртуальные функции и полиморфизм. Реализация на с#. Примеры.
- •Элементы контроля в c#. Примеры.
- •Технология ole-db и ado для работы с базами данных.
- •Правила целостности реляционной модели баз данных. Основные операции реляционной алгебры.
- •Нормализация таблиц.1-я, 2-я, 3-я нормальные формы.
- •Общая концепция языка sql. Особенности построения sql-запросов
- •3.3.2. Целостность сущностей
- •3.3.3. Ссылочная целостность
- •3.3.4. Корпоративные ограничения целостности
- •Языки доступа к данным в реляционной субд,основные возможности; их отличия. Примеры.
- •Основные возможности языка sql при выборе данных из бд
- •Основные команды компонента ddl языка sql. Примеры создания, удаления таблиц и модификации структуры таблицы.
- •Хранимые процедуры. Разработка хранимых процедур на ms sql Server
- •Понятие транзакции. Управление параллельностью.
- •Распределенные бд и системы управления распределенными бд.
- •13.Понятие интерфейса. Интерфейс и его реализация. Примеры на диаграмме классов.
3.3.2. Целостность сущностей
Первое ограничение целостности касается первичных ключей базовых отношений. Здесь базовое отношение определяется как отношение, которое соответствует некоторой сущности в концептуальной схеме (см. раздел 2.1), Более точное определение этого понятия приводится в разделе 3.5.
Целостность сущностей В базовом отношении ни один атрибут первичного ключа не может содержать отсутствующих значений, обозначаемых определителем NULL.
По определению, первичный ключ — это минимальный идентификатор, который используется для уникальной идентификации кортежей. Это значит, что никакое подмножество первичного ключа не может быть достаточным для уникальной идентификации кортежей. Если допустить присутствие определителя NULL в любой части первичного ключа, это равноценно утверждению, что не все его атрибуты необходимы для уникальной идентификации кортежей, что противоречит определению первичного ключа. Например, поскольку Впо является первичным ключом отношения Branch, то нельзя допустить вставку в отношение Branch кортежа с определителем NULL в атрибуте Впо.
Если рассмотреть это правило более внимательно, то можно заметить несколько его необычных свойств. Во-первых, почему оно применяется к первичным ключам, но не используется в отношении альтернативных ключей? Во-вторых, почему оно ограничивается только базовыми отношениями? Например, используя данные отношения Staff (см, табл. 3.4), рассмотрим выполнение следующего запроса: "Создать список номеров телефонов всех сотрудников организации". Результатом этого запроса является унарное отношение из единственного атрибута Tel No, По определению, этот атрибут должен быть первичным ключом, но среди его значений содержится определитель NULL (соответствующий номеру телефона сотрудника с личным номером 'SA9'). Поскольку это отношение не является базовым, реляционная модель допускает присутствие определителя NULL в его первичном ключе. Недавно было предпринято несколько попыток переопределения этого правила (Codd, 1988; Date, 1990).
3.3.3. Ссылочная целостность
Второе ограничение целостности касается внешних ключей.
Ссылочная Если в отношении существует внешний ключ, то значение внешне-целостность ключа должно либо соответствовать значению потенциального ключа некоторого кортежа в его базовом отношении, либо задаваться определителем NULL.
Например, атрибут Впо в отношении Staff является внешним ключом, который ссылается на атрибут Впо базового отношения Branch. Система должна предотвращать любые попытки создать запись с информацией о сотруднике отделения с номером 'В25' до тех пор, пока в отношении Branch не будет создана запись, содержащая сведения об отделении компании с номером 'В25'. Однако считается допустимым создание записи с информацией о новом сотруднике с указанием определителя NULL вместо номера отделения, в котором этот сотрудник работает. Такая ситуация может иметь место в том случае, когда сотрудник зачислен в штат компании, но еще не приписан к какому-то конкретному отделению.