Реферат: Предисловие Системы управления базами данных (субд) – это программные комплексы, предназначенные для работы со специально организованными файлами (массивами данных, долговременно хранимыми во внешней памяти вычислительных систем), которые называются


Предисловие

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

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

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

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

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

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

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

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

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

^ 1. Общие принципы построения информационных систем

1.1 Файловые системы

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

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

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

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

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

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

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

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

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

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

^ База данных – это множество взаимосвязанных элементарных групп данных, которые могут быть обрабатываться одной или несколькими прикладными системами.

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

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

Избыточность данных

Слабый контроль данных

Недостаточные возможности управления данными

Большие затраты труда программиста

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

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

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

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

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

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

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


^ 1.2 Информационные системы, использующие базы данных


Автоматизированная информационная система (АИС) –это система реализующая автоматизированный сбор, обработку, манипулирование данными, функционирующая на основе ЭВМ и других технических средств и включающая соответстующее программное обеспечение и персонал.


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

Информационные системы, созданные средствами технологии БД (БнД) включают в себя:

Технические средства

Одну или несколько БД

СУБД

Словарь или каталог данных

Администратора

Вычислительную систему

Обслуживающий персонал



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

При этом пользователям этой системы предоставляется возможность выполнять множество различных операций:

добавления файлов в БД

изменять данные в существ. файлах

удалять файлы или данные и т.д.

Упрощенная БД отражается основными 4 компонентами:

данные

аппаратное обеспечение

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

пользователи


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

Обычно СУБД выполняет следующие функции:

Централизованное определение и контроль данных, известное под название словарь/каталог данных.

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

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



Защита данных и обеспечение их целостности.

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

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

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


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

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

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


Ориентированные на программиста возможности создания прикладных систем.

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


Информационные системы, использующие базы данных, позволили преодолеть ограничения файловых систем. Поддерживая целостную, централизованную структуру данных, информационные системы, использующие базы данных, позволили избавиться от проблем избыточности и слабого контроля данных. Доступ к централизованной базе данных имеет вся организация и если, например, необходимо внести изменение, в какое либо поле, это изменение будет известно всем пользователям. Данные контролируются посредством словаря/каталога данных (Data dictionary/directory, DD/D), которым в свою очередь управляет группа сотрудников организации, называемых администраторами базы данных (АБД). Новые методы обращения к данным сильно упростили процесс связывания элементов данных, что в свою очередь привело к расширению возможностей работы с данными. Все эти характеристики систем управления базами данных упрощают процесс программирования и уменьшают необходимость программной поддержки.

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

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

Основные положения этой концепции:

архитектура СУБД должна обеспечивать, в первую очередь, разграниче­ние пользовательского и системного уровней;

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


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


^ Трехуровневая архитектура базы данных

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

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

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


внешний уровень, на котором пользователи воспринимают данные, где отдельные группы пользователей имеют свое представление (ПП) на базу данных;

внутренний уровень, на котором СУБД и операционная система воспри­нимают данные;

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


Данная архитектура СУБД вызревала не сразу, а постепенно, в течение ряда лет. Первые предложения поступили в 1971 году от рабочей группы CODASYL (Conference on Data Systems and Languages — Конференция по языкам и системам данных), которая обосновала необходимость использова­ния двухуровневого подхода, построенного на основе выделения системного представления и пользовательских представлений.

В 1975 году Комитет планирования стандартов и норм SPARC (Standards Plan­ning and Requirements Committee) Американского национального института стандартов ANSI (American National Standards Institute) предложил обобщен­ную структуру систем баз данных, признав необходимость использования трехуровневой архитектуры, которая и была официально признана в 1978 году.

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

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




^ Рис. Трехуровневая архитектура СУБД


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

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


^ Внешний уровень

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

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

Какой бы язык высокого уровня не использовался (он в этом случае назы­вается базовым), он должен включать в себя и подъязык для работы с дан­ными. Система может поддерживать любое количество подъязыков данных, любое количество базовых языков. ]Но язык__£(ЗЬ поддерживается практиче­ски всеми системами. Он может использоваться и как встроенный в другие языки, и как отдельный самостоятельный язык запросов.


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

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

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

Концептуальная схема должна содержать:

объекты и их атрибуты;

связи между объектами;

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

семантическую информацию о данных;

обеспечение безопасности и поддержки целостности данных.

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

^ Внутренний уровень

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

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

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

На внутреннем уровне хранится следующая информация:

распределение дискового пространства для хранения данных и индексов; П описание подробностей сохранения записей (с указанием реальных раз­меров сохраняемых элементов данных);

сведения о размещении записей;

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

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


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

Итак, подведем итоги.

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

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

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

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

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


^ Преимущества и недостатки СУБД


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

Наличие интегрированной централизованной базы данных. База данных при­надлежит всей организации в целом и может совместно использоваться все­ми зарегистрированными пользователями.

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

^ Непротиворечивость данных и контроль их целостности. Устранение избы­точности данных или контроль над ней позволяет сократить риск возникновения противоречивых состояний. Целостность базы данных означает кор­ректность и непротиворечивость хранимых в ней данных.

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

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

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