Главная - Ремонт
По характеру хранимой информации. Понятия баз данных: классификация, основные характеристики Какие различают средства баз данных

База данных

Например:

Фактографические

тах, представленные в строго определенном формате.

Документальные

)

Хранилище информации процедура ввода

поиск – процесс обработки запроса;

обработка

выдача информации

Централизованная БД –

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

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

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

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

ОСНОВНЫЕ ТИПЫ ДАННЫХ

текстовый одна строка текста (до 255 символов)
поле MEMO текст, состоящий из нескольких строк, который можно
посмотреть при помощи полос прокрутки (до 65535 символов)
числовой число любого типа (можно использовать в вычислениях)
денежный поле, выраженное в денежных единицах (рубли, доллары и т.д.)
дата/время поле, содержащее дату или время
счётчик поле, которое вводится автоматически с вводом каждой записи
логический содержит одно из значений True (истина) или False (ложно) и применяется в логических операциях
поле объекта OLE содержит рисунки, звуковые файлы, таблицы Excel, документ Word и т. д.

Банк данных

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

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

2.Понятие БД, СУБД, ИС. Примеры использования и сферы применения баз данных

База данных (БД ) - это структурированные знания об объектах.

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

База данных - набор сведений, хранящихся некоторым упорядоченным способом. Можно сравнить базу данных со шкафом, в котором хранятся документы. Иными словами, база данных - это хранилище данных. Сами по себе базы данных не представляли бы интереса, если бы не было систем управления базами данных (СУБД).

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

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

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

основное назначение БД - “постоянное применение”. Говоря о применении БД, необходимо упомянуть о понятии информационная система (ИС).

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

Ядром, “сердцем” ИС как раз и является БД. Разумеется, ИС бывают достаточно сложными, в том числе и построенными на нескольких базах данных, но сути это не меняет - БД в принципе можно представить себе как нечто автономное, но невозможно представить ИС, не основанную на БД.

Структура базы данных

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

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

Ключи

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

7. Виды связей между таблицами в Реляционной модели БД

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

Существует 4 типа связей:

1. «Один-к-одному» - любому экземпляру сущности А соответствует только один экземпляр сущности В, и наоборот.

У любого конкретного ученика может быть только одна характеристика, и эта характеристика относится к единственному ученику.

2. «Один-ко-многим» - любому экземпляру сущности А соответствует 0, 1 или несколько экземпляров сущности В, но любому экземпляру сущности В соответствует только один экземпляр сущности А.

Ученику ставят много оценок; поставленная оценка принадлежит только одному ученику.

3. «Многие-к-одному» - любому экземпляру сущности А соответствует только один экземпляр сущности В, но любому экземпляру сущности В соответствует 0, 1 или несколько экземпляров сущности А.

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

Какая же разница между связями «один-ко-многим» и «многие-к-одному»? Такая же, как между фразами «портфель ученика» и «ученик портфеля». То есть важно, кто во взаимоотношении двух объектов главный - ученик или портфель. Суть отношений двух объектов отражается в имени связи.

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

4. «Многие-ко-многим» - любому экземпляру сущности А соответствует 0, 1 или несколько экземпляров сущности В, и любому экземпляру сущности В соответствует 0, 1 или несколько экземпляров сущности А.

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

Нормализация отношений

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

Первая нормальная форма

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

Первая нормальная форма предписывает, что все данные, содержащиеся в таблице, должны быть атомарными (неделимыми ).

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

Так как значение поля Оценки не является атомарным, таблица не соответствует требованиям 1НФ.

Вторая нормальная форма

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

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

Приведем пример таблицы, которая не находится во 2НФ.

Как мы помним, данная таблица имеет составной ключ Дата+Время суток. Поле Температура полностью зависит от первичного ключа - с ним проблем нет. А вот поле Восход зависит лишь от поля Дата, Время суток на время восхода естественным образом не влияет.

