Современные подходы к проектированию архитектуры ИС.. 9

Локальные ИС.. 9

ИС в локальных сетях. 10

Двухзвенные модели. 13

Монитор транзакций. 15

ИС в Internet и intranet 16

3 Проектирование базы данных на концептуальном уровне. 18

Основные понятия. 18

Задачи моделирования данных. 18

Сущности. 18

Атрибуты.. 19

Ключи. 20

Связи. 20

Классы и подклассы.. 21

Источники данных для концептуального проектирования. 21

Построение концептуальной схемы.. 22

4 Проектирование базы данных на логическом уровне. 24

Исходные данные для проектирования. 24

Результаты проектирования. 24

Требования к эксплуатационным характеристикам.. 24

3.4 Особенности учета требований при проектировании БД.. 25

Модели данных логического уровня. 25

Иерархическая модель. 26

Сетевая модель. 26

5 Реляционная модель данных. 30

Основные понятия. 30

Целостность реляционной модели. 31

Математическое описание реляционной модели. 32

Реляционная алгебра. Теоретико-множественные операции. 33

Реляционная алгебра. Специальные реляционные операции. 33

Дополнительные реляционные операции. 34

Примеры записи запросов. 35

Реляционное исчисление. 36

6 Проектирование реляционной модели. 37

Нормализация модели. 37

Функциональная зависимость. 37

Теоремы о функциональных зависимостях. 38

Нормальные формы отношений. 38

Алгоритм нормализации отношений. Метод декомпозиции. 39

7 Проектирование реляционной модели на основе концептуальной модели 42

Реализация бинарной связи 1:1. 42

Связь всюду определённая. 42

Связь частичная для одной из сущностей. 42

Связь частичная для обеих сущностей. 43

Реализация бинарной связи 1:m.. 44

Связь всюду определённая для m-связной сущности. 44

Связь частичная для m-связной сущности. 44

Бинарная связь n:m.. 45

Связи более высокого порядка. 45

Классы и подклассы.. 46

8 Физическая модель данных. 48

8.1 Исходные данные для физического проектирования. 48

8.2 Возможная методика перехода к физической модели на примере реляционной модели 48

8.2.1 Преобразование отношений в таблицы.. 48

8.2.2 Преобразование атрибутов в поля (столбцы) таблиц. 48

8.2.3 Преобразование доменов в типы данных. 49

Первичные ключи. 49

Порядок расположения столбцов. 50

Создание ссылочных ограничений. 50

Факторы, влияющие на производительность БД.. 50

Индексы.. 50

Денормализация. 52

Проблемы, требующие решения. 53

Запросы.. 53

Представления. 54

Курсоры.. 54

Хранимые процедуры.. 55

Триггеры.. 55

Функции, определяемые пользователем.. 55

Транзакции. 55

10 Введение в SQL.. 56

Стандарты.. 56

Возможности SQL.. 56

Запросы на выборку данных. 57

Примеры запросов. 57

11.Рекомендуемая литература. 68

Введение

Базы данных и информационные системы. Основные понятия

Информационная система (ИС)- система, реализующая автоматизированный сбор, обработку и манипулирование данными и включающая технические средства обработки данных, программное обеспечение и соответствующий персонал.

Вычислительная система – это совокупность взаимосвязанных и согласованно действующих компьютеров и других устройств, обеспечивающих функционирование ИС.

Банк данных – это разновидность ИС, которая обеспечивает централизованное накопление и коллективное использование данных.

База данных (БД) – именованная совокупность данных, отражающая состояние объектов рассматриваемой проблемной области (ПО) и отношения объектов между собой и хранящаяся на машинных носителях.

СУБД – совокупность языковых и программных средств, предназначенных для создания, ведения и совместного использования баз данных. СУБД обеспечивает независимость данных и программ.

Жизненный цикл баз данных

Этап 1. Проектирование.

1.1.Анализ проблемной области и запросов к БД (концептуальный уровень проектирования).

Выбор средств реализации и построение логической модели данных (логический уровень проектирования).

Физическое проектирование (физический уровень проектирования).

Этап 2. Эксплуатация баз данных.

Генерация физической модели данных.

Подготовка среды хранения.

Ввод и контроль данных.

Этап3. Эксплуатация баз данных.

3.1. Поддержка работы приложений.

3.2. Генерация отчетов.

3.3. Администрирование баз данных.

3.3.1. Разграничение доступа.

3.3.2. Поддержка целостности БД.

3.3.3. Копирование и восстановление БД.

3.3.4. Реорганизация БД и т.д.

Обзор СУБД

Функции СУБД

Поддержка модели данных.

