- •Введение в базы данных
- •Основные понятия и определения
- •Традиционные файловые системы
- •Системы с базами данных
- •История развития субд
- •Обзор современных субд
- •Основные термины:
- •Архитектура баз данных
- •Уровни представления баз данных
- •Схемы и подсхемы бд
- •Независимость от данных
- •Модели данных
- •Архитектура баз данных и субд
- •Функции и компоненты субд
- •Понятие целостности данных
- •Компоненты субд
- •Многопользовательские субд и языки баз данных
- •Архитектура многопользовательских субд
- •Языки баз данных
- •Реляционные базы данных
- •Используемая терминология
- •Структуры данных
- •Свойства отношений
- •Реляционные ключи
- •Манипулирование данными
- •5.5.1. Специальные реляционные операции
- •5.5.2. Традиционные операции над множествами
- •Пример манипулирования данными
- •Реляционная алгебра
- •Реляционное исчисление
- •Нормализация отношений в реляционных базах данных
- •Нормализация отношений
- •Аномалии вставки
- •Аномалии удаления
- •Аномалии обновления
- •Функциональные зависимости
- •Процесс нормализации
- •Первая нормальная форма (1нф)
- •Вторая нормальная форма (2нф)
- •Третья нормальная форма (3нф)
- •Нормальная форма Бойса-Кодда (нфбк)
- •Четвертая нормальная форма (4нф)
- •Пятая нормальная форма (5нф)
- •Проектирование реляционных баз данных
- •Подходы к проектированию бд
- •Понятия er- модели
- •Использование case-инструментов
- •Методология проектирования бд с помощью Case-инструментов silverrun
- •8.1.1. Использование silverrun-bpm
- •8.1.2. Контекстная диаграмма
- •Детализирующая диаграмма
- •8.1.4. Порядок работы с silverrun-врм
- •8.1.5. Использование silverrun-erx
- •8.1.6. Использование silverrun-rdm
- •Реляционные базы данных и субд InterBase
- •Субд InterBase, ее основные возможности и область применения
- •Типы данных
- •9.2.1. Целочисленные типы
- •9.2.2. Вещественные типы данных
- •Типы данных с фиксированной точкой
- •9.2.4. Типы данных для хранения текста
- •Типы для хранения даты и времени
- •Тип данных blob
- •Массивы
- •Язык реляционных баз данных sql
- •Sql и его история
- •Объекты реляционной базы данных
- •Операторы манипулирования данными
- •Агрегирование данных при выборке
- •Представления
- •Новые встроенные функции
- •Диалект базы данных
- •Типы с фиксированной точкой
- •Принципы физической организации баз данных
- •Безопасность данных и субд
- •Безопасность в операционной среде
- •Защита сервера
- •Безопасность на уровне базы данных
- •Файл конфигурации Firebird
- •Объектные субд
- •Сильные стороны реляционной модели субд
- •Недостатки реляционных субд
- •Недостатки оосубд
- •Заключение
- •Список литературы
Реляционные базы данных
Используемая терминология
Реляционная модель впервые была предложена Э.Ф.Коддом в 1970 году. Реляционная модель является основой современной технологии баз данных.
Знания, умения и опыт в области баз данных нельзя признать удовлетворительными, если человек не имеет глубокого и ясного представления о реляционной модели.
Реляционные системы базируются на теории, которая называется реляционной моделью данных. Основным понятием этой теории является понятие отношения.
Отношение – это математическое понятие, физическим представлением которого является определенного вида таблица (рис.11).
В
Рис.11. Отношения "Отдел" и "Служащий"
таблице содержатся некоторые факты, относящиеся к объектам Отдел и Служащий. Отношение – это и есть множество фактов, касающееся объектов, которые можно обсуждать. Таблица – это физическое представление отношения, то есть множества фактов, относящихся к обсуждаемым объектам.
Факты связаны с отношениями точно так же, как существительные связаны с предложениями. То, что мы можем обсуждать, - это номера служащих, их имена, номера отделов и значения денежных сумм, а то, что мы можем сказать об этих объектах, - это какое-то высказывание типа: «Служащий с определенным номером имеет определенное имя, работает в определенном отделе и получает определенную зарплату».
Таким образом, необходимы и факты, и отношения (без фактов нам не о чем говорить, без отношений мы ничего не сможем сказать). Кроме того, факты и отношения достаточны так же, как и необходимы, то есть, логически говоря, нам не нужно что-либо еще.
Реляционная модель состоит из трех основных частей – структуры, целостности данных и манипулирования ими. Каждая часть имеет свою терминологию.
Структуры данных
Наиболее важные термины описания структуры данных представлены на рисунке 12.
Отношение – плоская таблица, состоящая из столбцов и строк.
Атрибут – поименованный столбец отношения.
Домен – набор допустимых значений для одного или нескольких атрибутов.
Кортеж – строка отношения.
Степень – количество атрибутов, содержащихся в отношении.
Кардинальность – количество кортежей, которое содержит отношение.
Первичный ключ – атрибут или множество атрибутов, которые выбраны для уникальной идентификации кортежей отношения.
Рис.12. Структура данных
Реляционная база данных – набор отношений (нормализованных).
Каждый кортеж отношения представляет собой определенное высказывание об объекте.
Свойства отношений
Точное определение термина отношение:
Пусть задано множество доменов Тi (I = 1, 2,..n), все из которых необязательно должны быть различными. Тогда r будет отношением, определенным на этих доменах, если оно состоит из двух частей – заголовка и тела, где
а) заголовок – это множество из n атрибутов вида Ai : Ti; здесь Ai – имена атрибутов, а Ti – соответствующие им имена типов.
б) тело – это множество из m кортежей t; здесь t, в свою очередь, является множеством компонентов вида Ai : Vi, в которых Vi – значение типа Ti, то есть значение атрибута Ai в кортеже t (I = 1, 2,..n).
Подходы к определению понятия отношения могут быть различными. Математически отношение может быть определено как множество кортежей, являющееся подмножеством декартова произведения фиксированного числа областей (доменов). В результате получаем, что в каждом кортеже должно быть одинаковое число компонентов (атрибутов) и значение каждого из них выбирается из некоторого определенного домена.
В терминах таблицы, заголовок – это строка, состоящая из названий столбцов и соответствующих имен типов, а тело – это множество строк данных.
Отношения обладают следующими свойствами:
в них нет одинаковых кортежей;
кортежи отношения не имеют упорядоченности в направлении сверху вниз;
атрибуты в кортежах не упорядочены слева направо;
каждый кортеж содержит ровно одно значение для каждого атрибута.
Свойство 1: Свойство следует из того факта, что тело отношения – это математическое множество (кортежей), а в математике множества по определению не содержат одинаковых элементов.
Таблица, в общем случае, может содержать одинаковые строки (при отсутствии правил, запрещающих это).
Свойство 2: Свойство следует из того, что тело отношения – это математическое множество, а простые множества в математике не упорядочены.
В таблице строки упорядочены сверху вниз.
Свойство 3: Свойство следует из того факта, что заголовок отношения также определен, как множество (атрибутов). Атрибут всегда определяется по имени, а не по расположению.
В таблице столбцы могут быть упорядочены.
Свойство 4: Свойство следует из определения кортежа: кортеж является множеством из n компонентов. Отношение, удовлетворяющее этому свойству, называется нормализованным или представленным в первой нормальной форме (1НФ).
В частности, возможно существование типа, значениями которого будут отношения и, следовательно, существование отношения с атрибутами, значениями которых также являются отношения.
Дополнительные свойства:
Отношение имеет имя, которое отличается от имен всех других отношений.
Каждый атрибут имеет уникальное имя.
Значения атрибута берутся из одного и того же домена.
Все кортежи одного отношения должны иметь одно и то же количество атрибутов.
