- •Введение
- •Глава 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Оглавление
2) Локальные, персональные, настольные, файл-серверные, “малые” субд.
СУБД этой группы рассчитаны на объём информации в несколько ГБ (информационные “легковые автомобили”). Рассмотрим основные СУБД из этой группы.
СУБД Access(фирмаMicrosoft) – лидер в этой группе. Часто, оценивая только визуальные возможности (это только видимая и очень маленькая часть огромного программного айсберга под названиемAccess) этой СУБД, разработчики баз данных отзываются пренебрежительно о ней как об очень простой и только настольной СУБД, не достойной для создания и использования настоящих баз данных. Это далеко ошибочное мнение. Рассмотрим основные достоинства этой СУБД.
Наличие прекрасных русифицированных разнообразных, мощных и удобных средств создания, ведения, реорганизации, использования баз данных и разработки приложений.
Наличие трёх уровней работы cБД:
1) визуальный уровень - можно создавать БД, отчёты, запросы, формы без всякого программирования.
2) уровень макрокоманд - в Accessимеется более сотни различных макрокоманд и с помощью макрокоманд составляются макросы, которые реализуют алгоритмы работы с базой данных, которые нельзя реализовать визуальными средствами, например: копирование таблиц, формирование и выполнение зависимых друг от друга запросов макросов и других процессов. Макросы в какой-то мере реализуют механизм хранимых процедур, который отсутствуют вAccess.
3) программный уровень на котором пишутся программы на языке программирования VBA(подмножество языкаVisualBasic). Таким образом, можно реализовать алгоритмы в виде процедур и функций, которые указываются в вычисляемых полях в запросах, формах или отчётах.
Разработчик может выбирать уровни, которые соответствуют сложности решаемых им задач.
СУБД Accessреализует все модели работы с базой данных, а именно.
Файловая модель- база данных и приложения находятся на одном компьютере и в одном файле. Достоинством такой модели является максимальная скорость работы с базой, ибо отсутствуют процессы передачи информации по каналам связи. Недостатком является - невозможность коллективной работы с БД.
Файл - северная модель- в этой модели приложение и база данных находится в различных файлах, а именно БД находится на сервере, а приложение на клиентской машине. ВAccessимеется возможность автоматического разделения БД на серверную и клиентскую части. ВAccessэтот режим называется режимом связанных таблиц при чём связывать можно таблицы и из внешних БД или электронных таблиц. Клиентская часть устанавливается на всех компьютерах пользователей.
Достоинства: возможность коллективной работы пользователей с одной БД в сети и децентрализованная обработка данных на клиентских компьютерах, что разгружает работу сервера; все возможности Accessдоступны в этой модели.
Недостаток: передача не нужной информации по каналам сети, так как запросы находятся и выполняются на клиентской машине. Например, при смене фамилии Ивановой на Сидорову запрос на поиск записи Ивановой по табельному номеру выполняется на клиентской машине и все записи из таблицы сотрудников должны быть пересланы по каналам сети на клиентскую машину, что загружает каналы связи передачей ненужной информации для клиента. Для смягчения недостатков в данной модели можно формировать сквозные запросы, которые передаются на сервер и выполняется на сервере что позволяет заменить передачу не нужной информации передачей текста запросов, которые многократно меньше по размеру. Данная модель рекомендуется для небольших предприятий, которые находятся в одном здании и имеют локальную сеть и небольшой объем информации (несколько ГБ).
Клиент-серверная модельона аналогична предыдущей модели только: БД на сервере должна иметь другой тип СУБД и представления, хранимые процедуры и триггеры хранятся на сервере и выполняются сервером (эта модель называется в терминахAccess- проектом). Достоинства: каналы связей не загружаются передачей не нужной информацией, централизованное хранение и использование запросов, хранимых процедур и триггеров (нет необходимости копировать их на клиентские машины, что повышает надёжность работы и защиту). Недостаток – возможная перегрузка сервера выполнением большого числа запросов и хранимых процедур на сервере.
В этой модели Accessиспользуется как средство разработки интерфейса пользователя к внешним серверным базам данных с другими СУБД. Недостатки: необходимо знать и уметь формировать запросы, хранимые процедуры и триггеры средствами серверной СУБД. Данная модель используется в случаях больших объёмов БД (сотни ГБ и более).
Модель тонкого клиента(использование Интернет технологий). В этой модели используются стандартные средства Интернета через окно браузера пользователя можно заполнять входные документы и отображать выходные документы. Обработка данных ведется с использованиемWeb-приложении с обращением к базе с СУБДAccess(например, через функцииODBC). Достоинство: компьютер клиента может быть минимальным по своим возможностям, ибо только требуется работа браузера, а вся обработка и поиск ведётся на сервере (узле Интернет) и используются стандартные средства Интернет.
Трехзвенная модель клиент, сервер-приложений и сервер-базы данных. В этом режиме клиентская часть разделяется на 2 части: одна часть хранится на клиентской машине и содержит средства заполнения и отображения документов, а сама расчётная часть хранится на сервере приложений, которая в свою очередь обращается к серверу БД. ВAccess2010 появилось возможностьAccessсозданияWeb-базы данных и формирования и использования форм и отчетов, которые обращаются к этой базе непосредственно.
В качестве недостатковСУБДAccessможно отметить следующие.
Отсутствие возможности непосредственного хранения данных не в одном файле, а нескольких на различных дисководах, что позволило бы распараллелить обработку данных на различных дисководах и вместо одной головки чтения и записи использовать несколько, что многократно повышает скорость обработки данных.
Ограничение на объем базы данных в 2 ГБ.
Отсутствие поисковых средств быстрого поиска запросов, форм, отчетов, модулей по их наименованиям и/или содержанию.
Небольшие размеры полей для ввода параметров макрокоманд (например, текста SQL-команды), что приводит к необходимости переходить на использование языка программированияVBA.
Достаточно сложный процесс формирования ленты пользователя и отсутствия возможности формирования меню в версиях Access2007 и выше.
Все эти замечания проявляются при разработке больших баз данных и приложений.
Таким образом, можно сделать вывод в наличии разнообразных и мощных возможностей СУБД Access.
СУБД Visual FoxPro (Microsoft).Достоинства: наличие собственно языка программирования, наличие средств разработки приложений, каждая таблица хранится в отдельном файле. Недостатки: плохие визуальные средства.
Visual Clarion -она уступает всем предыдущим СУБД и в настоящее время практически не используется.