Здесь уместно задаться вопросом: а в чем практический смысл 2НФ? Какая польза от этих ограничений? Оказывается - большая. Допустим, что в приведенном выше примере разработчик проигнорирует требования 2НФ. Во-первых, скорее всего возникнет так называемая избыточность - хранение лишних данных. Ведь если для одной записи с данной датой уже хранится время восхода, то для всех других записей с данной датой оно должно быть таким же и хранить его, вообще говоря, незачем.

Третья нормальная форма

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

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

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

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

Четвертая нормальная форма

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

В теории реляционных баз данных рассматриваются и формы высших порядков - нормальная форма Бойса - Кодда, 4НФ, 5НФ и даже выше. Большого практического значения эти формы не имеют, и разработчики, как правило, всегда останавливаются на 3НФ.

Индексация

Индексация - крайне важная с точки зрения практического применения.

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

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

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

Типы данных

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

Все реляционные СУБД поддерживают данные следующих основных типов:

· числовые;

· строковые;

· логические;

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

Отметим также, что, как правило, типы могут снабжаться модификаторами, уточняющими соответствующее множество данных (диапазон значений). Например, в Microsoft Access данные числового типа могут быть просто “целыми”, “длинными целыми”, “вещественными” и т.д. - см. рисунок.

11.Правила Кодда (требования к реляционным БД)

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

Перечислим эти правила:

1) Явное представление данных.

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

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

2) Гарантированный доступ к данным.

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

а) имени отношения;

б) указателя на кортеж (например, значение первичного ключа кортежа);

в) имени атрибута;

(имя_отношения, первичный ключ, атрибут)

3) Полная обработка неопределенных значений.

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

4) Доступ к базе данных в терминах реляционной модели.

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

5) Полнота подмножества реляционного языка.

Реляционная схема может поддерживать несколько языков, по крайней мере, язык DDL и DML. Однако хотя бы один из языков должен иметь синтаксис предложений, поддерживающий следующие понятия:

Определение данных (отношения, атрибуты, домены, ключи, ограничения целостности);

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

Манипулирование данными (интерактивное или программное);

Ограничение целостности;

Санкционированный доступ;

Управление транзакциями (начало транзакции, фиксация выполнения, отказ от выполнения).

6) Обновляемость представлений.

Все представления (виртуальные отношения) должны автоматически обновляться при модификации данных в базовых отношениях. Если, например, A= R È S, и А – это представление, то А должно обновляться как только меняется R или S.

7) Наличие высокоуровнего языка манипулирования данными.

Операции вставки, обновления и удаления должны применяться к отношению в целом:

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

8) Физическая независимость данных.

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

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

9) Логическая независимость данных.

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

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

10) Независимость контроля целостности.

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

11) Дистрибутивная независимость.

Реляционная система должна быть распространяема и переносима. Создание разнородных компьютерных систем требует обеспечения доступа к базам данных в различных OS и на различных платформах.

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

12) Согласования языковых уровней.

Если реляционная система имеет низкоуровневый язык доступа (элемент доступа – запись) и высокоуровневый язык доступ (элемент доступа – отношения). То выполнение низкоуровневых команд должно производиться с контролем целостности, так же как и при высокоуровневых командах.

12.Формализация даталогической модели на языке конкретной СУБД(на примере Ассess)

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

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

· Определение имен и типов полей. На этом же этапе обычно требуется установить специфические свойства конкретных полей - может ли поле содержать “пустые” (неопределенные) значения, каким должно быть значение “по умолчанию” и т.д.

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

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

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

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

Какой бы визуальный интерфейс не предоставляла конкретная СУБД разработчикам, в подавляющем большинстве случаев за кадром находится общий для всех реляционных СУБД язык SQL (S tructured Q uery L anguage ).

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

13.Объекты базы данных . Таблицы, отчеты, страницы, макросы и модули . Запросы и формы .

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

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

Страницы или страницы доступа к данным – специальные объекты БД, выполненные в коде HTML , размещаемые на web -странице и передаваемые клиенту вместе с ней. Сам по себе объект не является БД, посетитель может с ее помощью просматривать записи базы в полях страницы доступа. Т.о., страницы – интерфейс между клиентом, сервером и базой данных, размещенным на сервере.

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

