Предисловие Системы управления базами данных (субд) – это программные комплексы, предназначенные для работы со специально организованными файлами (массивами данных, долговременно хранимыми во внешней памяти вычислительных систем), которые называются
Вид материала | Документы |
- Системы управления базами данных (субд). Назначение и основные функции, 30.4kb.
- Программа курса лекций "Базы данных в научных исследованиях", 49.32kb.
- Система управления базами данных это комплекс программных и языковых средств, необходимых, 150.5kb.
- Лекция 2 Базы данных, 241.25kb.
- Любая программа для обработки данных должна выполнять три основных функции: ввод новых, 298.05kb.
- Вопросы к государственному экзамену по специальности «Информационные системы и технологии», 39.93kb.
- Лекция № Технологии баз данных, 92.24kb.
- Проектирование базы данных, 642.58kb.
- Системы управления базами данных, 313.7kb.
- Программа дисциплины Системы управления базами данных Семестры, 22.73kb.
Предисловие
Системы управления базами данных (СУБД) – это программные комплексы, предназначенные для работы со специально организованными файлами (массивами данных, долговременно хранимыми во внешней памяти вычислительных систем), которые называются базами данных.
Основными функциями СУБД являются управление файлами БД («внутренняя» функция) и обработка прикладных программ (запросов) пользователей БД («внешняя» функция). К обеспечивающим функциям СУБД относятся: поддержка целостности БД в процессе ее эксплуатации, защита БД от несанкционированного доступа, управление обменом данными между БД и внешней средой (в т.ч. управление распределенной обработкой данных). Кроме того, современные СУБД зачастую оснащаются дополнительными инструментальными средствами разработки приложений (прикладных задач обработки данных).
СУБД как программный продукт характеризуется большой трудоемкостью изготовления, высокой наукоемкостью, длительными сроками разработки, значительной стоимостью. В настоящее время на рынке информационных технологий предлагаются десятки различных СУБД, доведенных до «коммерческого» (т.е. рекомендуемого к промышленной эксплуатации) образца. Соответственно, перед потребителем, приступающим к созданию информационной системы, встает проблема осознанного выбора необходимой ему модели, версии и конфигурации СУБД.
Современные БД служат для сохранения и обработки информации, касающейся самых различных аспектов деятельности как отдельных подразделений (состоящих может быть всего из нескольких человек), так и крупных организаций и предприятий (где активными пользователями могут быть сотни и тысячи человек). При выборе типа и конфигурации СУБД принято выделять следующие классы информационных систем, функционирующих на основе технологии БД (систем баз данных):
- системы оперативной обработки транзакций (OLTP). Характеризуются тем, что к БД поступает интенсивный поток запросов на обновление данных, в то время как поток запросов на добавление больших объемов данных невелик. Типичным примером являются системы резервирования билетов на пассажирском транспорте;
- системы поддержки принятия решений (DSS). Характеризуются использованием БД большого объема, в которых накапливается информация за длительный период времени и осуществляются в основном операции поиска и считывания данных, используемых приложениями для формирования отчетов. Типичным примером могут служить системы верхнего уровня управления предприятием;
- системы пакетной обработки (PP). Характеризуются способностью длительное время работать в автономном режиме с минимальным участием оператора. Как правило, БД здесь используется ограниченным числом прикладных программ. Типичный пример – системы управления технологическими процессами. (Разумеется, для классификации конкретной СБД может использоваться и комбинация представленных вариантов).
Основные возможности СУБД определяются набором таких ее функционально-технологических характеристик, как поддерживаемая модель данных, уровень входного языка, масштабируемость и переносимость, архитектура распределенной обработки.
Модель данных определяет способы и формы представления данных на внешнем (пользовательском) уровне. Следует подчеркнуть, что современные СУБД ориентированы в основном на обработку так называемой фактографической информации, представляемой упорядоченной совокупностью фактов (значений в виде чисел, строк символов, логических констант и т.п.). Эти значения, как правило, объединяются в сравнительно небольшие последовательности – записи, которые соответствуют отдельным объектам (явлениям) прикладной предметной области. Совокупности однородных записей объединяются в таблицы (такая форма представления информации, как известно, наиболее широко применяется как в «ручных», так и автоматизированных информационных системах). Таким образом, модель данных задает правила структуризации таблиц, их логического связывания в БД, а также правила выполнения операций над элементами «логической» структуры данных. Несмотря на то, что существует множество моделей представления табличных данных, в настоящее время доминирующее положение на рынке коммерческих СУБД занимают реляционные системы, т.е. СУБД, поддерживающие реляционную модель данных. (Эта модель представляет БД как совокупность жестко не связанных между собой таблиц, а операции здесь имеют простой и точный смысл, например: «добавить строку в таблицу», «удалить из таблицы строки, отвечающие некоторому логическому условию», «объединить (слить) две однородные таблицы в одну» и т.п.). Помимо простоты манипулирования с данными реляционные системы имеют ряд других важных преимуществ над нереляционными.
1. Общие принципы построения информационных систем
1.1 Файловые системы
Первые коммерческие системы компьютерные системы использовались в основном для ведения бухгалтерии: дебет, кредит, ведомости заработной платы и т.п. Эту работу предприятие обязано делать. Следовательно, оправдать стоимость компьютерной системы было несложно. Затраты ручного труда, например, на ведение ведомостей заработной платы или выписывание счетов, были столь велики, что автоматическая система, которая могла выполнять эти функции, быстро окупалось.
Поскольку системы выполняли обычные функции работы с документами, они были названы системами обработки данных. Неудивительно, что программисты и аналитики, разрабатывавшие эти системы, подражали в своих программах тем операциям, которые прежде выполнялись вручную. Так, например, компьютерные файлы соответствовали папкам для бумаг (file folder), и компьютерный файл содержал ту информацию, которая вполне могла бы лежать в одной обычной папке.
Первые системы обработки данных допускали лишь последовательный доступ. Это означало, что каждая запись в файле может быть прочитана и обработана только после того, как прочитаны все предшествующие ей записи в файле. Именно так и обстояло дело в шестидесятые годы, когда хранение информации на диске обходилось относительно дорого. Большинство файлов хранилось на ленте, и записи извлекались и обрабатывались последовательно. Обычно с файлами работали в пакетном режиме, то есть все записи файла обрабатывались за один раз, обычно ночью, после закрытия офиса.
Файлы использовались во множестве различных приложений: например программой подсчета причитающейся заработной платы или программой распределения нагрузки на работников.
Программа такого типа, выполняющая конкретную практическую задачу в бизнесе – это прикладная программа или пример приложения. Набор таких программ, совместно выполняющих связанные задачи, называется прикладной системой.
Ограниченные возможности файловых систем с чисто последовательным доступом не помешали им быть эффективным средством для составления раз или два раза в месяц счетов, платежных ведомостей или других отчетов. Однако для выполнения большого количества рутинной работы требуется произвольный доступ – возможность напрямую обращаться к конкретной записи без предварительной сортировки файла или последовательного чтения всех записей.
Необходимость последовательного доступа к файлам иным образом вынуждает пользователей выполнять лишнюю работу, каждый раз упорядочивая файлы, по тем или иным ключам. Это является серьезным ограничением, которое накладывается требованием чисто последовательного доступа к файлам. Эти проблемы были частично решены с появлением файлов произвольного доступа и особенно индексно-последовательных (ИП) файлов, которые широко распространились в шестидесятые годы. Файлы произвольного доступа, в отличие от файлов последовательного доступа, позволяют извлекать записи в произвольном порядке. В любой момент имеется возможность в любой момент времени обратиться непосредственно к нужной записи. ИП-файлы – наиболее популярный в бизнесе вид файлов произвольного доступа. Эти файлы позволяют выбрать одно или несколько полей – все вместе они называются ключом – для точного задания того, какую запись извлекать. ИП-файлы стали мощным практическим средством, придавшим прикладным системам определенную гибкость.
Однако файлы с произвольным доступом решили проблемы лишь частично. Для того чтобы полностью разрешить эти проблемы, были разработаны системы управления базами данных.
В конце шестидесятых – начале семидесятых годов, в компьютерных системах произошел переход от обработки данных к обработке информации. Это изменение отражает рост понимания того, что информация – это не просто деловые записи. Постепенно руководители начали понимать ценность информации и огромный потенциал компьютерных систем в деле поддержания этого недавно признанного ресурса и управления им. Это привело к необходимости появления в конце шестидесятых годов информационно-управляющих систем (ИУС). Такие системы используют уже содержащиеся в компьютере данные, давая ответы на широкий круг управленческих вопросов.
В последние годы серьезность влияния, оказываемого информацией на на планирование и принятие решений организациями, привела к росту понимания того, что информация – это ресурс, обладающий определенной ценностью, и, следовательно, нуждающийся в упорядочении и управлении. Однако руководители привыкли иметь дело с более осязаемыми активами, такими, как деньги, средства производства и рабочая сила, ценность которых можно достаточно точно измерить, и выяснение ценности информации для них представляло определенную трудность. Тем не менее, ясно, что если работники, занятые в управлении производством и т.п., хорошо информированы, то они с большей вероятностью будут принимать здравые, своевременные решения, которые положительно скажутся на состоянии дел предприятия. Наоборот, если управляющие работники информированы недостаточно, они будут больше колебаться в принятии решений, и вероятность удачного выбора значительно снизится. Появившиеся информационные системы, использующие базы данных, стали основополагающим средством снабжения менеджеров точной и своевременной информацией.
База данных – это множество взаимосвязанных элементарных групп данных, которые могут быть обрабатываться одной или несколькими прикладными системами.
Система базы данных состоит из базы данных; программного обеспечения общего назначения, называемого системой управления базой данных (СУБД), служащего для управления базой данных; соответствующего оборудования (аппаратной части) и людей (обслуживающий персонал). СУБД обычно приобретается у фирмы, торгующей программным обеспечением, и служит средством, с помощью которого прикладные программы или пользователи работают с данными базы.
Несмотря на появление фалов с произвольным доступом, быстро стало очевидным, что файловые системы любого типа обладают некоторыми врожденными недостатками.
- Избыточность данных
- Слабый контроль данных
- Недостаточные возможности управления данными
- Большие затраты труда программиста
Избыточность данных. Главная трудность состоит в том, что многие приложения используют свои собственные файлы данных. Таким образом, некоторые единицы данных повторяются в разных приложениях.
Слабый контроль данных. В файловых системах отсутствует централизованный контроль на уровне элементов данных. Весьма часто один и тот же элемент данных имеет несколько имен в зависимости от того, в какие файлы он входит. Разные значения одного и того же термина называются омонимами. Термины, имеющие одно и то же значение, называются синонимами. Система управления базами данных осуществляет централизованный контроль данных и помогает избежать недоразумений, порожденных омонимами и синонимами.
Недостаточные возможности управления данными. Индексно-последовательные файлы позволяют обращаться к определенной записи по ключу. Этого достаточно до тех пор, пока нам нужна отдельная запись.
Очень часто возникают ситуации, когда нужна информация из целого ряда связанных между собой записей. Такую информацию будет трудно, если не невозможно, извлечь из файловой системы, поскольку файловые системы не позволяют установить связь между данными разных файлов. Системы управления базами данных были специально разработаны для того, чтобы упростить связывание данных из разных файлов.
Большие затраты труда программиста. Новая прикладная программа часто требовала совершенно нового набора файлов. Даже если уже существующий файл содержал некоторые нужные данные, приложению часто требовался еще какой-либо набор элементов данных. В результате программисту приходилось перекодировать определения нужных элементов данных из существующих, а также определять новые элементы данных. Таким образом, в файловой системе существовала жесткая зависимость между программами и данными.
Что еще более важно, манипулирование данными в файлово-ориентированных языках программирования (таких, как Кобол), было слишком сложным для создания больших приложений. Это означало, что затраты труда программиста как на создание приложения, так и на поддержание его работы, были весьма значительны.
Базы данных позволили разделить программы и данные, так что программа может быть в некотором смысле независима от деталей определения данных. Предоставляя доступ к множеству общих данных и поддерживая мощные языки управления данными, информационные системы, использующие базы данных, позволяют значительно сократить объем работ по разработке, созданию и поддержке программного обеспечения.
1.2 Информационные системы, использующие базы данных
Автоматизированная информационная система (АИС) –это система реализующая автоматизированный сбор, обработку, манипулирование данными, функционирующая на основе ЭВМ и других технических средств и включающая соответстующее программное обеспечение и персонал.
Банк данных – (БнД) это разновидность ИС, т.е это система специальным образом организованных данных: БД, программных, технических, языковых, организационно-методических средств, предназначенных для обеспечения централизованного накопления и коллективного многоцелевого использования данных.
Информационные системы, созданные средствами технологии БД (БнД) включают в себя:
- Технические средства
- Одну или несколько БД
- СУБД
- Словарь или каталог данных
- Администратора
- Вычислительную систему
- Обслуживающий персонал
БД представляет собой совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы и отображающих состояние объектов и их взаимосвязей в рассматриваемой предметной области.
При этом пользователям этой системы предоставляется возможность выполнять множество различных операций:
- добавления файлов в БД
- изменять данные в существ. файлах
- удалять файлы или данные и т.д.
Упрощенная БД отражается основными 4 компонентами:
- данные
- аппаратное обеспечение
- программное обеспечение
- пользователи
Система управления базой данных (СУБД) – это системное программное обеспечение, аналогичное операционной системе или компилятору, обслуживающее конечных пользователей, программистов и т.д. (Как следует из названия, СУБД предназначена для того, чтобы обеспечивать управление базой данных.
Обычно СУБД выполняет следующие функции:
- Централизованное определение и контроль данных, известное под название словарь/каталог данных.
Словарь данных (каталог данных) служит для централизованного накопления и описания ресурса данных. Словарь данных следит за определением всех элементов данных базы, включая структуры данных на уровне групп и записей, отслеживает отношения, существующие между отдельными группами данных. Наличие словаря позволяет уменьшить избыточность данных. Он содержит описание ПрО, сведения о кодах данных, о разграничениях доступа к данным. Словарь данных можно рассматривать как часть самой БД. В этом случае БД является самоописываемой, поскольку она содержит информацию о своей структуре.
Т.о. ,можно сказать, что два важнейших назначения словаря данных состоят в централизованном управлении и ведении данными как ресурсом на всех этапах проектирования, эксплуатации и реализации системы, а также обеспечении эффективного взаимодействия между участниками проекта.
- Защита данных и обеспечение их целостности.
Целостность и непротиворечивость базы данных обеспечивается ограничениями на значения элементов данных, а также путем создания СУБД резервных копий, делающих возможным восстановление данных. Описания ограничений на значения элементов данных хранятся в словаре данных. Резервные копии и восстановление поддерживаются программами, которые автоматически фиксируют внесенные в базу данных изменения и обеспечивают возможность восстановления текущего состояния базы данных в случае сбоя системы. База данных – это ценный ресурс, нуждающийся в защите. СУБД защищает базу данных, не предоставляя несанкционированного доступа к ней. Полномочия пользователей могут быть различны с точки зрения того, к каким данным им разрешено обращаться, и имеют ли они право обновлять данные. Такой доступ контролируется системой паролей и представлениями данных, то есть описаниями ограниченных частей базы данных,
- Одновременный доступ к данным для нескольких пользователей.
Одновременный доступ к данным для нескольких пользователей. Одна из главных функций СУБД состоит в поддержании доступа, извлечения и обновления данных БД. СУБД обеспечивает физические механизмы, позволяющие многим пользователям быстро и эффективно обращаться к большому количеству связанных данных. Это распространяется и на удаленных пользователей, которые обращаются к базе данных через систему телекоммуникаций. Средства СУБД обеспечивают взаимодействие с телекоммуникационными системами, адекватно обрабатывая запросы и выдавая результаты
- Ориентированные на пользователя возможности запросов, обработки и извлечения данных.
Ориентированные на пользователя запросы и отчеты. Одна из наиболее ценных черт СУБД – это ориентированные на пользователя средства работы с данными. Простые языки запросов предоставляют пользователям возможность формулировать запросы и получать одноразовые отчеты прямо из базы данных. Это избавляет программистов организации от необходимости формулировать эти запросы или писать специальные прикладные программы.
С языками отчетов связаны генераторы отчетов. Часто язык запросов содержит средства оформления результатов запроса в виде отчета. Сам сформулированный запрос зачастую можно сохранить и использовать в дальнейшем для составления регулярных отчетов. В этом случае язык запросов можно рассматривать как генератор отчетов. Кроме того, к системе могут прилагаться генераторы отчетов, обладающие более широкими возможностями, чем встроенные в язык запросов.
- Ориентированные на программиста возможности создания прикладных систем.
Средства создания прикладных программ. Кроме того, что СУБД упрощают пользователю обращение к базе данных за информацией, она часто серьезно помогает и разработчикам прикладных программ. Стандартными являются такие средства, как окна, меню и генераторы отчетов, генераторы приложений, компиляторы, а также средства описания данных и выборок. Что более важно, современные информационные системы, использующие базы данных, укомплектованы языками, значительно более мощными, чем традиционные, что сильно повышает эффективность самого процесса программирования
Информационные системы, использующие базы данных, позволили преодолеть ограничения файловых систем. Поддерживая целостную, централизованную структуру данных, информационные системы, использующие базы данных, позволили избавиться от проблем избыточности и слабого контроля данных. Доступ к централизованной базе данных имеет вся организация и если, например, необходимо внести изменение, в какое либо поле, это изменение будет известно всем пользователям. Данные контролируются посредством словаря/каталога данных (Data dictionary/directory, DD/D), которым в свою очередь управляет группа сотрудников организации, называемых администраторами базы данных (АБД). Новые методы обращения к данным сильно упростили процесс связывания элементов данных, что в свою очередь привело к расширению возможностей работы с данными. Все эти характеристики систем управления базами данных упрощают процесс программирования и уменьшают необходимость программной поддержки.
В настоящее время процесс создания максимально мощных систем управления базами данных идет полным ходом. За несколько десятилетий последовательно появлялись системы, основанные на трех базовых моделях данных, или концептуальных методах структурированных данных: иерархическая, сетевая и реляционная.
Индексно-последовательные файлы решили проблему прямого обращения к определенной записи в файле. В таких системах по некоторому идентификатору (индексу) мы могли бы получить всю информацию об объекте, на который указывает этот идентификатор. Однако мы не смогли бы получить другой информации, связанной с этим объектом и хранящейся в другом файле. Именно для подобных прикладных задач и были разработаны системы управления базами данными.