- •1.Понятие базы данных
- •2. Предметная область информационной системы
- •3. Назначение и основные компоненты системы баз данных
- •4. Уровни представления баз данных
- •5. Понятие модели данных
- •6. Типы структур данных
- •7. Операции над данными
- •8. Ограничения целостности
- •9. Сетевая модель данных (смд)
- •10. Иерархическая модель данных (имд)
- •11. Реляционная модель данных (рмд)
- •12. Понятие отношения
- •13. Схема отношения
- •14. Достоинства и недостатки рмд
- •15. Операции реляционной алгебры. Язык манипулирования данными для реляционной модели
- •16. Другие модели данных
- •17. Объектно-реляционные модели данных
- •18. Объектно-ориентированные модели данных
- •19 Обзор современных систем управления базами данных (субд)
- •20 Классификация субд
- •21 Правила Кодда для реляционной субд (рсубд)
- •22 Основные функции реляционной субд
- •24 Типы данных sql.
- •Типы данных sql с плавающей точкой (дробные числа) и целые числа
- •Типы данных sql – Дата и время
- •25 Sql: создание и модификация базы данных.
- •26 Sql: Выборка данных. Поиск
- •27 Sql: Выборка из нескольких таблиц.
- •28 Sql:Агрегатные функции.
- •29 Sql: Подзапросы.
- •30 Sql: Представления.
- •31 Sql: Операторы модификации данных.
- •32 Кластеризация данных
- •33 Требования к проекту базы данных
- •34 Этапы проектирования базы данных
- •1. Предварительный анализ по.
- •2. Рассмотрение и принятие результатов анализа.
- •7. Согласование стандартов проектирования, в частности:
- •35 Инфологическое проектирование
- •1. Функциональный подход к проектированию бд.
- •2. Предметный подход к проектированию бд.
- •36 Проектирование с использованием метода "сущность-связь"
- •37 Определение требований к операционной обстановке
- •37 Выбор субд и инструментальных программных средств
- •39 Логическое проектирование бд
- •40 Физическое проектирование бд
- •41 Проектирование реляционной базы данных
- •42 Аномалии модификации данных
- •43 Нормализация и декомпозиция отношений
- •44 Первая нормальная форма (1нф).
- •45 Функциональные зависимости. Вторая нормальная форма (2нф).
- •46 Транзитивные зависимости. Третья нормальная форма (3нф).
- •47 Механизмы среды хранения и архитектура субд
- •48 Структура хранимых данных
- •49 Управление пространством памяти и размещением данных
- •50 Виды адресации хранимых записей
- •51 Способы размещения данных и доступа к данным в рбд
- •52 Способы доступа к данным
- •53 Индексирование данных. Индексированные файлы
- •54 Способы организации индексов
- •55 Многоуровневые индексы на основе в-дерева
- •56 Хеширование. Хешированные файлы
- •57 Методы хеширования
- •58 Разрешение коллизий
13. Схема отношения
Отношение обладает двумя основными свойствами:
1. в отношении не должно быть одинаковых кортежей, т.к. это множество;
2. порядок кортежей в отношении несущественен.
Отношение удобно представлять как таблицу, где строка является кортежем, столбец соответствует домену (рис. 2.5, отношение СТУДЕНТЫ).
домен 1 . . . . . . . . домен 2 . . . . . . . . .. . . . . . .домен 3 (ключ) . . . . . . . . .. . . . .домен 4 . . . . . . . .домен 5
Группа |
ФИО студента |
Номер зачётной книжки |
Год рождения |
Стипендия |
С–72 |
Волкова Елена Павловна |
С-12298 |
1981 |
566.40 |
С–91 |
Белов Сергей Юрьевич |
С-12299 |
1980 |
400.00 |
. . . |
|
|
|
|
С–72 |
Фролов Юрий Вадимович |
С-14407 |
1981 |
0 |
Рис.2.5. Пример табличной формы представления отношения
Отношение имеет имя, которое отличает его от имён всех других отношений. Атрибутам реляционного отношения назначаются имена, уникальные в рамках отношения. Обращение к отношению происходит по его имени, а обращение к атрибуту – по имени отношения и имени атрибута.
Каждый атрибут определён на некотором домене, несколько атрибутов отношения могут быть определены на одном и том же домене (например, номера рабочего и домашнего телефона). Домен задаётся типом данных и ограничениями целостности, например, оклад – это число больше нуля. Значение атрибута может быть не определено в момент внесения записи в БД. Для таких случаев предусмотрено специальное значение – null, которое можно интерпретировать как "неизвестное значение".
Ключ отношения – это атрибут, значения которого идентифицируют кортеж. Таким образом, ключ имеет уникальные в рамках отношения значения. (На рис. 2.5 ключ выделен полужирным шрифтом). Если ключ состоит из нескольких атрибутов, он называется составным. Ключей может быть несколько; основной ключ – первичный, его значения не могут обновляться. Другие ключи называются возможными или потенциальными ключами.
РМД не поддерживает групповые отношения. Для связей между отношениями используются внешние ключи. Внешний ключ – это атрибут подчиненного отношения, который является копией первичного (или уникального) ключа родительского отношения. (Пример – отношение ДЕТИ, связанное с отношением СТУДЕНТЫ по внешнему ключу Номер зачётной книжки, рис. 2.6). Фактически, внешние ключи логически связывают экземпляры сущностей разных типов между собой. Т.о., внешний ключ можно трактовать как ограничение целостности на две таблицы, в соответствии с которым множество значений внешнего ключа является подмножеством значений ключа родительской таблицы. Если связь необязательная, то значение внешнего ключа может быть неопределённым (null).
Номер зачётной книжки |
Имя, отчество ребенка |
Дата рождения |
С-12298 |
Антон Павлович |
01.12.01 |
С-12298 |
Юлия Павловна |
01.12.01 |
С-12299 |
Ольга Сергеевна |
16.04.02 |
Рис.2.6. Связь отношений "Студенты" и "Дети" по внешнему ключу
Перечень атрибутов отношения с их типами данных и размерами определяют схему отношения. Отношения, построенные по одинаковой схеме, называют односхемными; по различным схемам – разносхемными.
Все операции над данными в РМД выполняются над отношением и требуют задания имени отношения. Если операция применяется к части отношения, то может потребоваться идентификация кортежа или группы кортежей и задания имён атрибутов. В РМД используются следующие операции над данными:
запомнить: внесение информации в БД (требует формирования значений уникального ключа и обязательных атрибутов кортежа);
обновить: модификация данных – изменение значений отдельных атрибутов кортежей;
извлечь: чтение данных;
удалить: физическое или логическое удаление данных (кортежа или группы кортежей).
Структуризация данных в РМД существенно отличается от структуризации данных по версии CODASYL. В таблице 2.1. приведено соответствие этих двух вариантов структуризации.
Таблица 2.1. Сравнение структуризации данных в РМД и по версии CODASYL
Термины версии CODASYL |
Термины (и синонимы) РМД |
Элемент данных |
Атрибут (поле) |
Агрегат |
- |
Запись (группа) |
Кортеж (запись, строка) |
Совокупность записей одного типа |
Отношение (таблица) |
Набор (групповое отношение) |
- |
База данных |
База данных |