ecosmak.ru

Классификация бд по способу организации данных. Классификация и характеристика баз данных

2.1. Определения и понятия теории баз данных

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

Предметная область — некоторая часть реально существующей системы, функционирующая как самостоятельная единица.

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

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

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

Таблица базы данных (table) — регулярная структура, которая состоит из однотипных строк (записей, records), разбитых на столбцы (поля, fields).

В теории реляционных баз данных синоним таблицы — отношение (relation), в котором строка называется кортежем, а столбец — атрибутом.

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

Ключевой элемент таблицы (ключ, regular key) — такое ее поле (простой ключ) или строковое выражение, образованное из значений нескольких полей (составной ключ), по которому можно определить значения других полей для одной или нескольких записей таблицы. На практике для использования ключей создаются индексы — служебная информация, содержащая упорядоченные сведения о ключевых значениях. В реляционной теории и концептуальной модели понятие «ключ» применяется для атрибутов отношения или сущности.

Первичный ключ (primary key) — главный ключевой элемент, однозначно идентифицирующий строку в таблице. Могут также существовать альтернативный (candidate key) и уникальный (unique key) ключи, служащие также для идентификации строк в таблице.

В реляционной теории первичный ключ — минимальный набор атрибутов, однозначно идентифицирующий кортеж в отношении.

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

Связь (relation) — функциональная зависимость между объектами. В реляционных базах данных между таблицами устанавливаются связи по ключам, один из которых в главной (parent, родительской) таблице — первичный, второй — внешний ключ — во внешней (child, дочерней) таблице, как правило, первичным не является и образует связь «один ко многим» (1:N). В случае первичного внешнего ключа связь между таблицами имеет тип «один к одному» (1:1). Информация о связях сохраняется в базе данных.

Внешний ключ (foreign key) — ключевой элемент подчиненной (внешней, дочерней) таблицы, значение которого совпадает со значением первичного ключа главной (родительской) таблицы.

Ссылочная целостность данных (referential integrity) — набор правил, обеспечивающих соответствие ключевых значений в связанных таблицах.

Хранимые процедуры (stored procedures) — программные модули, сохраняемые в базе данных для выполнения определенных операций с информацией базы.

Триггеры (triggers) — хранимые процедуры, обеспечивающие соблюдение условий ссылочной целостности данных в операциях изменения первичных ключей (возможно каскадное изменение данных), удаления записей в главной таблице (каскадное удаление в дочерних таблицах) и добавления записей или изменения данных в дочерних таблицах.

Объект (object) — элемент информационной системы, обладающий определенными свойствами (properties) и определенным образом реагирующий на внешние события (events).

Система — совокупность взаимодействующих между собой и с внешним окружением объектов.

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

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

Язык SQL (Structured Query Language) — универсальный язык работы с базами данных, включающий возможности ее создания, модификации структуры, отбора данных по запросам, модификации информации в базе и прочие операции манипулирования базой данных.

Null — значение поля таблицы, показывающее, что информация в данном поле отсутствует. Разрешение на возможность существования значения Null может задаваться для отдельных полей таблицы.

2.2. Классификация баз данных

По технологии обработки данных базы данных подразделяются на централизованные и распределенные.

Централизованная база данных хранится в памяти одной вычислительной системы. Эта вычислительная система может быть мэйнфреймом — тогда доступ к ней организуется с использованием терминалов — или файловым сервером локальной сети ПК.

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

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

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

Централизованные базы данных с сетевым доступом могут иметь следующую архитектуру:

  • файл-сервер;
  • клиент-сервер базы данных;
  • «тонкий клиент» — сервер приложений — сервер базы данных (трехуровневая архитектура).

Рис. 1. Схема работы с БД в локальной сети с выделенным файловым сервером

Файл-сервер. Архитектура систем БД с сетевым доступом предполагает выделение одной из машин сети в качестве центральной (файловый сервер). На этот компьютер устанавливается операционная система (ОС) для выделенного сервера (например, Microsoft Windows Server 2003). На нем же хранится совместно используемая централизованная БД в виде одного или группы файлов. Все другие компьютеры сети выполняют функции рабочих станций (могут работать в ОС Microsoft Windows 2000 Professional или Microsoft Windows 98). Файлы базы данных в соответствии с пользовательскими запросами передаются на рабочие станции, где и производится обработка информации (рис. 1). При большой интенсивности доступа к одним и тем же данным производительность информационной системы падает. Пользователи могут создавать также локальные БД на рабочих станциях.

Рис. 2. Схема работы с БД в архитектуре «Клиент-сервер»

Клиент-сервер. В этой архитектуре на выделенном сервере, работающем под управлением серверной операционной системы, устанавливается специальное программное обеспечение (ПО) — сервер БД, например Microsoft ® SQL Server™или Oracle. СУБД подразделяется на две части: клиентскую и серверную. Основа работы сервера БД — использование языка запросов (SQL). Запрос на языке SQL, передаваемый клиентом (рабочей станцией) серверу БД, порождает поиск и извлечение данных на сервере. Извлеченные данные транспортируются по сети от сервера к клиенту (рис. 2). Тем самым количество передаваемой по сети информации уменьшается во много раз.

Трехуровневая архитектура функционирует в интранет- и интернет-сетях. Клиентская часть («тонкий клиент»), взаимодействующая с пользователем, представляет собой HTML-страницу в Web-браузере либо Windows-приложение, взаимодействующее с Web-сервисами. Вся программная логика вынесена на сервер приложений, который обеспечивает формирование запросов к базе данных, передаваемых на выполнение серверу баз данных. Сервер приложений может быть Web-сервером или специализированной программой (например, Oracle Forms Server) (рис. 3).

Рис. 3. Схема работы с БД в трехуровневой архитектуре

2.3. Иерархические и сетевые модели данных

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

Иерархическая БД состоит из упорядоченного набора нескольких экземпляров одного типа дерева. Автоматически поддерживается целостность ссылок между предками и потомками. Основное правило: никакой потомок не может существовать без своего родителя (рис. 4).

Рис. 4. Схема иерархической модели данных

Типичным представителем (наиболее известным и распространенным) является Information Management System (IMS) фирмы IBM. Первая версия появилась в 1968 г. До сих пор поддерживается много баз данных этой системы.

Сетевые базы данных

Сетевой подход к организации данных является расширением иерархического. В иерархических структурах запись-потомок должна иметь в точности одного предка; в сетевой структуре данных потомок может иметь любое число предков.

В сетевой модели данных любой объект может быть одновременно и главным, и подчиненным, и может участвовать в образовании любого числа взаимосвязей с другими объектами. Сетевая БД состоит из набора записей и набора связей между этими записями, а если говорить более точно — из набора экземпляров каждого типа из заданного в схеме БД набора типов записи и набора экземпляров каждого типа из заданного набора типов связи (рис. 5).

Рис. 5. Схема сетевой модели данных

Типичным представителем является Integrated Database Management System (IDMS) компании Cullinet Software, Inc., предназначенная для использования на машинах основного класса фирмы IBM под управлением большинства операционных систем. Архитектура системы основана на предложениях Data Base Task Group (DBTG) Комитета по языкам программирования Conference on Data Systems Languages (CODASYL) — организации, ответственной за определение языка программирования Кобол. Отчет DBTG был опубликован в 1971 г., а позже появилось несколько систем, среди которых IDMS.

2.4. Реляционные базы данных

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

Реляционная модель данных основывается на математических принципах, вытекающих непосредственно из теории множеств и логики предикатов. Эти принципы впервые были применены в области моделирования данных в конце 1960-х гг. доктором Е. Ф. Коддом, в то время работавшим в IBM, а впервые опубликованы в 1970 г.

