Теория

Введение в базы данных
База данных (БД) это совокупность данных, организованных по определенным правилам, предусматривающим общие принципы описания, хранения и манипулирования данными, независимо от прикладных программ. БД является информационной моделью предметной области. Обращение к БД осуществляется с помощью систем управления базами данных (СУБД). Это не единственное, но достаточно емкое определение БД.
Базы данных, как правило, обладают следующими признаками:
  • БД содержит некоторое множество данных, необходимых (и желательно достаточных) для решения конкретных задач многих пользователей (в том числе как реальных, так и потенциальных) или удовлетворения соответствующих информационных потребностей;
  • данные или информационные элементы в БД определенным образом структурированы и связаны между собой (то есть, организованы), при этом структура, состав данных и их содержание в БД не зависят от особенностей прикладных программ, используемых для управления БД;
  • данные (информационные элементы) представлены на машиночитаемых носителях в форме, пригодной для оперативного использования их с при-менением средств вычислительной техники, включая и системы управления базами данных.
Использование баз данных характеризуется следующими свойствами:
  • оперативностью (средства вычислительной техники позволяют осуществлять оперативный доступ к обновляемой информации);
  • доступностью (информация, содержащаяся в БД, доступна для использования);
  • гибкостью (имеется возможность легко изменять состав и форму выдачи интересующих пользователя данных, изменения в БД вносятся также достаточно просто);
  • целостностью данных (минимизируется дублирование данных, предоставляется возможность упорядочения и согласованности данных, а также работ по их обновлению).
С общими характеристиками БД связан также ряд взаимозависимых понятий:
Целостность БД — состояние БД, при котором все значения данных правильно отражают предметную область (в пределах заданных ограничений поточности и согласованности во времени) и подчиняются правилам взаимной непротиворечивости. Поддержание целостности БД предполагает ее проверку и восстановление или корректировку любого неправильного состояния, которое может быть обнаружено. Это входит в функции администратора БД, который пользуется средствами СУБД.
Защищенность БД — наличие и характеристика средств (аппаратных, программных, организационных, технологических, юридических и т. п.), обеспечивающих предотвращение или исключение доступа к информации лиц, не получивших на то соответствующего разрешения, умышленного или непредумышленного разрушения или изменения данных.
Безопасность БД — свойство БД, которое заключается в том, что содержащиеся в ней данные не причинят вреда пользователю при правильном их применении для решения любых функциональных задач системы, для которой она была создана. Часто понятия «безопасность» и «защита» БД рассматриваются как синонимичные.
Эффективность БД — степень соответствия результатов использования БД затратам на ее создание и поддержание в рабочем состоянии, в случае оценки этого показателя в денежном выражении он носит наименование экономической эффективности БД. Обобщающий показатель качества состояния и использования БД по совокупности признаков (в том числе скорость, доступность, гибкость, целостность, защищенность, безопасность и др.) — техническая эффективность БД. Эффективность БД принято оценивать применительно к условиям их использования в конкретных автоматизированных системах.
В настоящее время не существует строгой классификации баз данных. Рассмотрим виды БД по одному из основных признаков.
В зависимости от реализованной модели, структуры организации данных или уровня представления (абстракции):
  • иерархическая БД [hierarchical database] — база данных, основанная на иерархической модели организации, характеризующейся подчиненностью объектов нижнего уровня объектам верхнего уровня. Модель представляется в виде дерева, между верхними и нижними объектами которого установлено отношение «один ко многим». Примером иерархической модели организации данных может служить модель курса в вузе. Одному курсу соответствует много групп, а каждой группе множество студентов;
  • сетевая БД [network database] — база данных, основанная на сетевой модели организации, характеризующаяся отношением между объектами «многие ко многим». Пример: один автор издал несколько книг, а каждая книга может быть издана несколькими авторами;
  • реляционная БД [relational database] — база данных, основанная на реляционной (табличной) модели организации является наиболее распространенной в практике. Название «реляционная» (в переводе с английского relation — отношение) связано с тем, что каждая запись в таблице содержит информацию, относящуюся только к одному конкретному объекту. Всякое отношение должно иметь свое имя. Пусть есть отношение с названием «Альбомы группы». В этом случае структура базы данных, состоящая из одной, таблицы, запишется так: Альбомы группы (название альбома, год выпуска, тип альбома, фирма). Однако чаще база данных строится на основе нескольких таблиц, связанных между собой через общие атрибуты;
  • квазиреляционная БД [quasirelational database] — база данных, обобщающая традиционные реляционные БД;
  • псевдореляционная БД [pseudorelational database] — реляционная БД, в любом отношении (таблице) которой допускается дублирование кортежей (группы записей);
  • нормализованная БД [normalized database] — реляционная БД, все отношения (таблицы) в которой находятся в одной из нормальных форм (1НФ, 2НФ, ЗНФ или 4НФ);
  • интегрированная БД [integrated database]
    - база данных, объединяющая несколько логических БД (см. далее);
    - база данных, имеющая «бесфайловую» структуру организации.
    Интегрированные базы данных ориентированы на решение разнородных задач многих пользователей;
  • логическая БД [logical database] — база данных с точки зрения пользователя или прикладного программиста;
  • физическая БД [physical database]
    совокупность структур хранения данных на внешнем носителе (например, на магнитном диске);
    отображение концептуальной модели данных в физическую среду (физическая структура БД), база данных с точки зрения системного аналитика или программиста;
  • архивная БД [archive database] — архивная копия базы данных, зафиксированная на определенный момент времени;
  • виртуальная БД [virtual database] — воображаемое представление данных, в которое может быть преобразована каждая из интегрируемых БД произвольной системы управления базами данных.
