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

книги / Структурный подход к организации баз данных

..pdf
Скачиваний:
4
Добавлен:
12.11.2023
Размер:
14.79 Mб
Скачать

Г л а в а 1

ДАННЫЕ

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

1.1. ИСТОЧНИКИ ДАННЫХ

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

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

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

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

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

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

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

Необходимо различать полную предметную область (крупное пред­

приятие

по производству

автомобилей, ЭВМ, химической

продукции

или по

выплавк^ стали)

и организационную единицу этой

предметной

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

Для ряда предметных областей может потребоваться информация

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

олюдях, местах, предметах, событиях и понятиях.

1.1.2.Объект

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

Так, в банковском деле примерами объектов могут служить КЛИЕНТЫ, БАНКОВСКИЕ СЧЕТА и ССУДЫ ПО ЗАКЛАДНЫМ. На товарном складе — это ПОСТАВЩИКИ, ТОВАРЫ, ОТПРАВЛЕНИЯ

Ит. д.

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

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

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

Значение данных представляет действительные данные, содержащие­ ся в каждом элементе данных. Элемент данных «фамилия клиента» может принимать такие значения, как «проф. Хиггинс» или «Марк Твен». В зависимости от того, как элементы данных описывают объект, их значения могут быть количественными, качественными или описательными. На рис. 1.1 показаны различия между объектами, элементами данных и принимаемыми ими значениями.

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

 

А т р и б у т ы

З н а ч е н и я

О б ъ е к т

(и л и э л е м е н т ы д а н н ы х )

(д а н н ы е )

Идентификационный номер

КЛИЕНТ Фамилия Адрес

Тип СЧЕТ Номер

Баланс

Фамилия

ПОСТАВЩИК Номер Адрес

123456789 Проф. Хиггинс 55 Сноу Стрит

Нью-Йорк, Н.-Й.

Расход

634250

20.53

Вильям Шекспир С1

100 Бук Стрит Нью-Йорк, Н.-Й.

Рис. 1.1. Информацию о предметной области можно представить с помощью нескольких объектов, а отдельный объект — с помощью нескольких элементов данных. Принимаемые элементами данных значения называют данными

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

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

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

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

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

* Более четкое определение концептуальной модели дается в разд. 1.5.2. — Примеч. ред.

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

Совокупность значений связанных элементов данных образует запись данных. На рис. 1.2 такими элементами данных являются фамилия и идентификационный номер клиента, тип счета, ..., заме­ чания. Одна из записей— «проф. Хиггинс 123456789 получение чека ... сообщить клиенту по тел. 555-1234». Это значения, которые принимают элементы данных объектов КЛИЕНТ, СЧЕТ и ПРОТОКОЛ. Они формируют записи данных. Записи хранятся на некотором носи­ теле, в качестве которого может выступать человеческий мозг, лист бумаги, память ЭВМ, внешнее запоминающее устройство ЭВМ, такое, как лента, диск или барабан и т. д.

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

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

записями одного типа. Файл такого типа — с похожими записями (т. е. содержащими одинаковое число элементов)»— называется «пло­

ским». Файл также может содержать записи различного типа. Иногда файл называют набором данных *.

, Объект

_, _

 

Объект

 

,

Объект

 

л

КЛИЕНТ

 

 

 

СЧЕТ

 

|

СДЕЛКА

 

 

Отделениеномер:у234

 

 

|

дат а: 11января т о

 

Наименование отделения: Отделение лаунтьгун

 

 

 

 

Адрес отделения. 1 Перваяулица,Ныморк,т 19001

 

 

 

 

Фамилия управляющего:АВС

щ

I

 

 

 

 

Отчет за 10января 1080

