Системы управления базами данных
Характеристика категорий современных баз данных. Исследование особенностей централизованных и распределенных баз данных. Классификация систем управления базами данных по видам программ и применению. Управление буферами оперативной памяти и транзакциями.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 10.03.2016 |
Размер файла | 45,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Содержание
Введение
1. Основные понятия
2. Классификация баз данных
3. Основные функции систем управления базами данных
4. Классификация систем управления базами данных
4.1 Классификация СУБД по видам программ
4.2 Классификация СУБД по виду применения
4.3 Классификация СУБД по способу доступа к базе данных
4.4 Классификация СУБД по типу управляемой базы данных
5. Выбор СУБД для создания системы автоматизации
5.1 Borland InterBase 7
5.2 Microsoft Office Access
5.3 Microsoft SQL Server 2008
5.4 MySQL
Заключение
Список литературы
Введение
Базы данных использовались в вычислительной технике с незапамятных времен. В первых компьютерах использовались два вида внешних устройств - магнитные ленты и магнитные барабаны. Емкость магнитных лент была достаточно велика. Устройства для чтения-записи магнитных лент обеспечивали последовательный доступ к данным. Для чтения информации, которая находилась в середине или конце магнитной ленты, необходимо было сначала прочитать весь предыдущий участок. Следствием этого являлось чрезвычайно низкая производительность операций ввода-вывода данных во внешнюю память. Магнитные барабаны давали возможность произвольного доступа, но имели ограниченный объем хранимой информации.
Разумеется, говорить о какой-либо системе управления данными во внешней памяти, в тот момент не приходилось. Каждая прикладная программа, которой требовалось хранить данные во внешней памяти, сама определяла расположение каждого блока на магнитной ленте. Прикладная программа также брала на себя функции информационного обмена между оперативной памятью и устройствами внешней памяти с помощью программно-аппаратных средств низкого уровня. Такой режим работы не позволяет или очень затрудняет поддержку на одном носителе нескольких архивов долговременно хранимой информации. Кроме того, каждой прикладной программе приходилось решать проблемы именования частей данных и структуризации во внешней памяти.
История БД фактически началась с появлением магнитных дисков. Такие устройства внешней памяти обладали существенно большей емкостью, чем магнитная лента и барабаны, а также обеспечивали во много раз большую скорость доступа в режиме произвольной выборки. В отличие от современных систем управления, которые могут применяться для самых различных баз данных, подавляющее большинство ранее разработанных СУБД были тесно связаны с пользовательской базой для того, чтобы увеличить скорость работы, хоть и в ущерб гибкости.
Цель данной курсовой работы: изучение баз данных и систем управления базами данных.
Из цели вытекают задачи:
1. Дать определение базам данных и системам управления базами данных.
2. Рассмотреть классификацию БД и СУБД.
3. Познакомиться с различными видами СУБД.
4. Выяснить какие функции выполняют СУБД.
1. Основные понятия
В истории развития вычислительной техники наблюдалось два основных направления ее применения.
Первое связано с выполнением больших численных расчетов, которые трудно или невозможно произвести вручную. Развитие этой области способствовало ускорению развития методов математического моделирования, численных методов, языков программирования высокого уровня, рассчитанных на удобное представление вычислительных алгоритмов. Второе направление связано с использованием вычислительной техники для создания, хранения и обработки больших массивов данных. Такие задачи решают информационные системы. К ним относятся поисковые, справочные, банковские системы, автоматизированные системы управления предприятием.
Для задач первого типа характерны большие объемы вычислительной работы при относительно небольших потребностях в памяти. Задачи второго типа, наоборот, требуют больших объемов внешней памяти при относительно небольших расчетах. Вторая область применения возникла несколько позже первой. Это связано с тем, что на первых этапах внешняя память вычислительных систем была несовершенной, т.е. надежное хранение больших объемов данных не представлялось возможным.
Предметом настоящего рассмотрения являются программные продукты второй области применения - информационные системы. Информационная система представляет собой аппаратно-программный комплекс, обеспечивающий выполнение следующих функций:
· Ввод данных об объектах некоторой предметной области;
· Надежное хранение и защита данных во внешней памяти вычислительной системы;
· Дополнение, удаление, изменение данных;
· Сортировка, выборка данных по запросам пользователей;
· Выполнение специфических для данной предметной области преобразований информации;
· Предоставление пользователям удобного интерфейса;
· Обобщение данных и составление отчетов.
Объем данных в ИС может исчисляться миллиардами байт. Отсюда необходимость устройств, хранящих большие объемы данных во внешней памяти. Число пользователей ИС может достигать десятков тысяч, что создает немало проблем в реализации эффективных алгоритмов функционирования ИС. Успешно решаются эти задачи, если данные в информационной системе структурированы.
Структурирование данных можно рассмотреть на примере студенческой группы. Каждый член группы во многом индивидуален, и характеризовать его можно с разных сторон. Но деканат, скорее всего, заинтересуют следующие данные (предметная область): фамилия студента, имя, отчество, курс, наименование группы, массив оценок по изучаемым дисциплинам. Таким образом, из всего многообразия данных выбираются только некоторые, т.е. создается информационная модель объекта. Данные упорядочиваются по порядку следования, по применяемым типам (форматам) данных, после чего они могут быть обработаны автоматом, каковым является компьютер. Совокупность взаимосвязанных данных называется структурой данных. Совокупность структурированных данных, относящихся к одной предметной области, называется базой данных (БД).[3] С понятием базы данных тесно связано понятие системы управления базой данных (СУБД). Это комплекс программных средств, предназначенных для создания структуры новой базы, наполнения ее содержимым, редактирования содержимого и визуализации информации. Под визуализацией информации базы понимается отбор отображаемых данных в соответствии с заданным критерием, их упорядочение, оформление и последующая выдача на устройство вывода или передача по каналам связи.[2]
2. Классификация баз данных
По технологии обработки данных БД подразделяются на централизованные и распределенные.
Централизованная БД хранится целиком в памяти одной вычислительной системы. Если система входит в состав сети, то возможен доступ к этой БД других систем.
Распределенная БД состоит из нескольких, возможно пересекающихся или дублирующих друг друга БД, хранимых в памяти разных вычислительных систем, объединенных в сеть.
По способу доступа к данным БД распределяются на локальный и удаленный (сетевой) доступ.
Локальный доступ предполагает, что СУБД обрабатывает БД, которая хранится на том же компьютере.
Удаленный доступ - это обращение к БД, которая хранится на одном из компьютеров, входящих в компьютерную сеть. Удаленный доступ может быть выполнен по принципу файл-сервер или клиент-сервер.
Архитектура файл-сервер предполагает выделение одного из компьютеров сети (сервер) для хранения централизованной БД. Все остальные компьютеры сети (клиенты) исполняют роль рабочих станций, которые копируют требуемую часть централизованной БД в свою память, где и происходит обработка. Однако при большой интенсивности запросов к централизованной БД увеличивается нагрузка на каналы сети, что приводит к снижению производительности ИС в целом.
Архитектура клиент-сервер предполагает, что сервер, выделенный для хранения централизованной БД, дополнительно производит обработку клиентский запросов. Клиенты получают по сети уже обработанные данные. Учитывая широкое распространение БД в самых различных областях, в последнее время архитектура клиент-сервер применяется и на одиночных вычислительных системах. В этом случае клиент - программа, которой понадобились данные из БД, посылает запрос серверу - программе, управляющей ведением БД, на специальном универсальном языке запросов. Сервер пересылает программе данные, являющиеся результатом поиска в БД по ее запросу. Этот способ удобен тем, что программа - клиент не обязана содержать все функции поддержания и ведения БД, этим занимается сервер.
В результате упрощается написание программ - клиентов. Кроме того, к серверу может обращаться любое количество клиентов.[3]
3. Основные функции систем управления базами данных
1. Непосредственное управление данными во внешней памяти.
Функция непосредственного управления данными во внешней памяти включает предоставление необходимых структур внешней памяти как для хранения данных, непосредственно входящих в базу данных, так и для служебных целей, например для ускорения доступа к данным в некоторых случаях (обычно для этого используют индексы). Причем пользователям базы данных в общем случае не нужно знать, применяет ли СУБД файловую систему, а если применяет, как организованы файлы. Обычно СУБД поддерживает собственную систему именования объектов базы данных. В зависимости от способа реализации СУБД может либо использовать возможности существующих файловых систем, либо работать с устройствами внешней памяти на низком уровне.[1]
2. Управление буферами оперативной памяти.
Объем информации, хранящейся в базе данных, с которой работает СУБД, обычно достаточно велик и практически всегда превышает доступный объем оперативной памяти. При этом время доступа к данным, хранящимся в оперативной памяти, существенно меньше, чем к данным, хранящимся на устройствах внешней памяти. Очевидно, что если при обращении к любому элементу данных требуется обмен с внешней памятью, то вся система будет работать со скоростью функционирования устройства внешней памяти.
Повышения скорости обмена данными можно достичь, используя буферизацию данных в оперативной памяти. При этом даже если операционная система выполняет общесистемную буферизацию, этого недостаточно для целей СУБД, у которой гораздо больше информации, позволяющей судить о полезности буферизации той или иной части базы данных. Поэтому в СУБД обычно поддерживается собственный набор буферов оперативной памяти с собственным механизмом замены буферов.[2]
3. Управление транзакциями.
Транзакцией называется последовательность операций над базой данных, рассматриваемых СУБД как единое целое. Если все операции успешно выполнены, то транзакция также считается успешно выполненной, и СУБД фиксирует все изменения данных, произведенные этой транзакцией (то есть заносит изменения во внешнюю память). Если же хотя бы одна операция транзакции заканчивается неудачей, то транзакция считается невыполненной, и производится ее откат с отменой всех изменений данных, произведенных в ходе выполнения транзакции, и возвращением базы данных к состоянию до начала выполнения транзакции.
Управление транзакциями необходимо для поддержания логической целостности базы данных.
Поддержка механизма транзакций является обязательным условием работы даже однопользовательских, а тем более многопользовательских СУБД. Поскольку каждая транзакция начинается при целостном состоянии базы данных и оставляет это состояние целостным после своего завершения, понятие транзакции очень удобно использовать как единицу активности пользователя по отношению к базе данных. При должном управлении параллельно выполняющимися транзакциями со стороны СУБД каждый из пользователей может, в принципе, ощущать себя единственным пользователем СУБД.[1]
С управлением транзакциями в многопользовательской СУБД связаны важные понятия сериализации и плана сериализации смеси транзакций. Под сериализацией понимается параллельное выполнение смеси транзакций, результат которого эквивалентен результату их последовательного выполнения. План сериализации смеси транзакций - это такой план, который приводит к сериализации транзакций. Понятно, что если удается добиться реальной сериализации смеси транзакций, то для каждого пользователя, по инициативе которого начата транзакция, выполнение других транзакций будет незаметным (если не считать некоторого замедления работы по сравнению с однопользовательским режимом).
Существует несколько базовых алгоритмов сеиализации транзакций. В централизованных СУБД наиболее распространены алгоритмы, основанные на синхронизированных захватах объектов базы данных. При использовании любого алгоритма сериализации возможны конфликты между несколькими транзакциями по доступу к объектам базы данных. В этом случае для поддержания сериализации необходимо выполнить откат одной или нескольких транзакций. Это один из случаев, когда пользователь многопользовательской СУБД может реально (и достаточно неприятно) ощутить присутствие в системе обработки транзакций других пользователей.[1]
4. Протоколирование.
Одним из основных требований к СУБД является надежность хранения данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя.
Аппаратные сбои обычно подразделяются на два вида:
· мягкие сбои связаны с внезапной остановкой компьютера и обычно являются следствием внезапного выключения питания или «зависания» операционной системы;
· жесткие сбои характеризуются потерей информации на носителях внешней памяти.
Программные сбои обычно возникают вследствие ошибок в программах. Причем эти ошибки могут быть как в самой СУБД, что может привести к аварийному завершению ее работы, так и в пользовательской программе. Первый случай можно рассматривать как разновидность мягкого аппаратного сбоя. Во втором случае незавершенной остается только одна транзакция.
В любом случае для восстановления информации в базе данных необходимо иметь некоторую дополнительную информацию. Таким образом, для надежного хранения данных требуется их избыточность. Причем та часть информации, которая используется для восстановления, должна храниться особо надежно. Наиболее распространенным методом поддержания такой избыточной информации является ведение журнала изменений базы данных.
Журнал представляет собой недоступную пользователям и поддерживаемую с особой тщательностью часть базы данных, в которую поступают записи обо всех изменениях основной части базы данных. Иногда используются две копии журнала, располагаемые на разных физических дисках.
В разных СУБД изменения базы данных протоколируются на разных уровнях: иногда запись в журнале соответствует некоторой логической операции изменения базы данных, иногда - минимальной внутренней операции модификации страницы внешней памяти. Могут также использоваться одновременно оба подхода.
Во всех случаях придерживаются стратегии упреждающей записи в журнал (Write Ahead Log, WAL).
Самая простая ситуация восстановления - откат отдельной транзакции. Для этого не требуется общесистемный журнал изменений базы данных. Достаточно для каждой транзакции поддерживать локальный журнал операций модификации базы данных, выполненных в этой транзакции, и производить откат транзакции путем выполнения обратных операций, следуя от конца локального журнала. В некоторых СУБД так и делают, но в большинстве систем локальные журналы не поддерживают, а откат отдельной транзакции выполняют по общесистемному журналу, для чего все записи, относящиеся к одной транзакции, связывают обратным списком (от конца к началу).[1]
При мягком сбое во внешней памяти основной части базы данных могут находиться объекты, модифицированные транзакциями, не закончившимися к моменту сбоя, и могут отсутствовать объекты, модифицированные транзакциями, которые к моменту сбоя успешно завершились. При соблюдении протокола WAL во внешней памяти журнала должны гарантированно находиться записи, относящиеся к операциям модификации обоих видов объектов. Целью восстановления после мягкого сбоя является приведение внешней памяти основной части базы данных в такое состояние, которое возникло бы при фиксации во внешней памяти изменений всех завершившихся транзакций и не содержало бы никаких следов незаконченных транзакций. Для того чтобы этого добиться, сначала производят откат незавершенных транзакций, а потом повторно воспроизводят те операции завершенных транзакций, результаты которых не сохранились во внешней памяти.
Для восстановления базы данных после жесткого сбоя журнал и архивную копию базы данных. Архивная копия - это полная копия базы данных, полученная к началу заполнения журнала. Естественно, для нормального восстановления базы данных после жесткого сбоя необходимо, чтобы журнал не пропал. Тогда восстановление базы данных состоит в том, что на основе данных архивной копии по журналу повторно выполняются все транзакции, которые закончились к моменту сбоя.[2]
5. Поддержка языков баз данных.
Для работы с информацией, хранящейся в базе данных, используются специальные языки, носящие общее название языков баз данных. Чаще всего выделяется два языка:
· язык определения схем данных служит главным образом для определения логической структуры базы данных;
· язык манипулирования данными содержит набор операторов манипулирования данными, то есть операторов, позволяющих заносить данные в базу, а также удалять, модифицировать или выбирать существующие данные.
Несколько разных специализированных языков баз данных поддерживалось лишь в ранних СУБД. В современных СУБД обычно поддерживается единый интегрированный, содержащий все необходимые средства для работы с базой данных, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language - язык структурированных запросов). Таким образом, указанные выше языки баз данных на сегодняшний день, фактически, являются подмножествами единого стандартного языка SQL.[1]
4. Классификация систем управления базами данных
база буфер память транзакция
4.1 Классификация СУБД по видам программ
Под определение СУБД может попасть любой программный продукт, способный поддерживать процессы проектирования, администрирования и использования базы данных, поэтому была разработана классификация СУБД по видам программ:
1) полнофункциональные - самые многочисленные и мощные по своим возможностям программы, например Microsoft Access, Microsoft FoxPro, Clarion Database Developer и др.;
2) серверы баз данных - применяются для организации центров обработки данных в сетях ЭВМ. Среди них программы Microsoft SQL Server, NetWare SQL фирмы Novell;
3) клиенты баз данных - различные программы (полнофункциональные СУБД, электронные таблицы, текстовые процессоры и т. д.), обеспечивающие большую производительность вычислительной сети, если клиентская и серверная части базы данных будут произведены одной фирмой, но такое условие не является обязательным;
4) средства разработки программ работы с базами данных - предназначены для разработки таких программных продуктов, как клиентские программы, серверы баз данных и их отдельные приложения, а также пользовательские приложения. Средствами разработки пользовательских приложений служат системы программирования, библиотеки программ для различных языков программирования, пакеты автоматизации разработок. Самыми часто используемыми средствами разработки пользовательских приложений являются инструментальные средства Delphi фирмы Borland и Visual Basic фирмы Microsoft.[7]
4.2 Классификация СУБД по виду применения
По виду применения СУБД подразделяются на персональные и многопользовательские.
Персональные СУБД (например, Visual FoxPro, Paradox, Access) используются при проектировании персональных баз данных и недорогих приложений, работающих с ними, которые, в свою очередь, могут применяться в качестве клиентской части многопользовательской СУБД.
Многопользовательские СУБД (например, Oracle и Informix) состоят из сервера баз данных и клиентской части и способны работать с различными типами ЭВМ и ОС различных фирм-производителей.
Чаще всего информационные системы строятся на основе архитектуры клиент-сервер, в которую входят вычислительная сеть и распределенная база данных. Вычислительная сеть используется для организации научной работы на ПК и в сетях. Распределенная база данных состоит из многопользовательской базы данных, размещенной на компьютере-сервере, и персональной базы данных, находящейся на рабочих станциях. Сервер базы данных осуществляет выполнение основного объема обработки данных.[7]
4.3 Классификация СУБД по способу доступа к базе данных
По способу доступа СУБД к базе данных:
Файл-серверные СУБД. В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере СУБД. Ядро СУБД располагается на каждом клиентском компьютере. Доступ к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера, а недостатком -- высокая загрузка локальной сети. Клиент-серверные СУБД. Такие СУБД состоят из клиентской части (которая входит в состав прикладной программы) и сервера СУБД (см. Клиент-сервер). Клиент-серверные СУБД, в отличие от файл-серверных, обеспечивают разграничение доступа между пользователями и мало загружают сеть и клиентские машины. Сервер является внешней по отношению к клиенту программой, и по надобности его можно заменить другим. Недостаток клиент-серверных СУБД в самом факте существования сервера СУБД (что плохо для локальных программ -- в них удобнее встраиваемые СУБД) и больших вычислительных ресурсах, потребляемых сервером.
Встраиваемые СУБД. Встраиваемая СУБД -- библиотека, которая позволяет унифицированным образом хранить большие объёмы данных на локальной машине. Доступ к данным может происходить через SQL либо через особые функции СУБД. Встраиваемые СУБД быстрее обычных клиент-серверных и не требуют установки сервера, поэтому востребованы в локальном ПО, которое имеет дело с большими объёмами данных (например, геоинформационные системы).[9]
4.4 Классификация СУБД по типу управляемой базы данных
По типу управляемой базы данных СУБД разделяются на:
Иерархические СУБД - поддерживают древовидную организацию информации. Связи между записями выражаются в виде отношений предок/потомок, а у каждой записи есть ровно одна родительская запись. Это помогает поддерживать ссылочную целостность. Когда запись удаляется из дерева, все ее потомки также должны быть удалены. Иерархические базы данных имеют централизованную структуру, т.е. безопасность данных легко контролировать. К сожалению, определенные знания о физическом порядке хранения записей все же необходимы, так как отношения предок/потомок реализуются в виде физических указателей из одной записи на другую. Это означает, что поиск записи осуществляется методом прямого обхода дерева. Записи, расположенные в одной половине дерева, ищутся быстрее, чем в другой. Отсюда следует необходимость правильно упорядочивать записи, чтобы время их поиска было минимальным. Это трудно, так как не все отношения, существующие в реальном мире, можно выразить в иерархической базе данных. Отношения "один комногим" являются естественными, но практически невозможно описать отношения "многие ко многим" или ситуации, когда запись имеет несколько предков. До тех пор пока в приложениях будут кодироваться сведения о физической структуре данных, любые изменения этой структуры будут грозить перекомпиляцией.
Сетевые СУБД - Сетевая модель расширяет иерархическую модель СУБД, позволяя группировать связи между записями в множества. С логической точки зрения связь -- это не сама запись. Связи лишь выражают отношения между записями. Как и в иерархической модели, связи ведут от родительской записи к дочерней, но на этот раз поддерживается множественное наследование. Следуя спецификации CODASYL, сетевая модель поддерживает DDL (Data Definition Language -- язык определения данных) и DML (Data Manipulation Language -- язык обработки данных). Это специальные языки, предназначенные для определения структуры базы данных и составления запросов. Несмотря на их наличие программист по-прежнему должен знать структуру базы данных.
В сетевой модели допускаются отношения "многие ко многим", а записи не зависят друг от друга. При удалении записи удаляются и все ее связи, но не сами связанные записи. В сетевой модели требуется, чтобы связи устанавливались между существующими записями во избежание дублирования и искажения целостности. Данные можно изолировать в соответствующих таблицах и связать с записями в других таблицах.
Реляционные СУБД - В сравнении с рассмотренными выше моделями реляционная модель требует от сервера СУБД гораздо более высокого уровня сложности. В ней делается попытка избавить программиста от выполнения рутинных операций по управлению данными, столь характерных для иерархической и сетевой моделей.
В реляционной модели база данных представляет собой централизованное хранилище таблиц, обеспечивающее безопасный одновременный доступ к информации со стороны многих пользователей. В строках таблиц часть полей содержит данные, относящиеся непосредственно к записи, а часть -- ссылки на записи других таблиц. Таким образом, связи между записями являются неотъемлемым свойством реляционной модели.[9]
Каждая запись таблицы имеет одинаковую структуру. Например, в таблице, содержащей описания автомобилей, у всех записей будет один и тот же набор полей: производитель, модель, год выпуска, пробег и т.д. Такие таблицы легко изображать в графическом виде.
В реляционной модели СУБД достигается информационная и структурная независимость. Записи не связаны между собой настолько, чтобы изменение одной из них затронуло остальные, а измененая структура СУБД, базы данных не обязательно приводит к перекомпиляции работающих с ней приложений. В реляционных СУБД применяется язык SQL, позволяющий формулировать произвольные, нерегламентированные запросы. Это язык четвертого поколения, поэтому любой пользователь может быстро научиться составлять запросы. К тому же, существует множество приложений, позволяющих строить логические схемы запросов в графическом виде. Все это происходит за счет ужесточения требований к производительности компьютеров.
Реляционные базы данных страдают от различий в реализации языка SQL, хотя это и не проблема реляционной модели. Каждая реляционная СУБД реализует какое-то подмножество стандарта SQL плюс набор уникальных команд, что усложняет задачу программистам, пытающимся перейти от одной СУБД к другой. Приходится делать нелегкий выбор между максимальной переносимостью и максимальной производительностью. В первом случае нужно придерживаться минимального общего набора команд, поддерживаемых в каждой СУБД. Во втором случае программист просто сосредоточивается на работе в данной конкретной СУБД, используя преимущества ее уникальных команд и функций СУБД.[9] Объектно-ориентированные СУБД - позволяет программистам, которые работают с языками третьего поколения, интерпретировать все свои информационные сущности как объекты, хранящиеся в оперативной памяти. Дополнительный интерфейсный уровень абстракции обеспечивает перехват запросов, обращающихся к тем частям базы данных, которые находятся в постоянном хранилище на диске. Изменения, вносимые в объекты, оптимальным образом переносятся из памяти на диск.
Преимуществом ООСУБД является упрощенный код. Приложения получают возможность интерпретировать данные в контексте того языка программирования, на котором они написаны. Реляционная база данных возвращает значения всех полей в текстовом виде, а затем они приводятся к локальным типам данных. В ООБД этот этап ликвидирован. Методы манипулирования данными всегда остаются одинаковыми независимо от того, находятся данные на диске или в памяти.
Данные в ООСУБД способны принять вид любой структуры, которую можно выразить на используемом языке программирования. Отношения между сущностями так-же могут быть произвольно сложными. ООБД управляет кэш-буфером объектов, перемещая объекты между буфером и дисковым хранилищем по мере необходимости.
С помощью ООСУБД решаются две проблемы. Во-первых, сложные информационные структуры выражаются в них лучше, чем в реляционных базах данных, а во вторых, устраняется необходимость транслировать данные из того формата, который поддерживается в СУБД. Например, в реляционной СУБД размерность целых чисел может составлять 11 цифр, а в используемом языке программирования -- 16. Программисту придется учитывать эту ситуацию.
Объектно-ориентированные СУБД выполняют много дополнительных функций. Это окупается сполна, если отношения между данными очень сложны. В таком случае производительность ООСУБД оказывается выше, чем у реляционных СУБД. Если же данные менее сложны, дополнительные функции оказываются избыточными.
В объектной модели данных поддерживаются нерегламентированные запросы, но языком их составления не обязательно является SQL. Логическое представление данных может не соответствовать реляционной модели, поэтому применение языка SQL станет бессмысленным. Зачастую удобнее обрабатывать объекты в памяти, выполняя соответствующие виды поиска.
Большим недостатком объектно-ориентированных баз данных является их тесная связь с применяемым языком программирования. К данным, хранящимся в реляционной СУБД, могут обращаться любые приложения, тогда как, к примеру, Java-объект, помещенный в ООСУБД, будет представлять интерес лишь для приложений, написанных на Java.
Объектно-реляционные СУБД объединяют в себе черты реляционной и объектной моделей. Их возникновение объясняется тем, что реляционные базы данных хорошо работают со встроенными типами данных и гораздо хуже -- с пользовательскими, нестандартными. Когда появляется новый важный тип данных, приходится либо включать его поддержку в СУБД, либо заставлять программиста самостоятельно управлять данными в приложении.
Не всякую информацию имеет смысл интерпретировать в виде цепочек символов или цифр. Представим себе музыкальную базу данных. Песню, закодированную в виде аудиофайла, можно поместить в текстовое поле большого размера, но как в таком случае будет осуществляться текстовый поиск? Перестройка архитектуры СУБД с целью включения в нее поддержки нового типа данных -- не лучший выход из положения. Вместо этого объектно-реляционная СУБД позволяет загружать код, предназначенный для обработки "нетипичных" данных. Таким образом, база данных сохраняет свою табличную структуру, но способ обработки некоторых полей таблиц определяется извне, т.е. программистом.[9]
5. Выбор СУБД для создания системы автоматизации
Широкий спектр применений программных средств накопления и хранения информации диктует необходимость разработки систем управления базами данных (СУБД), отличающихся друг от друга функциональными возможностями и предназначенных для широкого круга пользователей - от новичка до системного программиста.
Современные базы данных можно разделить на три категории:
1) Программные продукты корпоративного направления - Oracle и MS SQL Server;
2) СУБД, предназначенные для работы с информационными массивами в небольших компаниях, - MS Access и Borland;
3) СУБД для Web, реализующих создание Web-сайтов с небольшими базами данных, - MySQL и опять-таки Borland Interbase.
СУБД корпоративного направления должны быть надежными, что обеспечивается резервным копированием; безопасными - иметь защиту от несанкционированного доступа; работать с огромными объемами данных и обладать широкими функциональными возможностями.
Для небольших компаний программы работы с базами данных должны обладать не только надежностью и функциональностью, но и работать без выделенного сервера.
СУБД для Web присущи высокая скорость обработки данных, нетребовательность к ресурсам и удобное удаленное администрирование.[4]
5.1 Borland InterBase 7.5
Borland InterBase 7.5 - высокопроизводительный, экономичный, многоплатформенный сервер баз данных. InterBase 7.5 представляет собой экономичную, высокопроизводительную СУБД с обработкой транзакций, которую используют миллионы пользователей во всем мире.
Сочетая легкость установки, автоматическое восстановление после аварийных отказов и минимальные требования к администрированию, InterBase является наиболее подходящим решением для встраивания в тиражируемые приложения. Обладая поддержкой многопроцессорного режима и сложной архитектурой, InterBase идеально подходит для многофункциональных бизнес приложений, обслуживающих большое количество пользователей. Графический пользовательский интерфейс IBConsole теперь включает монитор производительности, одновременно отслеживающий состояние нескольких серверов и баз данных InterBase.
Производительность, удобство использования, поддержка Windows, Linux и Solaris, а также таких сред разработки, как Borland Delphi, C++Builder, C#Builder и Kylix позволяют InterBase занять ведущее место среди разработчиков и стать недорогим вариантом ПО для предприятий.[6]
5.2 Microsoft Office Access
Microsoft Office Access или просто Microsoft Access -- однопользовательская реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
Основные компоненты MS Access:
· построитель таблиц;
· построитель экранных форм;
· построитель SQL-запросов;
· построитель отчётов, выводимых на печать.
Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически “с нуля” или написать оболочку для внешней БД.[5] MS Access является файл-серверной СУБД и потому применима лишь к маленьким приложениям. Отсутствует ряд механизмов, необходимых в многопользовательских БД, таких, например, как триггеры.
Существенно расширяет возможности MS Access по написанию приложений механизм связи с различными внешними СУБД: "связанные таблицы" (связь с таблицей СУБД) и "запросы к серверу" (запрос на диалекте SQL, который "понимает" СУБД). Также MS Access позволяет строить полноценные клиент-серверные приложения на СУБД MS SQL Server. При этом имеется возможность совместить с присущей MS Access простотой инструменты для управления БД и средства разработки.
Access, при работе с базой данных, иначе взаимодействует с жёстким (или гибким) диском, нежели другие программы.
В других программах, файл-документ, при открытии, полностью загружается в оперативную память, и новая редакция этого файла (изменённый файл) целиком записывается на диск только при нажатии кнопки “сохранить”.[5]
В Access новая редакция содержимого изменённой ячейки таблицы записывается на диск сразу, как только курсор клавиатуры будет помещён в другую ячейку или новая редакция изменённой записи записывается на диск сразу, как только курсор клавиатуры будет поставлен в другую запись.
Кнопка “Сохранить” в Access тоже есть, но в Access в режиме просмотра данных она нужна, в первую очередь, для сохранения изменённого режима показа таблицы или другого объекта -- то есть, для сохранения таких изменений, как:
· изменение ширины столбцов и высоты строк,
· перестановка столбцов в режиме просмотра данных, “закрепление” столбцов и освобождение закреплённых столбцов,
· изменение сортировки,
· применение нового фильтра,
· изменение шрифта; цвета текста, сетки и фона
· и т. п.
Кроме того, в Access эта кнопка нужна в режиме “Конструктор” для сохранения изменений структуры объекта базы данных, сделанных в этом режиме.[5]
Даже если, в процессе работы с файлом базы данных, не применялся режим “Конструктор”, и новые данные в базу данных не добавлялись, то всё равно файл базы данных имеет тенденцию со временем, в процессе работы с ним, всё больше и больше увеличиваться в размере. Очень способствует увеличению размера файла применение новых сортировок и фильтров. Это приращение размера файла является, фактически, пустотой, но эта пустота лежит внутри файла, увеличивая его объём.
Чтобы вернуть файлу базы данных нормальный (минимальный) объём, то есть, чтоб убрать из файла пустоту, в Access есть кнопка “Сжать и восстановить базу данных” -- эту кнопку нужно время от времени нажимать.
Версии Access
1993 Access 2.0 для Windows (Office 4.3)
1995 Access 7 для Windows 95 (Office 95)
1997 Access 97 (Office 97)
1999 Access 2000 (Office 2000)
2001 Access 2002 (Office XP)
2003 Access 2003 (из комплекта программ Microsoft Office 2003)
2007 Microsoft Office Access 2007 (из комплекта программ Microsoft Office 2007)
2010 Microsoft Office Access 2010 (из комплекта программ Microsoft Office 2010)
Microsoft Access 2003 - среда визуального программирования систем управления базами данных - в этой программе создано подробное описание процедур создания довольно сложных и трудоемких объектов баз данных. Авторами рассмотрены примеры решения типичных задач, которые часто приходится решать разработчикам приложений. Раскрыты основные средства программирования приложений Access: например язык программирования VBA, разные объектные модели, и разработка Web-приложений и разные способы взаимодействия приложений Access с другими возможными приложениями Microsoft Office.[5]
Рассмотрены вопросы открытия профессиональных и многопользовательских сетевых баз для данных и проектов, а также для администрирования баз данных и проектов Access.
Microsoft Office Access 2007 - среда визуального программирования систем управления базами данных - позволяет быстро отслеживать информацию и создавать на ее основе отчеты, не требующих глубоких знаний в области баз данных. Office Access 2007 обеспечивает работу со встроенными базами данных, позволяет вносить в них изменения и адаптировать к меняющимся деловым потребностям пользователя. Пользователь может собирать информацию с помощью форм электронной почты или импортировать данные из внешних приложений. Реализована возможность создания и редактирования подробных отчетов, содержащих отсортированную, отфильтрованную и сгруппированную информацию. Совместный доступ к информации обеспечивается с помощью технологических списков Microsoft Windows SharePoint Services, позволяющих проверять журнал исправлений, восстанавливать удаленную информацию, устанавливать разрешения доступа к данным и регулярно осуществлять резервное копирование. СУБД обеспечивает загрузку с отключенными кодами и макросами в безопасной среде, так называемом изолированном режиме, когда макросы из списка доверенных продолжают работать, а также может предоставлять разрешения на доступ к спискам выборочно предоставляя доступ определенным пользователям.
Microsoft Access 2010 - среда визуального программирования систем управления базами данных, программа для создания, редактирования и ведения баз данных. Access 2010 - профессиональное приложение для проектирования и развертывания баз данных, с последующим отслеживание ключевой информации, как с локальных компьютеров, так и с использованием корпоративных сетей для коллективного рабочего процесса. Access 2010 безусловный лидер среди десктоп-продуктов по работе с большими базами данных. Благодаря выверенному интерфейсу, обилию наглядных подсказок, интегрированным шаблонам и эффективным инструментам, программу освоит даже начинающий пользователь не имевший ранее опыта работы с базами данных. Одинаково простое решение как для ведения домашней бухгалтерии, контроль денежных средств, форма и отчёты для мелкого бизнеса, так и сопровождение баз данных крупных промышленных предприятий.[5]
5.3 Microsoft SQL Server 2008
Решение Microsoft SQL Server 2008 представляет собой высокопроизводительную платформу обработки и анализа данных для бизнеса любого размера, которая отвечает всем современным требованиям по работе с данными любых типов и поддержке удобной и быстрой разработки приложений. Продукт реализует концепцию комплексной обработки данных и позволяет преобразовывать ценную информацию в знания и решения на основе анализа собранных данных. В базах данных SQL Server 2008 можно хранить любую структурированную, полуструктурированную или неструктурированную информацию, такую например, как изображения и мультимедиа из самых разнородных источников данных. Продукт предлагает большой набор интегрированных служб, расширяющих возможности обработки, который позволяет составлять запросы, выполнять поиск, проводить синхронизацию, формировать отчеты и анализировать данные. SQL Server 2008 обеспечивает обращение к данным из любого приложения, разработанного с применением технологий Microsoft .NET и Visual Studio, в том числе -- с помощью Microsoft BizTalk Server -- из приложений, построенных на базе сервис-ориентированной архитектуры (SOA) и корпоративных бизнес-приложений других разработчиков. Сотрудники, отвечающие за сбор и анализ информации, могут работать с данными, пользуясь привычными приложениями, например программами Microsoft Office 2007.
Использование в бизнесе любого размера.
На базе Microsoft SQL Server 2008 могут быть построены решения для компаний малого, среднего и крупного бизнеса. SQL Server 2008 выпускается в двух основных редакциях Standard и Enterprise. На основе последней создана также редакция для разработчиков Developer Edition, лицензия на которую позволяет разрабатывать и тестировать системы и приложения.
Enterprise-версия системы SQL Server 2008 представляет собой комплексную платформу, которая позволяет работать даже с самыми требовательными корпоративными OLTP-системами и хранилищами данных. Она обладает значительной масштабируемостью, возможностью создавать громадные хранилища данных, продвинутыми средствами анализа и усиленной безопасностью, что позволяет использовать ее как основу для критически важных бизнес-приложений. Эта редакция позволяет консолидировать серверы и выполнять большое число OLTP-операций и крупные отчеты.[8]
Редакцию Microsoft SQL Server 2008 Enterprise характеризуют:
* Высокий уровень доступности.
* Производительность и масштабируемость.
* Безопасность.
* Управляемость.
* Бизнес-аналитика.
Редакция Microsoft SQL Server 2008 Standard -- это законченная платформа для управления данными и выполнения операций бизнес-аналитики. Она демонстрирует лучшие в своем классе показатели простоты использования и степени управляемости ключевых бизнес-приложений.
SQL Server 2008 Standard предлагает следующие преимущества:
* Простота использования.
* Управляемость.
* Создание отчетов и аналитика.
Кроме редакций Enterprise и Standard, существуют специализированные редакции SQL Server 2008.
Редакция Workgroup идеально подходит для установки в филиалах, так как предоставляет возможности безопасной удаленной синхронизации и управления.
Редакция Web -- среда высокого уровня доступности, ориентированная на работу в Интернете. Позволяет с небольшими затратами предоставлять клиентам доступ к крупномасштабным Web-приложениям.
Редакция Compact -- бесплатная редакция, которая позволяет создавать автономные или слабосвязанные приложения для мобильных устройств, настольных компьютеров и Web-браузеров, работающих под управлением любых версий операционной системы Microsoft Windows.
Редакция Express -- также доступная для бесплатной загрузки, эта редакция идеальна для обучения и создания настольных и небольших серверных приложений.
Microsoft SQL Server 2008 представляет собой комплексную платформу для работы с данными, которая способна расти вместе с компанией.
Высокая производительность SQL Server 2008 позволяет соответствовать растущим потребностям приложений баз данных и ИТ-инфраструктуры.
Технологии поддержки новейшего аппаратного обеспечения, включенные в состав SQL Server 2008, помогают в полной мере использовать преимущества современных серверных платформ и повышать производительность Microsoft SQL Server 2008 соразмерно развитию предприятия.
SQL Server 2008 способна поддерживать огромные базы данных, эффективно распределяя нагрузку и информацию.[8]
Фундаментальные возможности платформы:
* Resource Governor. Средство управления ресурсами Resource Governor обеспечивает проактивное управление ресурсами и более предсказуемую работу сервера под различными нагрузками.
* Performance Data Collector. Сборщик данных о производительности находит и устраняет неполадки, а также помогает в настройке и мониторинге экземпляров SQL Server 2008, установленных в разных подразделениях компании.
* SQL Server Analysis Services. Улучшения, внесенные в масштабируемость и производительность служб аналитики SQL Server Analysis Services, помогают создавать эффективные аналитические решения.
* SQL Server Reporting Services. Перепроектированное ядро служб отчетов SQL Server Reporting Services позволило значительно повысить производительность построения отчетов и осуществлять быструю обработку запросов.
* SQL Server Integration Services. Повышенная производительность процесса извлечения, преобразования и загрузки (ETL) данных службами интеграции SQL Server Integration Services ускоряет просмотр таблиц данных.
* Хранение данных. Эффективное хранение данных в SQL Server 2008 обеспечивается за счет встроенной в ядро полноценной поддержки различных типов данных, включая пространственные типы данных. Комплексная поддержка работы с пространственными данными SQL Server 2008 помогает использовать и расширять имеющуюся информацию о местоположениях. Пространственные данные SQL Server 2008 интегрируются с приложениями и службами, обрабатывающими картографическую информацию.
* Поддержка современной аппаратной платформы. Microsoft SQL Server 2008 поддерживает самые последние 64-разрядные процессорные технологии, а возможности «горячего подключения» процессоров и оперативной памяти в процессе работы позволяют масштабировать систему без остановки служб базы данных и прерывания работы пользователей.
* Масштабируемость. Высокая масштабируемость системы SQL Server 2008 достигается и благодаря поддержке аппаратных и программных технологий неоднородного доступа к памяти (NUMA). При этом для получения преимуществ от использования систем на базе NUMA нет необходимости внесения изменений в имеющиеся приложения.
* Оптимизация. Использование аппаратного обеспечения может быть оптимизировано за счет установки на одном физическом сервере нескольких экземпляров баз данных Microsoft SQL Server 2008 и экземпляров служб аналитики Analysis Services -- вплоть до 50 экземпляров на один сервер под управлением Windows Server.
Встроенные возможности BI
В Microsoft SQL Server 2008 встроен ряд технологий и служб, предназначенных для интеграции данных из разных источников, анализа данных, создания отчетов и хранилищ данных. Такие технологии объединены названием Business Intelligence и Data Warehouse. Их возможности доступны для любого приложения:
* Данные, лишенные оков. В большинстве организаций используются многочисленные бизнес-системы, каждая из которых имеет собственное хранилище данных. Платформа SQL Server 2008 эффективно использует данные из разных источников и рационально управляет ими в рамках унифицированного хранилища, тем самым помогая получить представление обо всем бизнесе. В состав Microsoft SQL Server 2008 входит расширенная поддержка хранения XML-данных и новый тип данных FILESTREAM, который позволяет хранить бинарные данные большого объема в файловой системе, сохраняя их частью базы данных.
* Предоставление релевантной информации. В состав Microsoft SQL Server 2008 входит набор средств, с помощью которого возможно упростить разработку и сопровождение аналитических решений. Мощные мастера и инновационные средства разработки позволяют создавать решения по интеграции, отчетности и анализу данных в рамках единой среды. Производительность труда разработчиков повышается, а эффект от новых инструментов анализа и составления отчетов проявляется быстрее.
* Практическая польза для дела. Microsoft SQL Server 2008 позволяет создавать решения BI, которые могут масштабироваться для поддержки тысяч пользователей, предоставляя им доступ к бизнес-данным компании через знакомый интерфейс приложений Microsoft Office.
Основными бизнес-аналитическими нововведениями в SQL Server 2008 являются:
* оптимизированные конструкторы кубов, блочные вычисления и поддержка обратной записи в MOLAP, которые позволяют создавать высокопроизводительные решения на основе служб аналитики;
* новая структура данных Tablix и мощные средства форматирования дают возможность создавать гибкие и эффективные отчеты;
* оптимизированная интеграция с системой 2007 Microsoft Office повышает производительность труда сотрудников, так как не требуется время на обучение и привыкание к приложению.[8]
Удобная и быстрая разработка приложений Microsoft SQL Server 2008 повышает производительность труда разработчиков и позволяет легко создавать надежные решения баз данных нового поколения. Это достигается за счет мощного языка программирования T-SQL и богатого набора типов данных:
* Разработка мощных приложений.
* Контроль за любым типом данных.
* Оптимизация используемых решений.[8]
5.4 MySQL
СУБД MySQL заслужила популярность благодаря своей высокой производительности при создании Web-приложений. Она получила широкое распространение в качестве средства работы с базами данных в Интернете. Программа совершенно нетребовательна к ресурсам сервера, на котором работает, очень быстрая и к тому же совершенно бесплатная - исходные коды и дистрибутивы для различных платформ доступны на сайте в Интернете. My SQL предназначена в первую очередь для работы в сети.
Изначально программа была ориентирована на операционную систему Linux, но сейчас уже существуют версии программы для операционных систем Windows, UNIX, NetBSD, FreeBSD, AIX. В последнее время программа завоевывает популярность у пользователей Macintosh с использованием операционной системы MacOS X. И это происходит несмотря на то, что MySQL не может похвастаться очень богатым набором возможностей.[4]
Заключение
Итак, мы познакомились с базами данных и системами управления базами данных.
База данных - совокупность структурированных данных, относящихся к одной предметной области.
Система управлений базой данных - это комплекс программных средств, предназначенных для создания структуры новой базы, наполнения ее содержимым, редактирования содержимого и визуализации информации.
Существует несколько классификаций баз данных.
По технологии обработки данных БД подразделяются на централизованные и распределенные.
По способу доступа к данным БД распределяются на локальный и удаленный (сетевой) доступ.
Системы управления базой данный также классифицируются по различным признакам.
Классификация СУБД по видам программ:
1) полнофункциональные
2) серверы баз данных
3) клиенты баз данных
4) средства разработки программ работы с базами данных
Подобные документы
Основные функции системы управления базами данных. Комплекс программных и лингвистических средств общего или специального назначения. Условия принятой технологии обработки данных. Управление буферами оперативной памяти. Журнализация и её значение.
курсовая работа [1,2 M], добавлен 19.01.2012Система управления базами данных как составная часть автоматизированного банка данных. Структура и функции системы управления базами данных. Классификация СУБД по способу доступа к базе данных. Язык SQL в системах управления базами данных, СУБД Microsoft.
реферат [46,4 K], добавлен 01.11.2009Основные понятия базы данных и систем управления базами данных. Типы данных, с которыми работают базы Microsoft Access. Классификация СУБД и их основные характеристики. Постреляционные базы данных. Тенденции в мире современных информационных систем.
курсовая работа [46,7 K], добавлен 28.01.2014Тенденция развития систем управления базами данных. Иерархические и сетевые модели СУБД. Основные требования к распределенной базе данных. Обработка распределенных запросов, межоперабельность. Технология тиражирования данных и многозвенная архитектура.
реферат [118,3 K], добавлен 29.11.2010Классификация баз данных. Использование пакета прикладных программ. Основные функции всех систем управления базами данных. Настольная система управления базами данных реляционного типа Microsoft Access. Хранение и извлечение электронных данных.
курсовая работа [962,4 K], добавлен 23.04.2013Особенности управления информацией в экономике. Понятие и функции системы управления базами данных, использование стандартного реляционного языка запросов. Средства организации баз данных и работа с ними. Системы управления базами данных в экономике.
контрольная работа [19,9 K], добавлен 16.11.2010Назначение и основные функции системы управления базами данных СУБД, особенности и признаки их классификации. Архитектура баз данных (БД). Разработка распределенных БД. Язык структурированных запросов (SQL). Правила Кодда: требования к реляционным БД.
курсовая работа [376,2 K], добавлен 21.07.2012Создание автоматизированных систем управления для предприятий нефтяной и газовой промышленности. Система управления базами данных (СУБД), ее функциональные возможности, уровневая архитектура. Характеристика реляционных, объектных и распределенных СУБД.
курсовая работа [434,7 K], добавлен 20.07.2012Системы управления базами данных в медицине. Основные идеи, которые лежат в основе концепции базы данных. Требования, предъявляемые к базам данных и системе управления базами данных. Архитектура информационной системы, организованной с помощью базы данных
реферат [122,5 K], добавлен 11.01.2010Устройства внешней памяти. Система управления базами данных. Создание, ведение и совместное использование баз данных многими пользователями. Понятие системы программирования. Страницы доступа к данным. Макросы и модули. Монопольный режим работы.
реферат [27,5 K], добавлен 10.01.2011