Пятница, 29.11.2024, 14:08

Свободное программное обеспечение

Меню сайта
...



Яндекс.Метрика
Календарь
«  Ноябрь 2024  »
ПнВтСрЧтПтСбВс
    123
45678910
11121314151617
18192021222324
252627282930
Друзья сайта
Статистика

Онлайн всего: 2
Гостей: 2
Пользователей: 0

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

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

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

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

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

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

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

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

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

Таблица 1

Поле

Тип

Автор, название, издательство

Символьный

Инв_номер, год_изд

Числовой

Дата_поступления

Дата

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

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

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

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

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

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

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

Таблица 2

Сотрудник

Номер телефона

Иванов И. П.

25–56–82

39–89–34

Семенова А. Ю.

58–92–34

 

Таблица, приведенная к 1NF (табл. 3):

Таблица 3

Сотрудник

Номер телефона

Иванов И. П.

25–56–82

Иванов И. П.

39–89–34

Семенова А. Ю.

58–92–34

 

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

Таблица 4

Сотрудник

Должность

Зарплата

Иконников

Директор

30 000

Семенов

Завуч

25 000

Селезнева

Завуч

25 000

 

В результате приведения к 2NF получим две таблицы (табл. 5 и 6):

Таблица 5

Сотрудник

Должность

Иконников

Директор

Семенов

Завуч

Селезнева

Завуч

 

 

 

Таблица 6

Должность

Зарплата

Директор

30 000

Завуч

25 000

 

Обычно выделяют пять нормальных форм. Более подробно с понятием нормальной формы можно познакомиться, например, в [2].