Техническая статья «Реляционная модель данных для больших разделяемых банков данных» доктора Е. Ф. Кодда, опубликованная в 1970 г., является родоначальницей современной теории реляционных БД. Доктор Кодд определил 13 правил реляционной модели (которые называют тринадцатью правилами Кодда).

13 правил Кодда

  1. Реляционная СУБД должна быть способна полностью управлять базой данных через ее реляционные возможности.
  2. Информационное правило — вся информация в реляционной БД (включая имена таблиц и столбцов) должна определяться строго как значения в таблицах.
  3. Гарантированный доступ — любое значение в реляционной БД должно быть гарантированно доступно для использования через комбинацию имени таблицы, значения первичного ключа и имени столбца.
  4. Поддержка пустых значений (null value) — СУБД должна уметь работать с пустыми значениями (неизвестными или неиспользованными значениями), в отличие от значений по умолчанию и независимо для любых доменов.
  5. Онлайновый реляционный каталог — описание БД и ее содержание должны быть представлены на логическом уровне как таблицы, к которым можно применять запросы, используя язык базы данных.
  6. Исчерпывающий язык управления данными — по крайней мере, один из поддерживаемых языков должен иметь четко определенный синтаксис и быть всеобъемлющим. Он должен поддерживать описание структуры данных и манипулирование ими, правила целостности, авторизацию и транзакции.
  7. Правило обновления представлений (views) — все представления, теоретически обновляемые, могут быть обновлены через систему.
  8. Вставка, обновление и удаление — СУБД поддерживает не только запрос на отбор данных, но и вставку, обновление и удаление.
  9. Физическая независимость данных — на программы-приложения и специальные программы логически не влияют изменения физических методов доступа к данным и структур хранилищ данных.
  10. Логическая независимость данных — на программы-приложения и специальные программы логически не влияют, в пределах разумного, изменения структур таблиц.
  11. Независимость целостности — язык БД должен быть способен определять правила целостности. Они должны сохраняться в онлайновом справочнике, и не должно существовать способа их обойти.
  12. Независимость распределения — на программы-приложения и специальные программы логически не влияет, первый раз используются данные или повторно.
  13. Неподрывность — невозможность обойти правила целостности, определенные через язык базы данных, использованием языков низкого уровня.

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

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

В этом варианте набор основных алгебраических операций состоит из восьми операций, которые делятся на два класса — теоретико-множественные операции и специальные реляционные операции. В состав теоретико-множественных операций входят операции:

  • объединения отношений;
  • пересечения отношений;
  • взятия разности отношений;
  • взятия декартова произведения отношений.

Специальные реляционные операции включают:

  • ограничение отношения;
  • проекцию отношения;
  • соединение отношений;
  • деление отношений.

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

  • При выполнении операции объединения (UNION) двух отношений с одинаковыми заголовками производится отношение, включающее все кортежи, которые входят хотя бы в одно из отношений — операндов.
  • Операция пересечения (INTERSECT) двух отношений с одинаковыми заголовками производит отношение, включающее все кортежи, которые входят в оба отношения-операнда.
  • Отношение, являющееся разностью (MINUS) двух отношений с одинаковыми заголовками, включает все кортежи, входящие в отношение — первый операнд, такие, что ни один из них не входит в отношение, которое является вторым операндом.
  • При выполнении декартова произведения (TIMES) двух отношений, пересечение заголовков которых пусто, производится отношение, кортежи которого производятся путем объединения кортежей первого и второго операндов.
  • Результатом ограничения (WHERE) отношения по некоторому условию является отношение, включающее кортежи отношения-операнда, удовлетворяющее этому условию.
  • При выполнении проекции (PROJECT) отношения на заданное подмножество множества его атрибутов производится отношение, кортежи которого являются соответствующими подмножествами кортежей отношения-операнда.
  • При соединении (JOIN) двух отношений по некоторому условию образуется результирующее отношение, кортежи которого производятся путем объединения кортежей первого и второго отношений и удовлетворяют этому условию.
  • У операции реляционного деления (DIVIDE BY) два операнда — бинарное и унарное отношения. Результирующее отношение состоит из унарных кортежей, включающих значения первого атрибута кортежей первого операнда таких, что множество значений второго атрибута (при фиксированном значении первого атрибута) включает множество значений второго операнда.
  • Операция переименования (RENAME) производит отношение, тело которого совпадает с телом операнда, но имена атрибутов изменены.
  • Операция присваивания (:=) позволяет сохранить результат вычисления реляционного выражения в существующем отношении БД.

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

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

Модель данных, или концептуальное описание предметной области, — самый абстрактный уровень проектирования баз данных.

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

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

Формулируя принципы реляционной модели, доктор Кодд выбрал термин «отношение» (relation), потому что, по его мнению, этот термин однозначен (в то время как, например, термин «таблица» имеет множество различных видов — таблица в тексте, электронная таблица и пр.). Весьма распространено следующее заблуждение: реляционная модель названа так потому, что она определяет связи между таблицами. На самом деле, название этой модели происходит от отношений (таблиц базы данных), лежащих в ее основе.

Каждая строка, содержащая данные, называется кортежем, каждый столбец отношения называется атрибутом (на уровне практической работы с современными реляционными БД используются термины «запись» и «поле»).

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

Сущность — некоторый обособленный объект или событие, информацию о котором необходимо сохранять в базе данных, имеющий определенный набор свойств — атрибутов. Сущности могут быть как физические (реально существующие объекты: например, СТУДЕНТ, атрибуты — номер зачетной книжки, фамилия, его факультет, специальность, номер группы и т. д.), так и абстрактные (например, ЭКЗАМЕН, атрибуты — дисциплина, дата, преподаватель, аудитория и пр.). Для сущностей различают ее тип и экземпляр. Тип характеризуется именем и списком свойств, а экземпляр — конкретными значениями свойств.

Атрибуты сущности бывают:

  1. Идентифицирующие и описательные. Идентифицирующие атрибуты имеют уникальное значение для сущностей данного типа и являются потенциальными ключами. Они позволяют однозначно распознавать экземпляры сущности. Из потенциальных ключей выбирается один первичный ключ (ПК). В качестве ПК обычно выбирается потенциальный ключ, по которому чаще происходит обращение к экземплярам записи. ПК должен включать в свой состав минимально необходимое для идентификации количество атрибутов. Остальные атрибуты называются описательными.
  2. Простые и составные. Простой атрибут состоит из одного компонента, его значение неделимо. Составной атрибут является комбинацией нескольких компонентов, возможно, принадлежащих разным типам данных (например, адрес). Решение о том, использовать составной атрибут или разбивать его на компоненты, зависит от особенностей процессов его использования и может быть связано с обеспечением высокой скорости работы с большими базами данных.
  3. Однозначные и многозначные — могут иметь соответственно одно или много значений для каждого экземпляра сущности.
  4. Основные и производные. Значение основного атрибута не зависит от других атрибутов. Значение производного атрибута вычисляется на основе значений других атрибутов (например, возраст человека вычисляется на основе даты его рождения и текущей даты).

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

Домен — это набор всех допустимых значений, которые может содержать атрибут. Понятие «домен» часто путают с понятием «тип данных». Необходимо различать эти два понятия. Тип данных — это физическая концепция, а домен — логическая. Например, «целое число» — это тип данных, а «возраст» — это домен.

Связи — на концептуальном уровне представляют собой простые ассоциации между сущностями. Например, утверждение «Покупатели приобретают продукты» указывает, что между сущностями «Покупатели» и «Продукты» существует связь, и такие сущности называются участниками этой связи.

Существует несколько типов связей между двумя сущностями: это связи «один к одному», «один ко многим» и «многие ко многим».

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

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