СУБД MS Access поддерживает реляционную модель организации данных. Реляционная БД [relational database] — база данных, основанная на реляционной (табличной) модели организации является наиболее распространенной в практике. Название «реляционная» (в переводе с английского relation — отношение) связано с тем, что каждая запись в таблице содержит информацию, относящуюся только к одному конкретному объекту. Всякое отношение должно иметь свое имя. Пусть есть отношение с названием «Альбомы группы». В этом случае структура базы данных, состоящая из одной, таблицы, запишется так: Альбомы группы (название альбома, год выпуска, тип альбома, фирма). Однако чаще база данных строится на основе нескольких таблиц, связанных между собой через общие атрибуты.
Рассмотрим состав и функции систем управления базами данных (сокращенно СУБД).
База данных предполагает наличие комплекса программных средств, обслуживающих эту базу данных и позволяющих использовать содержащуюся в ней информацию. Такие комплексы программ называют СУБД. СУБД — это программная система, поддерживающая наполнение и манипулирование данными, представляющими интерес для пользователей при решении прикладных задач. Иными словами, СУБД является интерфейсом между базой данных и прикладными задачами.
Ниже перечислены основные функции СУБД.
  1. Определение данных — определить, какая именно информация будет храниться в базе данных, задать свойства данных, их тип (например, число цифр или символов), а также указать, как эти данные связаны между собой. В некоторых случаях есть возможность задавать форматы и критерии проверки данных.
  2. Обработка данных — данные могут обрабатываться самыми различными способами. Можно выбирать любые поля, фильтровать и сортировать данные. Можно объединять данные с другой, связанной с ними, информацией и вычислять итоговые значения.
  3. Управление данными — можно указать, кому разрешено знакомиться с данными, корректировать их или добавлять новую информацию. Можно также определять правила коллективного доступа.
Входящие в состав современных СУБД средства совместно выполняют следующие функции:
  • описание данных, их структуры. Обычно описание данных и их структуры происходит при инициировании новой базы данных или добавлении к существующей базе новых разделов (отношений). Описание данных необходимо для контроля корректности использования данных, для поддержания целостности базы данных;
  • первичный ввод, пополнение информации в базе данных;
  • удаление устаревшей информации из базы данных;
  • корректировку данных для поддержания их актуальности;
  • упорядочение (сортировку) данных по некоторым признакам;
  • поиск информации по некоторым признакам (для описания запросов имеется специальный язык запросов, он обеспечивает также интерфейс между базой данных и прикладными программами пользователей, позволяет этим программам использовать базы данных);
  • подготовку и генерацию отчетов (средства подготовки отчетов позволяют создавать и распечатывать сводки по заданным формам на основе информации базы данных);
  • защиту информации и разграничение доступа пользователей к ней. Некоторые разделы базы данных могут быть закрыты для пользователя совсем, открыты только для чтения или открыты для изменения. Кроме того, при многопользовательском режиме работы с базой данных необходимо, чтобы изменения вносились корректно. Для сохранения целостности данных служит механизм транзакций при манипулировании данными — механизм, позволяющий обеспечить группу операций как единое целое и не допустить их выполнение частично (в случае некорректного выполнения хотя бы одной операции происходит т.н. «откат» и данные возвращаются к исходному состоянию);
  • резервное сохранение и восстановление базы данных, которое позволяет восстановить утраченную при сбоях и авариях аппаратуры информацию базы данных, а также накопить статистику работы пользователей с базой данных;
  • поддержку интерфейса с пользователями, который обеспечивается средствами ведения диалога (по мере развития и совершенствования СУБД этот интерфейс становится все более дружественным). Дружественность существующих средств интерфейса предполагает:
    • наличие развитой системы помощи (подсказки), к которой в любой момент может обратиться пользователь, не прерывая сеанса работы с компьютером и базой данных;
    • защиту от необдуманных действий, предупреждающую пользователя и предотвращающую потерю информации в случае поспешных или ошибочных команд;
    • наличие нескольких вариантов выполнения одних и тех же действий, из которых пользователь может выбрать наиболее удобные для себя, соответствующие его подготовке, квалификации, привычкам;
    • тщательно продуманную систему ведения человеко-машинного диалога (отображение информации на дисплее, использование сочетания клавиш и т.д.).
Архитектурно СУБД состоит из двух основных компонентов: языка описания данных (ЯОД), позволяющего создать схему описания данных в базе, и языка манипулирования данными (ЯМД), выполняющего операции с базой данных (наполнение, обновление, удаление, выборку информации). Данные языки могут быть реализованы в виде тренажеров или интерпретаторов. Помимо ЯОД и ЯМД к СУБД следует отнести средства (или языки) подготовки отчетов (СПО), позволяющие подготовить сводки (отчеты) на основе информации, найденной в базе данных, по заданным формам.
Язык описания данных (ЯОД) — это язык высокого уровня декларативного (непроцедурного) типа, предназначенный для формализованного описания типов данных, их структур и взаимосвязей. Исходные тексты описания данных на этом языке после трансляции отображаются в управляющие таблицы, задающие размещение в памяти ЭВМ и связи между собой рассматриваемых данных. В соответствии с этими описаниями СУБД находит в базе требуемые данные, правильно преобразует их и передает, например, в прикладную программу пользователя, которой они потребовались. При записи данных в базу СУБД по этим описаниям определяет место в памяти ЭВМ, куда их требуется поместить, преобразует к заданному виду и устанавливает необходимые связи.
Язык манипулирования данными (или язык запросов) представляет собой систему команд, например, следующего типа:
  • произвести выборку части данных, значение которых удовлетворяет заданным условиям;
  • произвести выборку всех данных определенного типа, значения которых удовлетворяют заданным условиям;
  • найти в базе позицию с данными и поместить туда новое значение (или удалить данные) и т.д.

Комментариев нет:

Отправить комментарий