74244

Базы данных и их классификация

Лекция

Информатика, кибернетика и программирование

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

Русский

2014-12-30

158 KB

6 чел.

Базы данных

Базы данных и их классификация

Одной из задач информационных систем является хранение данных из определенной предметной области.

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

Термин «база данных» (database) был введен в обиход в области вычислительной техники примерно в 1962 году.

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

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

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

СУБД является частью информационной системы.

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

Основные понятия:

Целостность данных. В общем случае целостность данных означает корректность данных и их непротиворечивость. Для обеспечения целостности накладывают ограничения целостности. В частности, эти ограничения могут иметь вид логических выражений, значения которых всегда должны быть «истина». Если значение хотя бы одного логического выражения ограничения целостности данных принимает значение «ложь», то имеет место быть нарушение целостности данных. Ограничения такого вида иногда называют бизнес-правилами. Примеры ограничений: вес детали должен быть положительным; цвет детали должен быть «Красный», «Синий» или «Зеленый»; возраст родителей не может быть меньше возраста их биологического ребенка.

Целостность транзакций. 

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

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

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

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

Безопасность данных.  Защита данных от несанкционированной, случайной или намеренной модификации, разрушения или раскрытия.


К основным функциям СУБД относятся:

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


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

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

По технологии обработки данных БД подразделяют на два вида:

централизованная БД хранится целиком на ВЗУ одной вычислительной системы; если система входит в состав сети, то возможен доступ к этой БД других систем;

распределенная БД состоит из нескольких, иногда пересекающихся или дублирующих друг друга БД, хранящихся на ВЗУ разных узлов сети.

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

локальный доступ предполагает, что СУБД обрабатывает БД, которая хранится на ВЗУ той же ЭВМ;

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

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

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

Данные хранятся в БД в соответствии с моделью данных.

Классификация СУБД по типу модели данных:

  •  Дореляционные
    •  Инвертированные списки (файлы)
    •  Иерархичекие
    •  Сетевые
  •  Реляционные
  •  Постреляционные
    •  Объектно-реляционные
    •  Объектно-ориентированные

 

Реляционная модель данных

Основоположником теории реляционных баз данных является британский учёный Эдгар Кодд, который в 1970 году опубликовал первую работу по реляционной модели данных. Наиболее распространенная трактовка реляционной модели данных принадлежит Кристоферу Дейту.

Согласно Дейту, реляционная модель состоит из трех частей: структурной (отношения) , целостностной (наличие условий) и манипуляционной (реляционное исчисление для манипулирование отношений).

Реляционная база данных – это набор отношений, имена которых совпадают с именами схем отношений в схеме базы данных.

Пример. Рассмотрим реляционную модель данных, в которой данные хранятся в виде двумерных таблиц.

Рис.1 Структура данных реляционной модели данных

Таблицы обладают следующими свойствами:

- каждая ячейка таблицы является одним элементом данных;

- каждый столбец содержит данные одного типа (числа, текст и т. п.);

- каждый столбец имеет уникальное имя;

- таблицы организуются так, чтобы одинаковые строки отсутствовали;

- порядок следования строк и столбцов произвольный.

Каждая таблица представляет собой отношение, описываемое атрибутами:

СТУДЕНТ = (ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ФАКУЛЬТЕТ).

Для идентификации записей выделяют следующие виды ключей – полей, определяющих запись:

- первичный: однозначно определяет запись;

- вторичный: выполняет роль поисковых и группировочных признаков и позволяет найти несколько записей.

Ключ может быть простым, если он включает одно поле, или составным, если включает два и более полей.

Если в отношении СТУДЕНТ нет однофамильцев, то первичным будет простой ключ – поле ФАМИЛИЯ. Иначе первичным будет составной ключ ФАМИЛИЯ + ИМЯ + ОТЧЕСТВО.

Первичный ключ должен обладать следующими свойствами:

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

- неизбыточность: первичный ключ не должен содержать поля, удаление которых из ключа не нарушит его уникальность.

Нормализация отношений

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

Выделяют три нормальные формы отношений.

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

Например, отношение

КНИГА = (АВТОР, НАЗВАНИЕ, ВЫХОДНЫЕ ДАННЫЕ)

не находится в первой нормальной форме, так как атрибут ВЫХОДНЫЕ ДАННЫЕ можно разделить на атрибуты ИЗДАТЕЛЬСТВО, ГОД, КОЛИЧЕСТВО СТРАНИЦ.