Запросы и формы .

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

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

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

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

14.Язык SQL (структурированный язык запросов ) .История возникновения. Подмножества языка.

Из истории SQL:

Все реляционные СУБД поддерживают специальный язык SQL (S tuctured Q ueryL anguage ), на котором записываются запросы. Фактически SQL состоит из двух языков - DML (D ata M anipulation L anguage ) и DDL (D ata D eclaration L anguage ).

История языка SQL началась в 1974 г. Первый прототип языка назывался SEQUEL (название образовано от S tructured E nglish Que ry L anguage ). Впоследствии переработанная версия SEQUEL получила название SQL. Первый стандарт языка был принят в 1987 г.

SQL - декларативный язык. Это означает, что клиент лишь указывает, что именно ему требуется, а как это получить, решает сама СУБД.

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

  • SQL-DDL (Data Definition Language) - язык определения структур и ограничений целостности баз данных. Сюда относятся команды создания и удаления баз данных; создания, изменения и удаления таблиц; управления пользователями и т.д.
  • SQL-DML (Data Manipulation Language) - язык манипулирования данными: добавление, изменение, удаление и извлечение данных, управления транзакциями

Базы данных. Виды БД по характеру хранимой информации, по способу хранения, по структуре организации. Основные типы данных.

База данных - организованная совокупность данных, предназначенная для длительного хранения во внешней памяти ЭВМ и постоянного применения

Например:

База данных книжного фонда библиотеки;

База данных кадрового состава учреждения;

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

База данных современной эстрадной песни.

Фактографические

В фактографических БД содержатся краткие сведения об описываемых объек-

тах, представленные в строго определенном формате.

Например, в БД библиотеки о каждой книге хранятся библиографические сведе-

Документальные

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

(например, различные справочники, словари)

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

Хранилище информации – база данных железнодорожной станции; процедура ввода – ввод паспортных данных клиента;

поиск – процесс обработки запроса;

обработка – выбор клиентом даты и времени отправления поезда;

выдача информации – ваш заказ принят, билет забронирован

Централизованная БД –

БД хранится на одном компьютере

Распределённая БД –различные части одной БД хранятся на мно-

жестве компьютеров, объединённых между собой сетью

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

Основой информационной системы является база данных.

Целью любой информационной системы является обработка данных об объектах реального мира.

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

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

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

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

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

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

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

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

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

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

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

26. При работе с СУБД на экран выводятся рабочее поле и панель управления. Панель управле­ния при этом включает меню, вспомогательную область управления и строку подсказки. Расположение этих областей на экране может быть произвольным и зависит от особеннос­тей конкретной программы. Некоторые СУБД позволяют выводить на экран окно директив (командное окно) или строку команд.

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

Вспомогательная область управления включает:

Строку состояния;

Панели инструментов;

Вертикальную и горизонтальную линейки прокрутки.

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

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

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

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

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

Наведением курсора на выбранную в меню команду при помощи клавиш управления курсором и нажатием клавиши ввода;

Вводом с клавиатуры первой буквы выбранной команды.

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

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

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

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

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

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

5. команды для работы в основных режимах СУБД (таблица, форма, запрос, отчет);

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

7. команды для работы с файлами:

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

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

Модели базы данных.

Классификация моделей данных базируется на понятиях о взаимосвязи объектов. Между таблицами базами данных могут существовать четыре типа различных связей: «один к одному»; «один ко многим»; «многие ко многим».

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

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

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

