Базы данных

Автор работы: Пользователь скрыл имя, 05 Сентября 2012 в 02:20, курс лекций

Описание

Банк данных – организация либо структурная единица организации, предназначенная для сбора и обработки информации о предметной области. В функции банка данных входит сбор информации о первичной области, ее обработка и хранение, а также генерация на ее основе результирующей информации. Следует отметить, что иногда технологии обработки информации, характерные для банков данных реализуются не в «чистом» виде, а как составная часть других систем, например, в задачах САПР (Систем Автоматизированного ПPоектирования).
Информация о состоянии предметной области, которая обрабатывается банком данных, накапливается и хранится в базе данных.

Работа состоит из  1 файл

Базы данных.docx

— 224.38 Кб (Скачать документ)

 Типы  Распределённых Баз  Данных

 1) Распределённые  Базы Данных

 2) Мультибазы данных с глобальной схемой. Система Мультибаз данных - это распределённая система, которая служит внешним интерфейсом для доступа ко множеству локальных СУБД или структурируется, как глобальный уровень над локальными СУБД.

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

 4) Мультибазы с общим языком доступа - распределённые среды управления с технологией "клиент-сервер"

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

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

 Трехуровневая архитектура БД 

   
 

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

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

 Иными словами, этот уровень содержит всю  логическую структуру базы. На данном уровне представлены следующие компоненты:

  • Все сущности, их атрибуты и связи;
  • Накладываемые на данные ограничения;
  • Семантическая информация о данных;
  • Информация о мерах обеспечения безопасности и поддержки целостности данных.

 Дадим определения некоторых терминов баз данных.

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

 Атрибут – это свойство, которое описывает некоторую характеристику описываемого объекта.

 Связь – это то, что объединяет несколько сущностей.

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

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

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

 Понятие целостности данных.

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

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

 · встроенные средства для назначения первичного ключа, в том числе средства для  работы с типом полей с автоматическим приращением, когда СУБД самостоятельно присваивает новое уникальное значение;

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

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

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

 С другой стороны, значение 9 явно будет ошибочным  и СУБД должна его отвергнуть. Однако для этого ей следует сообщить, что номера дней недели должны принадлежать набору (1,2,3,4,5,6,7).

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

 Выделяют  три группы правил целостности:

 Целостность по сущностям.

 Целостность по ссылкам.

 Целостность, определяемая пользователем.

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

 Не  допускается, чтобы какой-либо атрибут, участвующий в первичном ключе, принимал неопределенное значение.

 Значение  внешнего ключа должно либо:

 быть  равным значению первичного ключа цели;

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

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

 уникальность  тех или иных атрибутов,

 диапазон  значений (экзаменационная оценка от 2 до 5),

 принадлежность  набору значений (пол "М" или "Ж").

 Основные  виды ограничения целостности и  средства их контроля.

 Виды  ограничений целостности  и средства их поддержки:

 1.       Ограничения целостности реляционных  таблиц – наличие ключей и  нормализованность.

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

 Значения  ключей таблиц БД можно получить из ER – диаграммы.

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

 2.       Ограничение значений атрибутов  таблиц – домены атрибутов  и отношения между атрибутами  типа <, £, >, ³ и т.п.

 Указываются в семантической структурной  модели предметной области.

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

 3.       Ограничения на размеры и количество  элементов БД

 Устанавливаются и автоматически контролируются СУБД.

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

 Ограничения целостности реляционной БД задаются: РМД, поддерживаемой конкретно выбранной  СУБД; особенностями предметной области, отраженными в семантической  структурной модели

 9.Транзакции и их роль в поддержании целостности данных. Методы реализации транзакций: языковые и системные средства. 

 Понятие транзакции имеет непосредственную связь с понятием целостности  БД. Очень часто БД может обладать такими ограничениями целостности, которые просто невозможно не нарушить, выполняя только один оператор изменения БД. Например, в базе данных СОТРУДНИКИ-ОТДЕЛЫ естественным ограничением целостности является совпадения значения атрибута ОТД_РАЗМЕР в кортеже отношения ОТДЕЛЫ, описывающем данный отдел (например, отдел 320), с числом кортежей отношения СОТРУДНИКИ таких, что значение атрибута СОТР_ОТД_НОМЕР равно 320. Как в этом случае принять на работу в отдел 320 нового сотрудника? Независимо от того, какая операция будет выполнена первой, вставка нового кортежа в отношение СОТРУДНИКИ или модификация существующего кортежа в отношении ОТДЕЛЫ, после выполнения операции база данных окажется в нецелостном состоянии.

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

 Если  быть немного более точным, различаются  два вида ограничений целостности: немедленно проверяемые и откладываемые. К немедленно проверяемым ограничениям целостности относятся такие  ограничения, проверку которых бессмысленно или даже невозможно откладывать. Примером ограничения, проверку которого откладывать  бессмысленно, являются ограничения  домена (возраст сотрудника не может  превышать 150 лет). Более сложным  ограничением, проверку которого невозможно отложить, является следующее: зарплата сотрудника не может быть увеличена  за одну операцию более, чем на 100,000 рублей. Немедленно проверяемые ограничения целостности соответствуют уровню отдельных операторов языкового уровня СУБД. При их нарушениях не производится откат транзакции, а лишь отвергается соответствующий оператор.

 Откладываемые ограничения целостности - это ограничения  на базу данных, а не на какие-либо отдельные  операции. По умолчанию такие ограничения  проверяются при конце транзакции, и их нарушение вызывает автоматическую замену оператора COMMIT на оператор ROLLBACK. Однако в некоторых системах поддерживается специальный оператор насильственной проверки ограничений целостности внутри транзакции. Если после выполнения такого оператора обнаруживается, что условия целостности не выполнены, пользователь может сам выполнить оператор ROLLBACK или постараться устранить причины нецелостного состояния базы данных внутри транзакции (видимо, это осмысленно только при использовании интерактивного режима работы).

 И еще  одно замечание. С точки зрения внешнего представления в момент завершения транзакции проверяются все откладываемые  ограничения целостности, определенные в этой базе данных. Однако при реализации стремятся при выполнении транзакции динамически выделить те ограничения  целостности, которые действительно  могли бы быть нарушены. Например, если при выполнении транзакции над базой  данных СОТРУДНИКИ-ОТДЕЛЫ в ней не выполнялись операторы вставки  или удаления кортежей из отношения  СОТРУДНИКИ, то проверять упоминавшееся  выше ограничение целостности не требуется (а проверка подобных ограничений  вызывает достаточно большую работу).

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

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

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

Информация о работе Базы данных