Элементданны[

 

 

 

 

 

 

 

 

 

 

I

Дата

Время Код

Код

Код

Заме-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

сделки

сделки сделка причиныдеистчания

*

мер

 

 

 

 

 

 

 

 

бия

 

Проф.

123458789 \Рпсход

853210

258.50

1/10/80

10:15-20 Изъятие ОреВы- Шо-Сообщите

Хиггинс

 

 

1

 

 

 

 

 

(иен

матиклиенту

 

 

 

1

 

 

 

 

 

кре-

ческая па тел.

 

 

 

1

 

______________ ,

 

Вит

ссуда

555-1234

 

________1

 

 

 

 

 

Залаф, 345078001

т

иод

12345-1

10.000.00

1/10/80

15-02-10 Вклад

С^ еже'^ д а %3и%ар

Амир

 

 

|

 

 

 

 

 

преВы-

чек и

 

 

 

1

 

 

 

 

 

 

 

 

 

 

\

 

 

тают

 

инфор-

 

 

 

1

 

 

К

 

предел

 

мируйте

----------------:

 

1

:

 

 

 

100000

 

клиента

 

1

 

 

 

 

 

 

 

запись данных

"Значение» элемента

 

данных

Файл данных

Рис. 1.2. Отчет 1. «Популярный банк» — отчет управляющего отделением (выдержка). /• Принимаемые элементами данных значения образуют запись данных.

Записи данных образуют файл

*Здесь автор допускает некоторую неточность, поскольку набор данных опера­ ционной системы обладает рядом дополнительных управляющих атрибутов, таких, как блок управления набором данных. Кроме того, операционная система типа ОС ЕС «не знает»

осоставе атрибутов записи набора данных, за исключением, возможно, «ключевого эле­ мента данных» в индексных и прямых методах доступа.— Примеч. ред.

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

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

Акционерное общество

Промышленное предприятие Авиалинии

Полицейский участок Больница

Страховые компании Университеты

Банки

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

Акционерная деятельность, исторически сложившиеся тенденции торговли акциями Опись товаров

Сведения о полетах, экипажах, пассажирах, о резер­ вировании билетов, об обслуживании, о багаже Приметы преступника, тип преступления Истории болезней, сведения о занятости коек, данные регистратуры, поставки

Сведения о держателях полисов, заявлениях, выплатах Записи о студентах, предлагаемые курсы, требова­ ния к степеням, расписания курсов Расходные счета, приходные счета, взносы по заклад­ ной, ссуды по закладной

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

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

1.2.1. Преимущества универсальных подпрограмм

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

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

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

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

1

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

1.2.2. Недостатки традиционной организации файлов данных

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

Избыточность данных. Некоторые элементы данных, такие, как имя, адрёс и идентификационный номер клиента, неизбежно используются во многих прикладных программах. Поскольку данные требуются несколь­ ким прикладным программам, они часто записываются в несколько файлов, т. е. одни и те же данные хранятся в разных местах. Такое положе­ ние называют «избыточностью данных». Оно делает проблематичным обеспечение непротиворечивости данных. Избыточность данных требует наличия нескольких процедур ввода, обновления и формирования отчетов.

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

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

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

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

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

неадекватности процедур восстановления после возникновения отка­ зов;

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

негибкости к изменениям;

высокой стоимости программирования и сопровождения;

• сложности процедур управления эксплуатацией ЭВМ (небрежность и ошибки).

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

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

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

Для решения вышеуказанных проблем были разработаны системы

сбазами данных.

1.3.БАЗА ДАННЫХ

1.3.1. Что такое база данных?

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

* Более четкое и полное определение базы данных можно найти в [1].— Примеч. ред.

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

На рис. 1.4 показан универсальный метод доступа, освобождающий от непосредственного доступа к файлам из прикладных программ. Для ведения баз данных раздельно от прикладных программ требуется некото­ рое расширение обобщенных методов доступа. Это расширение называют «системой управления базами данных».

1.3.2. Система управления базами данных

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

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

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

1.3.3. Недостатки интеграции данных

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

В этой связи мы можем сформулировать ряд требований, которым должна удовлетворять СУБД. К ним, в частности, относятся:

эффективное выполнение одной и той же СУБД различных функ­ ций предметной области;

минимизация избыточности хранимых данных;

предоставление для процессов принятия решений непротиворечивой информации;

обеспечение управления безопасностью;

отсутствие повышенных требований к персоналу, связанному с разра­

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

простая физическая реорганизация базы данных;

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

упрощение процедуры эксплуатации ЭВМ.

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

Соседние файлы в папке книги