Система управления базами данных (СУБД)

      Содержание 

Введение………………………………………………………………………….2

1. Система управления базами данных (СУБД)……………………………….3

    1.1 Основные понятия баз данных…………………………………….……..3

    1.2 Классификация СУБД…………………………………………………….5

    1.3 Функции и компоненты СУБД…………………………….………….....12

2. Создание БД………………………………………………………..…...….....14

    2.1 Этапы проектирования…………………………………………...........…14

    2.2 Жизненный цикл СУБД……………………………………………..……15

3. Типы СУБД……………………………………………………………………17

4. Обеспечение безопасности БД…………………………………….…………20

Заключение………………………………………………………….……………23

Список литературы………………………………………………………………24 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

      Введение 

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

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

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

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

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

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

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

  1. Система управления базами данных (СУБД) 
    1.1 Основные понятия баз данных
 

      Первые  БД появились уже на заре 1-го поколения ЭВМ представляя собой отдельные файлы данных или их простые coвокупности. По мере увеличения объемов и структурной сложности хранимой информации, а также расширения круга потребителей; информации определилась необходимость создания удобных эффективных систем интеграции хранимых данных и управления ими.

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

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

      Предметная  область – это часть реального  мира, подлежащего изучению для организации  управления и автоматизации.

      Объект  – это элемент предметной области, информацию о котором мы сохраняем.

      Реквизит (атрибут) – поименованная характеристика объекта. Он показывает, какая информация об объекте должна быть собрана.

      Объектами могут быть:

  • люди, например, перечисленные в какой-либо платежной ведомости или являющиеся объектами учетов органов внутренних дел;
  • предметы, например, номерные или имеющие характерные отличительные особенности вещи, средства автомототранспорта;
  • построения – воображаемые объекты;
  • события.

      Базы  данных выполняют две основные функции. Они группируют данные по информационным объектам и их связям и предоставляют эти данные пользователям.

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

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

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

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

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

      СУБД  организует хранение информации таким  образом, чтобы ее было удобно:

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

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

1.2 Классификация СУБД 

      Классификация баз данных:

  1. По характеру хранимой информации:
    • Фактографические (картотеки),
    • Документальные (архивы)
  2. По способу хранения данных:
    • Централизованные (хранятся на одном компьютере). Централизованная база данных хранится в памяти одной вычислительной системы, к которой подключены несколько других компьютеров.
    • Распределенные (используются в локальных и глобальных компьютерных сетях). Распределенная база данных состоит из нескольких, возможно пересекающихся или даже дублирующих друг друга частей, хранимых в различных ПК компьютерной сети. Работа с такой базой осуществляется с помощью системы управления распределенной базой данных (СУРБД).
  3. По структуре организации данных:
    • Табличные (реляционные),
    • Иерархические,

4. По  степени распределённости:

  • Локальные СУБД (все части локальной СУБД размещаются на одном компьютере)
  • Распределённые СУБД (части СУБД могут размещаться на двух и более компьютерах).

