РЭАИС

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску

Базы данных

Иерархические базы данных

могут быть представлены как дерево, состоящее из объектов различных уровней. Верхний уровень занимает один объект, второй — объекты второго уровня и т. д. Между объектами существуют связи, каждый объект может включать в себя несколько объектов более низкого уровня. Такие объекты находятся в отношении предка (объект более близкий к корню) к потомку (объект более низкого уровня), при этом возможна ситуация, когда объект-предок не имеет потомков или имеет их несколько, тогда как у объекта-потомка обязательно только один предок. Объекты, имеющие общего предка, называются близнецами.

Реляционная база данных

— база данных, основанная на реляционной модели данных. Слово «реляционный» происходит от англ. relation (отношение[1]). Для работы с реляционными БД применяют реляционные СУБД.

Использование реляционных баз данных было предложено доктором Коддом из компании IBM в 1970 году.

Объекты БД

База данных состоит из различных объектов, таких как:

  • таблицы,
  • виды (представления),
  • хранимые процедуры,
  • триггеры.

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

Таблицы (Tables)

Реляционные базы данных хранят все данные в таблицах. Таблица это структура, состоящая из множества неупорядоченных горизонтальных строк (rows), каждая из которых содержит одинаковое количество вертикальных столбцов (colums). Пересечение отдельной строки и столбца называется полем (field), которое содержит специфическую информацию. Многие принципы работы реляционной базы данных взяты из определений отношений (relations) между таблицами.

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

Виды (Views)

Вид (view) это виртуальная таблица, которая не сохранена физически в базе данных, но ведет себя точно также как "реальная" таблица. Вид может содержать данные из одной или более таблиц или других видов и используется для хранения часто используемых запросов (queries) или множества запросов в базе данных.

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

Хранимые процедуры (Stored procedures)

Хранимые процедуры (stored procedure) это отдельные программы, написанные на языке процедур и триггеров, который является расширением SQL. Хранимые процедуры являются частью метаданных базы данных. Хранимые процедуры могут получать входные параметры, возвращать значения приложению и могут быть вызваны явно из приложения или подстановкой вместо имени таблицы в инструкции SELECT.

Хранимые процедуры обеспечивают следующие возможности:

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

Триггеры (Triggers)

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

Триггеры могут обеспечивать следующие возможности:

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

Средства доступа к БД

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