Основные принципы организации баз данных

 

Введение


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

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

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

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

Современные авторы часто употребляют термины "банк данных" и "база данных" как синонимы, однако в общеотраслевых руководящих материалах по созданию банков данных Государственного комитета по науке и технике (ГКНТ), изданных в 1982 г., эти понятия различаются.

Там приводятся следующие определения банка данных, базы данных и СУБД:

Банк данных (БнД) - это система специальным образом организованных данных - баз данных, программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.

База данных (БД) - именованная совокупность данных, отражающая состояние объектов и их отношений в рассматриваемой предметной области.

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



1.Понятие базы данных


К организации данных в системах автоматизированной обработки информации возможны два подхода:

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

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

Первый из подходов имеет ряд недостатков:

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

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

При хранении данных в БД перечисленные недостатки снимаются. Однако в этом случае возникает другой недостаток: у данных нет единого хозяина. Из-за этого снижается ответственность за правильность хранимых данных и нарушается секретность. Для устранения этого недостатка для БД разрабатывается специальная система защиты.

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

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

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

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


.Требования, предъявляемые к БД


Правильно спроектированная БД должна удовлетворять следующим требованиям:

  1. Минимальная избыточность. Непротиворечивость.
  2. Целостность данных.
  3. Независимость данных.
  4. Возможность ведения (добавления и удаления) и актуализации (корректировки, модификации) данных.
  5. Безопасность и секретность.
  6. Высокая производительность. Минимальные затраты.
  7. Соблюдение стандартов.

1. Минимальная избыточность означает то, что данные в БД не должны дублироваться. Избыточность данных, если она существует, влечет две опасности:

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

-нарушение непротиворечивости данных, т.е. возникновение такой ситуации, когда в различных местах машинной памяти хранятся противоречивые данные. Возникновение противоречивости чрезвычайно опасно для БД.

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

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

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

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

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

Существуют специальные методы и приемы обеспечения целостности.

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

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

Целостность данных может нарушиться при неудачном завершении транзакции. Транзакцией называется некоторая неделимая последовательность операций над данными, выполняемая по одному запросу к БД. Примером транзакции является операция перевода денег с одного счета на другой в банковской системе. Здесь необходимо последовательное выполнение нескольких операций. Деньги снимаются с одного счета, данные корректируются, затем деньги добавляются к другому счету и данные вновь корректируются. Если хотя бы одно из действий не выполняется успешно, результат транзакции окажется неверным. СУБД должна отслеживать ход выполнения транзакции от начала до ее завершения. Если по какой-то причине какая-либо из операций не выполнилась, то транзакция отменяется полностью. При этом выполняется "откат" путем отмены всех уже выполненных изменений.

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

Различные СУБД в той или иной мере располагают средствами обеспечения целостности данных. В противном случае такие средства разрабатываются системным программистом.

. Независимость данных означает то, что прикладные программы не должны зависеть от хранимых данных, т.е. от способа хранения данных в физической памяти. Это позволяет добавлять в БД новые данные, изменять структуры хранения данных, создавать на БД новые приложения. Ранее созданные программы при этом не должны "чувствовать" эти изменения.

СУБД обычно обеспечивают это требование.

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

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

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

Ограничение доступа к данным. Каждый пользователь должен работать только с теми данными, которые необходимы для решения его задач, остальные данные должны быть для него "невидимыми". Каждому пользователю предоставляются определенные полномочия (привилегии) для работы с данными. Ему может быть предоставлено право только чтения из БД, право ввода в БД или право обновления и т.п. Все привилегии предоставляются только администратору БД.

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

Средства защиты и безопасности данных содержатся в СУБД или разрабатываются системным программистом.

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

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

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


.Уровни представления данных в БД


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

Это - системные программисты, разрабатывающие автоматизированную систему и БД, ответственные за все вопросы, связанные с правильным функционированием БД;

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

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

У каждого из них существует свой взгляд на данные, хранящиеся в БД, для каждого необходимы свои средства взаимодействия с БД.

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

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

Центральной частью БД является концептуальный уровень представления данных или концептуальная схема. Концептуальная схема (или схема БД) - это описание общей логической структуры данных.

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





Внешний

уровень


Отображение А внешний - Отображение В внешний-

концептуальный концептуальный


Концептуальный

уровень



Отображение концептуальный - внутренний



Внутренний

уровень





На данные, подлежащие хранению в БД, накладываются определенные ограничения, определяются операции, которые будут выполняться над данными. После этого строится схема БД. Т. о. концептуальная схема - это логическая структура данных (модель данных), ограничения, накладываемые на данные и операции с данными.

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

Схема, содержащая конкретные данные, называется экземпляром схемы или текущим состоянием БД. С течением времени текущее состояние меняется, но схема остается неизменной.

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

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

С БД будут работать пользователи разных уровней.

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

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

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

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

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

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

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

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

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

Лицо или группа лиц, ответственных за всю БД в целом, за систему защиты и за все уровни представления данных называется Администратором Базы Данных (АБД).

Языки баз данных

Основная часть СУБД, используемая программистом, это Язык Данных (ЯД). Существует следующие основные типы ЯД:

ЯОД - язык описания данных,

ЯМД - язык манипулирования данными,

ЯЗ - язык запросов.

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

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

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

В зависимости от правил и принципов использования операторов можно выделить несколько типов ЯМД: интерактивные, встраиваемые и входные ЯМД.

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

Операторы встраиваемого ЯМД встраиваются в прикладную программу, написанную на языке программирования. Прикладная программа в этом случае может выполняться либо в среде СУБД, либо вне СУБД.

Включение операторов ЯМД в прикладную программу в различных СУБД производиться в соответствии с одним из двух рассмотренных ниже принципов.

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