5. По  способу доступа к БД

  • Файл-серверные. В файл-серверных СУБД файлы данных располагаются централизованно на файл-сервере. СУБД располагается на каждом клиентском компьютере (рабочей станции). Доступ СУБД к данным осуществляется через локальную сеть. Синхронизация чтений и обновлений осуществляется посредством файловых блокировок. Преимуществом этой архитектуры является низкая нагрузка на ЦП сервера. Недостатки: потенциально высокая загрузка локальной сети; затруднённость централизованного управления; затруднённость обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Применяются чаще всего в локальных приложениях, которые используют функции управления БД. На данный момент файл-серверные СУБД считаются устаревшими. Примеры: Microsoft Access, Paradox, dBase, FoxPro, Visual FoxPro.
  • Клиент-серверные. Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность. Примеры: Oracle, Firebird, Interbase, IBM DB2, MS SQL Server, Sybase, PostgreSQL, MySQL, Caché, ЛИНТЕР.
  • Встраиваемые. Встраиваемая СУБД (англ. embedded DBMS) — СУБД, которая может поставляться как составная часть некоторого программного продукта, не требуя процедуры самостоятельной установки. Встраиваемая СУБД предназначена для локального хранения данных своего приложения и не рассчитана на коллективное использование в сети. Физически встраиваемая СУБД чаще всего реализована в виде подключаемой библиотеки. Доступ к данным со стороны приложения может происходить через SQL либо через специальные программные интерфейсы. Примеры: OpenEdge, SQLite, BerkeleyDB, Firebird Embedded, MySQL, Sav Zigzag, Microsoft SQL Server Compact, ЛИНТЕР.

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

      Иерархическая модель данных строится по принципу иерархии объектов, то есть один тип объекта  является главным, все нижележащие  – подчиненными. Устанавливается связь «один ко многим», то есть для некоторого главного типа существует несколько подчиненных типов объектов. Иначе, главный тип именуется исходным типом, а подчиненные – порожденными. У подчиненных типов могут быть в свою очередь подчиненные типы. Наивысший в иерархии узел (совокупность атрибутов) называют корневым.

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

     К основным понятиям иерархической структуры  относятся: уровень, элемент (узел), связь.

     Узел – это совокупность атрибутов данных, описывающих некоторый объект. Каждый узел на более низком уровне связан только с одним узлом, находящимся на более высоком уровне.

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

      Сетевая модель данных строится по принципу «главный и подчиненный тип одновременно», то есть любой тип данных одновременно может одновременно порождать несколько подчиненных типов (быть владельцем набора) и быть подчиненным для нескольких главных (быть членом набора).

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

     Понятие реляционный (relation – отношение) связано с разработками известного американского специалиста в области баз данных Э. Кодда. В основу реляционной базы данных положено понятие алгебры отношения и реляционного исчисления.

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

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

      Реляционная модель данных объекты и связи  между ними представляются в виде таблиц, при этом связи тоже рассматриваются как объекты.

     Каждая  реляционная таблица обладает следующими свойствами:

  • каждый элемент таблицы - один элемент данных;
  • все столбцы в таблице однородные, т.е. все элементы в столбце имеют одинаковые характеристики и свойства;
  • каждый столбец имеет уникальное имя;
  • одинаковые строки в таблице отсутствуют;
  • порядок следования строк и столбцов может быть произвольным.

      Столбцы таблицы называются полями: каждое поле характеризуется своим именем и типом данных.

      Поле  БД – это столбец таблицы, содержащий значения определенного свойства.

      В реляционной БД используются четыре основных типов полей:

  • Числовой,
  • Символьный (слова, тексты, коды и т.д.),
  • Дата (календарные даты в форме «день/месяц/год»),
  • Логический (принимает два значения: «да» - «нет» или «истина» - «ложь»).

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

     Имеется возможность связать две реляционные  таблицы, если ключ одной таблицы  ввести в состав ключа другой таблицы (рисунок № 1).

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

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

       
 
 
 

       Ключи 

                                              

     Связи между таблицами

     Рисунок № 1. Структура библиотеки (реляционная база данных) 

     Реляционная база данных является объединением нескольких двумерных таблиц, между которыми установлены связи.

     Между записями двух таблиц могут быть установлены  следующие основные виды связей:

  • один к одному – эта связь предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот; например, начальник курса – курс;
  • один к многим – эта связь предполагает, что одному экземпляру информационного объекта А соответствует 0, 1, 2 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с 1 экземпляром объекта А, например, начальник курса – курсант;
  • многие к многим – эта связь предполагает, что в каждый момент времени одному экземпляру информационного объекта А соответствует 0, 1, 2 или более экземпляров объекта В и наоборот, например, учебная дисциплина - курсант.

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

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

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

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

      Системы управления базами данных позволяют  объединять большие объемы информации и обрабатывать их, сортировать, делать выборки по определенным критериям  и т. п.

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

      Популярные  СУБД - FoxPro, Access for Windows, Paradox. Для менее  сложных применений вместо СУБД используются информационно-поисковые системы (ИПС), которые выполняют следующие  функции:

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

1.3 Функции и компоненты СУБД 

      Основные  функции СУБД

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

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

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

      Создание  БД начинается с проектирования. Этапы проектирования БД:

  1. Исследование предметной области;
  2. Анализ данных (сущностей и их атрибутов);
  3. Определение отношений между сущностями и определение первичных и вторичных (внешних) ключей.

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

      К базовым понятиями модели БД «сущность  – связь» относятся: сущности, связи между ними и их атрибуты (свойства).

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

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

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

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

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

    2.2 Жизненный цикл СУБД 

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

     Часто встречаемые этапы:

  1. Исследование и анализ проблемы, для решения которой создается база данных.
  2. Построение Инфологической и Даталогической модели.
  3. Нормализация полученных Инфологических и Даталогических моделей. По окончанию этого этапа, как правило, получают заготовки таблицы БД и набор связей между ними (первичные и вторичные ключи).
  4. Проверка целостности БД (Целостность базы данных).
  5. Выбор физического способа хранения и эксплуатации (технического средства) базы данных.
  6. Проектирование входных и выходных форм.
  7. Разработка интерфейса приложения.
  8. Функциональное наполнение приложения.
  9. Отладка: проверка на корректность работы функционального наполнения системы.
  10. Тестирование: тест на корректность ввода вывода данных, тест на максимальное количество активных сессий и т. д.
  11. Ввод в эксплуатацию: отладка ИТ – инфраструктуры, обучение пользователей и ИТ – персонала.
  12. При необходимости добавления выходных форм и дополнительной функциональности. В случае если необходимы более серьезные изменения, следует повторить все шаги с первого.
  13. Вывод из эксплуатации: перенос данных в новую СУБД.