Диаграмма «сущности-связи» (Entity-Relationship diagrams, или E/R diagram) служит для описания схемы базы на концептуальном уровне проектирования. Метод был предложен в 1976 г. Питером Пин Шань Ченом (Peter Pin Shan Chen) . На диаграммах «сущности-связи» сущности изображаются в виде прямоугольников, атрибуты — в виде эллипсов, а связи — в виде ромбов (рис. 6).

Рис. 6. Диаграмма «сущности-связи»

В дальнейшем многими авторами были разработаны свои варианты подобных моделей (нотация Мартина, нотация IDEF1X, нотация Баркера и др.). Кроме того, различные программные средства, реализующие одну и ту же нотацию, могут отличаться своими возможностями. По сути, все варианты диаграмм «сущность-связь» исходят из одной идеи — рисунок всегда нагляднее текстового описания. Все такие диаграммы используют графическое изображение сущностей предметной области, их свойств (атрибутов) и взаимосвязей между сущностями.

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

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

В рамках реляционной модели данных Э. Ф. Коддом были разработаны принципы нормализации отношений и предложен механизм, позволяющий любое отношение преобразовать к третьей нормальной форме.

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

При работе с реляционной моделью для создания отношений приемлемого качества достаточно выполнения требований первой нормальной формы.

Первая нормальная форма (1НФ) связана с понятиями простого и сложного атрибутов. Простой атрибут — это атрибут, значения которого атомарны (т. е. неделимы). Сложный атрибут может иметь значение, представляющее собой объединение нескольких значений одного или разных доменов. В первой нормальной форме устраняются повторяющиеся атрибуты или группы атрибутов, т. е. производится выявление неявных сущностей, «замаскированных» под атрибуты.

Отношение приведено к 1НФ, если все его атрибуты — простые, т. е. значение атрибута не должно быть множеством или повторяющейся группой.

Для приведения таблиц к 1НФ необходимо разбить сложные атрибуты на простые, а многозначные атрибуты вынести в отдельные отношения.

Вторая нормальная форма (2НФ) применяется к отношениям с составными ключами (состоящими из двух и более атрибутов) и связана с понятиями функциональной зависимости.

Если в любой момент времени каждому значению атрибута А соответствует единственное значение атрибута В, то В функционально зависит от А (AB). Атрибут (группа атрибутов) А называется детерминатором.

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

Отношение находится во 2НФ, если оно приведено к 1НФ и каждый неключевой атрибут функционально полно зависит от составного первичного ключа.

Третья нормальная форма (3НФ) связана с понятием транзитивной зависимости. Пусть A, B, C — атрибуты некоторого отношения. При этом A B и B C, но обратное соответствие отсутствует, т. е. C не зависит от B или B не зависит от A. Тогда говорят, что C транзитивно зависит от A (A C).

В третьей нормальной форме устраняются атрибуты, которые зависят от атрибутов, не входящих в уникальный ключ. Эти атрибуты являются основой отдельной сущности.

Отношение находится в 3НФ, если оно находится во 2НФ и не имеет атрибутов, не входящих в первичный ключ и находящихся в транзитивной зависимости от первичного ключа.

Существуют также нормальная форма Бойса-Кодда (НФБК), 4НФ и 5НФ. Однако наибольшее значение имеет 1НФ, так как последующие НФ связаны с понятиями о составных ключах и сложных зависимостях от ключей, а на практике встречаются обычно более простые случаи.

Моделирование структуры базы данных при помощи алгоритма нормализации имеет серьезные недостатки:

  1. Методика нормализации предполагает первоначальное размещение всех атрибутов проектируемой предметной области в одном отношении, что является очень неестественной операцией. Интуитивно разработчик сразу проектирует несколько отношений в соответствии с обнаруженными сущностями. Даже если совершить насилие над собой и создать одно или несколько отношений, включив в них все предполагаемые атрибуты, то совершенно неясен смысл полученного отношения.
  2. Невозможно сразу определить полный список атрибутов. Пользователи имеют привычку называть разными именами одни и те же вещи или, наоборот, называть одними именами разные вещи.
  3. Для проведения процедуры нормализации необходимо выделить зависимости атрибутов, что тоже очень нелегко.

В реальном проектировании структуры базы данных применяется другой метод — так называемое семантическое моделирование. Семантическое моделирование представляет собой моделирование структуры данных, опирающееся на смысл этих данных. В качестве инструмента семантического моделирования используются различные варианты диаграмм «сущность-связь» (ERD) c построением концептуальной модели базы данных.

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

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

Соблюдение условий ссылочной целостности в реляционной базе данных

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

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

Для родительской таблицы:

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

Для дочерней таблицы:

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

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

  1. Обновление записей в родительской таблице.
  2. Удаление записей в родительской таблице.
  3. Вставка записей в дочерней таблице.
  4. Обновление записей в дочерней таблице.

Основные стратегии поддержания ссылочной целостности

Существуют две основные стратегии поддержания ссылочной целостности.

RESTRICT (ОГРАНИЧИТЬ) — не разрешать выполнение операции, приводящей к нарушению ссылочной целостности.

CASCADE (КАСКАДНОЕ ИЗМЕНЕНИЕ) — разрешить выполнение требуемой операции, но внести при этом необходимые изменения в связанных таблицах так, чтобы не допустить нарушения ссылочной целостности и сохранить все имеющиеся связи. Изменение начинается в родительской таблице и каскадно выполняется в дочерних таблицах. В реализации этой стратегии имеется одна тонкость, заключающаяся в том, что дочерние таблицы сами могут быть родительскими для некоторых третьих таблиц. При этом может дополнительно потребоваться выполнение какой-либо стратегии и для этой связи и т. д. Если при этом какая-либо из каскадных операций (любого уровня) не может быть выполнена, то необходимо отказаться от первоначальной операции и вернуть базу данных в исходное состояние. Это сложная стратегия, но она не нарушает связей между родительскими и дочерними таблицами.

Эти стратегии являются стандартными и присутствуют во всех СУБД, в которых имеется поддержка ссылочной целостности.

Дополнительные стратегии поддержания ссылочной целостности

IGNORE (ИГНОРИРОВАТЬ) — разрешить выполнять операцию без проверки ссылочной целостности. В этом случае в дочерней таблице могут появляться некорректные значения внешних ключей, вся ответственность за целостность базы данных ложится на программиста или пользователя.

SET NULL (ЗАДАТЬ ЗНАЧЕНИЕ NULL) — разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на null-значения. Эта стратегия имеет два недостатка. Во-первых, для нее требуется разрешение на использование null-значений. Во-вторых, записи дочерней таблицы теряют связь с записями родительской таблицы. Установить, с какой записью родительской таблицы были связаны измененные записи дочерней таблицы, после выполнения операции уже нельзя.

SET DEFAULT (ЗАДАТЬ ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ) — разрешить выполнение требуемой операции, но все возникающие некорректные значения внешних ключей изменять на некоторое значение, принятое по умолчанию. Достоинство этой стратегии по сравнению с предыдущей в том, что она позволяет не пользоваться null-значениями. Установить, с какими записями родительской таблицы были связаны измененные записи дочерней таблицы, после выполнения такой операции тоже нельзя.

На рис. 7 представлен пример реляционной базы, содержащей сведения отдела кадров по работникам предприятия, в которой для каждой таблицы показан список ее полей и показаны связи между таблицами по простому ключу — значению поля tabn.

Рис. 7. Схема реляционной базы данных