28. Структурные элементы реляционной базы данных.
1. В реляционных базах данных любые совокупности данных представляются в виде двумерных таблиц (отношений), подобных описанному выше списку учащихся. При этом каждая таблица состоит из фиксированного числа столбцов и некоторого (переменного) количества строк. Описание столбцов принято называть макетом таблицы.
2. Каждый столбец таблицы представляет поле – элементарную единицу логической организации данных, которая соответствует неделимой единице информации - реквизиту объекта данных (например, фамилия учащегося, адрес).
Для описания поля используются характеристики:
· имя поля (например, № личного дела, Фамилия);
· тип поля (например, символьный, дата);
· дополнительные характеристики (длина поля, формат, точность).
Например, поле Дата рождения может иметь тип «дата» и длину 8 (6 цифр и 2 точки, разделяющих в записи даты день, месяц и год).
3. Каждая строка таблицы называется записью. Запись логически объединяет все поля, описывающие один объект данных, например, все поля в первой строке вышеприведенной таблицы описывают данные об учащемся Петрове Иване Васильевиче 12.03.89 рождения, проживающем по адресу ул. Горького, 12-34, обучающемся в 4А классе, номер личного дела - П-69. Система нумерует записи по порядку: 1,2, ..., n, где n - общее число записей (строк) в таблице на данный момент. В отличие от количества полей (столбцов) в таблице количество записей в процессе эксплуатации БД может как угодно меняться (от нуля до миллионов). Количество полей, их имена и типы тоже можно изменить, но это уже особая операция, которая называется изменением макета таблицы.
3. В структуре записи файла указываются поля, значения которых являются простым ключом, которые идентифицируют экземпляр записи. Примером такого простого ключа в таблице Учащиеся является поле № личного дела, значение которого однозначно определяет один объект таблицы - одного учащегося, так как в таблице нет двух учащихся с одинаковым номером личного дела.
4. Каждое поле может входить в несколько таблиц (например, поле Фамилия может входить в таблицу Список занимающихся в театральном кружке).

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

30 . Экранный интерфейс базы данных MS-ACCESS. Компоненты базы данных MS-ACCESS
Систему Microsoft Access отличает универсальность, широкий набор визуальных средств разработки, возможность интеграции с другими программными продуктами пакета Microsoft Office, а также с программами, поддерживающими технологию OLE.
Запуск программы осуществляется с помощью команд Пуск, Программы, MS-Access. В появившемся окне приглашения имеются две опции, предназначенные для создания новой и открытия ранее созданной базы данных. При установке переключателя «Новая база данных» Access предлагает ввести имя базы. Необходимо задать имя базы данных и щелкнуть кнопку «ОК». Создание новой базы также может быть выполнено по команде Файл, Создать.
После запуска программы и создания новой базы данных появляется главное окно системы. Традиционно окно содержит заголовок, где указывается название программы – Microsoft Access, следующая строка содержит меню программы, а ниже - панель инструментов.
Рабочая область окна содержит разделы, соответствующие типам объектов, которые может содержать база данных. Такими объектами являются Таблицы, Запросы, Отчеты, Страницы, Макросы, Модули.
Заголовок окна содержит имя файла базы данных.
Интерфейс работы с объектами базы данных унифицирован, он имеет стандартные режимы работы – «Просмотр», «Конструктор», «Создать».

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

31. Создание таблиц в базе данных MS-ACCESS. Работа с формами в базе данных MS-ACCESS. Способы создания отчетов в MS-ACCESS.
Для создания таблицы необходимо открыть окно созданной базы данных, перейти на закладку Таблицы и в окне диалога выбрать режимы:

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

Создание новой таблицы в режиме Конструктор;

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

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

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

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

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

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

