- •Введение
- •Глава 1. Проектирование баз данных
- •1.1. История развития баз данных и субд
- •1.2. Введение в субд
- •1.2.1. Основные термины, понятия и определения
- •1.2.2. Классификация субд
- •1) Сетевые, корпоративные, распределенные, клиент-серверные, полнофункциональные, масштабируемые, “большие” субд.
- •2) Локальные, персональные, настольные, файл-серверные, “малые” субд.
- •1.3. Модели данных
- •1.3.1. Типы связей между объектами
- •1.3.2. Формы записи инфологической (концептуальной) модели
- •1.3.3. Уровни представления и независимости данных
- •1.3.4. Порядок взаимодействия пользователя, субд и ос
- •1.3.5. Поддержка целостности базы данных
- •1.3.6. Иерархическая модель
- •1.3.7. Сетевая модель
- •1.3.8. Реляционная модель
- •1.3.8.1. Отношения
- •1.3.8.2. Теоретико-множественные операции с отношениями
- •1.3.8.3. Правила Кодда
- •1.3.8.4. Индексирование таблиц
- •1.3.8.5. Связывание таблиц
- •1.3.9. Постреляционная модель
- •1.3.10. Многомерная модель
- •1.3.11. Объектно‑ориентированная модель
- •1.4. Модели использования баз данных в сети
- •1.4.1. Сеть
- •1.4.2. Модели использования баз данных
- •1.4.2.1. Локальная однопользовательская модель
- •1.4.2.2. Файл-серверная модель
- •1.4.2.3. Клиент-серверная модель
- •В моделях «клиент–сервер»
- •1.4.2.4. Модель удаленного доступа (rda)
- •1.4.2.5. Модель сервера данных
- •1.4.2.6. Трехзвенная распределенная модель
- •1.4.2.7. Модели серверов баз данных
- •1.4.2.8. Клиент-Интернет
- •1.4.2.9. ИнтерфейсOdbc
- •1.4.3. Мониторы обработки транзакций (tpm)
- •1.4.4. Децентрализованное управление базами данных
- •1.4.5. Таблицы в локальных сетях
- •1.5. Проектирование баз данных
- •1.5.1. Принципы и этапы проектирования и создания баз данных
- •1.4.Определение доменов атрибутов.
- •1.5. Определение первичных и вторичных ключей.
- •1.6. Определение суперклассов и подклассов для типов сущностей.
- •1.7. Создание er‑диаграмм для отдельных пользователей.
- •2.6. Создание er‑диаграмм для отдельных пользователей.
- •3.4. Создание er‑диаграммы глобальной логической модели.
- •4. Создание глобальной логической модели в среде целевой субд.
- •6. Разработка механизма защиты.
- •1.5.3. Правила формирования взаимосвязанных таблиц
- •1.5.4. Модели жизненного цикла и проектирование баз данных
- •1.5.4.1. Модели жизненного цикла
- •1.5.4.2. Обследование, системный анализ и постановка задачи
- •1.5.4.3. Инфологическое проектирование
- •1.5.4.4. Датологическое проектирование
- •1.5.4.5. Проектирование физической модели
- •1.5.4.6. Реализация, интеграция и внедрение
- •1.5.5. Выбор субд
- •1.5.5.1. Сравнение Visual FoxPro, Access, sql Server, Oracle и Excel
- •1.5.5.2. Методика балловой оценки программных средств
- •1.5.6. Case‑средства автоматизации проектирования
- •1. Ориентация на этапы жизненного цикла
- •2. Функциональная полнота
- •Пользователя в ms sql Server 7.0
- •1.6.2. Резервирование информации
- •1.6.3. Варианты разработки приложений
- •1.7. Стандартизация баз данных
- •1.8. ЯзыкSql
- •1.8.1. Введение вSql
- •1.8.2. Типы данныхSql
- •1.8.3. Оператор выбора данныхSelect
- •1.8.3.1. Назначение и синтаксис оператора
- •1.8.3.2. Объединение таблиц
- •1.8.3.3. Вложенные и коррелированные запросы
- •1.8.3.4. Запросы, использующиеExist, any, all
- •1.8.3.5. Стандартные функции
- •1.8.3.6. Запрос с группировкой
- •1.8.4. Операторы обновления базы
- •1.8.4.1. Оператор корректировки данныхUpdate
- •1.8.4.2. Оператор удаления записейDelete
- •1.8.4.3. Оператор включения записей insert
- •1.8.5. Представления
- •1.9. Транзакции
- •1.9.1. Определение транзакций
- •1.9.2. Организация транзакций
- •1.9.3. Журнал транзакций
- •1.9.4. Журнализация и буферизация
- •1.9.5. Индивидуальный откат транзакций
- •1.9.6. Восстановление после мягкого сбоя
- •1.9.7. Физическая согласованность базы данных
- •1.9.8. Восстановление после жесткого сбоя
- •1.9.9. Параллельное выполнение транзакций
- •1.9.10. Уровни изолированности пользователей
- •1.9.11. Гранулированные синхронизационные захваты
- •1.9.12. Предикатные синхронизационные захваты
- •1.9.13. Метод временных меток
- •1.10. ВстроенныйSql
- •1.10.1. Особенности встроенногоSql
- •1.10.2. Определение курсора
- •1.10.3. Открытие курсора
- •1.10.4. Чтение очередной строки курсора
- •1.10.5. Закрытие курсора
- •1.10.6. Удаление и обновление данных
- •1.10.7. Хранимые процедуры
- •Хранимой процедуры на сервере
- •1.10.8. Триггеры
- •1.10.9. ДинамическийSql
- •1.11. Архитектура субд и оптимизация запросов
- •1.12. Перспективы развития субд
- •Вопросы для самопроверки и контроля
- •1Оглавление
1.4.5. Таблицы в локальных сетях
Существуют три модели использования БД: файл‑сервер, клиент‑сервер и Intranet.
Файл‑сервер.Можно использовать несетевые и сетевые СУБД. Данные для несетевых СУБД могут храниться на сервере (центральная база) и у клиента (локальная база). После запуска с сервера СУБД центральная база и сама СУБД копируется клиенту, и после завершения работы изменения переносятся в центральную базу. Это может вызвать нарушение целостности БД. Сетевые СУБД устраняют этот недостаток через механизм блокировки. Обработка ведется на клиентской машине, а сервер предоставляет данные.
Клиент‑сервер. Программы СУБД разделены на две части: сервер и клиент. Клиент (фронтальная программа) отвечает за интерфейс пользователя (получает запросы от клиента, передает их для выполнения серверу и полученные от сервера результаты отображает пользователю). Клиентом могут быть СУБД (Access, FoxPro), табличные или текстовые процессоры и др. Сервер выполняет функции управления и защиты данных в базе. Если вызов данных выполняется на языке SQL, то он называется SQL‑сервером (MS SQL Server, Informix 7.x, Sybase System 10, Novel NetWare SQL). На сервере хранятся и выполняются хранимые процедуры (запросы, хранимые команды, триггеры), которые обеспечивают доступ и обработку данных. Триггерные процедуры автоматически вызываются при наступлении определенных событий (включение, удаление или изменение текущей записи и др.). Хранимые команды ‑ это откомпилированный запрос. Для создания клиент‑серверных баз можно использоватьVisualBasic(Microsoft),Delphi(Borland),C++Builder(Borland),VisualC++ (Microsoft),PowerBuilder(Powersoft),Erwin(LogicWorks),CA‑VisualObject(ComputerAssociates),Oracle8‑Designer/2000 и др.
Intranetпредставляет собой технологиюInternet, перенесенную в среду корпоративной сети.
1.5. Проектирование баз данных
1.5.1. Принципы и этапы проектирования и создания баз данных
Основные принципы проектирования баз данных.
Удовлетворение информационных потребностей различных пользователей за приемлемое время и в удобной форме.
Гибкая и нетрудоемкая модификация при изменении предметной области, программ и технических средств.
Достоверность данных, исключение дублирования.
Защита от несанкционированного доступа.
Восстановление данных и надежность функционирования.
Этапы и шаги проектирования и создания баз данных
1. Создание локальной концептуальной модели данных. Построение локальной концептуальной модели данных для каждого типа пользователя предметной области.
1.1. Определение типов сущностей.Выявление основных типов сущностей в представлениях пользователя и их документирование.
1.2. Определение типов связей.Определение типов связей между сущностями; документирование и составлениеER‑диаграмм.
1.3. Определение атрибутов и их связей.Связывание атрибутов с сущностями; выявление простых, составных, множественных, производных атрибутов и их документирование.
1.4.Определение доменов атрибутов.
1.5. Определение первичных и вторичных ключей.
1.6. Определение суперклассов и подклассов для типов сущностей.
1.7. Создание er‑диаграмм для отдельных пользователей.
1.8. Согласование локальных концептуальных моделей с пользователями.При отрицательных результатах согласования нужно вернуться назад на соответствующий шаг для перепроектирования.
2. Построение локальной логической модели.Построение локальной логической модели для каждого типа пользователя на основе концептуальной модели.
2.1. Выбор целевой СУБД.Формулирование требований и ограничений кCУБД. Изучение и сравнительный анализ СУБД. Оценка кандидатов и выбор СУБД.
2.2. Преобразование локальной концептуальной модели в логическую. Удаление из концептуальной модели связей типа М:М, сложных, рекурсивных и избыточных связей, множественных атрибутов, связей с атрибутами. Перепроверка связей типа 1:1.
2.3. Определение набора отношений.Определение и документирование набора отношений (таблиц) и связей между ними, первичных, вторичных и внешних ключей; форматы представления данных (столбцов) в отношениях.
2.4. Нормализация отношений.Проверка и, при необходимости, проведение процедуры нормализации отношений, по крайней мере, в нормальную форму Бойса‑Кодда (НФБК) (п. 1.5.2).
2.5. Согласование транзакций с пользователями.Проверить, что локальная логическая модель позволяет выполнить все транзакции, запросы и отчеты, предусмотренные пользователями. Если это не так, то нужно вернуться назад на соответствующий шаг для перепроектирования.