Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Данеев Деменченок.doc
Скачиваний:
26
Добавлен:
20.11.2019
Размер:
2.94 Mб
Скачать

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

Термины «банк данных» и «база данных» часто употребляют как синонимы, однако в общеотраслевых руководящих материалах по созданию банков данных Государственного комитета по науке и технике эти понятия различаются. Там приводятся следующие определения банка данных, базы данных и системы управления базами данных.

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

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

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

Основные функции СУБД – это определение данных (описание структуры баз данных), обработка данных и управление данными.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • каждый элемент таблицы – один элемент данных;

  • все столбцы в таблице однородные, т. е. все элементы в столбце имеют одинаковый тип и длину;

  • каждый столбец обладает уникальным именем;

  • одинаковые строки в столбце отсутствуют;

  • порядок следования строк и столбцов может быть произвольным.

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

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

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

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

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

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

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

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

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

  • Текстовый – символьные данные (текст) длиной до 255 символов.

  • MEMO предназначено для текстовой информации до 65 535 символов.

  • Числовой тип имеет много подтипов: Длинное целое, Байт, Целое, Одинарное с плавающей точкой, Двойное с плавающей точкой, Десятичное.

  • Дата/Время позволяет вводить даты (предоставляется большой выбор форматов отображения даты и времени).

  • Денежный предназначен для хранения данных с точностью представления (число знаков после запятой) от 1 до 4 десятичных знаков.

  • Счетчик содержит уникальный номер, определяемый Microsoft Access автоматически для каждой записи.

  • Логический может содержать только два значения: Истина/Ложь, 1/0.

  • Поле объекта OLE – содержит ссылку на OLE-объект (лист Microsoft Excel, документ Microsoft Word, звук, рисунок и другие типы данных).

  • Гиперссылка хранит в поле ссылку на произвольный фрагмент данных внутри файла или web-страницы на том же компьютере или в Интернете.

Код

Фамилия

Математика

Информатика

Химия

Физика

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.

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

  • набор средств для поддержки таблиц и соотношений между связанными таблицами;

  • развитый пользовательский интерфейс, который дает возможность вводить и модифицировать информацию, выполнять поиск и представлять информацию в текстовом или графическом виде;

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

  • средства выбора информации, представляющей интерес;

  • печать всей таблицы или только выбранных записей и полей в различных форматах;

  • отображение результатов в графическом виде;

  • выполнение различных вычислений в процессе подготовки отчетов или выбора данных из таблиц.

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