Автор работы: Пользователь скрыл имя, 26 Ноября 2014 в 22:08, курсовая работа
Цель нашей работы заключается в рассмотрении систем управления базами данных. Достижение цели достигается путем решения ряда задач:
)дать общую характеристику СУБД;
2)выделить функциональные возможности СУБД;
)рассмотреть особенности архитектуры СУБД;
)охарактеризовать основные классы СУБД и дать им оценку.
Курсовая работа по дисциплине: Базы данных
Студента Арафайлова Алексея Валентиновича
Нижегородский филиал
Введение
При создании автоматизированных систем управления для предприятий нефтяной и газовой промышленности, как и при создании информационных систем для любой другой отрасли экономики, успех в большой степени зависит от правильного выбора системы управления базами данных (СУБД) - платформы любой информационной системы.
В связи с этим актуальность выбранной темы определяется следующими фактами.
Эффективное управление государственной структурой, компанией, проектом, современным бизнесом во многом определяется возможностью своевременно проанализировать децентрализовано хранящиеся данные (информационные ресурсы) и принять адекватное решение. В настоящее время одним из таких ресурсов являются различные базы данных - корпоративные, государственные (специальные и общего пользования), коммерческие и персональные. Современная система управления базами данных должна обеспечивать эффективную работу с информацией, находящейся в хранилищах базы данных. Принципиальную роль в эффективном использовании информационных ресурсов играют информационные технологии.
Основные идеи современных информационных технологий базируются на концепции информации, воплощенной в виде данных и на концепции алгоритмов, воплощенной в виде программного обеспечения. Обычно полезная информация организуются в виде набора данных. Алгоритмы носят, в определенном смысле, вспомогательный характер и предназначены для получения, сбора, обработки и преобразования данных.
Таким образом, основой информационных технологий являются данные и процедуры, организованные в базы данных, адекватно отражающие реалии действительности в той или иной предметной области, и обеспечивающие пользователя актуальной информацией в соответствующих предметных областях.
В современном деловом мире с его огромными объемами информации наличие информационной системы становится жизненно необходимым условием успешной деятельности любой организации. Основными задачами информационной системы являются эффективное хранение, обработка и анализ данных. Для их решения применяются системы управления базами данных (СУБД).
В ИТ-инфраструктуре современной компании СУБД играет роль универсального хранилища данных, предоставляющего инструментальные средства построения запросов к сведениям, которые поступают через стандартные интерфейсы от приложений более высокого уровня, таких как аналитические или бухгалтерские системы.
Цель нашей работы заключается в рассмотрении систем управления базами данных. Достижение цели достигается путем решения ряда задач:
)дать общую характеристику СУБД;
2)выделить функциональные возможности СУБД;
)рассмотреть особенности архитектуры СУБД;
)охарактеризовать основные классы СУБД и дать им оценку.
При подготовке работы была проанализирована как специализированная литература, так и статьи ресурсов Интернет аналитического характера.
Практическая значимость работы заключается в том, что функциональные возможностями СУБД и общая методология использования этих программных средств может быть применена в профессиональной работе, связанной с организацией хранения и обработки данных.
1. Основная часть
1.1 Основные сведения о СУБД
Активная деятельность по отысканию приемлемых способов обобществления непрерывно растущего объема информации привела к созданию в начале 60-х годов XX века специальных программных комплексов, называемых "Системы управления базами данных" (СУБД).
СУБД называют программную систему, предназначенную для создания на ЭВМ общей базы данных, используемой для решения множества задач. Подобные системы служат для поддержания базы данных в актуальном состоянии и обеспечивают эффективный доступ пользователей к содержащимся в ней данным в рамках предоставленных пользователям полномочий.
Термин база данных (БД) определяется по-разному. Мы выделим следующее определение: база данных - это совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данным, независимая от прикладных программ. Может рассматриваться как информационная модель предметной области.
1.1 Функциональные возможности СУБД
Средствами СУБД любой пользователь может создать файлы БД, просматривать их, изменять, выполнять поиск, формировать отчеты произвольной формы. Кроме того, поскольку структура файлов БД записана на диске в его начале, можно открыть, просмотреть, выбрать данные и из чужого файла, созданного кем-то программно или средствами СУБД. В настоящее время создано большое количество СУБД, имеющих приблизительно одинаковые возможности.
СУБД выполняет большое количество важнейших функций, исполнение которых незаметно конечным пользователям. Перейдем к их описанию некоторых наиболее важных.
) Управление хранением данных.
Данная функция предоставляет пользователям возможности выполнения таких операций с данными, как сохранение, извлечение и обновление информации. А также обеспечение необходимых структур внешней памяти как для хранения данных, непосредственно входящих в БД, так и для служебных целей, например для ускорения доступа к данным.
) Управление буферами оперативной памяти.
СУБД обычно работают с БД значительного размера; по крайней мере этот размер обычно существенно превышает доступный объем оперативной памяти. Если при обращении к любому элементу данных будет производиться обмен с внешней памятью, то вся система будет работать со скоростью устройства внешней памяти. Единственным же способом реального увеличения этой скорости является буферизация данных в оперативной памяти. В развитых СУБД поддерживается собственный набор буферов оперативной памяти с собственной дисциплиной замены буферов. При управлении буферами основной памяти приходится разрабатывать и применять согласованные алгоритмы буферизации, журнализации и синхронизации. Однако существует отдельное направление СУБД, ориентированные на постоянное присутствие в оперативной памяти всей БД. Это направление основывается на предположении, что в предвидимом будущем объем оперативной памяти компьютеров сможет быть настолько велик, что позволит не беспокоиться о буферизации. Но пока эти работы находятся в стадии исследований.
) Управление словарем данных.
СУБД использует специальный системный каталог, который называют также словарем данных, для поиска необходимых структур данных и их отношений, помогая избежать кодирования таких сложных взаимосвязей в каждой программе, ведь любые программы получают доступ к данным посредством СУБД.
Словарь данных является хранилищем информации, описывающей данные в базе данных. Предполагается, что каталог доступен как пользователям, так и функциям СУБД. Обычно в словаре данных: содержится следующая информация: имена, типы и размеры элементов данных; имена связей; накладываемые на данные ограничения поддержки целостности; имена пользователей, которым предоставлено право доступа к данным; внешняя, концептуальная и внутренняя схемы и отображения между ними; статистические данные, например частота транзакций и счетчики обращений к объектам базы данных.
Таким образом, СУБД обеспечивает абстракцию данных, тем самым устраняя в системе структурную зависимость и зависимость по данным.
) Журнализация.
Одно из основных требований к СУБД - надежное хранение данных во внешней памяти. Под надежностью хранения понимается то, что СУБД должна быть в состоянии восстановить последнее согласованное состояние БД после любого аппаратного или программного сбоя. Обычно рассматриваются два возможных вида аппаратных сбоев: так называемые мягкие сбои, которые можно трактовать как внезапную остановку работы компьютера (например, аварийное выключение питания), и жесткие сбои, характеризуемые потерей информации на носителях внешней памяти.
Поддержание надежного хранения данных в БД требует избыточности хранения данных, причем та их часть, которая используется для восстановления, должна храниться особо надежно. Наиболее распространенный метод поддержания такой избыточной информации - ведение журнала изменений БД.
Журнал - это особая часть БД, недоступная пользователям СУБД и поддерживаемая особо тщательно (иногда поддерживаются две копии журнала, располагаемые на разных физических дисках), в которую поступают записи обо всех изменениях основной части БД.
Во всех случаях придерживаются стратегии "упреждающей" записи в журнал (протокола Write Ahead Log - WAL). Этот способ заключается в том, что запись об изменении любого объекта БД должна попасть во внешнюю память журнала раньше, чем измененный объект попадет во внешнюю память основной части БД. Известно, если в СУБД корректно соблюдается протокол WAL, то с помощью журнала можно решить все проблемы восстановления БД после любого сбоя.
) Управление транзакциями.
Транзакция - это последовательность операций над БД, рассматриваемых СУБД как единое целое. Либо транзакция успешно выполняется, и СУБД фиксирует изменения БД, произведенные ею, во внешней памяти, либо ни одно из этих изменений никак не отражается в состоянии БД. Понятие транзакции необходимо для поддержания логической целостности БД.
Примерами простых транзакций может служить добавление, обновление или удаление в базе данных сведений о некоем объекте. Сложная же транзакция образуется в том случае, когда в базу данных требуется внести сразу несколько изменений. Инициализация транзакции может быть вызвана отдельным пользователем или прикладной программой.
Понятие транзакции обязательное условие даже однопользовательских СУБД, хотя гораздо существеннее во многопользовательских СУБД. То свойство, что каждая транзакция начинается при целостном состоянии БД и оставляет это состояние целостным после своего завершения, делает очень удобным использование понятия транзакции как единицы активности пользователя по отношению к БД.
) Управление безопасностью.
СУБД создает систему безопасности, которая обеспечивает защиту пользователя и конфиденциальность данных внутри БД. Правила безопасности устанавливают, какие пользователи могут получить доступ к БД, к каким элементам данных пользователь может получить доступ, какие операции с данными доступны пользователю. В многопользовательских системах данная функция имеет большое значение, так как несколько пользователей могут одновременно получить доступ к данным.
) Поддержка языков баз данных.
Для работы с базами данных используются специальные языки, в целом называемые языками баз данных. В современных СУБД обычно поддерживается единый интегрированный язык, содержащий все необходимые средства для работы с БД, начиная от ее создания, и обеспечивающий базовый пользовательский интерфейс с базами данных. Стандартным языком наиболее распространенных в настоящее время реляционных СУБД является язык SQL (Structured Query Language - язык структурированных запросов). Так как в состав SQL входят два основных компонента: язык определения данных (DDL) и язык манипулирования данными (DML), SQL позволяет определять схему реляционной БД и манипулировать данными.
1.2 Уровневая архитектура СУБД
Основная цель системы управления базами данных заключается в том, чтобы предложить пользователю абстрактное представление данных, скрыв конкретные особенности хранения и управления ими. Следовательно, отправной точкой при проектировании БД должно быть общее описание информационных потребностей пользователей, которые должны найти свое отражение в создаваемой базе данных.
Более того, поскольку база данных является общим ресурсом, то каждому пользователю может потребоваться свое, отличное от других представление о характеристиках информации, сохраняемой в базе данных. Для удовлетворения этих потребностей архитектура большинства современных СУБД в той или иной степени строится на базе, так называемой архитектуры ANSI-SPARC, которую мы рассмотрим ниже.
Концепции многоуровневой информационной архитектуры стали основой современной технологии баз данных. Эти идеи связывают с опубликованным в 1975 году отчетом рабочей группы по базам данных ANSI/X3/SPARC (Комитета по планированию стандартов Американского национального института стандартов). В данном отчете была предложена обобщенная трехуровневая модель информационной архитектуры системы базы данных, включающая концептуальный, внутренний и внешний уровни (см. Приложение А). Такая модель описывает архитектуру любой системы базы данных, но какие-либо ее компоненты или функции в конкретной СУБД могут иметь вырожденный характер.
Концептуальный уровень архитектуры ANSI/X3/SPARC служит для поддержки единого "взгляда" на базу данных, общего для всех ее приложений и в этом смысле независимого от них. Именно в среду концептуального уровня при проектировании базы данных отображается концептуальная модель предметной области. Представление базы данных на концептуальном уровне системы описывается концептуальной схемой базы данных.
Механизмы СУБД, поддерживающие внутренний уровень архитектуры, служат для поддержки представления базы данных в среде хранения. Это единственный уровень информационной архитектуры, где база данных в действительности представлена полностью в "материализованном" виде. Описание представления базы данных на внутреннем уровне архитектуры называется внутренней схемой или схемой хранения. На внутреннем уровне хранится следующая информация: сведения о распределении дискового пространства для хранения данных и индексов; описание подробностей сохранения записей (с указанием реальных размеров сохраняемых элементов данных); сведения о размещении записей; сведения о сжатии данных и выбранных методах их шифрования.
Уровень, на котором воспринимают данные пользователи, называется внешним уровнем. Описания таких представлений называются внешними схемами. В системе базы данных может одновременно поддерживаться несколько внешних схем для различных групп пользователей и/или приложений.