СУБД различаются по моделям данных, на которых они базируются.

Модель данных – это набор понятий, использующихся для описания данных. Модель определяет способ хранения данных и способ манипулирования данными.

Наиболее известны следующие модели данных:

иерархическая;

сетевая или CODASIL;

реляционная;

объектно-ориентированная.

Обеспечение независимости данных и программ.

Любая СУБД предоставляет программистам API (Application Programming Interface) для работы с БД, что позволяет избегать изменения программ из-за изменения баз данных.

Основным API для реляционных БД является язык SQL. При внесении изменений в базу большинство операторов в SQL-программе изменять не требуется.

Обеспечение безопасности данных.

Запрет неавторизованным пользователям просматривать и обновлять базу данных и др.

4. Управление параллельным доступом.

Предоставление доступа множеству параллельно выполняющихся пользовательских программ.

5. Ведение журнала регистрации баз данных (журнал транзакций).

6. Поддержка целостности баз данных.

Обеспечение хранения правильных данных в базе данных.

7. Обеспечение доступа к данным.

СУБД предоставляют стандартный язык запросов, позволяющий интерактивно запрашивать базу данных и анализировать данные.

Для реляционных баз данных этим стандартным языком является SQL – язык структурированных запросов.

Кроме SQL СУБД может предоставлять еще более простые инструменты доступа к данным.

Более подробно о функциях СУБД можно прочитать, например, в книгах Дейта.

Состояние рынка СУБД

Условно, компании, присутствующие на рынке СУБД, можно разбить на ряд групп.

1. Лидеры.

Наибольшее количество установленных СУБД и наибольшее число продаж приходится на три компании:

- Oracle Corporation (СУБД Oracle);

- IBM Corporation (СУБД DB2);

- Microsoft (СУБД MS SQL Server).

СУБД Oracle: наибольшее количество проданных копий для всех платформ. СУБД DB2: монопольно используется на рынке мейнфреймов; растет объем продаж для UNIX и Windows; последнее обновление под кодовым названием Stinger обладает лучшими возможностями по сравнению с СУБД MS SQL Server.

СУБД MS SQL Server работает только под Windows; для этой платформы является лидером.

2. Поставщики второго уровня.

В эту группу входят крупные поставщики СУБД со стабильными продуктами, но уступающими лидерам по функциональным возможностям и количеству пользователей. Эти компании были лидерами на рынке СУБД в 80-ых годах прошлого века.

Компания Sybase была новатором в технологии баз данных, ввела такие понятия, как принцип клиент/сервер, хранимые процедуры и др. СУБД MS SQL Server во многом основывается на технологиях Sybase.

Компания Informix: все преимущества СУБД Informix были переняты IBM в своих разработках.

3. Другие крупные поставщики.

СУБД Ingres (Computer Associates). Много пользователей, особенно в Европе. В 2003 г. объявлено о плане возврата СУБД в "общественное пользование" для применения совместно с сервером Java-приложений.

СУБД Adabas, СУБД Tamino (Software AG).

СУБД Adabas ведет свое происхождение от СУБД инвертированных списков, которая была усовершенствована до реляционной.

СУБД Tamino является новой, основанной на XML, СУБД.

СУБД Interbase (Borland). С 2000 г. СУБД Interbase 6.0 перешла в разряд продуктов с открытым исходным кодом.

4. Поставщики СУБД с открытым исходным кодом.

Термин "открытый исходный код" означает программное обеспечение, которое пользователи могут бесплатно запускать, копировать, распространять, изучать, изменять и улучшать.

Можно выделить двух лидеров:

PostgreSQL и MySQL.

СУБД PostgreSQL распрстраняется вместе с Linux.

MySQL является многопользовательским, многопроцессным SQL-сервером баз данных. Он доступен для свободной загрузки на сайте http://www.mysql.com, но технически он не является СУБД с открытым исходным кодом. Необходимо заплатить за лицензию при продаже MySQL или при включении его в качестве компонента в других продуктах. Таким образом, MySQL бесплатен только под Unix и OS/2. Для платформы Windows требуется лицензия.

5. Поставщики объектно-ориентированных СУБД.

В конце 80-ых начале 90-ых годов начали активно развиваться объектно-ориентированные СУБД (ODBS). По многим причинам (трудно запрашивать, нет надежной модели данных и др.) эта технология не стала широко распрстраненной.

Известны следующие СУБД:

UniQSL, Poet, Object Store, Ontos, Jasmine и др.

6. Поставщики СУБД, предназначенные для ПК.

Access, Visual Foxpro (Microsoft).

Paradox (Corel).

dBase и др.

Наши рекомендации