Отношение

СТУДЕНТ = (НОМЕР, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, ГРУППА)

находится в первой нормальной форме, где поле НОМЕР является простым первичным ключом.

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

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

Например, отношение СТУДЕНТ находится в первой и второй нормальных формах.

Отношение

УСПЕВАЕМОСТЬ = (НОМЕР, ФАМИЛИЯ, ДИСЦИПЛИНА, ОЦЕНКА)

находится в первой нормальной форме и имеет составной ключ НОМЕР + ДИСЦИПЛИНА. Это отношение не находится во второй нормальной форме, так как атрибут ФАМИЛИЯ функционально зависим от поля НОМЕР составного ключа. Чтобы привести это отношение ко второй нормальной форме необходимо разбить его на два связанных отношения:

УСПЕВАЕМОСТЬ = (НОМЕР, ДИСЦИПЛИНА, ОЦЕНКА),

СПИСОК = (НОМЕР, ФАМИЛИЯ).

Связь между отношениями осуществляется по полю НОМЕР.

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

Транзитивная зависимость присутствует в отношении, если существует два неключевых поля, первое из которых зависит от ключа, а второе от первого.

Например, отношение СТУДЕНТ находится в третьей нормальной форме.

Отношение

ДИСЦИПЛИНА = (НАЗВАНИЕ, ЛЕКТОР, УЧ_СТЕПЕНЬ, ГРУППА)

не находится в третьей нормальной форме, так как поле УЧ_СТЕПЕНЬ зависит от поля ЛЕКТОР, но не от составного ключа, поэтому отношение необходимо разбить на два связанных отношения

ДИСЦИПЛИНА = (НАЗВАНИЕ, ЛЕКТОР, ГРУППА),

ПРЕПОДАВАТЕЛЬ = (ЛЕКТОР, УЧ_СТЕПЕНЬ).

Связь между отношениями осуществляется по полю ЛЕКТОР.

Типы связей

Отношения могут быть связаны следующими типами связей:

- один-к-одному (1:1);

- один-ко-многим (1:M);

- многие-ко-многим (M:M).

Рассмотрим сущность этих связей на примере следующих отношений. Пусть книга в библиотеке описывается отношением

КНИГА = (КНИГА_N, АВТОР_N, НАЗВАНИЕ, ИЗДАТЕЛЬСТВО_N).

Каждая книга имеет место на полке

МЕСТО = (МЕСТО_N, КНИГА_N).

Каждая книга выпускается издательством

ИЗДАТЕЛЬСТВО = (ИЗДАТЕЛЬСТВО_N, АДРЕС).

У каждой книги есть автор

АВТОР = (АВТОР_N, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО).

Связь один-к-одному означает, что в каждый момент времени одной записи отношения A соответствует только одна запись отношения B и наоборот. Например, каждая книга имеет одно место на полке и на каждом месте стоит только одна книга

.

Связь между отношениями осуществляется по полю КНИГА_N.

Связь один-ко-многим предполагает, что одной записи отношения A соответствуют несколько записей отношения B, но одной записи отношения B соответствуют только одна запись отношения A. Например, одно издательство может издать несколько книг, но книга издается только одним издательством.

.

Связь между отношениями осуществляется по полю ИЗДАТЕЛЬСТВО_N.

При связи многие-ко-многим одной записи отношения A соответствуют несколько записей отношения B и наоборот. Например, один автор может написать несколько книг, и у книги может быть несколько авторов

.

Связь между отношениями осуществляется по полю

АВТОР_N,

Проектирование реляционных баз данных

При проектировании базы данных решаются две основные проблемы:

  •  Каким образом отобразить объекты предметной области в абстрактные объекты модели данных, чтобы это отображение не противоречило семантике  предметной области, и было, по возможности, лучшим (эффективным, удобным и т. д.)? Часто эту проблему называют проблемой логического проектирования баз данных.
  •  Как обеспечить эффективность выполнения запросов к базе данных? Эту проблему обычно называют проблемой физического проектирования баз данных.

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

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

Основные свойства нормальных форм такие:

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

Процесс проектирования реляционной базы данных на основе метода нормализации преследует две основные цели:

  •  избежать избыточности хранения данных;
  •  устранить аномалии обновления отношений.

Язык реляционных баз данных SQL

