- •Часть 1
- •Глава 1. Управление базами данных.
- •1.1. Вводный пример
- •1.2. Что такое система баз данных
- •1.3. Что такое база данных
- •Свойства
- •1.4. Почему база данных
- •1.5.Независимость данных
- •1.6. Реляционные и другие системы
- •1.7. Резюме
- •1.5. А)
- •Глава 2.
- •2.1. Цель
- •2.2. Три уровня архитектуры
- •2.3. Внешний уровень
- •2.4. Концептуальный уровень
- •2.5. Внутренний уровень
- •2.6. Отображения
- •2.7. Администратор базы данных
- •2.8. Система управления базой данных
- •2.9. Система управления передачей данных
- •2.10. Архитектура клиент/сервер
- •2.11. Утилиты
- •2.12. Распределенная обработка
- •2.13. Резюме
- •Глава 3.
- •3.1. Введение
- •3.2. Реляционные системы
- •3.3. Замечание относительно терминологии
- •3.4. Реляционная модель
- •3.5. Оптимизация
- •3.6. Каталог
- •3.7. Базовые таблицы и представления
- •3.8. Язык sql
- •3.9. База данных поставщиков и деталей
- •3.10. Резюме
3.3. Замечание относительно терминологии
Если предположить, что реляционная база данных — это, по существу, просто база данных, в которой данные представлены в виде таблиц (а это так и есть), то возникает резонный вопрос: почему же мы называем такую базу данных именно реляционной? Почему не табличной? Ответ прост: термин "relation" (отношение) — это математическое название таблицы (точнее, определенного вида таблиц; подробнее это описано в главе 4). Например, можно сказать, что база данных отделов и служащих, показанная на рис. 3.1, содержит два отношения. (Не путайте отношения, отождествляемые с таблицами, с отношениями между объектами, которые можно отождествить с объектами. Свойства отношений в последнем смысле, как и свойства объектов, заносят в таблицы.)
В неформальном контексте термины "отношение" и "таблица" принято считать синонимами; на практике в таком контексте термин "таблица" используется гораздо чаще, чем термин "отношение". На обсуждении этого вопроса стоит немного задержаться, чтобы выяснить, почему все-таки термин "таблица" поставлен на первое место. Вкратце это объясняется следующим.
• Как уже отмечалось, реляционные системы основаны на модели, которая называется реляционной моделью данных. Реляционная модель, в свою очередь, — это абстрактная теория данных, основанная на некоторых положениях математики (в основном теории множеств и предикативной логики).
• Принципы реляционной модели были изначально заложены в 1969-70-х годах доктором Е.Ф. Коддом (E.F. Codd), в то время исследователем, работавшим в корпорации IBM. В конце 1968 года Кодд, математик по образованию, впервые осознал, что математические дисциплины можно использовать, чтобы привнести в область управления базами данных строгие принципы и точность; именно таких качеств и не доставало этой области в то время. Идеи Кодда подробно рассмотрены в ставшей классической статье "A Relational Model of Data for Large Shared Data Banks" (cm. [4.1] в главе 4).
• С того времени эти идеи стали общепринятыми и оказали весьма существенное влияние на все аспекты технологии баз данных, а также и на другие области, такие как искусственный интеллект, обработка естественных языков и разработка аппаратных систем.
Сейчас в реляционной модели, такой как изначально сформулированная Коддом, умышленно применяют определенные термины, например сам термин "отношение", который не был распространен в то время, хотя такое понятие иногда использовалось. Проблема заключалась в том, что многие распространенные термины были очень нечеткими — им не хватало точности, необходимой для такой формальной теории, которую предложил Кодд.
• Пример. Рассмотрим термин "запись". В разное время этот термин мог означать экземпляр записи или тип записи; запись в стиле языка COBOL (в которой разрешены группы повторения) или плоские записи (в которых не разрешены группы повторения); логические записи или физические записи; хранимые записи или виртуальные записи; а возможно, и еще что-то.
Поэтому в формальной реляционной модели не используется термин "запись" вообще; вместо него используется термин "кортеж", точное определение которого дал Кодд, когда впервые ввел его. Мы не станем приводить здесь это определение, а лишь отметим, что термин "кортеж" приблизительно соответствует понятию экземпляра плоской записи (так же, как термин "отношение" приблизительно соответствует понятию таблицы). При дальнейшем изучении более формальных аспектов реляционных систем будет использоваться более формальная терминология, в этой же главе мы будем придерживаться не формальных терминов, а более знакомых, таких как "таблица", "строка" и "столбец".