Тип данных поля вводится в поле столбца Тип данных. В Access допустимыми являются данные следующих типов: текстовый, числовой, денежный, счетчик, дата/время, логический, поле МЕМО (поля с данными переменной длины может содержать до 65535 символов), поле объекта OLE, гиперссылка, мастер подстановок. Каждый из типов данных наделен собственными свойствами, которые отображаются в разделе Свойства поля окна Конструктора.
Первичным ключом называется одно или несколько полей, которые однозначно определяют каждую запись в таблице. Наличие ключа помогает быстрее находить и сортировать записи. Поля, используемые в качестве первичного ключа, индексируются автоматически, но можно составить отдельный индекс и для других полей. По умолчанию Access создает поле Код с типом Счетчик. Первичный ключ можно создавать самостоятельно, выбрав поле, которое предполагается использовать в качестве первичного ключа. Далее следует выбрать на панели инструментов Конструктор таблицы кнопку «Ключевое поле». На выделенном поле нажатие правой кнопки мышки приводит к появлению контекстного меню, в котором есть команда «Ключевое поле». В области маркировки поля появится пиктограмма с изображением ключа.
Ввод данных в таблицу с использованием режима таблицы является самым простым способом. При вводе данных в таблицу клавиша ТАВ используется для перехода на следующее поле.
Работа с формами в базе данных MS-Access
Создание форм. Данные в базе можно просматривать в различных режимах. Однако режим Формы обеспечивает максимальную гибкость, наиболее удобный способ просмотра, добавления, редактирования и удаления данных.
Форма позволяет отображать одновременно все поля одной или нескольких записей. Режим таблицы также позволяет просматривать несколько записей сразу, но в нем не всегда можно отображать все поля одновременно. Оптимально построенная форма может вмещать до 100 полей на одном экране, а если полей намного больше, то можно создать многостраничную форму для каждой записи.
Для создания форм используются следующие инструменты:

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

Автоформа: ленточная – обеспечивает автоматическое создание ленточных форм;

Автоформа: табличная – обеспечивает автоматическое создание табличных форм;

Диаграмма – создание формы с диаграммой;
Сводная таблица – создание формы со сводной таблицей Excel.
Перечисленные инструменты становятся доступны также с помощью команды Вставка, Форма или после нажатия кнопки на панели инструментов Новый объект: автоформа.
Для создания формы необходимо открыть окно базы данных, выбрать вкладку Формы, щелкнуть кнопку «Создать», в окне диалога выбрать вариант формы и следовать указаниям диалогового окна.

Печать формы осуществляется с помощью соответствующей кнопки «Печать» на панели инструментов Стандартная или команды меню Файл, Печать. Готовую форму можно открыть в режиме Формы или с помощью Конструктора формы для ее модификации.

6.10. Работа с объектами в базе данных MS-Access

В MS Access можно вставлять рисунки, видеоклипы, файлы со звуком, деловые диаграммы, электронные таблицы Excel, а также документы Word. С формами и отчетами можно связать любой объект типа OLE. При этом их можно не только использовать в Access, но и редактировать непосредственно в форме. Объекты можно внедрять в присоединенные и свободные рамки, а также в рамку рисунка. Внедрение приводит к размещению объекта в базе данных Access, где он сохраняется в форме, отчете или записи таблицы.

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

Вставить объект в форму или отчет, при этом будет создан объект типа «рисунок» или свободная рамка объекта;

Сначала создать объект типа «рисунок» или свободную рамку объекта, а затем вставить объект или рисунок в эту рамку.

Внедрение рисунка.Для внедрения объектов типа OLE или рисунков в свободную рамку объекта или рисунка необходимо:

Открыть форму в режиме Конструктора формы;

Щелкнуть в панели элементов по кнопке Рисунок;

Создать рамку рисунка, переместив инструмент Рисунок.

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

Работа с отчетами в MS- Access

Для создания отчетов в MS Access имеются гибкие и мощные средства:

Конструктор отчетов, в котором вы самостоятельно разрабатываете собственные отчеты с заданными свойствами;

Мастер отчетов, позволяющий достаточно быстро создать отчет на основе выбранных полей;

Автоотчет: в столбец, позволяющий создавать отчет с полями, расположенными в один или несколько столбцов;

Автоотчет: ленточный, позволяющий автоматически создавать ленточный отчет;

Мастер диаграмм, создающий отчет, содержащий отображение данных в виде диаграммы;

Почтовые наклейки, создающий отчет, отформатированный для печати почтовых наклеек.

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

командами Файл, Предварительный просмотр основного меню;

командами Предварительный просмотр контекстного меню;

кнопкой Предварительный просмотр панели инструментов.

