
- •Часть 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. Резюме
2.4. Концептуальный уровень
Концептуальное представление — это представление всей информации базы данных в несколько более абстрактной форме (как и в случае внешнего представления) по сравнению с физическим способом хранения данных. Однако концептуальное представление существенно отличается от способа представления данных какому-либо отдельному пользователю. Вообще говоря, концептуальное представление — это представление данных такими, какие "они есть на самом деле", а не такими, какими вынужден их видеть пользователь в рамках, например, определенного языка или используемого аппаратного обеспечения.
Концептуальное представление состоит из множества экземпляров каждого типа концептуальной записи. Например, оно может состоять из набора экземпляров записей, содержащих информацию об отделах, плюс набор экземпляров, содержащих информацию о поставщиках, плюс набор экземпляров, содержащих информацию о деталях и т.д. Концептуальная запись вовсе не обязательно должна совпадать с внешней записью, с одной стороны, и с хранимой записью — с другой.
Замечание. Необходимо отметить, что могут быть и другие способы представления данных на концептуальном уровне, которые вообще не используют записей как таковых и поэтому в некотором отношении предпочтительнее [2.7]. Например, вместо того чтобы рассматривать понятие концептуальной записи, можно рассматривать объекты и, возможно, отношения между ними в несколько более прямой форме. Однако такие рассуждения выходят за рамки первой части книги. (К ним мы вернемся в последующих частях книги.)
Концептуальное представление определяется с помощью концептуальной схемы, которая включает определения каждого типа концептуальных записей (см. рис. 2.2). Концептуальная схема использует другой язык определения данных —концептуальный. Чтобы добиться независимости данных, нельзя включать в определения концептуального языка любое рассмотрение структуры хранения или метода доступа. Определения концептуального языка должны относиться только к содержанию информации. Это означает, что в концептуальной схеме не должно быть никакого упоминания о представлении хранимого файла, последовательности хранимых записей, индексировании, хеш-адресации, указателях или других подробностях хранения или доступа. Если концептуальная схема действительно обеспечивает независимость данных в этом смысле, то внешние схемы, определенные на основе концептуальной, заведомо будут обеспечивать независимость данных.
Концептуальное представление — это представление всего содержимого базы данных, а концептуальная схема— это определение такого представления. Однако было бы ошибкой полагать, что концептуальная схема — это не более чем набор определений, больше напоминающих простые определения записей в программе на языке COBOL (или каком-либо другом). Определения в концептуальной схеме могут включать определения многих дополнительных средств, таких как средства безопасности или правила для обеспечения целостности, упомянутые в главе 1. Более того, некоторые авторитетные специалисты предлагают в качестве конечной цели концептуальной схемы описание всего предприятия — не только самих его данных, но также и того, как эти данные используются: как они перемещаются внутри предприятия, для чего используются в каждом конкретном месте, какая ревизия или иной контроль применяется к ним в каждом отдельном случае и т.д. [2.3]. Однако необходимо подчеркнуть, что ни одна сегодняшняя система реально не поддерживает такого концептуального уровня, который хотя бы немного приблизился к этой степени развитости; в большинстве существующих систем "концептуальная схема" в действительности представляет собой немного больше, чем простое объединение всех отдельных внешних схем с дополнительными средствами безопасности и правилами обеспечения целостности. Вероятно, со временем системы будут гораздо "интеллектуальнее" в поддержке концептуального уровня.