logo search
Данеев Деменченок

Архитектура базы данных. Физическая и логическая независимость

Самой жизнеспособной оказалась ANSI – трехуровневая система организации БД, изображенная на рис. 43.

Рис. 43. Трехуровневая модель системы управления базой данных ANSI

  1. Уровень внешних моделей – самый верхний уровень, где каждая модель имеет свое «видение» данных. Этот уровень определяет точку зрения на БД отдельных приложений. Каждое приложение видит и обрабатывает только те данные, которые необходимы именно этому приложению. Например, система распределения работ использует сведения о квалификации сотрудника, но ее не интересуют сведения об окладе, домашнем адресе и телефоне сотрудника, и наоборот, именно эти сведения используются в подсистеме отдела кадров.

  2. Концептуальный уровень – центральное управляющее звено, здесь база данных представлена в наиболее общем виде, который объединяет данные, используемые всеми приложениями, работающими с этой базой данных. Фактически концептуальный уровень отражает обобщенную модель предметной области (объектов реального мира), для которой создавалась база данных. Как любая модель, концептуальная модель отражает только существенные, с точки зрения обработки, особенности объектов реального мира.

  3. Физический уровень – собственно данные, расположенные в файлах или в страничных структурах, расположенных на внешних носителях информации.

Эта архитектура позволяет обеспечить логическую (между уровнями 1 и 2) и физическую (между уровнями 2 и 3) независимость при работе с данными. Логическая независимость предполагает возможность изменения одного приложения без корректировки других приложений, работающих с этой же базой данных. Физическая независимость предполагает возможность переноса хранимой информации с одних носителей на другие при сохранении работоспособности всех приложений, работающих с данной базой данных.

Определим основные категории пользователей банка данных.

Конечные пользователи. Это основная категория пользователей, в интересах которых и создается банк данных. В зависимости от особенностей создаваемого банка данных круг его конечных пользователей может существенно различаться. Главный принцип состоит в том, что от конечных пользователей не должно требоваться каких-либо специальных знаний в области вычислительной техники и языковых средств.

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

Разработчики приложений (программисты).

Основным назначением БД является быстрый поиск содержащейся в ней информации. Сделать это можно лишь в том случае, если данные структурированы.

Структурирование это введение соглашений о способах представления данных.

База данных это поименованная совокупность структурированной информации.

По технологии обработки данных БД подразделяются на централизованные и распределенные. Централизованная БД хранится в памяти одной машины в вычислительной сети. Такой способ хранения БД часто применяется в локальных сетях. Распределенная БД состоит из нескольких, возможно, пересекающихся или даже дублирующих друг друга частей, хранимых на различных компьютерах.

По способу доступа к данным БД разделяются на базы с локальным и удаленным (сетевым) доступом. БД с сетевым доступом имеют архитектуру двух видов: файл-сервер и клиент-сервер.

Файл-сервер это архитектура систем БД с сетевым доступом, когда одна машина сети используется в качестве центральной (сервер файлов).

На такой машине хранится совместно используемая централизованная БД. Все другие машины сети выполняют функции рабочих станций, с помощью которых поддерживается доступ к централизованной БД. Файлы БД в соответствии с пользовательскими запросами передаются на рабочие станции, где в основном и производится обработка данных. Пользователи могут сами создавать на рабочих станциях локальные БД, используемые ими монопольно.

Концепция «клиент – сервер» подразумевает, что помимо хранения централизованной БД сервер должен обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файл) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервера является использование языка запросов SQL (Structured Query Language).

По способу организации данных (модель данных) различают реляционные и объектно-ориентированные БД (например, сетевые и иерархические).

Реляционная модель ориентирована на организацию данных в виде двухмерной таблицы.

Реляционная таблица представляет собой двухмерный массив и обладает следующими свойствами:

Строки и столбцы в компьютерных БД называются соответственно записями и полями.

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

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

