- •Часть 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. Резюме
1.7. Резюме
В заключении вводной главы подведем итог обсуждению основных вопросов. Во-первых, систему баз данных можно рассматривать как компьютеризированную систему хранения записей. Такая система включает в себя данные (непосредственно сохраняемые в базе данных), аппаратное обеспечение, программное обеспечение (называемое системой управления базами данных, или СУБД), а также пользователей (что наиболее важно). Пользователи, в свою очередь, подразделяются на прикладных программистов, конечных пользователей, а также на администраторов баз данных, или АБД. Последние отвечают за администрирование базы данных и системы баз данных в соответствии с требованиями, устанавливаемыми администратором данных.
Базы данных являются интегрированными и (чаще всего) совместно используемыми. Они применяются для хранения постоянных данных. Можно считать (хотя это и не совсем точно), что эти данные представляют собой объекты и отношения между этими объектами, а сами отношения — это просто специальный вид объектов.
Система баз данных имеет ряд преимуществ, наиболее важным из которых является независимость данных (иммунитет приложений к изменениям способа хранения данных и метода доступа).
И, наконец, система баз данных может быть основана на нескольких различных подходах, среди которых есть реляционный подход. И с экономической, и с теоретической точки зрения можно сказать, что реляционный подход наиболее важный (и это положение дел, по-видимому, не изменится в обозримом будущем). В реляционных системах данные рассматриваются пользователями как таблицы, а операторы, доступные каждому пользователю для работы с данными, — как операторы обработки таблиц. Мы рассмотрели несколько примеров использования языка SQL — стандартного языка для работы с реляционными системами. Эта книга будет в значительной мере базироваться на реляционном подходе, а точнее, непосредственно на SQL.
Упражнения
1.1. Дайте определения следующим терминам: бинарное отношение; интерфейс, основанный на меню; командный интерфейс; многопользовательская система; одновременный доступ; оперативное приложение; администрирование данных; постоянные данные; база данных; свойство; система баз данных; язык запросов; независимость данных; избыточность; АБД; отношение; СУБД; безопасность; объект; общее использование данных; схема объект/отношение; хранимое поле; интерфейс, основанный на форме; хранимый файл; интеграция; хранимая запись; целостность.
1.2. Каковы преимущества использования системы баз данных?
1.3. Каковы недостатки использования системы баз данных?
1.4. Как вы понимаете термин "реляционная система"? Назовите различия между реляционной и нереляционными системами.
1.5. Укажите результат следующих SQL-операторов выборки из базы данных, приведенной на рис. 1.1:
a) SELECT WINE, PRODUCER
FROM CELLAR
WHERE BIN = 72 ;
б) SELECT WINE, PRODUCER
FROM CELLAR
WHERE YEAR > 91 ;
в) SELECT BIN, WINE, YEAR
FROM CELLAR
WHERE READY < 94 ;
г) SELECT BIN, WINE, YEAR
FRОM CELLAR
WHERE PRODUCER = 'Robt. Mondavi'
AND BOTTLES > 6 ;
1.6. Укажите результат следующих SQL-операторов изменения в базе данных, приведенной на рис. 1.1:
a) insert
INTO CELLAR(BIN,WINE,PRODUCER,YEAR,BOTTLES,READY )
VALUES (80, 'Syrah', 'Meridian', 89, 12, 94 );
6) DELETE
FRОM CELLAR
WHERE READY > 95 ;
В) UPDATE CELLAR
SET BOTTLES = 5
WHERE BIN » 50 ;
Г) UPDATE CELLAR
SET BOTTLES = BOTTLES + 2
WHERE BIN = 50 ;
1.7. Напишите оператор SQL для выполнения следующих операций в базе данных винного погреба:
а) выберите номер отсека (BIN), наименование вина и количество бутылок для всех вин Geyser Peak;
б) выберите номер отсека (BIN), наименование вина для всех вин, запас которых составляет более пяти бутылок;
в) выберите номер отсека (BIN) для всех красных вин;
г) добавьте три бутылки (BOTTLES) в отсек (BIN) с номером 30;
д) удалите все вина Chardonnay из всего запаса;
е) добавьте данные нового поступления (12 бутылок) Gary Farrell Merlot: отсек номер 55, год 91, готово в 96.
1.8. Предположим, что у вас есть коллекция классической музыки, содержащаяся на компакт-дисках, пластинках и/или аудиокассетах, и вы хотите построить базу данных, которая позволит находить записи определенного композитора (например, Сибелиуса), дирижера (например, Симона Ратла), солиста (например, Артура Грюмикса), произведения (например. Пятая симфония Бетховена), оркестра (например, NYPO), вида произведения (например, концерт для виолончели) или камерной группы (например, квартет Кронус). Начертите схему объект/отношение для этой базы данных по образцу рис. 1.6.
Ответы к некоторым упражнениям
1.1. Здесь мы сделаем одно замечание: ведомственные издания, рекламные брошюры и т.д. очень часто используют термин "база данных", имея в виду СУБД (например, "поставщик базы данных Х делает это лучше поставщика базы данных Y в два раза"). Такое употребление термина небрежное, вызывает осуждение, но очень часто используется. (Предостережение автора.)
1.3. Перечислим некоторые недостатки.
• Без надлежащего контроля безопасность может быть подвергнута риску.
• Целостность может быть подвергнута риску (без надлежащего контроля). " Может потребоваться дополнительное аппаратное обеспечение.
• Накладные расходы для повышения производительности могут быть значительными.
• Успешное выполнение операции является критическим (предприятие может быть весьма уязвимым по отношению к сбоям).
• Система, вероятно, будет сложной (хотя такие сложности должны быть скрыты от пользователя).