Начиная с 1980-х г., одновременно с широким распространением персональных компьютеров, большое распространение получили так называемые «настольные» реляционные СУБД (Desktop Databases), такие как dBase, FoхBase (его более поздние версии — FoхPro и Visual FoхPro), Paradoх, Access. Наиболее распространенным форматом таблиц подобных реляционных баз стал *.dbf, с которым работали dBase, FoхBase, а также Clipper — система написания программ (в режиме строкового компилятора) для работы с базами данных. В последующем некоторые из них стали полноценными сетевыми СУБД, работающими не только в различных операционных системах в архитектуре «файл-сервер», но и имеющими возможности для работы с серверами баз данных в архитектуре «клиент-сервер», а также разработки и использования html-страниц для работы с базами данных.

Все СУБД для ПК можно подразделить на три вида:

  1. Системы управления базами данных в буквальном смысле этого термина, для которых работа с базами возможна только после запуска в работу этой системы без возможности создания автономных программ, работающих с базами. К этим системам относятся: Access, Paradoх, dBase.
  2. Системы, имеющие как средства для работы с базами данных, так и возможности разработки исполняемых в операционной системе пользовательских программ (приложений), т. е. средства разработчика программ — FoхPro.
  3. Системы для разработки пользовательских программ для работы с базами данных — Clipper, Clarion.

Все подобные СУБД имеют в своем составе средства для:

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

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

Важными факторами, определяющими выбор СУБД, являются:

  • Формат базы данных, обеспечивающий возможность обмена информацией с другими приложениями операционной системы. Одним из самых распространенных форматов является dbf-формат, с которым работают dBase, FoхBase, FoхPro, Visual FoхPro, Clipper. Его «понимают» все приложения MS Office. Данные из этих баз можно переносить в Word, Eхcel, Access. Свои собственные форматы данных имеют Clarion, Paradoх, Access.
  • Обеспечение секретности и конфиденциальности данных имеют системы, не ориентированные на разработчика программ: Access, Paradoх. Однако этот фактор может быть реализован при хранении данных на выделенном сервере, где права различных пользователей легко разграничить.

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

Последние версии СУБД, разработанные для работы в OC Windows 95, относятся к классу RAD-систем (Rapid Application Development) — средства быстрой разработки приложений — и имеют объектно-ориентированный язык программирования. Это такие системы, как Visual FoхPro, MS Access, Visual dBase и др.

Постреляционные базы данных

В настоящее время известны также так называемые постреляционные СУБД, в основе которых лежат модель данных в виде многомерных таблиц (например, в системе Cache фирмы InterSystems Сorporation) и широкое использование принципов объектно-ориентированного подхода при организации баз данных и программировании.

Серверы баз данных

В локальных и глобальных компьютерных сетях широко применяются серверы: компьютеры и программные средства для обслуживания клиентов — рабочих станций и/или других серверов.

Примерами серверов могут быть:

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

Термин «сервер баз данных» обычно используют для обозначения всей СУБД, основанной на архитектуре «клиент-сервер», включая и серверную, и клиентскую части. Наиболее распространенными серверами являются в настоящее время Microsoft SQL Server, Oracle, IBM DB2 Universal DataBase, Informix и др. Размер одной базы данных на этих серверах может достигать миллиона терабайт.

2.5. Распределенные базы данных

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

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

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

Хрестоматия

Название работы Аннотация

Практикумы

Название практикума Аннотация

Презентации

Название презентации Аннотация
Презентации к теме 2

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

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

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

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

В системах документального типа целью поиска может быть не только какая-то информация, хранящаяся в документах, но и сами документы. Так, возможны запросы типа «сколько документов было создано за определенный период времени» и т. п. Часто в критерий поиска в качестве признаков включаются «дата принятия документа», «кем принят» и другие «выходные данные» документов.

Классификация БД по способу хранения данных

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

Рисунок 4 - Пример централизованной базы данных

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


Рисунок 5 - Пример распределённых баз данных

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

Понятие “СУБД”

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

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

Итак, простейшая схема работы с базой данных выглядит примерно так:


Рисунок 6 - Схема работы с базой данных

Классификация по модели данных:

  • 1. Иерархическая - это модель данных, где используется представление базы данных в виде древовидной(иерархической) структуры, состоящей из объектов (данных) различных уровней. Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами (в программировании применительно к структуре данных дерево устоялось название братья);
  • 2. Объектная и объектно-ориентированная - являются системой управления базами данных, в которых информация представлена в виде объектов, используется в объектно-ориентированном программировании. Объектные базы данных отличаются от реляционных баз данных, являющихся таблично-ориентированными. Объектно-реляционные базы данных являются гибридом обоих подходов. Объектные базы данных были рассмотрены в начале 1980-х годов;
  • 3. Объектно-реляционная СУБД (ОРСУБД) -- реляционная СУБД (РСУБД), поддерживающая некоторые технологии, реализующие объектно-ориентированный подход: объекты, классы и наследование реализованы в структуре баз данных и языке запросов.

Объектно-реляционными СУБД являются, например, широко известные Oracle Database, Informix, DB2, PostgreSQL;

  • 4. Реляционная модель данных (РМД) -- логическая модель данных, прикладная теория построения баз данных, которая является приложением к задачам обработки данных таких разделов математики как теории множеств и логика первого порядка. На реляционной модели данных строятся реляционные базы данных;
  • 5. Сетевая модель данных -- логическая модель данных, являющаяся расширением иерархического подхода, строгая математическая теория, описывающая структурный аспект, аспект целостности и аспект обработки данных в сетевых базах данных;
  • 6. Функциональная модель данных использует такой подход для определения объекта. Вместо того чтобы представлять объект записью с определенным содержанием или же кортежем в В-дереве, функциональная модель сообщает, какие функции (или операции) определены на этом объекте. Представление объекта - это дело реализации, и оно определяется на более низком уровне абстракции.

Классификация по среде постоянного хранения:

  • 1. Во вторичной памяти, или традиционная (англ. conventional database) - средой постоянного хранения является периферийная энергонезависимая память (вторичная память), как правило, жёсткий диск.
  • 2. В оперативную память СУБД помещает лишь кеш и данные для текущей обработки;
  • 3. В оперативной памяти (англ. in-memory database, memory-resident database, main memory database) - все данные на стадии исполнения находятся в оперативной памяти;
  • 4. В третичной памяти (англ. tertiary database) - средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило, на основе магнитных лент или оптических дисков. Во вторичной памяти сервера хранится лишь каталог данных третичной памяти, файловый кеш и данные для текущей обработки; загрузка же самих данных требует специальной процедуры.

Классификация по содержимому:

  • 1. Географическая;
  • 2. Историческая;
  • 3. Научная;
  • 4. Мультимедийная;
  • 5. Клиентская.