Из рассмотрения реляционной модели известно, что двумя фундаментальными  языками запросов к реляционным базам данных являются языки реляционной алгебры и реляционного исчисления. При всей своей строгости и теоретической обоснованности, эти языки не стали стандартными языками реляционных СУБД. Юридическим и фактическим стандартом стал язык SQL (Structured Query Language – «язык структурированных запросов»).

SQL представляет собой некоторую комбинацию реляционного исчисления кортежей и реляционной алгебры, и был разработан в середине 70-х годов в компании IBM в рамках проекта экспериментальной реляционной СУБД System R. Деятельность по стандартизации SQL началась практически одновременно с появлением его первых коммерческих реализаций. В 1986 г. был принят стандарт ANSI, а в 1987 г. Этот стандарт был одобрен международной организацией по стандартизации (ISO). Время от времени выпускается пересмотренная версия этого стандарта; наиболее свежее обновление было выпущено в 2008 г.

Формальное название стандарта SQL –  ISO/IEC 9075 «Database Language SQL».

Несмотря на наличие международного стандарта, многие производители СУБД вносят изменения в язык SQL, тем самым отступая от стандарта. В результате у разных производителей СУБД в ходу разные диалекты SQL, в общем случае между собой несовместимые. В настоящее время проблема совместимости решается так: описание языка имеет модульную структуру,  основная часть стандарта вынесена в раздел «SQL/Foundation», все остальные выведены в отдельные модули, остался только один уровень совместимости – «Core», что означает поддержку этой основной части. Поддержка остальных возможностей оставлена на усмотрение производителей СУБД.

Все операторы, составляющие основу SQL с момента его появления,  можно разделить на следующие группы:

  •  операторы определения данных (Data Definition Language – DDL)
    •  CREATE создает объект базы данных
    •  ALTER изменяет объект
    •  DROP удаляет объект
  •  операторы манипуляции данными (Data Manipulation Language – DML)
    •  SELECT считывает данные, удовлетворяющие заданным условиям
    •  INSERT добавляет новые данные
    •  UPDATE изменяет существующие данные
    •  DELETE удаляет данные
  •  операторы определения доступа к данным (Data Control Language – DCL)
    •  GRANT предоставляет пользователю (группе) разрешения на определенные операции с объектом
    •  REVOKE отзывает ранее выданные разрешения
    •  DENY задает запрет, имеющий приоритет над разрешением
  •  операторы управления транзакциями (Transaction Control Language – TCL)
    •  COMMIT применяет транзакцию.
    •  ROLLBACK откатывает все изменения, сделанные в контексте текущей транзакции.
    •  SAVEPOINT делит транзакцию на более мелкие участки.

История СУБД (примеры)

1968г – 1 СУБД система IMS IBM 

Эпоха персональных ЭВМ

Clipper и FoxPro  Microsoft Access

Эпоха сетей (Объектно-ориентированные БД) (распределенные БД)

Дальнейшим расширением в структурных преобразованиях являются объектно-ориентированные базы данных. В объектно-ориентированной парадигме предметная область моделируется как множество классов взаимодействующих объектов.

(язык манипуляции данными SQL)

(клиент-серверная архитектура)

Microsoft Access 2000, Oracle 8.4, MS SQL 7.0, SQL Server,

Перспектива переход на ИНТРАНЕТ – способ доступа к данным без клиентского приложения

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

Для разработки Интернет-приложений, которые связаны с базами данных, широко используются новые средства программирования: это язык PERL, язык РНР (Personal Home Page Tools), язык Javascript и ряд других. 

PAGE  11


 

А также другие работы, которые могут Вас заинтересовать

39618. Междисциплинарный курсовой проект 406 KB
  65 Автоматизированные системы обработки информации и управления Волгоград 2011 ББК УДК Рецензент Издается по решению редакционноиздательского совета Волгоградского государственного технического университета Междисциплинарный курсовой проект: метод.65 Автоматизированные системы обработки информации и управления всех форм обучения. Выполнение междисциплинарного проекта основано на материале ранее изученных дисциплин: Информационные технологии Сети ЭВМ и телекоммуникации Маркетинг и менеджмент программных систем Технология...
