СИСТЕМЫ УПРАВЛЕНИЯ БАЗАМИ ДАННЫХ
11.1. Сущность и основные понятия систем управления базами данных
Практически в любой сфере человеческой деятельности приходится в той или иной мере собирать, хранить и использовать различные данные. При этом используются разные способы и технологии работы с ними: внешне бессистемные (но понятные владельцу) записи в личных записных книжках, упорядоченная регистрация информации в журналах, ведение систематизированных картотек, обработка документов в организованном комплексе делопроизводства и т. п.
При всем разнообразии упомянутых методов и средств можно выделить общие признаки, характеризующие работу с данными:
— собираемые, хранимые и обрабатываемые данные относятся к определенной и ограниченной области деятельности, характерной для людей, их использующих, и называемой предметной областью',
— сами данные разбиты на определенные компоненты, различным образом связанные друг с другом, т. е. они структурированы и упорядочены;
— имеются определенные методы поиска и извлечения (выборки) необходимой информации и ее представления.
Совокупность структурированных и упорядоченных данных, относящихся к определенной предметной области, называется базой данных (БД), а система методов и средств сбора, регистрации, хранения, упорядочения, поиска, выборки и представления информации в БД называется системой управления базой данных (СУБД).
При значительных объемах информации, хранящейся в БД, или при существенной ее значимости для деятельности возникает проблема надежности и скорости обработки данных. Эта проблема во многом может быть решена за счет использования компьютерных технологий. Соответствующие СУБД получили довольно широкое распространение, и значительную их часть составляют системы, основывающиеся на реляционном подходе.
В рамках этого подхода объекты, составляющие предметную область, описываются как совокупности атрибутов (свойств), находящихся в определенных отношениях (связях) друг с другом (отсюда и название реляционный: от англ. relation — отношение). Конкретная форма представления этой совокупности часто принимает вид таблицы.
Рассмотрим пример. Данные о сотрудниках некоторой проектной организации включают в себя:
— табельный номер сотрудника;
— фамилию, имя и отчество;
— дату рождения;
— домашний адрес;
— домашний телефон;
— дату поступления на работу;
— место работы;
— служебный телефон;
— должность;
— оклад;
— надбавку за стаж работы;
— проект, в котором участвует сотрудник;
— надбавку за участие в проекте.
Эти данные можно представить в виде таблицы, в которой каждому виду данных соответствует свой столбец, а каждому конкретному сотруднику — строка (табл. 11.1).
Каждая строка этой таблицы (отношения) называется записью, а ее отдельный элемент, соответствующий тому или иному столбцу, — полем.
Таблица 11.1 представляет собой лишь небольшой фрагмент БД, но его свойства весьма показательны.
Во-первых, некоторые поля являются достаточно сложными и содержат данные, которые можно (и нужно) разбить на более мелкие компоненты (это поля, содержащие фамилию, имя и отчество, даты, адрес, место работы).
Во-вторых, по отдельным полям данные в различных записях дублируются, что не оправдано с точки зрения затрат на хранение (сведения о надбавках).
Так, второе поле должно быть разбито на три компонента, со- держащиё по отдельности фамилию, имя и отчество сотрудника; третье и шестое поля с датами также необходимо разбить на три — с числом, месяцем и годом; в поле с домашним адресом надо выделить первый компонент, указывающий на регион (Москва или Московская область); а поле с указанием места работы разделить на два — номер отдела и номер помещения.
Для исключения хранения излишней информации из табл. 11.1 необходимо убрать поля, касающиеся свойств объектов, отличных от персонала, и создать для них свои отношения: «Отдел» (табл! 11.3) и «Проект» (табл. 11.4), «Надбавки» (табл. 11.5). Тогда отношение «Персонал» будет описано табл. 11.2.
Описанные действия по представлению данных в теории и практике создания БД называют нормализацией.
В каждом отношении (таблице) одно из полей должно играть роль первичного ключа, однозначно идентифицирующего конкретную запись, т. е. имеющего уникальное значение для каждой записи. В отношении «Персонал» это табельный номер, в отношении «Отдел» — номер отдела, в отношении «Проект» — наименование проекта, в отношении «Надбавки» — стаж работы.
Некоторые из остальных полей отношений могут выполнять роль вторичных ключей, по значениям которых могут осуществляться различные операции: поиск и выборка данных.
Представленные в табл. 11.2—11.5 отношения связаны друг с другом через отдельные поля: отношения «Персонал» и «Отдел» — через поле «Номер отдела» (соответственно вторичный и первичный ключи); отношения «Персонал» и «Проект» — через поле «Название проекта» (соответственно вторичный и первичный ключи). Связь отношений «Персонал» и «Надбавки» осуществляется через поля «Дата поступления на работу» (составной вторичный ключ) и «Стаж работы» (первичный ключ), но не непосредственно, а через процедуру вычисления стажа работы по значению даты поступления на работу.
Представленное в описанном примере структурирование и упорядочивание данных в целом характерно для всех систем управления БД и для различных программ отличается в деталях.
Дата добавления: 2016-09-06; просмотров: 1248;