- •Введение
- •Глава 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.5.4.6. Реализация, интеграция и внедрение
Реализация и тестирование. Создаются прикладные программы, хранимые процедуры, триггеры (содержание данного пункта скопировано из работы [19]). Производится автономное тестирование программ на отдельных тестах, тестируются связи между программами.
Интеграция. Для существующей устаревшей системы, которая будет заменена новой разрабатываемой системой, можно конвертировать программы, файлы или таблицы этой системы в программы и файлы для загрузки данных в создаваемую БД. Создается системный тест (или загружаются реальные данные) и производится комплексное тестирование на системном тесте (реальных данных).
Внедрение версий.Производятся обучение пользователей, загрузка базы данных реальной информацией, проведение опытной эксплуатации, устранение обнаруженных ошибок, приемо‑сдаточные испытания.
1.5.5. Выбор субд
1.5.5.1. Сравнение Visual FoxPro, Access, sql Server, Oracle и Excel
Приведем краткий сравнительный анализ популярных СУБД и электронной таблицыExcel.
Основные общие черты Access и Visual FoxPro
Обе СУБД являются реляционными.
Используются для создания и обработки локальных баз данных или в качестве клиентских приложений с доступом к удаленным и распределенным базам данных коллективного использования с SQLServerилиOracle.
Единая технология создания и использования баз данных, форм, запросов и отчетов.
Возможность совместной работы базы данных с другими внешними источниками данных (базы данных с СУБД Accessи других типов СУБД, электронная таблицаExcel, текстовые файлы).
Средства разработки приложений пользователя могут использоваться для работы с другими СУБД (например, MSSQLServer,Oracle), выполняя роль интегрированой среды разработки приложений, использующих для хранения данных базы с различными СУБД.
Наличие различных мастеров, конструкторов и построителей.
Основные отличия Access от Visual FoxPro
Полная русификация СУБД Access(включая имена полей и свойств), большая простота в работе.
Отсутствие возможности создания приложения в виде исполняемого файла и одновременной непосредственной работой с несколькими базами из окна базы.
Отсутствие собственного языка программирования (используется язык программирования VisualBasic).
Запрос может использоваться наравне с таблицами в качестве источника записей для отчетов, форм и запросов.
База данных и все ее объекты (таблицы, запросы, формы, отчеты, макросы и модули) храняться в одном файле.
Основные общие черты SQL Server и Oracle
Обе СУБД являются реляционными, полнофункциональными.
Используются для создания распределенных баз данных коллективного использования.
Реализуют многопользовательский удаленный режим типа Клиент‑Сервер доступа к данным.
Имеют развитые средства реляционного доступа к данным (Transact-SQL,PL/SQL), администрирования, защиты и восстановления базы данных.
Основные отличия SQL Server от Oracle
Отсутствуют средства разработки приложений.
Простота в использовании.
Основные отличия SQL Server от Visual FoxPro и Access
Имеются гибкие и мощные средства администрирования, коллективного использования, защиты и восстановления баз данных.
Наличие развитого языка запросов Transact-SQL.
Отсутствуют средства разработки приложений и собственный язык программирования.
Основные отличия Oracle от Visual FoxPro и Access
Имеются развитые средства администрирования, коллективного использования распределенных баз данных, защиты и восстановления баз данных.
Наличие мощного языка запросов PL/SQLи средств разработки приложений.
Основные отличия СУБД от Excel
Нельзя хранить в одном столбце таблицы базы данные различных типов.
Обеспечивается контроль данных при вводе их в базу.
Число записей в базе может быть очень большим.
Можно установить связи между таблицами базы и внешними источниками (базами данных, электронными таблицами) так, что пользователю они будут представлены в виде одной виртуальной таблицы.
Поддерживается одновременная работа с базой многими пользователями.
Наличие более развитых средств защиты от несанкционированного доступа к базам, копирования и восстановления базы данных.
Достоинства FoxPro.Наличие собственного развитого, простого и удобного языка программирования, мастеров, конструкторов, обработка нескольких баз данных с различными СУБД, возможность создания исполняемыхEXE‑файлов.
Недостатки FoxPro. Сложность написания программ, отсутствие средств защиты и восстановления информации, ограничения на объем информации, наличие ошибок при установке связей между таблицами в запросах, формируемых визуальными средствами (ошибки обходятся путем установки связей средствами фильтрации).
FoxPro рекомендуетсяиспользовать для разработки достаточно сложных приложений с ограниченным объемом (не более миллиона записей) обрабатываемой информации для небольших и средних предприятий.
Достоинства Access.Простота, гибкость, русификация, наличие разнообразных мастеров, конструкторов, надежная работа.
Недостатки Access. Слабые средства защиты и восстановления информации, ограничения на объем информации, отсутствие собственного языка программирования, низкая скорость при работе с большими объемами информации.
Access рекомендуетсяиспользовать для разработки простых приложений и персональных баз данных с ограниченным объемом (несколько сотен тысяч записей) информации для небольших предприятий.
Достоинства SQL Server. Имеются гибкие и мощные средста администрирования и языка запросовTransact-SQL, надежность, эффективная работа, ориентация на коллективное использование.
Недостатки SQL Server. Отсутствуют средства визуальной разработки приложений.
SQL Server рекомендуетсяиспользовать для создания очень больших централизованных или распределенных баз данных (хранилищ данных) коллективного использования для средних и крупных предприятий.
Достоинства Oracle. Достоинства аналогичны достоинствамSQLServerплюс наличие развитых средств загрузки/разгрузки данных, разработки приложений и оперативного анализа данных.
Недостатки Oracle. Сложность и высокая стоимость приобретения.
Oracle рекомендуетсяиспользовать для очень больших централизованных или распределенных баз данных (хранилищ данных) коллективного использования для крупных предприятий.
Общие рекомендации.Для организации хранилища данных больших объемов рекомендуется использоватьSQLServerилиOracle, а в клиентском приложении доступ к данным этого хранилища осуществить средствами СУБДAccess(через проект),FoxPro(через удаленные представления) или средствами языков программированияVisualBasic,VisualC++,Delphi,C++Builder(черезADO), или инструментальными средствами обработки данныхOracle.