39619. СТРУКТУРА И ОРГАНИЗАЦИЯ РАБОТЫ АКУШЕРСКОГО СТАЦИОНАРА САНИТАРНО - ПРОТИВОЭПИДЕМИЧЕСКИЙ РЕЖИМ В АКУШЕРСКОМ СТАЦИОНАРЕ 64.5 KB
  АС имеет следующие основные подразделения: приемнопропускной блок; физиологическое I акушерское отделение 5055 от общего числа акушерских коек; отделение палаты патологии беременности 2530; отделение палаты новорожденных в I и II акушерских отделениях; обсервационное II акушерское отделение 2025; гинекологическое отделение 2530. ПЕРВОЕ ФИЗИОЛОГИЧЕСКОЕ АКУШЕРСКОЕ ОТДЕЛЕНИЕ Первое физиологическое акушерское отделение включает в себя приемнопропускной блок родовой блок послеродовые палаты отделение...
39620. Модернизация локальной вычислительной сети административного здания ЗАО «ПромСвязь-Инвест» 2.11 MB
  1 Техническое задание Полное наименование проекта Модернизация локальной вычислительной сети административного здания ЗАО ПромСвязьИнвест. Цель создания системы Модернизация локальной вычислительной сети и создание базы данных принятия заявлений от абонентов на подключение или устранение неисправностей. Назначение системы ЛВС обеспечивает связь компьютеров для обмена информацией совместного использования сетевого оборудования информационных ресурсов устройств хранения информации и обеспечения контроля доступа на предприятии обеспечивает...
39621. Основные направления совершенствования налоговой политики государства 1.87 MB
  Cоциальноэкономическая сущность налогов и налоговой политики.3 Зарубежный опыт организации налоговой политики. Методологические принципы налоговой политики.1 Тенденции современной налоговой политики РФ: элементы состав и эволюция в условиях рыночных отношений.
39622. Приемы измерения социальной установки 141.5 KB
  Это наиболее простой вид шкалы измерения установки. При конструировании шкалы самооценки в форме €œтрадиционного€ вопроса её позиции обязательно располагаются симметрично и состоят из равного числа положительных и отрицательных оценок разделённых €œнейтральной€ позицией. Наиболее простой приём измерения установок по правилам такой шкалы ранжирование респондентами тех объектов отношение к которым с их стороны интересует исследователя. Более сложный вариант измерения установок при помощи ранговой шкалы метод парных сравнений.
39623. Разработка типового проекта «дублирующего» родильного дома 748.5 KB
  В рамках своего дипломного проекта я рассматриваю актуальные проблемы существующей системы учреждений родовспоможения в г. Цель 1 создать условия при которых здоровые беременные женщины и роженицы могли гарантировано получать медицинскую помощь в учреждениях родовспоможения обслуживающих район их места жительства; 2 улучшить условия получения медицинской помощи беременными женщинами и роженицами с патологиями. Таким образом деятельность перинатального центра не разгружает основной поток рожениц приходящийся на учреждения родовспоможения...
39624. Социальная установка. Определение и классификация 65.5 KB
  Исследования понятия и динамики социальных установок Понятие которое в определенной степени объясняет выбор мотива побуждающего личность к деятельности есть понятие социальной установки. Традиция изучения социальных установок сложилась в западной социальной психологии и социологии. Для обозначения социальных установок используется термин аттитюд. Особенности формирования социальных установок связаны с тем что они обладают некоторой устойчивостью и несут в себе функции облегчения алгоритмизации познания а также инструментальную функцию...
39625. Социальные сети как инструмент развития: виды и возможности 45 KB
  Могут ли сети упростить работу тренингменеджера Какие возможности они открывают для получения сотрудниками необходимых им знаний Trainings. Социальные сети в интернете зародились в 90х годах причем как профессиональное музыкальное сообщество а термин появился только в 2004. Стандартные социальные сети позволяют пользователю присоединять людей к своей сети выходить на других пользователей через своих знакомых посылать сообщения размещать фотографии тексты и любой другой контент.
39626. Сборный связевый железобетонный каркас с диафрагмами жесткости 4.5 MB
  1 Нагрузка с перекрытия передается на ригели с ригелей на колонны с колонн на фундамента а с фундамента на основание. Нагрузки в плоскости рамы Нагрузка от собственного веса ригелей Предварительно принимаем для ригелей длиной от 2. Нагрузка при таком условии будет равна: 1.4 Схема загружения от собственного веса балок Нагрузка от пола перекрытия Свойства слоев пола: 1.