Для печати созданного отчета из окна Конструктора отчетов или окна Базы данных необходимо:

Выполнить команды Файл, Печать, при этом откроется окно диалога Печать, позволяющее задать необходимые параметры печати;

Щелкнуть кнопку «Печать»на панели инструментов, в этом случае отчет будет выведен на печать с текущими установками.

Для модификации созданного ранее отчета необходимо:

В окне базы данных перейти на вкладку Отчет;

Установить указатель мыши на модифицируемый отчет;
- щелкнуть кнопку Конструктор.
Для сохранения отчета необходимо выполнить команды Файл, Сохранить или Файл, Сохранить как, Экспорт или щелкнув на кнопке Сохранить панели инструментов Стандартная. Если отчет сохраняется впервые или по командам Сохранить как, Экспорт, то необходимо указать имя отчета. Программа Access сохраняет только конструкцию отчета, а не данные или сам отчет.
Для открытия отчета необходимо выполнить команды Файл, Открыть или нажать соответствующую кнопку на панели инструментов.

Основные понятия и классификация систем управления базами данных База данных (БД) представляет собой совокупность структурированных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области. Логическую структуру данных, хранимых в базе, называют моделью представления данных. К основным моделям представления данных (моделям данных) относятся иерархическая, сетевая, реляционная. Система управления базами данных (СУБД) - это комплекс языковых и программных средств, предназначенный для создания, ведения и совместного использования БД многими пользователями. Обычно СУБД различают по используемой модели данных. Так, СУБД, основанные на использовании реляционной модели данных, называют реляционными СУБД. Для работы с базой данных зачастую достаточно средств СУБД. Однако если требуется обеспечить удобство работы с БД неквалифицированным пользователям или интерфейс СУБД не устраивает пользователей, то могут быть разработаны приложения. Их создание требует программирования. Приложение представляет собой программу или комплекс программ, обеспечивающих автоматизацию решения какой-либо прикладной задачи. Приложения могут создаваться в среде или вне среды СУБД - с помощью системы программирования, использующей средства доступа к БД, к примеру, Delphi или С++ Вuildег. Приложения, разработанные в среде СУБД, часто называют приложениями СУБД, а приложения, разработанные вне СУБД, - внешними приложениями. Словарь данных представляет собой подсистему БД, предназначенную для централизованного хранения информации о структурах данных, взаимосвязях файлов БД друг с другом, типах данных и форматах их представления, принадлежности данных пользователям, кодах защиты и разграничения доступа и т. п. Информационные системы, основанные на использовании БД, обычно функционируют в архитектуре клиент-сервер. В этом случае БД размещается на компьютере-сервере, и к ней осуществляется совместный доступ. Сервером определенного ресурса в компьютерной сети называется компьютер (программа), управляющий этим ресурсом, клиентом -компьютер (программа), использующий этот ресурс. В качестве ресурса компьютерной сети могут выступать, к примеру, базы данных, файлы, службы печати, почтовые службы. Достоинством организации информационной системы на архитектуре клиент-сервер является удачное сочетание централизованногохранения, обслуживания и коллективного доступа к общей корпоративной информации с индивидуальной работой пользователей. Согласно основному принципу архитектуры клиент-сервер, данные обрабатываются только на сервере. Пользователь или приложение формируют запросы, которые поступают к серверу БД в виде инструкций языка SQL. Сервер базы данных обеспечивает поиск и извлечение нужных данных, которые затем передаются на компьютер пользователя. Достоинством такого подхода в сравнении предыдущим является заметно меньший объем передаваемых данных. Выделяют следующие виды СУБД: * полнофункциональные СУБД; * серверы БД; * средства разработки программ работы с БД. Полнофункциональные СУБД представляют собой традиционные СУБД. К ним относятся dBaseIV, Microsoft Access, Microsoft FoxPro и др. Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Серверы БД обеспечивают обработку запросовклиентских программ обычно с помощью операторов SQL. Примерами серверов БД являются: Microsoft SQL Server, InterBase и др. В роли клиентских программ в общем случае могут использоваться СУБД, электронные таблицы, текстовые процессоры, программы электронной почты и др. Средства разработки программ работы с БД могут использоваться для создания следующих программ: * клиентских программ; * серверов БД и их отдельных компонентов; * пользовательских приложений. По характеру использования СУБД делят на многопользовательские (промышленные) и локальные (персональные). Промышленные, СУБД представляют собой программную основу для разработки автоматизированных систем управления крупнымиэкономическими объектами. Промышленные СУБД должны удовлетворять следующим требованиям: * возможность организации совместной параллельной работы многих пользователей; * масштабируемость; * переносимость на различные аппаратные и программные платформы; * устойчивость по отношению к сбоям различного рода, в том числе наличие многоуровневой системы резервирования хранимой информации; * обеспечение безопасности хранимых данных и развитой структурированной системы доступа к ним. Персональные СУБД - это программное обеспечение, ориентированное на решение задач локального пользователя или небольшой группы пользователей и предназначенное для использования на персональном компьютере. Это объясняет и их второе название - настольные. Определяющими характеристиками настольных систем являются: * относительная простота эксплуатации, позволяющая создавать на их основе работоспособные пользовательские приложения; * относительно ограниченные требования к аппаратным ресурсам. По используемой модели данных СУБД разделяют на иерархические, сетевые, реляционные, объектно-ориентированные и др. НекоторыеСУБД могут одновременно поддерживать несколько моделей данных. Для работы с данными, хранящимися в базе, используются следующие типы языков: * язык описания данных - высокоуровневый непроцедурный язык декларативного типа, предназначенный для описания логической структуры данных; * язык манипулирования данными - совокупность конструкций, обеспечивающих выполнение основных операций по работе с данными: ввод, модификацию и выборку данных по запросам. Названные языки в различных СУБД могут иметь отличия. Наибольшее распространение получили два стандартизованных языка: QBE - язык запросов по образцу и SQL - структурированный язык запросов. QBE в основном обладает свойствами языка манипулирования данными, SQL сочетает в себе свойства языков обоих типов. СУБД реализует следующие основные функции низкого уровня: * управление данными во внешней памяти; * управление буферами оперативной памяти; * управление транзакциями; * ведение журнала изменений в БД; * обеспечение целостности и безопасности БД. Реализация функции управления данными во внешней памяти обеспечивает организацию управления ресурсами в файловой системе ОС. Необходимость буферизации данных обусловлена тем, что объем оперативной памяти меньше объема внешней памяти. Буферы представляют собой области оперативной памяти, предназначенные для ускорения обмена между внешней и оперативной памятью. В буферах временно хранятся фрагменты БД, данные из которых предполагается использовать при обращении к СУБД или планируется записать в базу после обработки. Механизм транзакций используется в СУБД для поддержания целостности данных в базе. Транзакцией называется некоторая неделимая последовательность операций над данными БД, которая отслеживается СУБД от начала и до завершения. Если по каким-либо причинам (сбои и отказы оборудования, ошибки в программном обеспечении, включая приложение) транзакция остается незавершенной, то она отменяется. Транзакции присущи три основных свойства: * атомарность (выполняются все входящие в транзакцию операции или ни одна); * сериализуемость (отсутствует взаимное влияние выполняемых в одно и то же время транзакций); * долговечность (даже крах системы не приводит к утрате результатов зафиксированной транзакции). Примером транзакции является операция перевода денег с одного счета на другой в банковской системе. Сначала снимают деньги с одного счета, затем начисляют их на другой счет. Если хотя бы одно из действий не выполнится успешно, результат операции окажется неверным и будет нарушен баланс операции. Ведение журнала изменений выполняется СУБД для обеспечения надежности хранения данных в базе при наличии аппаратных и программных сбоев. Обеспечение целостности БД составляет необходимое условие успешного функционирования БД, особенно при ее сетевом использовании. Целостность БД - это свойство базы данных, означающее, что в ней содержится полная, непротиворечивая и адекватно отражающая предметную область информация. Целостное состояние БД описывается с помощью ограничений целостности в виде условий, которым должны удовлетворять хранимые в базе данные. Обеспечение безопасности достигается в СУБД шифрованием данных, парольной защитой, поддержкой уровней доступа к базе данных и отдельным ее элементам (таблицам, формам, отчетам и др.).

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

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

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

