Лекция 7. СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ

После изучения главы 7 студент должен:

знать

понятие, назначение и виды баз данных, средств работы с ними и защиты;

• роль программ и интерфейс систем управления базами данных;

• виды объектов в базе данных;

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

• интерфейс и виды объектов СУБД Microsoft Access;

• виды (форматы) данных в полях баз;

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

уметь

• пользоваться базами данных, их формами, элементами управления;

• вносить данные в базу, изменять, удалять записи;

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

владеть

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

• навыками извлечения записей и отбора по критерию;

• навыками конструирования запросов, форм, отчетов в базе данных.

Основные понятия баз данных

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

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

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

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

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

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

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

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

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

В системах с централизованной базой данных и сетевым доступом различают архитектуру два типов: файл- и клиент- сервер. Архитектура файл-сервер предполагает выделение одной ЭВМ в сети для хранения базы данных. Пользователи такой сети со своих рабочих станций выполняют запросы к базе данных, после чего им передаются требуемые файлы базы данных, обрабатываемые на рабочих станциях. При этом пользователь может создавать на своем компьютере локальную базу данных и использовать ее монопольно. Архитектура клиент-сервер строится таким образом, что помимо хранения базы данных на одной из ЭВМ сети на ней же производится и обработка запросов пользователей, после чего требуемые в соответствии с запросом данные передаются на компьютер пользователя. Для архитектуры клиент-сервер характерно применение языка запросов SQL (Structured Query Language).

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

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

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

Рис. 7.1. Иерархическая модель данных

Рис. 7.2. Сетевая модель данных

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

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

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

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

• каждая ячейка таблицы содержит один элемент данных;

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

Таблица 7.1

Пример реляционной таблицы

Табельный номер

Фамилия

Имя

Отчество

Дата рождения

Должность

Телефон

101

Подчукаев

Владимир

Анатольевич

01.04.

1965

Начальник отдела

11-10

102

Кротов

Николай

Петрович

23.05.

1963

Зав. сектором

11-11

103

Архипов

Игорь

Валентинович

19.02.

1970

Старший научный сотрудник

11-20

104

Соколов

Дмитрий

Валерьевич

06.07.

1972

Научный сотрудник

11-15

105

Матросов

Василий

Иванович

11.09.

1975

Инженер

11-16

106

Ересько

Полина

Владимировна

13.06.

1981

Технолог

11-22

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

• каждая строка таблицы хранит сведения, относящиеся к одному объекту;

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

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

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

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

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

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

• Связь один к одному (1:1) между двумя таблицами предполагает, что в каждый момент времени одной записи в первой таблице соответствует единственная запись во второй таблице, и наоборот. Например, каждая запись в табл. 7.1 может соответствовать единственной записи во второй таблице, включающей поля, содержащие табельный номер и место рождения сотрудников.

• Связь один ко многим (1:М) между двумя таблицами предполагает, что в каждый момент времени одной записи в первой таблице соответствует несколько записей второй таблицы. Например, каждая запись в табл. 7.1 может соответствовать нескольким записям второй таблицы, включающей поля, содержащие табельный номер и перечень научных работ сотрудников.

• Связь многие ко многим (М:М). Такая связь между двумя таблицами предполагает, что в каждый момент времени одной записи в первой таблице соответствует несколько записей во второй таблице и одной записи во второй таблице соответствует несколько записей в первой таблице. Связь реализуется посредством создания третьей таблицы, в которой одно поле совпадает с ключевым полем первой таблицы, а второе – с ключевым полем второй таблицы.

К основным этапам обобщенной технологии работы с СУБД, как правило, относятся:

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

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

• обработка данных, содержащихся в таблице;

• вывод информации из базы данных.

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

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

К наиболее широко используемым СУБД относятся программные продукты Oracle, Micriosoft SQL, FoxPro, InterBase, Microsoft Access.