Классификация по степени распределённости:

  • 1. Централизованная, или сосредоточенная (англ. centralized database): БД, полностью поддерживаемая на одном компьютере.
  • 2. Распределённая (англ. distributed database): БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием.
  • 3. Неоднородная (англ. heterogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами более одной СУБД
  • 4. Однородная (англ. homogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами одной и той же СУБД.
  • 5. Фрагментированная, или секционированная (англ. partitioned database): методом распределения данных является фрагментирование (партиционирование, секционирование), вертикальное или горизонтальное.
  • 6. Тиражированная (англ. replicated database): методом распределения данных является тиражирование (репликация).

Классификация по технологии обработки данных базы данных

  • 1. Централизованная база данных - хранится в памяти одной вычислительной системы. Если эта вычислительная система является компонентом сети ЭВМ, возможен распределенный доступ к такой базе. Такой способ использования баз данных часто применяют в локальных сетях ПК;
  • 2. Распределенная база данных - состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ЭВМ вычислительной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).

Классификация по способу доступа к данным базы данных:

  • 1. Базы данных с локальным доступом;
  • 2. базы данных с удаленным (сетевым) доступом - системы централизованных баз данных с сетевым доступом предполагают различные архитектуры подобных систем:
    • * файл-сервер;
    • * клиент-сервер.

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

Клиент-сервер. В этой концепции подразумевается, что помимо хранения централизованной базы данных центральная машина (сервер базы данных) должна обеспечивать выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные (но не файлы) транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запросов SOL.

Классификация по предметным областям использования:

1. Документальные и документографические БД - содержат описания документов. В зависимости от содержания описания различают документографические БД типов БО (только библиографическое описание документа), БК (библиографическое описание и ключевые слова) и БКР (библиографическое описание, ключевые слова, реферат или аннотация). Появились также полнотекстовые БД, содержащие полные тексты документов, которые являются собственно документальными.

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

В составе данного класса выделены следующие виды БД:

  • - по публикуемым научно-техническим документам;
  • - по публикуемым документам в области общественных наук;
  • - по патентным документам;
  • - по отчетам по НИР, ОКР, программным средствам;
  • - по материалам межотраслевого обмена (научно-техническим достижениям, ППТО, ИЛ, каталожная, выставочная информация и т.п.);
  • - по стандартам и другой нормативно-технической документации;
  • - библиографические БД, создаваемые в библиотеках, книгоиздательских и книготорговых организациях;
  • - реферативные и полнотекстовые БД по общественно-политической информации, создаваемые средствами массовой информации;
  • - БД законодательной и правовой информации;
  • - документографические документографические по специальным видам документов;
  • - БД по архивным документам. Анализ состояния дел с ДБД различных видов в стране показывает, что в настоящее время наибольшее развитие получили ДБД документографического типа, главным образом, по опубликованным документам в области научнотехнической информации, общественных наук, патентным документам, отчетам по НИР, ОКР и другим видам документов, созданные в рамках системы научно-технической информации.
  • 2. Система баз данных о продукции - Информация о продукции является основным видом технико-экономической информации. Данные о продукции характеризуются:
    • - огромной и зачастую неупорядоченной номенклатурой (от 10 млн. до 1 млрд. наименований), только в ОКП содержится 25 млн. позиций, в системе чертежного хозяйства насчитывается до 16 млн. крепежных изделий, имеются сведения более чем о 6 млн. химических соединений и т.п.;
    • - разнородностью и многофункциональностью применения и описания продукции на всех этапах ее жизненного цикла;
    • - обилием свойств (признаков), характеризующих отдельные группы продукции(до 200 признаков);
    • - многообразием областей применения продукции, охватывающих все сферы народнохозяйственной деятельности;
    • - многочисленными и разнообразными связями между продукцией и другими видами информации (связь с предприятиями-разработчиками и изготовителями, комплектующими изделиями, сырьем и ресурсами, технологическими процессами, работами и услугами, состоянием окружающей среды и т.п.);
    • - большим количеством и разнообразием категорий групп пользователей;
    • - наличием большого числа различающихся и неувязанных между собой систем классификации и кодирования продукции (ОКП, ЕСКД, ЕТНВТ, гармонизированная система описания и кодирования товаров, система штрихового кодирования, отраслевые и локальные системы и т.п.);

Число пользователей системы баз данных по продукции достигает десятков тысяч (предприятий промышленности и сельского хозяйства свыше 100 тыс., управляющих и исполнительных органов - свыше 50 тыс., кооперативы, арендные и индивидуальные предприятия и т.п.).

3. Экономическая и конъюнктурная информация - создание баз и банков экономической и конъюнктурной информации является важным фактором функционирования общества в условиях перехода к регулируемой рыночной экономике.

В предшествующие годы базы экономических данных создавались и функционировали в составе АСПР Госплана СССР, ЕСИС Госкомстата России, АСФР Минфина России, АСУ Госснаба СССР, ОАСУ Госбанка, других министерств и ведомств, территориальных органов управления предприятий и организаций.

Развитие информационного обеспечения регулируемой рыночной экономики будет происходить с учетом 2 основных факторов:

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

Основным направлением развития БД социально-экономической и конъюнктурной информации является создание следующих интегрированных БД:

1) регистры и БД учетно-статистических единиц:

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

b. структурных хозяйственных единиц по всем отраслям экономики независимо от видов собственности, в частности, регистры промышленных, сельскохозяйственных, строительных предприятий, научных и проектных организаций, фермерских хозяйств и т.д.;

c. регистры строек.

  • 2) интегрированные БД для комплексного анализа состояния и развития отраслей экономики.
  • 3) БД годовых балансов деятельности, предприятий, организаций и их объединений, территорий и регионов.
  • 4) БД массовых переписей, единовременных учетов и выборочных обследований.
  • 5) БД по банковским трансфертам.
  • 6) БД по доходам и расходам населения, включая БД по семейным бюджетам.
  • 4. Фактографические базы социальных данных - социальным данным относятся данные о населении и социальной среде. Сведения о населении включают половые, социальные, медицинские и любые другие персональные данные об отдельных личностях, а также сводные данные о населении страны в целом и ее отдельных территориях и об определенных группах населения: пенсионерах, квартиросъемщиках, детях школьного возраста, женщинах и др.

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

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

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

5. Базы данных транспортных систем страны - пунктом проектирования сети баз данных является оценка ее современного состояния.

В рамках отдельных видов транспорта и их АСУ созданы и функционируют как отдельные базы и банки данных, так и мощные информационные системы.

На воздушном транспорте функционирует сеть ЭВМ "Сирена", обеспечивающая автоматизацию продажи авиабилетов. Сеть развивается и должна охватить всю территорию страны.

На железнодорожном транспорте создана система "Экспресс". В ее функции входит не только резервирование и продажа железнодорожных билетов, но и выдача справок о наличии мест.

На морском транспорте в рамках информационно-поисковых систем "Пароходства", "Порты", "Судоремотные заводы". "Суда" функционируют базы данных для планирования и регулирования работы флота и портов, базы данных о техническом состоянии флота.

На автомобильном транспорте в рамках информационно-поисковых систем функционируют как документографические базы данных АСНТИ, "Изобретения", "Нормы", "Стандарты", "Директивы", так и фактографические-"Гаро", "Автотранспорт", "Неликвиды", "Экономика", "Строительство".

  • 6. Справочные базы для населения и организаций - в развитых странах существует практика использования БД для информационно-справочного обслуживания населения и учреждений. Для этого организуется доступ к БД авиаперевозчиков с целью выдачи справок, например, о расписании самолетов и поездов; об адресах и телефонах граждан и организаций; о программах радио и телевидения; о проведении выставок и т.д. Кроме того, создаются специальные информационно-справочные БД, в числе которых можно выделить следующие виды:
    • - энциклопедии и справочники;
    • - указатели фирм, предприятий и организаций;
    • - биографические данные ("Кто есть кто");
    • - описания новых видов потребительских товаров;
    • - указатели правительственных контрактов, субсидий и др.

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

7. Система ресурсных баз данных - проблемы природных ресурсов занимают особое место в развитии любого государства, определяя степень его независимости и процветания.

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