Описание входной оперативной информации включает: наименование входного сообщения, источник информации – документ или массив, форму представления информации, сроки и частоту поступления информации.

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

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

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

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

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

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

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

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

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

Алгоритм имеет ряд обязательных свойств (атрибутов):

Дискретность – предусматривает разбиение процесса обработки информации на более простые этапы (шаги выполнения);

Определенность (или детерминированность) – характеризует однозначность выполнения каждого отдельного шага преобразования информации;

- результативность (или конечность) – предполагает завершение работы алгоритма в целом за конечное число шагов;

Массовость – характеризует пригодность алгоритма для решения определенного класса задач.

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

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

По характеру организации данных БД могут быть разделены на неструктурированные, частично структурированные и структурированные.

К неструктурированным могут быть отнесены БД, организованные в виде семантических сетей.

Частично структурированными можно считать БД в виде обычного текста или гипертекстовые системы.

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

Структурированные БД по типу используемой модели делятся на

· иерархические,

· сетевые,

· реляционные,

· смешанные и

· мульти модельные.

Эта классификация распространяется и на СУБД.

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

Большинство систем поддерживает:

· поле – наименьшая семантическая единица информации;

· совокупность полей (или более сложных ИЕ) образует запис ь ;

· множество однотипных записей представляет файл базы данных .

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

