В настоящее время функционирование различных предприятий организаций не возможно без информационной системы, которая позволяет автоматизировать сбор и обработку данных. Для хранения и доступа к данным, содержащие необходимые сведения, создается база данных.
Современные информационные системы, основанные на концепции интеграции данных, характеризуются огромными объемами хранимых данных, сложной организацией, необходимостью удовлетворять разнообразные требования многочисленных пользователей.
Целью любой информационной системы является обработка данных об объемах реального мира. В широком смысле база данных – совокупность сведений о конкретных объектах реального мира в какой-либо предметной области. Под предметной областью принято понимать часть реального мира (предприятие или ВУЗ), подлежащую изучению с целью организации управления и автоматизации.
У термина "база данных" имеется несколько терминов. Они не являются противоречивыми, а представляют разные точки зрения на одно понятие. Остановимся на одном из них:
База данных – информационная модель предметной области в виде совокупности данных, хранимых в памяти компьютера и связанных между собой по правилам, которые определяют их общие принципы описания, хранения и манипулирования.
Под информационной моделью понимают информацию об объекте, отобранную и структурированную в соответствии с заданной целью.
Модель данных - описание методов представления и обработки данных в СУБД, в том числе методов определения типов логических структур в базе данных, методов манипуляции данными и методов определения и поддержки целостности базы данных.
Первые базы данных создавались на основе файловых систем, и вся ответственность за работу с ними возлагалась на прикладное программное обеспечение, использовавшее эти базы. Файловые базы данных сейчас практически не применяются. В современной технологии баз данных предполагается, что создание базы данных, ее поддержка и обеспечение доступа пользователей к ней осуществляется централизованно с помощью специального программного инструментария – системы управления базами данных.
Система управления базами данных (СУБД) – комплекс языковых и программных средств, предназначенных для создания, ведения и применения базы данных пользователями.
В состав современных серверов баз данных входят всевозможные средства разработки и механизмы взаимодействия с пользователем на высоком уровне. Эти средства разработки, являясь приложениями пользователя, позволяют создавать приложения, работающие как СУБД.
СУБД представляет собой комплекс программных средств, в работе которого принимает участие множество людей, как обслуживающих эти программы, так и использующие результат их работы.
К программному обеспечению относятся все компьютерные программы, используемые в работе системы управления базами данных. Для выполнения всех функций СУБД требуется программное обеспечение трех видов: 1)системное программное обеспечение (управляет всеми компонентами оборудования и обеспечивает доступ к нему всех остальных приложений, работающих на компьютере);
2)программное обеспечение СУБД (управляет базой данных, реализуя функции СУБД);
3) прикладные программы и утилиты (предназначены для получения доступа к данным и манипулирования ими в среде, прикладные программы служат для представления данных, хранящихся в БД, в виде отчетов и таблиц).
Программное обеспечение СУБД относят к разряду промежуточного программного обеспечения.
Если взять за основу функциональные обязанности, то в СУБД можно выделить шесть основных групп:
1) Системные администраторы – несут ответственность и обеспечивают надежную работу программного обеспечения
2) Администраторы баз данных – обеспечивают работу СУБД и управляют ею, создают записи, выполняет процедуры, связанные с надежностью хранения данных (назначают права, ограничивают доступ)
3) Системные аналитики – выполняют работу по систематизации структуры данных, приложений и отчетов
4) Проектировщики базы данных – проектируют структуру СУБД
5) Программисты – разрабатывают прикладное программное обеспечение
6) Конечные пользователи – применяют прикладные программы с целью выполнения ежедневных операций.
База данных включает в себя:
1) данные (весь фактический материал, хранящийся в базе данных). Являются необработанным сырье, которое подлежит структурированию
2) метаданные (содержимое системного каталога). Представляют собой сведения об именах и структуре таблиц, правах пользователей, типах ограничений и других объектах базы данных
3) процедуры – важный компонент системы. Устанавливают стандарты ведения коммерческой, технологической и производственно-технической деятельности в рамках предприятия и в отношениях с клиентами
Классификация СУБД
По типу принятой модели:
1) иерархические – связь между объектами БД образует перевернутое дерево, т.е. каждый нижележащий элемент иерархии соединен только с одним расположенным выше элементом
2) сетевые – связь между объектами данных могут быть установлены в произвольном порядке
3) реляционные – каждая единица данных в базе однозначно определяется именем таблицы, идентификатором записи и именем поля
4) объектно-реляционные – содержат объектно-ориентированные механизмы построения структур данных в виде расширений языка и программных надстроек над ядром СУБД
5) объектно-ориентированные – основаны на сочетании трех принципов: реляционной модели, стандартов на описание объектов и принципов
объектно-ориентированного программирования
По архитектуре:
локальные базы данных (все данные и объекты СУБД находятся на одном компьютере) и распределительные (различные части данных и объекты СУБД находятся на разных компьютерах)
По способу доступа к БД:
1) майнфреймовые - вся информация обрабатывается на том же компьютере, где находится СУБД
2) файл-серверные – находится на каждом клиентском компьютере и доступ к данным осуществляется через локальную сеть
3) клиент-серверные – обеспечивают разграничение доступа между пользователем и мало загружают сеть и машины
4) встраиваемая – представляет собой программную библиотеку. Доступ к данным происходит посредством запроса на языке SQL или путем вызова функций библиотеки из приложения
По скорости обработки:
Операционные (обладают высокими скоростями на запрос, извлечения и предоставления информации) и хранилища данных (занимает значительный объем времени т.к. базы с очень большим объемом информации)
СУБД выполняет следующие функции:
1) абстракция данных, управление словарем данных – для поиска необходимых структур данных и их отношений СУБД использует словарь данных, помогая избежать кодирования таких сложных взаимосвязей в каждой программе.
2) Управление хранением данных – СУБД создает сложные структуры, необходимые для хранения данных, освобождая программистов от определения и программирования физических свойств данных
3) Преобразование и представление данных – СУБД берет на себя задачу структурирования вводимых данных, преобразуя их в форму, удобную для хранения. Обеспечивая независимость данных, СУБД преобразует логические запросы в команды, определяющие их физическое местоположение и извлечение
4) Управление безопасностью - СУБД создает систему безопасности, которая обеспечивает защиту пользователя и конфиденциальность данных внутри БД
5) Управление многопользовательским доступом – СУБД создает сложные структуры, обеспечивающие доступ к данным нескольких пользователей одновременно
6) Управление резервным копированием и восстановлением – в СУБД имеются процедуры резервного копирования и восстановления данных, обеспечивающие их безопасность и целостность
7) Управление целостностью данных – в СУБД предусмотрены правила, обеспечивающие целостность данных, что позволяет минимизировать избыточность данных и гарантировать их непротиворечивость
8) Поддержка языка доступа к данным и интерфейсов пригладного программирования – СУБД обеспечивает доступ к данным при помощи языка запросов(непроцедурный язык, т.е. он предоставляет пользователю возможность определить, что необходимо выполнить, не указавая, как это сделать)
9) Интерфейсы взаимодействия с базой данных – текущее поколение СУБД обеспечивает специальные программы взаимодействия, разработанные для того, чтобы база данных могла принимать запросы конечных пользователей в сетевом окружении
Проектирование баз данных, как и проектирование информационных систем, состоит из нескольких этапов. Одним из важных этапов проектирования является создание диаграмм "сущность-связь". Для этого необходимо обозначить сущности, добавить к ним атрибуты, установить ключи и объединить сущности при помощи связей. Все это можно проделывать вручную, просто рисуя соответствующие диаграммы на бумаге. В те времена, когда была предложена концепция "сущность-связь", так и делали, однако при наличии компьютера с развитым графическим интерфейсом рисунки на бумаге отошли в прошлое. Довольно быстро был создан целый класс программных продуктов, позволяющий не только выполнять моделирование в парадигме "сущность-связь", но и генерировать на основе созданных моделей схему базы данных для практически любых распространенных серверов баз данных.
Надо отметить, что современные серверы баз данных часто оснащаются средствами моделирования модели "сущность-связь" или другими средствами создания схем данных.
Все тонкости построения информационной модели некоторой предметной области деятельности человека преследуют одну цель – получить хорошую БД. Поясним термин «хорошая БД» и сформулируем требования, которым она должна удовлетворять:
1) Должна удовлетворять информационным потребностям и возможностям пользователей (организаций) и по структуре и содержанию соответствовать решаемым задачам;
2) Должна обеспечивать получение требуемых данных за приемлемое время, т. е. отвечать требованиям производительности;
3) Должна легко расширяться либо интегрироваться в более масштабные объекты при реорганизации предметной области;
4) Должна легко изменяться при изменении программной и аппаратной среды;
5) Корректные данные, загруженные в БД, должны оставаться корректными (данные должны проверяться на корректность при их вводе).
Системы управления базами данных очень важны для множества организаций и предприятий, т.к. существует необходимость сохранности и умелое использование информационными ресурсами. Эффективность управления предприятием зависит и от того, насколько разумно в нем организовано управление документооборотом. Фактически, малоэффективное использование накопленной информации (или, еще хуже, ее утрата) может привести к развалу предприятия. Ведь вовремя не полученная информация или документ это, прежде всего, потерянные деньги, время и упущенные возможности. Вследствие этого, на любом предприятии, где ведется активная работа с различными документами, рано или поздно встает проблема систематизации, обработки и безопасного хранения значительных объемов информации. Важную роль в оптимизации деятельности предприятия любого размера и профиля деятельности играют современные системы электронного документооборота.