Систему БД природных ресурсов отличает ряд особенностей, в том числе:

  • - разнообразие видов объектов ресурсов БД;
  • - взаимозависимость и взаимозаменяемость различных видов ресурсов, а следовательно, необходимость обеспечения информационной взаимосвязи и сопоставимости информации о них;
  • - существование большого числа как централизованных, так и региональных и ведомственных источников информации;
  • - различные формы представления информации в информационных потоках (цифровой, текстовой, графической, картографической и т.д.);
  • - большой диапазон объемов и временных параметров ин формационных потоков, получаемых как с помощью датчиков, так и ручным вводом;
  • - влияние состояния ресурсов и окружающей среды одного региона на другие.
  • 8. Фактографические базы и банки научных данных - современный этап развития науки характеризуется переходом на качественно новый уровень исследований, что определяется широким использованием методов и средств информатики - науки о законах и методах накопления, обработки и передачи информации. В науке применение методов и средств информатики должно не только освободить исследователя от рутинной работы по поиску и подготовке к использованию известной информации, но и обеспечить реализацию единой линии математической технологии решения задач - от формулировки математических моделей и их полного информационного обеспечения всеми необходимыми данными до формирования программных комплексов и проведения решения поставленных задач. Важно, чтобы эта линия была непрерывной и оперативно действующей, без технологических разрывов в обработке данных. По существу, это определяется решительным превращением разрозненной информации, отдельных наборов данных и индивидуальных программ в единый информационный и программный продукт, а также всесторонним применением современных приемов манипулирования такими продуктами с использованием средств вычислительной техники.
  • 9. БД в области культуры и искусства - БД для автоматизации лексикографии могут оказывать значительный экономический эффект в случае интеграции ЛБД с автоматизированными издательскими системами, что имеет за рубежом массовое применение. Следует иметь в виду, что БД всех трех типов существенно пересекаются между собой по составу данных, хотя и имеют многие специфические свойства. В то же время многие БД имеют достаточно большие объемы (до сотен тысяч и даже миллионов записей), поэтому их создание и ведение требует значительных средств и трудозатрат.
  • 10. Лингвистические БД - Лингвистические БД (ЛБД) содержат данные о языковых единицах различных уровней (от морфемы до текста) и разно образную информацию об этих единицах.

ЛБД имеют три основные сферы применения:

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

база данных хранение информация

ТЕМА 2 КЛАССИФИКАЦИЯ БнД

Изучаемые вопросы:

1. Классификация БД

2. Классификация СУБД

Литература: , глава 1, глава 2, глава 3.

БнД являются сложными системами, и их классификация может быть произведена как для всего БнД в целом, так и для каждой его компоненты отдельно. Классификация для каждой компоненты может быть проведена по множеству разных признаков.

1. Классификация БД

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

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

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

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

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

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

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

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

Локальная БД – это БД, предназначенная для использования одним пользователем. Локальные БД могут создаваться каждым пользователем самостоятельно, а могут извлекаться из общей БД.

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

2. Классификация СУБД

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

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

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

4) По «мощности» СУБД делятся на настольные и корпоративные. Характерными чертами настольных СУБД являются сравнительно невысокие требования к техническим средствам, ориентация на конечного пользователя, низкая стоимость.

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

Таблица 2.1 - Наиболее популярные настольные СУБД

СУБД

Производитель

Visual dBase

dBase, Inc

Paradox

Corel

Microsoft Access

Microsoft

Microsoft FoxPro

Microsoft

Microsoft Data Engine

Microsoft

Таблица 2.2 - Серверные СУБД

СУБД

Производитель

Oracle

Oracle Corp.

Microsoft SQL Server

Microsoft

Informix

Informix

Sybase

Sybase

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

Системы, ориентированные на разработчиков , должны:

¾ иметь качественные компиляторы;

¾ позволять создавать «отчуждаемые» программные продукты;

¾ обладать развитыми средствами отладки;

¾ включать средства документирования проекта;

¾ обладать возможностями, позволяющими создавать эффективные сложные системы.

Основными требованиями , предъявляемыми к системам, ориентированным на конечного пользователя , являются:

¾ удобство интерфейса;

¾ высокий уровень языковых средств;

¾ наличие интеллектуальных модулей подсказок;

¾ повышенная защита от непреднамеренных ошибок («защита от дурака») и т. д.

3. Классификация банков данных

1) По условиям предоставления услуг различают бесплатные и платные. Платные делятся на коммерческие и бесприбыльные.

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

Основной целью создания коммерческих БнД является получение прибыли от информационной деятельности.

2) По форме собственности БнД делятся на государственные и негосударственные (частные, групповые, личные).

3) По степени доступности различают общедоступные и с ограниченным кругом пользователей.

4) По охвату предметной области БнД могут классифицироваться в разных «разрезах»:

¾ территориальный (всемирный, страна, город и т.д.);

¾ временной (год, месяц, с начала века и т.п.);

¾ ведомственный;

¾ проблемный (тематический) .

5) По характеру взаимодействия с пользователем БнД делятся на активные и пассивные. В пассивных БнД ведущая роль принадлежит пользователю. В активных – система может самостоятельно менять поведение.

6) По характеру преобладающей обработки информации различают OLTP - системы (On - Line Transaction Processing ) – системы оперативной обработки транзакций (реализуют большое число достаточно простых запросов) и OLAP – системы (On - Line Analytical Processing ) – системы аналитической обработки данных (реализуют сложную аналитическую обработку данных) или системы поддержки принятия стратегических решений (СППР) .

До середины 90-х годов ХХ в. Под БД понимали статические БД (OLTP ). К середине 90-х годов в БД класса OLTP скопилось столько хронологической информации, что объем БД резко возрос, а быстродействие начало падать. Например , в работе деканата чаще всего требуются детальные данные о текущем учебном годе. В то же время в БД хранятся ретроспективные данные и за предыдущие годы. Такие данные необходимы значительно реже и чаще всего в агрегированном виде. Наприме6р, выдать фамилии студентов, которые три последних семестра получали только отличные оценки.

Таблица 2.3 - Сравнение OLTP и OLAP

Характеристика

OLTP

OLAP

Преобладающие операции

Ввод данных, поиск

Анализ данных

Характер запросов

Много простых транзакций

Сложные транзакции

Хранимые данные

Оперативные, детализированные

Охватывающие большой период времени, агрегированные

Вид деятельности

Оперативная, тактическая, несложная обработка

Аналитическая, стратегическая: прогнозирование, моделирование, анализ и выявление связей, выявление статистических закономерностей

Тип данных

Структурированные

Разнотипные

Период хранения данных

До года

До нескольких десятков лет

Изменчивость данных

Изменяются

Добавляются

Упорядочение данных

По любому полю

По хронологии

Объем обрабатываемой информации

Небольшой

Очень большой

Скорость обработки

Средняя

Очень высокая

Часто и небольшими порциями

Редко и очень большими порциями

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

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

Введение

Глава1. Основы баз данных

1.1.Классификация баз данных

1.3Модели описания баз данных

1.4. Основы работы настольных СУБД

1.5.Требования и стандарты, предъявляемые к базам данных

Глава 2. Работа с базой данных Microsoft Access

2.1. Основы работы настольной СУБД Microsoft Access

2.2. Работа с базой данных Microsoft Access

Заключение

Список использованной литературы

Введение

Потоки информации, циркулирующие в мире, который нас окружает, огромны. Во

времени они имеют тенденцию к увеличению. Поэтому в любой организации, как

большой, так и маленькой, возникает проблема такой организации управления

данными, которая обеспечила бы наиболее эффективную работу. Некоторые

организации используют для этого шкафы с папками, но большинство предпочитают

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

структурировать и систематизировать большие объемы данных. И уже сегодня без баз

данных невозможно представить работу большинства финансовых, промышленных,

торговых и прочих организаций. Не будь баз данных, они бы просто захлебнулись в

информационной лавине.

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

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

Для использования столь огромных объемов хранимой информации, помимо развития

системных устройств, средств передачи данных, памяти, необходимы средства

обеспечения диалога человек - ЭВМ, которые позволяют пользователю вводить

или принимать решения на основании хранимых данных. Для обеспечения этих функций

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

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

1.1.Классификация баз данных

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

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

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

Классификация СУБД:

· по выполняемым функциям СУБД подразделяются на операционные и информационные;

· по сфере применения СУБД подразделяются на универсальные и проблемно-ориентированные;

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

