- •Основы систем управления базами данных
- •2.1. Традиционный подход к организации данных
- •2 .2. Система баз данных
- •2.2.1. Данные
- •2.2.2. Аппаратное обеспечение
- •2.2.2. Программное обеспечение
- •2.2.4. Пользователи
- •2.2. Преимущества и недостатки современного подхода к организации данных
- •2.4. Классификация систем баз данных
- •2.5. Архитектура клиент/сервер
- •2.5.1. Компоненты приложений клиент/сервер
- •2.5.2. Разделение клиента и сервера
- •2.5.2. Преимущества и перспективы системы клиент/сервер
- •2.6. Общие понятия реляционного подхода к организации данных
- •2.6.1. Базовые понятия реляционных баз данных
- •Тип данных
- •Отношение
- •2.6.2. Общая характеристика реляционной модели данных
- •2.6.2. Манипулирование данными с помощью языка запросов sql
- •2.7. Основы проектирования реляционных баз данных
- •2.7.1. Основные требования при проектировании бд
- •2.7.2. Основы классической методологии проектирования бд
- •2.7.2. Основные этапы проектирования базы данных
- •2.7.4. Обеспечение свойств бд в процессе проектирования
- •2.8. Проектирование реляционных баз данных с использованием принципов нормализации
- •2.8.1. Первая нормальная форма
- •2.8.2. Вторая нормальная форма
- •2.8.2. Третья нормальная форма
- •2.9. Семантическое моделирование данных. Диаграммы «сущность–связь»
- •2.9.1. Основные понятия
- •2.9.2. Методология idef1
- •2.10. Информационное моделирование с помощью case-средства eRwin
- •2.10.1. Общая характеристика программы eRwin
- •2.10.2. Этапы построения информационной модели в eRwin
- •2.11. Проектирование базы данных доменного производства
- •2.11.1. Концептуальное и логическое проектирование
- •Характеристика вспомогательных сущностей
- •Данные по доменному переделу, приведенные
- •2.11.2. Физическая реализация информационной модели
- •2.12. Контрольные вопросы
2.5.2. Преимущества и перспективы системы клиент/сервер
В настоящее время применение компьютерных приложений с архитектурой клиент/сервер – лучший способ использования вычислительных ресурсов. Эта архитектура дает следующие преимущества:
рабочая загрузка естественным образом распределена на множестве компьютеров;
пользователи могут легко совместно пользоваться данными;
чувствительные к повреждениям данные можно надежно защитить в централизованном порядке;
использование нескольких малых компьютеров, предназначенных для решения отдельных задач, улучшает показатель "стоимость / эффективность" по сравнению с применением одного мощного компьютера.
В то же время такая архитектура имеет некоторые неудобства, которые приходится учитывать при проектировании и администрировании:
проектировщик должен определить, какие задачи следует выполнять клиенту, а какие – серверу;
проектировщик должен выбрать для решения каждого типа задач подходящее аппаратное обеспечение;
переходы к новым версиям программного обеспечения клиента должны контролироваться очень строго;
изменения конструкции базы данных сервера могут повлиять на всех клиентов;
сетевая топология часто очень сложна;
контроль производительности и необходимые регулировки могут оказаться немного сложнее, чем при централизованной архитектуре.
2.6. Общие понятия реляционного подхода к организации данных
Современная технология реализации баз данных, как правило, основана на реляционной модели, которая, в свою очередь, является некоторой абстрактной теорией данных. Принципы реляционной модели были изначально заложены в 1969 году доктором Е.Ф.Коддом, в то время исследователем, работавшим в корпорации IBM. В конце 1968 года Кодд, математик по образованию, впервые осознал, что математические дисциплины можно использовать, чтобы привнести в область управления базами данных строгие принципы и точность. Именно таких качеств и не доставало этой области в то время. С того времени эти идеи стали общепринятыми и оказали весьма существенное влияние на все аспекты технологии баз данных. Первые реляционные программные продукты начали появляться в конце 70-х – начале 80-х годов. С тех пор почти все созданные коммерческие СУБД основываются на реляционном подходе.
Что же понимается под реляционной системой? В самом широком смысле реляционная система – это система, основанная на следующих принципах:
данные воспринимаются пользователем как таблицы;
в распоряжении пользователя имеются операторы манипулирования данными (например, для выборки данных), которые генерируют новые таблицы из старых.
Причина, по которой такие системы называют реляционными, заключается в том, что английский термин «relation» (реляция, отношение), по существу, просто математическое название для таблицы. Поэтому на практике в большинстве случаев термины «отношение» и «таблица» принято считать синонимами. Определение «реляционные системы» требует, чтобы база данных воспринималась пользователем только в виде таблиц. Таблицы в реляционной системе являются логическими, а не физическими структурами. В действительности на физическом уровне система баз данных может использовать любую или все применяемые структуры памяти – последовательные файлы, индексирование, цепочки указателей, сжатие хранимых данных и т.п. – лишь бы обеспечивалась возможность отображать эти структуры в таблицы на логическом уровне. Другими словами, таблицы представляют абстракцию способа физического хранения данных, в которой множество деталей на уровне памяти – размещение, последовательность хранимых записей, кодировка хранимых данных, хранимые структуры доступа, такие как индексы, и т.д. – скрыто от пользователей.
На рис. 2.11 показан простой пример реляционной базы данных отделов и сотрудников.
Среди операторов манипулирования данными есть как минимум следующие:
SELECT, предназначенный для извлечения определенных строк из таблицы;
PROJECT, предназначенный для извлечения определенных столбцов из таблицы;
JOIN, предназначенный для соединения двух таблиц на основе общих значений в общих столбцах.
Некоторые примеры использования операций SELECT, PROJECT И JOIN показаны на рис. 2.12.
Необходимо отметить важный момент, очевидный из рис. 2.12: результат каждой из трех операций – это еще одна таблица. Это реляционное свойство замкнутости. Оно имеет очень большое значение главным образом потому, что результатом операции является объект того же рода, что и объект, над которым производилась операция – а именно таблица. Это значит, что над
результатом операции можно вновь проделать какую-либо другую операцию. Например, можно выбрать столбцы из соединенной таблицы или соединить два результата операции SELECT и т.д. Другими словами, можно использовать вложенные выражения, т.е. выражения, в которых операнды1 представлены выражениями, а не простыми именами таблиц.
Другой момент, который также проиллюстрирован на рис. 2.12, заключается в том, что операции применяются сразу ко всему множеству строк, а не к отдельной строке за один раз, т.е. операндами и результатами являются не отдельные строки, а целые таблицы, которые содержат множество строк. Такая возможность обработки множества – главная отличительная характеристика реляционных систем; нереляционные системы, как правило, за одно обращение выполняют обработку на уровне одной строки или записи.