В последние годы при проектировании различных информационно-поисковых, справочных и других систем наибольшее распространение получили именно реляционные БД.

Реляционная база данных представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного типа.

Каждая строка таблицы включает данные об одном объекте (например, сотруднике, автомобиле, документе), а столбцы таблицы содержат различные характеристики этих объектов – атрибуты (например, адреса сотрудников, марки автомобилей).

Строки таблицы называются записями; все записи имеют одинаковую структуру – они состоят из полей, в которых хранятся атрибуты объекта (см. рис. 44).

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

Данные таблицы должны соответствовать одному из стандартных типов:

Код

Фамилия

Математика

Информатика

Химия

Физика

1

Бачурин

5

5

5

3

2

Бронников

4

3

5

5

3

Бурлаченко

5

5

5

4

4

Веркеев

4

3

3

4

5

Ганноченко

5

3

3

4

6

Глущук

4

5

5

3

7

Гражданкин

3

5

4

4

8

Домнин

4

5

3

3

9

Джейронян

4

3

3

10

Дмитриев

4

5

4

3

Рис. 44. Структура ре­ля­ци­он­ной ба­зы дан­ных

Прежде чем заносить данные в таблицы, нужно определить структуру этих таблиц. Под этим понимается не только описание наименований и типов полей, но и ряд других характеристик (например, формат, критерии проверки вводимых данных). Кроме описания структуры таблиц, обычно задаются связи между таблицами. Связи в реляционных базах данных определяются по совпадению значений полей в разных таблицах. Например, сотрудники и задания связаны отношением «один-ко-многим», т. к. одной записи в таблице, содержащей сведения о сотрудниках, может соответствовать несколько записей в таблице заданий. Если же рассмотреть отношение между преподавателями и курсами лекций, которые они читают, это будет отношение «многие-ко-многим», т. к. один преподаватель может читать несколько курсов, но и один курс может читаться несколькими преподавателями. И последний тип связей между таблицами – это отношение «один-к-одному». Такой тип отношений встречается гораздо реже. Как правило, это бывает в двух случаях: запись имеет большое количество полей, и тогда данные об одном типе объектов разносятся по двум связанным таблицам, или нужно определить дополнительные атрибуты для некоторого количества записей в таблице, тогда создается отдельная таблица для этих дополнительных атрибутов, которая связывается отношением «один-к-одному» с основной таблицей.

Любая СУБД позволяет выполнять четыре простейшие операции с данными:

Для выполнения этих операций используется механизм запросов. Результатом выполнения запросов является либо отобранное по определенным критериям множество записей, либо изменения в таблицах. Запросы к базе формируются на специально созданном для этого языке, который так и называется – язык структурированных запросов (SQL – Structured Query Language).

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

Защита от несанкционированного доступа обычно позволяет каждому пользователю видеть и изменять только те данные, которые ему разрешено видеть или менять. Средства, обеспечивающие многопользовательскую работу, не позволяют нескольким пользователям одновременно изменять одни и те же данные. Средства обеспечения целостности и согласованности данных не дают выполнять такие изменения, после которых данные могут оказаться несогласованными. Например, когда две таблицы связаны отношением «один-ко-многим», нельзя внести запись в таблицу на стороне «многие» (ее обычно называют подчиненной), если в таблице на стороне «один» (главной) отсутствует соответствующая запись.

В ми­ре на­счи­ты­ва­ет­ся зна­чи­те­ль­ное чис­ло раз­лич­ных СУБД. То­ль­ко для ком­пь­ю­те­ров IBM PC су­ще­ст­ву­ет бо­лее пя­ти­де­ся­ти СУБД, ко­то­рые ре­али­зу­ют ре­ля­ци­он­ную мо­дель дан­ных. Наиболее известными сегодня являются следующие СУБД: dBASE IV, Oracle, Microsoft FoxPro, Microsoft SQL Server, Microsoft Access, MySQL.

Современные СУБД обеспечивают:

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