Главы  О курсе  1  2  3  4  5  6  7  8  9  10  11  12  13  Словарь  

Глава 6. Базы данных: принципы построения


    Глава 6. Базы данных: принципы построения
    Глава 6. Базы данных: принципы построения Прежде всего Для изучения занятий этой главы необходимы: Портфель (Briefcase) Windows 95; база данных Northwind (Nwind.mdb); Microsoft Access. Занятие 1....
    Занятие 1. Реляционные базы данных
    Занятие 1. Реляционные базы данных (Продолжительность занятия 30 минут) Бизнес-решения почти всегда требуют поддержки баз данных. В настоящее время наиболее распространены два типа реляционных БД:...
    Структура реляционной базы данных
    Структура реляционной базы данных Реляционная модель — современный стандарт проектирования баз данных. Информация в ней представлена в виде набора таблиц. Отношения между данными определяются не п...
    Структура реляционной базы данных
    Структура реляционной базы данных Запись содержит информацию об одном элементе таблицы: например, в таблице Employees БД Northwind (рис. 6.2) это сведения о конкретном сотруднике. Каждое поле табл...
    База данных Northwind
    База данных Northwind Ключ — это поле или поля таблицы, которые проиндексированы для ускорения доступа к записям. Поле (или поля), значения которого однозначно идентифицируют запись, можно назначи...
    Файловые базы данных
    Файловые базы данных Многие популярные системы управления базами данных (СУБД) для персональных компьютеров являются файловыми реляционными БД. Эти базы данных, как правило, размещают на сервере д...
    Файловая база данных
    Файловая база данных...
    Базы данных индексно-последовательного доступа
    Базы данных индексно-последовательного доступа Метод индексно-последовательного доступа (Indexed Sequential Access Method, ISAM) — это технология файловых баз данных, на основе которой построены т...
    Microsoft Access
    Microsoft Access Microsoft Access — это настольная реляционная система управления базами данных. Если файл БД хранится на сетевом сервере, сетевому клиенту предоставляется только сервис хранения д...
    Достоинства файловых баз данных
    Достоинства файловых баз данных Хотя база данных может находится на сервере, сервер необязателен. Создание БД на локальном компьютере уменьшает сетевой трафик. Реализация файловой БД гораздо проще...
    Клиент-серверные базы данных
    Клиент-серверные базы данных Клиент-серверная архитектура — эффективный и популярный метод создания распределенных приложений. Клиент-серверные БД, как и файловые, хранят данные, но также обеспечи...
    Клиент-серверная база данных
    Клиент-серверная база данных В модели клиент-сервер приложение разделено на две части: клиентскую, предоставляющую информацию пользователю, и серверную, которая хранит, выбирает и обрабатывает дан...
    Достоинства клиент-серверных баз данных
    Достоинства клиент-серверных баз данных Клиент-серверная архитектура обладает рядом достоинств, делающих ее оптимальным вариантом для многих приложений управления данными. Гарантирует надежность,...
    Структуры данных SQL
    Структуры данных SQL Структуры данных SQL предназначены для реляционных баз данных большого размера. При увеличении объема данных БД ISAM менее эффективны, чем SQL, которые могут обрабатывать боль...
    Microsoft SQL Server
    Microsoft SQL Server Microsoft SQL Server — это масштабируемая высокопроизводительная система управления реляционными базами данных для платформ на базе Windows NT Server. Она разработана с учетом...
    Резюме
    Резюме Реляционная модель — это наиболее популярная архитектура баз данных. В настоящее время наиболее распространены два типа реляционных БД: файловые и клиент-серверные. В первых ядро находится...
    Занятие 2. Клиент-серверные системы
    Занятие 2. Клиент-серверные системы (Продолжительность занятия 40 минут) Файловые реляционные базы данных — это мощные настольные СУБД, включающие ядро и хранилище данных. Однако в условиях сложны...
    Архитектура клиент-сервер
    Архитектура клиент-сервер Архитектура клиент-сервер предъявляет специфические требования как к клиенту, так и к серверу. Программа, удовлетворяющая этим требованиям, может считаться клиент-серверн...
    Клиент, связывающийся с сервером по сети
    Клиент, связывающийся с сервером по сети Под распределенной обработкой понимается выполнение серверной частью программы запросов клиентской части. Серверная часть приложения обеспечивает хранение...
    Преимущества клиент-серверных систем
    Преимущества клиент-серверных систем Клиент-серверный подход — модульный, причем серверные программные компоненты компактны и автономны. Поскольку каждый компонент выполняется в отдельном защищенн...
    Проектирование клиент-серверной системы
    Проектирование клиент-серверной системы При разработке бизнес-приложения необходимо прежде всего проанализировать постановку задачи, чтобы понять, в каком направлении разрабатывать приложение. Диз...
    Стадии разработки
    Стадии разработки Клиент-серверное проектирование оптимизированной системы управления базой данных состоит из четырех стадий: концептуальной, логической, физической и перспективной (рис. 6.6). Это...
    Стадии проектирования клиент-серверной базы данных
    Стадии проектирования клиент-серверной базы данных...
    Концепция
    Концепция На концептуальной стадии основное внимание уделяется сценариям использования приложения. Они должны отражать требования пользователей к решению конкретных проблем бизнеса. Здесь определя...
    Логика
    Логика На этой стадии на основе сценариев использования проектируются бизнес-объекты и необходимые сервисы. Логическая структура приложения представляет собой основу формальной модели для команды...
    Физическое решение
    Физическое решение На этой стадии проектируются физические компоненты для объектов и сервисов. Структура и дизайн компонентов должны отражать исходные бизнес-объекты и, естественно, сценарии испол...
    Перспектива
    Перспектива Сценарии перспективного использования приложения или системы — основа будущего расширения возможностей приложения. Они отражают мнение пользователей о будущем бизнес-решения и должны б...
    Особенности клиента
    Особенности клиента Пользователям, работающим в сети, часто требуется запускать приложения с сетевого сервера. Клиентские компоненты должны включать средства поддержки локальной информации (в том...
    Особенности сервера
    Особенности сервера В состав серверной части должны входить основные исполняемые файлы, библиотеки и все остальные файлы, необходимые для поддержки доступа пользователей по сети. Кроме того, надо...
    Системы клиент-сервер
    Системы клиент-сервер Клиент-серверная система управления базой данных может опираться на несколько типов распределения обязанностей между клиентом и сервером: «интеллектуальные» клиенты; «интелле...
    «Интеллектуальные» клиенты
    «Интеллектуальные» клиенты Это один из самых распространенных методов реализации клиент-серверных приложений (рис. 6.7). «Интеллектуальному» клиенту можно доверить выполнение как бизнес-логики, та...
    Бизнес-логика реализована на клиенте
    Бизнес-логика реализована на клиенте В этом случае функции сервера ограничены поддержкой собственно базы данных. Вся информация обрабатывается локально, что освобождает ресурсы сервера. Многие при...
    Достоинства «интеллектуальных» клиентов
    Достоинства «интеллектуальных» клиентов Простота архитектуры, что облегчает разработку и сопровождение системы. Наличие хорошо известных и достаточно мощных средств разработки (например, Visual Ba...
    Недостатки «интеллектуальных» клиентов
    Недостатки «интеллектуальных» клиентов Выполнение бизнес-правил на клиенте иногда увеличивает сетевой трафик из-за необходимости передавать клиенту все данные для принятия решения на основе правил...
    «Интеллектуальные» серверы
    «Интеллектуальные» серверы Перенеся все бизнес-правила на SQL Server, где они реализуются в виде хранимых процедур, Вы создадите «интеллектуальный» сервер (рис. 6.8). Роль сервера в такой клиент-с...
    Бизнес-логика реализована на центральном сервере
    Бизнес-логика реализована на центральном сервере В двухуровневой системе с «интеллектуальным» сервером бизнес-логика и сервисы представления развертываются на сервере. В этом случае бизнес-логика...
    Достоинства «интеллектуальных» серверов
    Достоинства «интеллектуальных» серверов Увеличение производительности: бизнес-логика выполняется в том же адресном пространстве, что и код доступа к базе данных, и, кроме того, тесно интегрирована...
    Недостатки «интеллектуальных» клиентов
    Недостатки «интеллектуальных» клиентов Повышение требований к ресурсам сервера, где выполняются все запросы и манипуляции с данными. Ограниченный выбор средств разработки: хранимые процедуры, напр...
    Смешанные системы
    Смешанные системы В рамках двухуровневой реализации возможны и смешанные варианты, обладающие достоинствами как интеллектуальных серверов, так и интеллектуальных клиентов (рис. 6.9). Например, кли...
    Смешанные системы: интеллектуальные клиенты и интеллектуальный сервер
    Смешанные системы: интеллектуальные клиенты и интеллектуальный сервер...
    Достоинства смешанных систем
    Достоинства смешанных систем Часть бизнес-логики может быть реализована в клиентской части. Серверный код (например, хранимые процедуры SQL Server) одновременно доступен многим клиентам, что снижа...
    Недостатки смешанных систем
    Недостатки смешанных систем Бизнес-логика распределена между клиентом и сервером. Модернизация приложения требует распространения новых версий клиентской части среди широкой аудитории....
    Многоуровневые системы
    Многоуровневые системы Многоуровневая система (иногда ее называют трехуровневой) позволяет разделить пользовательский интерфейс, бизнес-правила и базу данных (рис. 6.10)....
    0 Пользовательский интерфейс, бизнес-правила и база данных размешены отдельно
    0 Пользовательский интерфейс, бизнес-правила и база данных размешены отдельно В многоуровневой системе бизнес-правила реализуются как отдельные библиотеки (DLL). Их (например, написанные на Visual...
    Сервисы
    Сервисы Сервис — это набор связанных функций, выполняющих определенные действия и/или предоставляющих информацию на основе взаимодействия с пользователем. Доступ к сервису обеспечивает интерфейс,...
    Типы сервисов
    Типы сервисов В типичных бизнес-приложениях возможны сервисы трех категорий. Тип сервиса Размещение Назначение Пользовательский Клиент Представление информации и доступа к функциям приложения, нав...
    Достоинства многоуровневых систем
    Достоинства многоуровневых систем Разделение компонентов интерфейса, бизнес-правил и хранения данных. Возможность применения интеллектуальных клиентов. Возможность применения сервисов....
    Недостатки многоуровневых систем
    Недостатки многоуровневых систем Необходимы сервер и сеть. Увеличивается сетевой трафик....
    Резюме
    Резюме Архитектура клиент-сервер позволяет разграничить обязанности сервера и клиентов, что делает ее одной из самых популярных моделей для систем масштаба предприятия. Клиент-серверное проектиров...
    Занятие 3. ODBC
    Занятие 3. ODBC (Продолжительность занятия 35 минут) Стандарт открытого доступа к базам данных (Open Database Connectivity, ODBC) — это типовой программный интерфейс для построения приложений упра...
    Определение ODBC
    Определение ODBC Технология ODBC реализует стандартизованный интерфейс для доступа к разнородным SQL-совместимым базам данных (рис. 6.11). Для программирования доступа к информации в ODBC-совмести...
    1 Подключение клиентского приложения к БД средствами ODBC
    1 Подключение клиентского приложения к БД средствами ODBC Используя ODBC и SQL, приложение может средствами одного кода получить доступ к SQL-совместимым системам управления базами данных (СУБД) р...
    Диспетчер драйверов ODBC
    Диспетчер драйверов ODBC Приложение взаимодействует с диспетчером драйверов ODBC через интерфейс ODBC. Диспетчер драйверов — это библиотека динамической загрузки, которая загружает необходимые ODB...
    2 Диспетчер драйверов ODBC
    2 Диспетчер драйверов ODBC Кроме загрузки необходимых драйверов, диспетчер выполняет дополнительные функции: обрабатывает некоторые инициализационные и информационные вызовы ODBC; передает вызовы...
    Имена источников данных
    Имена источников данных Имя источника данных (Data Source Name, DSN) — это именованный ресурс ODBC, который определяет местонахождение, тип драйвера и другие параметры БД, необходимые для доступа...
    3 Три типа DSN и их функции
    3 Три типа DSN и их функции Существуют три типа DSN, различающиеся местом хранения информации, необходимой для подключения к серверу БД. Информация о соединении для пользовательского DSN содержитс...
    Соответствие требованиям API ODBC
    Соответствие требованиям API ODBC Драйверы ODBC предоставляют программам доступ к разнообразным источникам данных: приложение на стадии выполнения может выяснить, какие возможности и какую граммат...
    4 Уровни соответствия требованиям API ODBC
    4 Уровни соответствия требованиям API ODBC Драйверы ODBC должны, как минимум, соответствовать требованиям интерфейса базового уровня. Это основные функции драйвера, которые обычно необходимы прило...
    Базовый уровень
    Базовый уровень Выделение и освобождение дескрипторов всех типов. Обработка операторов прерывания. Объединение результирующих наборов столбцов. Обработка входных динамических параметров, включая м...
    Уровень 1
    Уровень 1 Соответствие требованиям базового уровня. Описание схемы таблиц и представлений БД средствами составных имен. Асинхронное выполнение функций ODBC. Поддержка перемещаемых курсоров (это по...
    Уровень 2
    Уровень 2 Соответствие требованиям первого уровня. Поддержка трехчастных имен таблиц и представлений базы данных. Описание динамических параметров. Поддержка входных, выходных и комбинированных па...
    Соответствие требованиям SQL ODBC
    Соответствие требованиям SQL ODBC Стандарт ODBC включает минимальные грамматические требования соответствия базовому уровню языка SQL. Драйверы ODBC, поддерживающие основную и расширенную граммати...
    5 Уровни соответствия требованиям в отношении грамматики SQL
    5 Уровни соответствия требованиям в отношении грамматики SQL Все драйверы должны поддерживать минимальную грамматику. Как и в случае API (см. предыдущий раздел), для соответствия одному из уровней...
    Минимальная грамматика SQL
    Минимальная грамматика SQL Язык определения данных (Data Definition Language, DDL): CREATE TABLE и DROP TABLE. Язык манипулирования данными (Data Manipulation Language, DML): простой SELECT, INSER...
    Основная грамматика SQL
    Основная грамматика SQL Минимальная грамматика SQL и типы данных. DDL: ALTER TABLE, CREATE INDEX, DROP INDEX, CREATE VIEW, DROP VIEW, GRANT и REVOKE. DML: полная поддержка SELECT. Выражения: вложе...
    Расширенная грамматика SQL
    Расширенная грамматика SQL Минимальная и основная грамматика SQL и типы данных. DML: внешние соединения, поддержка позиционирования для операторов UPDATE и DELETE, SELECT FOR UPDATE, объединения....
    Резюме
    Резюме Технология ODBC реализует типовой интерфейс для доступа к разнородным SQL-совместимым базам данных. ODBC позволяет разработчику создавать и распространять клиент-серверные приложения, не пр...
    Занятие 4. Нормализация базы данных
    Занятие 4. Нормализация базы данных (Продолжительность занятия 25 минут) После разработки реляционная база данных должна быть нормализована. Это позволяет организовать данные и устранить избыточно...
    Процесс нормализации
    Процесс нормализации Для разработки оптимальной структуры реляционной БД необходимо проанализировать составляющие ее элементы и отношения между ними, а затем нормализовать БД. Эти процедуры помога...
    Анализ элементов и отношений
    Анализ элементов и отношений Анализ элементов БД и отношений между ними позволяет построить структуру реляционной базы данных на основе идентификации объектов данных и связей между ними (рис. 6.16...
    6 Анализ элементов БД и отношений между ними
    6 Анализ элементов БД и отношений между ними Вот что следует выявить при анализе: элементы (или объекты), составляющие БД; первичные ключи (или другие идентификаторы каждого элемента/объекта); эле...
    Создание отношений
    Создание отношений В этом упражнении Вы создадите новую нормализованную базу данных. Предположим, Вас — администратора БД одного из колледжей — попросили спроектировать базу данных для хранения ин...
    Нормализация
    Нормализация Цель нормализации БД - разработка хорошо организованной, оптимизированной и логичной модели базы данных до начала ее физической реализации. Этот подход минимизирует затраты на доводку...
    Правила нормализации
    Правила нормализации В соответствии с правилами проектирования баз данных - правилами нормализации — каждая таблица должна описывать объекты одного типа: людей, места события или вещи. Существуют...
    7 Нормальные формы
    7 Нормальные формы Первая нормальная форма: запрещает повторяющиеся группы или множественные столбцы значений. Вторая нормальная форма: запрещает неключевому полю зависеть от части составного перв...
    Ссылочная целостность
    Ссылочная целостность Ссылочная целостность — это система правил, гарантирующих корректность отношений между записями связанных таблиц и исключающих возможность случайного удаления или изменения ч...
    Процесс денормализации
    Процесс денормализации Чрезмерная нормализация порождает проблемы: множество связей между таблицами вызывают избыточную нагрузку на ресурсы сервера при выполнении таких операций, как запросы. Выбо...
    8 Варианты денормализации
    8 Варианты денормализации...
    Введение избыточности
    Введение избыточности Если в результате нормализации связей становится слишком много, попробуйте искусственно ввести избыточность на уровне атрибута (столбца) или объекта (таблицы) следующим образ...
    Переопределение атрибутов
    Переопределение атрибутов Переопределение атрибутов уменьшает объем данных одного вида. Вот как это сделать: добавьте производные атрибуты (столбцы) в таблицы БД; составной ключ, участвующий во мн...
    Переопределение объектов
    Переопределение объектов Переопределите объекты БД (таблицы), чтобы уменьшить влияния постороннего атрибута (столбца) или строки. Вот несколько вариантов денормализации. Разделить объект по атрибу...
    Резюме
    Резюме После разработки реляционная база данных должна быть нормализована. Оптимальная реляционная БД обычно конструируется на основе анализа элементов и отношений между ними с последующей нормали...
    Занятие 5. Репликация базы данных
    Занятие 5. Репликация базы данных (Продолжительность занятия 40 минут) Репликация базы данных обеспечивает одновременную работу нескольких пользователей с идентичными локальными копиями БД. Период...
    Средства Microsoft Access
    Средства Microsoft Access Репликация баз данных Microsoft Access — это копирование БД, при котором две или более копии могут обмениваться коррективами данных и объектов. Этот процесс называется си...
    9 Набор реплик БД
    9 Набор реплик БД...
    Репликация средствами Microsoft Access
    Репликация средствами Microsoft Access Существуют три способа репликации БД—с помощью специальных команд Microsoft Access, Портфеля Windows 95 и диспетчера репликации. Все они снабжены удобным инт...
    0 Средства репликации баз данных Microsoft Access
    0 Средства репликации баз данных Microsoft Access...
    Команды репликации Microsoft Access
    Команды репликации Microsoft Access В распоряжении пользователя Microsoft Access — целый набор команд для репликации. Средствами подменю Replication меню Tools можно: создать реплику; синхронизиро...
    Диспетчер репликации Microsoft Access
    Диспетчер репликации Microsoft Access Диспетчер репликации предоставляет интерфейс для преобразования БД, создания дополнительных реплик, просмотра связей между компонентами набора реплик и задани...
    Портфельная репликация в Windows 95
    Портфельная репликация в Windows 95 Портфельная репликация Microsoft Windows 95 удобна для портативного компьютера. Просто перетащите файл БД Microsoft Access (MDB) из общей сетевой папки на значо...
    Репликация средствами DАО
    Репликация средствами DАО Интерфейс объектов доступа к данным (Data Access Objects, DAO) предоставляет методы и свойства, позволяющие разработчикам использовать некоторые средства портфельной репл...
    1 Средства репликации SQL Server
    1 Средства репликации SQL Server Цели репликации SQL Server таковы: непрерывное распространение транзакций; минимизация времени репликации (наименьшее запаздывание транзакции); максимизация паралл...
    Метафора «издатель-подписчик»
    Метафора «издатель-подписчик» Издатель публикует и распространяет информацию, а подписчик получает ее. При репликации средствами SQL Server сервера может выполнять несколько функций в любой комбин...
    Сервер распространения
    Сервер распространения Здесь хранится БД распространения. Сервер распространения принимает коррективы для публикуемых данных, сохраняет их в БД распространения и отправляет соответствующим сервера...
    Сервер подписки
    Сервер подписки Он хранит копии данных и принимает информацию об изменениях. Публикуемая информация перемещается только в одном направлении — от сервера публикации к серверам подписки, причем свед...
    Синхронизация
    Синхронизация Этой операцией можно синхронизировать целые базы данных или отдельные таблицы до того, как начнется репликация изменений данных. Интервал времени синхронизации новых подписчиков опре...
    Резюме
    Резюме Репликация базы данных позволяет двум или более пользователям одновременно работать с локальной копией базы данных; содержимое исходной БД при этом не меняется. Чтобы отразить в оригинале и...
    Закрепление материала
    Закрепление материала Приведенные ниже вопросы помогут Вам лучше усвоить основные темы данной главы. Если Вы не сумеете ответить на вопрос, повторите материал соответствующего занятия. Правильные...


- Начало -