Второй принцип включения ЯМД в прикладную программу позволяет использовать операторы ЯМД наряду с операторами языка программирования. При этом язык программирования как бы расширяется за счет этих операторов. В этом случае исходная программа сначала проходит предварительную трансляцию, в процессе которой операторы ЯМД заменяются эквивалентными группами операторов языка программирования. Затем программа обрабатывается обычным транслятором.

Входной ЯМД содержит набор операторов и конструкций, с помощью которых можно выполнять манипуляции на БД и писать программы приложений. Таким языком располагает, например, семейство dBASE-совместимых СУБД, работающих под управлением DOS.

В СУБД, работающих под Windows, наибольшее распространение получил язык SQL (Structured Query Language - структурированный язык запросов). SQL, являясь одновременно ЯМД и ЯОД, может использоваться и как интерактивный, и как встраиваемый в язык программирования VBA (Visual Basic for Application).

ЯЗ - это совокупность средств, предназначенных для организации интерфейса пользователя-непрограммиста. Такой язык имеется не во всех СУБД и часто пользовательский интерфейс приходится разрабатывать АБД.

Возможны различные подходы к созданию ЯЗ.

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

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

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

В СУБД, работающих под Windows, широкое распространение получил графически-ориентированный язык запросов QBE (Query By Example - запрос по образцу), рассматриваемый ниже.


.Логическая структура данных


Концептуальная схема БД содержит три составляющих:

логическую структуру данных,

ограничения, накладываемые на данные,

операции с данными.

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

Различают два понятия: тип объекта и экземпляр объекта.

Любой объект описывается следующей триадой:

<Имя объекта, Свойства объекта, Значения свойств>

Тип объекта характеризуется первыми двумя компонентами триады. Для свойств устанавливаются имена. Например, имя объекта - СТУДЕНТ, свойства объекта: ФИО, ГРУППА, СРЕДНИЙ БАЛЛ и т.п.

В теории БД понятие тип объекта часто заменяют понятием сущность. Следует помнить, что эти понятия относятся к предметной области.

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

Конкретные значения свойств определяют конкретный экземпляр объекта данного типа. Например: ФИО - Иванов И.И., ГРУППА - 037, СРЕДНИЙ БАЛЛ - 4,5.

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

Между отдельными объектами, а также между свойствами объектов в предметной области могут существовать связи 1:1, 1:М, М:М.


Пусть при разработке логической структуры данных для АИС ВУЗа определены следующие объекты и их свойства:

СТУДЕНТ (№ зачетной книжки, ФИО, Группа, Средний балл);

ПРЕПОДАВАТЕЛЬ (ФИО_П, Должность);

ПРЕДМЕТ (Наименование, Часы, Отчетность).

Проанализируем связи, существующие между объектами в предметной области.






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






Между объектами СТУДЕНТ и ПРЕДМЕТ также существует двусторонняя множественная связь. Но в этом случае связь, направленную от объекта ПРЕДМЕТ к объекту ПРЕДМЕТ в модель данных вводить не будем, так как предполагается, что запросов, направленных от предмета к студенту не будет.







Между объектами ПРЕПОДАВАТЕЛЬ и ПРЕДМЕТ существует двусторонняя множественная связь. Учитывая, что возможны запросы от преподавателя к предмету и наоборот, эту связь введем в модель данных.

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

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

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

Так, например, можно установить, что для объекта СТУДЕНТ между свойством № зачетной книжки и каждым из прочих свойств существует связь 1:1. Это значит, что каждому конкретному номеру зачетной книжки соответствует единственное значение свойств ФИО, Группа и Средний балл, т.е. конкретный номер зачетной книжки уникальным образом идентифицирует конкретный экземпляр объекта типа СТУДЕНТ. В самом деле, каждый из студентов имеет зачетную книжку с уникальным номером.

В дальнейшем мы узнаем, что такое свойство можно выбрать в качестве первичного ключа для записи типа СТУДЕНТ.

Подобный анализ необходимо провести для каждого из свойств. Если обнаружится, что еще какое-либо из свойств находится в связи 1:1 с одним или несколькими свойствами, возможно, что совокупность этих свойств принадлежит объекту другого типа. Рассматриваемый объект придется разделить на два объекта, каждый из которых имеет собственный первичный ключ.


.Ограничения, накладываемые на данные


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

Для повышения семантики логической структуры данных вводятся ограничения, накладываемые на данные или, иначе, ограничения целостности данных. Такие ограничения позволяют поддерживать целостность данных. Выполняемость ограничений проверяет СУБД. Контроль выполнения ограничений может производиться при вводе данных, после выполнения каждой операции ведения, после завершения транзакции.

Возможно определения различных типов ограничений.

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

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

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

Динамические ограничения определяют допустимые переходы БД из одного состояния в другое.



Заключение

информация база данное обработка

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

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

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

Популярные СУБД - FoxPro, Access for Windows, Paradox. Для менее сложных применений вместо СУБД используются информационно-поисковые системы (ИПС), которые выполняют следующие функции:

· хранение большого объема информации;

· быстрый поиск требуемой информации;

· добавление, удаление и изменение хранимой информации;

· вывод ее в удобном для человека виде.


Список использованной литературы


1. Информатика. Базовый курс /Симонович С.В. и др. - СПб: Издательство «Питер», 2000. - 640с.

. Информатика. Учебное пособие /Под ред. В.Г. Кирия. - Иркутск: ИрГТУ ,1998 часть 2. - 382с.

. Информатика. Учебное пособие /Ломтадзе В.В., Шишкина Л.П. - Иркутск: ИрГТУ, 1999. - 116с.


Введение Базы данных использовались в вычислительной технике с незапамятных времен. В первых компьютерах использовались два вида внешних устройств - маг

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