· по числу поддерживаемых уровней моделей данных СУБД подразделяются на одно-, двух-, трехуровневые системы;

· по способу установления связей между данными различают реляционные, иерархические и сетевые базы данных;

· по способу организации хранения данных и выполнения функций обработки базы данных подразделяются на централизованные и распределенные.

Системы централизованных баз данных с сетевым доступом предполагают две основные архитектуры – файл-сервер или клиент-сервер.

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

Архитектура клиент-сервер. Эта модель взаимодействия компьютеров в сети для современных СУБД фактически стала стандартом. Каждый из подключенных к сети и составляющих эту архитектуру компьютеров играет свою роль: сервер владеет и распоряжается информационными ресурсами системы, клиент имеет возможность пользоваться ими. Помимо хранения централизованной базы данных сервер базы данных обеспечивает выполнение основного объема обработки данных. Запрос на данные, выдаваемый клиентом (рабочей станцией), порождает поиск и извлечение данных на сервере. Извлеченные данные транспортируются по сети от сервера к клиенту. Спецификой архитектуры клиент-сервер является использование языка запроса SQL.

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

1.2. Функциональные возможности СУБД

Характеристиками СУБД являются:

· производительность;

· обеспечение целостности данных на уровне баз данных;

· обеспечение безопасности данных;

· возможность работы в многопользовательских средах;

· возможность импорта и экспорта данных;

· обеспечение доступа к данным с помощью языка SQL;

· возможность составления запросов;

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

Производительность СУБД оценивается:

· временем выполнения запросов;

· скоростью поиска информации;

· временем импортирования баз данных из других форматов;

· скоростью выполнения операций (таких как обновление, вставка, удаление);

· временем генерации отчета и другими показателями.

· Безопасность данных достигается:

· шифрованием прикладных программ;

· шифрованием данных;

· защитой данных паролем;

· ограничением доступа к базе данных (к таблице, к словарю и т.д.).

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

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

Наибольшее распространение в настоящее время получили системы управления базами данных Microsoft Access и Oracle.

Этапами работы в СУБД являются:

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

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

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

· вывод информации из ЭВМ с использованием отчетов и без использования отчетов.

Реализуются названные этапы работы с помощью различных команд.

Централизованная база данных обеспечивает простоту управления, улучшенное использование данных на местах при выполнении дистанционных запросов, более высокую степень одновременности обработки, меньшие затраты на обработку.

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

1.3.Модели описания баз данных

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

Иерархическая модель предполагает использование для описания базы данных древовидных структур, состоящих из определенного числа уровней. «Дерево» представляет собой иерархию элементов, называемых узлами. Под элементами понимается список, совокупность, набор атрибутов, элементов, описывающих объекты.

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

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

Принципы иерархии:

· иерархия всегда начинается с корневой вершины (или главного узла);

· исходный узел, из которого строится дерево, называется корневым узлом или просто корнем, причем одно дерево может иметь только один корень;

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

· порожденные узлы могут встраиваться в «дерево» как в горизонтальном направлении, так и в вертикальном;

· доступ к порожденным узлам возможен только через исходный узел, поэтому существует только один путь доступа к каждому узлу.

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

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

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

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

Реляционная модель имеет в своей основе понятие «отношения», и ее данные формируются в виде таблиц. Отношение – это двумерная таблица, имеющая свое название, в которой минимальным объектом действий, сохраняющим ее структуру, является строка таблицы (кортеж), состоящая из ячеек таблицы – полей.

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

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

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

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

1.4. Настольные СУБД

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

Работа построена следующим образом:

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

Все обращения к БД идут через СУБД, которая инкапсулирует внутри себя все сведения о физической структуре БД, расположенной на файловом сервере. СУБД инициирует обращения к данным, находящимся на файловом сервере, в результате которых часть файлов БД копируется на клиентский компьютер и обрабатывается, что обеспечивает выполнение запросов пользователя (осуществляются необходимые операции над данными). При необходимости (в случае изменения данных) данные отправляются назад на файловый сервер с целью обновления БД. Результат СУБД возвращает в приложение. Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов. В рамках архитектуры «файл-сервер» были выполнены первые версии популярных т.н. настольных СУБД, таких как dBase и Microsoft Access.

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

На сегодняшний день известно более двух десятков форматов данных настольных СУБД, однако наиболее популярными, исходя из числа проданных копий, следует признать dBase, Paradox, FoxPro и Access. Из появившихся недавно СУБД следует также отметить Microsoft Data Engine - по существу серверную СУБД, представляющую собой <облегченную> версию Microsoft SQL Server, но предназначенную, тем не менее, для использования главным образом в настольных системах и небольших рабочих группах.

Производитель

http://www.dbase2000.com/

http://www.corel.com/

Microsoft Access 2000

http://www.microsoft.com/

Microsoft FoxPro

http://www.microsoft.com/

Microsoft Visual FoxPro

http://www.microsoft.com/

Microsoft Visual FoxPro

http://www.microsoft.com/

Microsoft Data Engine

http://www.microsoft.com/

1.5.Требования и стандарты, предъявляемые к базам данных

К современным базам данных, а, следовательно, и к СУБД, на которых они строятся, предъявляются следующие основные требования:

· Высокое быстродействие (малое время отклика на запрос).

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

Выполните команду Файл [Создать]

В открывшемся окне диалога “Создание” выберите ярлык “Базы данных”. На экране появится список баз данных, предлагаемых мастером. Данный список очень велик и может достигать нескольких десятков различных вариантов, которые могут сразу использоваться или послужат основой для построения других баз данных. Например, “Заказы на работы”, “Счета”, “Контакты”, “Мероприятия”, … и т.п.

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

В открывшемся окне диалога “Файл новой базы данных” из раскрывающегося списка Папка выберите папку, в которой хотите сохранить создаваемую базу данных, а в поле Имя файла введите ее имя. Затем нажмите кнопку Создать.

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

Отмена - прекращает работу мастера;

Назад - позволяет вернуться к предыдущему шагу в работе мастера;

Готово - запускает мастер создания базы данных с выбранными параметрами, причем перед нажатием этой кнопки высвечивается информация, которая будет храниться в базе данных.

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

В следующем окне диалога выберите из предлагаемых образцов вид оформления экрана и нажмите кнопку Далее (при этом на экране Вам предлагается возможность предварительного просмотра видов оформления экранов, которые Вы можете перебирать в правом окне окна диалога).

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

Открывшееся затем окно диалога мастера создания базы данных позволяет задать ее заголовок и рисунок (например, торговый знак фирмы), который будет появляться во всех отчетах. Если Вы решили использовать рисунок, установите флажок Да. В этом случае становится доступна кнопка Рисунок, нажатие на которую открывает окно диалога “Выбор рисунка” для выбора заранее созданного Вами файла с рисунком. Нажмите кнопку Далее для выполнения дальнейших установок.

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

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

Если варианты предложенных баз данных Вас не устраивают, то Вы можете создать пустую базу данных и добавить в нее таблицы, запросы, формы и отчеты .

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

Создание таблицы в MS Access осуществляется в окне базы данных. Рассмотрим последовательность Ваших действий при создании таблицы в новой базе данных:

Откройте окно созданной Вами базы данных и перейдите на вкладку “Таблицы”.

Нажмите кнопку Создать в окне базы данных.

Откроется окно диалога “Новая таблица”, в правой части которого находится список вариантов дальнейшей работы:

Режим таблицы - позволяет создать новую таблицу в режиме таблицы;

Конструктор - позволяет создать новую таблицу в конструкторе таблиц;

Мастер таблиц - позволяет создать новую таблицу с помощью мастера;

Импорт таблиц - позволяет осуществить импорт таблиц из внешнего файла в текущую базу данных;