По типу хранимой информации БД делятся на

· фактографические,

· документальные и

· лексикографические.

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

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

К лексикографическим БД относятся различные словари (классификаторы, многоязычные словари, словари основ слов и т. п.).

По характеру организации хранения данных и обращения к ним различают

· локальные (персональные),

· общие (интегрированные,

· централизованные) и

· распределенные БД (рис. 10).

Рис. 10. Классификация БД по характеру хранения и обращения к данным

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

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

Распределяться по узлам сети могут и другие компоненты СБД. Сама БД при этом может быть нераспределенной. Поэтому различают:

· распределенные БД;

· распределенные СБД (в которых распределен хотя бы один компонент).

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

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

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

По языкам общения СУБД делятся на

· открытые,

· замкнутые и

· смешанные.

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

По выполняемым функциям СУБД делятся на

· информационные и

· операционные.

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

По сфере возможного применения различают

· универсальные и

· специализированные (проблемно ориентированные СУБД).

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

По мощности СУБД делятся на

· настольные (Dbase, FoxBase/FoxPro, Clipper, Paradox, Access, Approach) и

· корпоративные (Oracle, DB2, Sybase, Informix, Ingres, Progress).

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

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

Среди СУБД, занимающих промежуточное положение между настольными и промышленными системами, можно назвать Interbase, Microsoft SQL Server. В последние годы наметилась тенденция к стиранию границ между настольными и профессиональными системами.

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

 


Читайте:



Пастила из яблок в домашних условиях: простые пошаговые рецепты

Пастила из яблок в домашних условиях: простые пошаговые рецепты

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

Салат из курицы с черносливом и грецкими орехами

Салат из курицы с черносливом и грецкими орехами

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

Рецепты разных зеленых щей со щавелем и с капустой, грибами, рыбой, крапивой, фасолью

Рецепты разных зеленых щей со щавелем и с капустой, грибами, рыбой, крапивой, фасолью

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

Суп с мясом и картошкой: рецепты простые и очень простые

Суп с мясом и картошкой: рецепты простые и очень простые

Мясо (говядина или мясо птицы) - 300 гр. Картофель - 4 шт. Морковь - 1 шт. (маленькая) Лук - 1 шт. Болгарский перец - 1 шт. Зелень, соль,...

feed-image RSS