Генерация отношений при степени связи 1:1.
При степени связи 1:1 и обязательном классе принадлежности обеих сущностей, формируется одно отношение, ключом которого может быть ключом любой из сущностей.
При степени связи 1:1 и необязательном классе принадлежности одной из сущностей, формируется два отношения, по одному на каждую сущность, при этом в отношении соответствующей сущности с необязательным классом принадлежности в качестве необязательного атрибута добавляется ключ сущности с обязательным классом принадлежности. Ключом этого отношения может быть ключ любой из сущностей.
При степени связи 1:1 и необязательном классе принадлежности обеих сущностей, формируется три отношения по одному на каждую сущность и отношение связи. В отношение связи в качестве обязательного атрибута входят ключи отдельных сущностей. Ключом отношения связи может быть ключ любой из сущностей.
Генерация отношений при степени связи 1:n и m:n.
При степени связи 1:n рассматриваются четыре случая:
1. Класс принадлежности обеих сущностей обязательный
2. Класс принадлежности односвязной – необязательный, n-связной – обязательный
3. Класс принадлежности односвязной – обязательный, n-связной – необязательный
4. Класс принадлежности обеих сущностей необязательный
В 1 и 2 случаях формируются два отношения, в 3 и 4 – три отношения.
В первом случае если все хранить в одном отношении, то будет дублирование данных. При степени связи 1:n на количество формирующихся отношений оказывает влияние только класс принадлежности n-связной сущности. Если класс принадлежности её – обязательный, то формируются два отношения, по одному на каждую сущность, при этом ключами отношений будут служить ключи сущностей. Однако в отношении соответствия второй сущности в качестве обязательного атрибута должен быть добавлен ключ первой сущности. В третьем случае хранить информацию в двух отношениях нецелесообразно. В таком случае разбивают информацию на три отношения по одному на каждую сущность плюс отношение связи.
В четвертом случае также формируются три отношения по одному на каждую сущность плюс отношение связи. В отношении связи в качестве обязательных атрибутов добавляются ключи обеих сущностей. Ключами отношений соответствующих сущностей будут ключи данной сущности, ключом отношения связи будет ключ n-связной сущности.
При степени связи n:m хранить информацию в одном отношении не представляется возможным, т.к. избыточное дублирование появляется на атрибутах обеих сущностей. Если создадим два отношения по аналогии с предыдущим, то появиться дублирование на одной из сущностей. Поэтому наиболее оптимальным является хранить информацию в 3-х отношениях. При степени связи n:m класс принадлежности ни одной из сущностей не оказывает влияние на количество формируемых отношений. Здесь всегда формируются три отношения, по одному на каждую сущность плюс отношение связи. Ключами отношения соответствующих сущностей будут ключи этих сущностей. В отношении связи в качестве обязательных атрибутов войдут ключи обеих сущностей. Оба они являются ключом связи или подмножеством ключа.
Необходимость применения множественных связей и генерация отношений при данном типе связей.
Связь типа много-ко-многим означает, что каждый экземпляр первой сущности может быть связан с несколькими экземплярами второй сущности, и каждый экземпляр второй сущности может быть связан с несколькими экземплярами первой сущности. Тип связи много-ко-многим является временным типом связи, допустимым на ранних этапах разработки модели. В дальнейшем этот тип связи должен быть заменен двумя связями типа один-ко-многим путем создания промежуточной сущности.
Стандарт SQL.
Structured Query Language ориентирован на операции с данными, представленными в виде логически взаимосвязанных совокупностей таблиц. Особенность предложений этого языка состоит в том, что они ориентированы в большей степени на конечный результат обработки данных, чем на процедуру этой обработки. SQL сам определяет, где находятся данные, какие индексы и даже наиболее эффективные последовательности операций следует использовать для их получения: не надо указывать эти детали в запросе к базе данных.
Предложения языка:
Определение данных (create, alter, drop).
Выбор данных (select)
Управление данными (insert, update, delete).
предложения управления данными (предоставление и отмена привилегий на доступ к данным, управление транзакциями и другие).
В предложениях можно выполнять:
арифметические вычисления (включая разнообразные функциональные преобразования), обработку текстовых строк и выполнение операций сравнения значений арифметических выражений и текстов
упорядочение строк и (или) столбцов при выводе содержимого таблиц на печать или экран дисплея (сортировка)
агрегатирование данных: группирование данных и применение к этим группам таких операций, как среднее, сумма, максимум, минимум, число элементов и т.п
SQL использует и создает ряд виртуальных (как будто существующих) таблиц: представлений, курсоров и неименованных рабочих таблиц, в которых формируются результаты запросов на получение данных из базовых таблиц и, возможно, представлений. Это таблицы, которые не существуют в базе данных, но как бы существуют с точки зрения пользователя
- Основные виды моделей хранения информации.
- Реляционная модель. Основные понятия и термины.
- Необходимость нормализации базы данных. Аномалии, причиной которых является использование единственного отношения.
- Первая и вторая нормальные формы.
- Неизбыточное, кольцевое, минимальные покрытия.
- Метод декомпозиции. Алгоритм метода.
- Метод "сущность-связь" основные термины и понятия. Графическое представление. Нотация Чена.
- Генерация отношений при степени связи 1:1.
- Организация средствами sql запроса с подзапросами.
- Бинарные операции реляционной алгебры.
- Унарные операции реляционной алгебры.
- Метод "сущность-связь" основные термины и понятия. Графическое представление. Нотация Баркера.
- Понятия первичного и внешнего ключа
- Понятие функциональной зависимости (фз), полной фз, транзитивной фз