- •1. Базовые понятия реляционных бд
- •2. Объектные субд
- •3. Типовая организация современных субд
- •4. Многомерные бд
- •5. Реляционная алгебра
- •6. Основные функции субд
- •7. Цикл жизни бд
- •8. Семантическая модель «сущность – связь»
- •9. Проектирование реляционных бд на основе принципов нормализации
- •10. Концептуальное проектирование
- •11. Фундаментальные свойства отношений
- •12. Администратор бд
- •13. Роль пользователей бд
- •14. Языки описания данных
- •15. Языки манипулирования данными
- •16. Методика проектирования бд
- •17. Логическое проектирование
- •18. Физическое проектирование
- •19. Модели хранения данных
- •27. Реляционное исчисление
- •20. Распределенные базы данных
- •21. Однородные и неоднородные бд
- •22. Сегментация баз данных
- •23. Целостность данных
- •24. Обработка транзакций
- •28. Проектирование распределенной бд
- •29. Иерархическая и сетевая модели данных
- •30. Дедуктивные бд
- •31. Постреляционные бд
- •35 Реалиционная модель данных.
- •36 Манипулирование данными в реляционной модели
1. Базовые понятия реляционных бд
Основными понятиями реляционных баз данных являются тип данных, домен, атрибут, кортеж, первичный ключ и отношение.
Тип данных
Понятие тип данных в реляционной модели данных полностью адекватно понятию типа данных в языках программирования. Обычно в современных реляционных БД допускается хранение символьных, числовых данных, битовых строк, специализированных числовых данных (таких как "деньги"), а также специальных "темпоральных" данных (дата, время, временной интервал).
Домен
Множество значений, которые могут содержаться в столбце, называется доменом этого столбца. Доменом называется множество атомарных значений одного и того же типа. Данные считаются сравнимыми только в том случае, когда они относятся к одному домену.
Кортеж, отношение
Кортеж, соответствующий данной схеме отношения, - это множество пар {имя атрибута, значение}, которое содержит одно вхождение каждого имени атрибута, принадлежащего схеме отношения. Кортеж - это набор именованных значений заданного типа. Отношение - это множество кортежей, соответствующих одной схеме отношения. Иногда, чтобы не путаться, говорят "отношение-схема" и "отношение-экземпляр", иногда схему отношения называют заголовком отношения, а отношение как набор кортежей - телом отношения. Реляционная база данных - это набор отношений, имена которых совпадают с именами схем отношений в схеме БД. Однако для массового пользователя реляционных СУБД можно с успехом использовать неформальные эквиваленты этих понятий: Отношение – Таблица (иногда Файл), Кортеж – Строка (иногда Запись), Атрибут – Столбец, Поле. Поэтому иногда говорят "столбец таблицы", имея в виду "атрибут отношения".
2. Объектные субд
В наиболее общей и классической постановке объектно-ориентированный подход базируется на следующих концепциях: объекта и идентификатора объекта; атрибутов и методов; классов; иерархии и наследования классов. Любая сущность реального мира в объектно-ориентированных языках и системах моделируется в виде объекта. Любой объект при своем создании получает генерируемый системой уникальный идентификатор, который связан с объектом все время его существования и не меняется при изменении состояния объекта. Каждый объект имеет состояние и поведение. Состояние объекта - набор значений его атрибутов. Значение атрибута объекта - это тоже некоторый объект или множество объектов. Множество объектов с одним и тем же набором атрибутов и методов образует класс объектов. Объект должен принадлежать только одному классу (если не учитывать возможности наследования). Объектно-ориентированная СУБД - это СУБД, основанная на объектно-ориентированной модели данных.
3. Типовая организация современных субд
Логически в современной реляционной СУБД можно выделить наиболее внутреннюю часть - ядро СУБД (часто его называют Data Base Engine - DBE), компилятор языка БД (обычно SQL), подсистему поддержки времени выполнения, набор утилит. Ядро СУБД отвечает за управление данными во внешней памяти, управление буферами оперативной памяти, управление транзакциями и журнализацию. Ядро СУБД обладает собственным интерфейсом, не доступным пользователям напрямую и используемым в программах, производимых компилятором SQL и утилитах БД. Ядро СУБД является основной резидентной частью СУБД. Основной функцией компилятора языка БД является компиляция операторов языка БД в некоторую выполняемую программу. Результатом компиляции является выполняемая программа, представляемая в некоторых системах в машинных кодах, но более часто в выполняемом внутреннем машинно-независимом коде. В отдельные утилиты БД обычно выделяют такие процедуры, которые слишком накладно выполнять с использованием языка БД, например, загрузка и выгрузка БД, сбор статистики, глобальная проверка целостности БД и т.д. Утилиты программируются с использованием интерфейса ядра СУБД.