Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Базы данных и знаний. Управление базами и защита информации учебное п

.pdf
Скачиваний:
3
Добавлен:
15.11.2022
Размер:
1.29 Mб
Скачать

2. ДАННЫЕ

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

2.1. Источники данных

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

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

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

2.1.1. Предметная область

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

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

21

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

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

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

2.1.2. Атрибуты (элементы данных)

Каждый объект характеризуется рядом основных атрибутов. Например, дом характеризуется габаритами, цветом, временем эксплуатации и размером приусадебного участка. Клиент банка имеет такие атрибуты, как фамилию, адрес и, возможно, идентификационный номер. Банковский счет может представляться типом, номером и балансом. Объект “КЛИЕНТ” банка описывается тремя атрибутами: идентификационным номером, фамилией и адресом. Атрибут часто называют элементом данных, полем данных, полем, итемом данных или элементарным итемом.

2.2. Значение данных

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

22

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

При рассмотрении данных часто бывает трудно выявить различия между объектом, элементом данных и значением элемента данных. Так, если объектом является КЛИЕНТ, то представляющими клиента элементами данных служат его идентификационный номер, фамилия и адрес, а возможными значениями этих элементов данных – “123456789”, “проф. Хиггинс” и “55 Сноу Стрит, Нью-Йорк, Н.-Й”. Тем не менее установить различия между объектом, элементом данных и значением, которое принимает этот элемент данных, очень важно.

2.2.1. Ключевой элемент данных

Некоторые элементы данных обладают интересным свойством. Зная значение, которое принимает такой элемент данных объекта, мы можем идентифицировать значения, которые принимают другие элементы данных этого же объекта. Например, зная идентификационный номер клиента “123456789”, мы можем определить, что это “проф. Хиггинс” и что профессор Хиггинс имеет “открытый” счет в банке. Элементы данных, по которым можно определить другие элементы данных, называются ключевыми. Иногда их называют также идентификаторами объекта.

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

23

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

2.2.2. Запись данных

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

2.2.3. Файл данных

Записи данных образуют файл данных: файл представляет собой упорядоченную совокупность записей. Пример файла в отпечатанном виде – отчет управляющего отделением (выдержка) с записями одного типа. Файл такого типа – с похожими записями (т.е. содержащими одинаковое число элементов) – называется “плоским”. Файл также может содержать записи различного типа. Иногда файл называют набором данных.

2.3.Типы базы данных

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

В данном подразделе рассматриваются три модели данных: иерархическая (древовидная), сетевая, объектные базы данных и реляционная.

– Древовидная. Простейший пример – Windows Registry, файловая система FAT и XML – здесь информация хранится в древовидной структуре и доступ осуществляется через "путь",

24

т.е. указание всех узлов от корневого до нужного. Например: "c:\My Docs\MyPictures\Me.jpg". Недостатками этого способа хранения данных являются очень медленный поиск, если не известен путь, и очень плохая устойчивость к повреждениям структуры. Преимущество – возможность хранить в классифицированном виде очень разнородную информацию и очень быстрый поиск при знании ключа. Эти базы данных мы разбирать здесь не будем.

Иерархическая (древовидная) структура строится из узлов и ветвей. Узел представляет собой совокупность атрибутов данных, описывающих некоторый объект. Наивысший узел в иерархической (древовидной) структуре называется корнем. Зависимые узлы располагаются на более низких уровнях дерева. Уровень, на котором находится данный узел, определяется расстоянием от корневого узла (рис. 2.1). Иерархическое дерево представляет собой перевернутое обычное дерево: корень находится наверху, а ветви растут вниз.

Рис. 2.1. Иерархическое дерево

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

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

25

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

Виерархической модели данных узлы, находящиеся на уровне 2, называются порожденными узла на уровне 1. Узел на уровне 1 называется исходным для узлов на уровне 2. Узлы, находящиеся на уровне 3, считаются порожденными узла уровня 2, который для них является исходным, и т.д.

Иерархическая (древовидная) структура всегда удовлетворяет следующим условиям:

Иерархия неизменно начинается с корневого узла.

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

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

Каждый узел, находящийся на уровне 2, соединен с одним и только одним узлом на уровне 1. Каждый узел, находящийся на уровне 3, соединен с одним и только одним узлом, находящимся на уровне 2, и т.д. Поскольку между двумя узлами может существовать лишь одна дуга (соединение), дуги не нуждаются в метках.

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

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

Всвязи с этим в иерархической модели данных пути доступа

26

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

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

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

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

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

27

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

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

Любому отношению присущи следующие свойства:

Отсутствуют одинаковые строки.

Порядок строк несуществен (обычный файл упорядочен

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

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

Все значения имеют атомарный характер, т.е. их нельзя разбить на компоненты (без потери информации).

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

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

ции основана на том,

что определенные наборы отношений

в процессе выполнения

обновлений обнаруживают лучшие

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

28

иерархическую или сетевую модель или на инвертированные по нескольким ключам файлы.

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

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

Основные задачи, стоящие перед понятием реляционного подхода, следующие:

понимать реляционную технологию и ее преимущества;

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

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

понимать формы нормализации данных и их преимуще-

ства;

использовать в ваших моделях данных SQL-конструкции

иправила ссылочной целостности.

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

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

29

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

Структурной.

Целостной.

Манипуляционной.

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

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

2.4. Типы данных

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

впрограммировании. Как правило, они делятся на три группы:

Простые.

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

Ссылочные.

2.4.1. Простые типы данных

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

30