Связь с таблицами - позволяет осуществить создание таблиц, связанных с таблицами из внешних файлов.

Выберите из этой таблицы подходящий Вам вариант создания таблицы и нажмите кнопку ОК.

Создайте структуру таблицы с помощью выбранного Вами средства. Создать таблицу можно с помощью мастера и с помощью конструктора.

Для того чтобы связать таблицу с содержащейся в ней информацией, каждой таблице присваивается имя. Задайте имя таблицы в окне диалога “Сохранение” и нажмите кнопку ОК.

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

Наименование поля вводится в поле ввода столбца имя поля. При задании наименований полей Вы должны следовать следующим правилам:

Наименование поля может содержать до 64 символов, но не следует злоупотреблять этой возможностью, задавая слишком длинные имена;

Наименование поля может содержать буквы, цифры, пробелы и специальные символы, за исключением точки (.), восклицательного знака (!), прямых скобок () и некоторых управляющих символов (с кодами ASCII 0-31);

Наименование поля не может начинаться с пробела;

Два поля в одной таблице не могут иметь одинаковых наименований;

Несоблюдение этих правил отслеживается средствами СУБД MS Access, но в некоторых случаях это может привести к трудно определяемым ошибкам, поэтому рекомендуется самостоятельно контролировать следование вышеперечисленным правилам в практической работе.

Желательно стараться использовать имена, отличающиеся краткостью, для облегчения их идентификации при просмотре таблиц.

Текстовый;

Числовой;

Денежный;

Счетчик;

Даты/времени;

Логический;

Поле MEMO:

Поле объекта OLE;

Мастер подстановок.

Текстовые поля могут содержать буквы, цифры и специальные символы. Максимальная ширина поля составляет 255 символов.

Для изменения ширины поля нужно в строке Размер поля раздела “Свойства поля” задать число, определяющее ширину поля (от 1 до 255).

Каждый из типов данных наделен собственными свойствами, которые отображаются в разделе “Свойства поля” окна конструктора.

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

В окне конструктора таблицы в столбце Имя поля введите КодЗаказа.

Нажмите клавишу Tab или Enter, чтобы перейти в столбец Тип данных. При этом обратите внимание, что в нижней части окна диалога появляется информация в разделе “Свойства поля”.

В столбце Тип данных появилось значение Текстовый. Нажмите на кнопку раскрытия списка в правой части прямоугольника, и Вы увидите список, содержащий все типы данных. Из этого списка с помощью мыши или клавишами вверх и вниз выберите значение Счетчик и нажмите на клавишу Tab для перехода в столбец Описание. Столбец Описание представляет собой пояснение, которое Вы даете своим полям. Когда Вы в будущем будете работать с данной таблицей, это описание будет появляться в нижней части экрана MS Access всякий раз, когда Вы окажетесь в поле КодЗаказа, и напомнит Вам назначение данного поля.

Введите поясняющий текст в столбец Описание и нажмите клавишу Tab или Enter, чтобы перейти к вводу информации о следующем поле.Аналогичным образом введите описание всех полей таблицы.Завершив ввод структуры таблицы, сохраните ее, выполнив команду Файл/Сохранить.

Создание таблицы в режиме таблицы

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

Ниже приведена последовательность действий, которую Вам предстоит выполнить:

Перейдите на вкладку “Таблицы” окна базы данных и нажмите кнопку Создать.

В окне диалога “Новая таблица” выберите из списка вариантов значение Режим таблицы и нажмите кнопку ОК. В результате выполнения этих действий откроется окно диалога “Таблица”, содержащее созданную по умолчанию таблицу. Эта таблица содержит 20 столбцов и 30 строк, и этого вполне достаточно для начала. После сохранения этой таблицы Вы, конечно, можете добавить столько строк и столбцов, сколько Вам понадобится.

Наименования полей таблицы определены по умолчанию, но вряд ли они удовлетворяют Вашим требованиям. MS Access позволяет очень просто присвоить полям новые имена. Для этого нажмите дважды кнопкой мыши на область выбора первого поля (заголовок которого содержит Поле 1). Имя поля выделяется и появляется мигающий курсор. Введите имя первого поля и нажмите клавишу Tab. Аналогично введите остальные имена полей вашей таблицы в следующих столбцах.

Теперь заполните несколько строк Вашей таблицы, вводя информацию в том виде, в каком она будет вводиться и в будущем. Старайтесь записывать все в одном стиле (например, если первую дату Вы записали 10/14/09, то не пишите следующую в виде Ноябрь 3, 2009). Если MS Access установит неправильный тип данных, Вы сможете его изменить, но лучше вводить все правильно сразу.

Сохраните таблицу, выполнив команду Файл/Сохранить макет или нажав кнопку Сохранить на панели инструментов. В открывшемся окне диалога “Сохранение” присвойте таблице имя и нажмите кнопку ОК.

На запрос о необходимости создания для таблицы первичного ключа нажмите кнопку Да, и MS Access создаст таблицу, удалив лишние строки и столбцы.

Теперь убедитесь, что Access выбрал для каждого поля правильные типы данных. Для этого перейдите в окно конструктора таблицы, выполнив команду Вид/Конструктор таблиц. Если Вас что-то не устраивает в структуре таблицы, внесите необходимые изменения .

В предыдущей главе мы рассмотрели использование фильтров, а в этой главе рассмотрим более мощное средство выборки данных - запросы.

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

Формировать сложные критерии для выбора записей из одной или нескольких таблиц;

Указать поля, отображаемые для выбранных записей;

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

Что такое “Запрос по образцу”

Ранее нами были рассмотрены общие положения, относящиеся к базам данных, где мы отмечали, что одним из основных назначений баз данных является быстрый поиск информации и получение ответов на разнообразные вопросы. Вопросы, формулируемые по отношению к базе данных, называются запросами. В MS Access для формирования запросов используется конструктор запросов и инструкция SELECT языка MS Access.

Что же такое “Запрос по образцу”? Запрос по образцу - это интерактивное средство для выбора данных из одной или нескольких таблиц. При формировании запроса Вам необходимо указать критерии выборки записей в исходной таблице. При этом вместо того, чтобы печатать предложения на специальном языке, Вы должны просто заполнить бланк запроса, который располагается в окне конструктора запросов. Метод формирования запроса путем заполнения бланка прост для изучения и понимания. Он способствует эффективному использованию возможностей MS Access пользователями, имеющими даже минимальный навык работы с приложением или не имеющими его вовсе

Вся необходимая информация находится в таблице Клиенты базы данных Борей. Поэтому для создания запроса выполните следующие действия:

В окне базы данных перейдите на вкладку “Запросы” и нажмите кнопку Создать.

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

Установите указатель мыши на область выбора столбца, который располагается прямо над названием поля. Когда указатель изменит вид на стрелку, нажмите кнопку, чтобы выделить столбец.

Нажмите и удерживайте кнопку мыши в этом положении. На конце указателя появится прямоугольник.

Перемещайте столбец в требуемом направлении. Толстая вертикальная линия покажет его текущее положение.

Отпустите кнопку, когда толстая вертикальная линия окажется в требуемом месте. Поле будет перемещено в новое место.

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

рите Автоотчет.

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

Заключение

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

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


Марченко А. П. Microsoft Access: Краткий курс. – СПб.: Питер, 2005. – стр. 56

Лазарев И.П.. “Microsoft Access для чайников”.. СПб – Питер, 2004. – стр.139.

Лазарев И.П.. “Microsoft Access для чайников”.. СПб – Питер, 2004. – стр. 196.

Марченко А. П. Microsoft Access: Краткий курс. – СПб.: Питер, 2005. – 239.

Загрузка...