1. Информационные системы. Классификация, основные функции и области применения.
  2. Банк данных и его компоненты.
  3. Классификация моделей представления данных.
  4. Сетевая модель данных. Достоинства и недостатки.
  5. Иерархическая модель данных. Достоинства и недостатки.
  6. Реляционная модель данных. Достоинства и недостатки.
  7. Общие понятия реляционного подхода к организации баз данных. Основные концепции и термины. Первичный и внешний ключи.
  8. Реляционная алгебра. Основные операции.
  9. Реляционное исчисление.
  10. Классификация программ относящихся к СУБД.
  11. Проектирование реляционных баз данных с использованием нормализации.
  12. Ссылочная целостность баз данных. Способы поддержания ссылочной целостности.
  13. Транзакция и целостность баз данных.
  14. Уровни изолированности транзакций.
  15. Сериализация транзакций. Методы сериализации транзакций.
  16. Синхронизационные захваты. Тупики. Метод временных меток.
  17. Функции и основные возможности языка SQL.
  18. Отличие SQL от процедурных языков программирования.
  19. Интерактивный и встроенный SQL.
  20. Типы данных SQL.
  21. Простейшие SELECT-запросы. Синтаксис.
  22. Операторы IN, LIKE, BETWEEN, IS NULL.
  23. Агрегирование и групповые функции. Упорядочение выходных полей.
  24. Вложенные подзапросы. Использование оператора exists.
  25. Формирование связанных подзапросов.
  26. Оператор объединения union. Внешнее объединение.
  27. Соединение таблиц с использованием оператора join.
  28. Команды манипулирования данными. Использование подзапросов в INSERT-Использование подзапросов с DELETE. Использование подзапросов с UPDATE.
  29. Основные особенности архитектуры клиент-сервер.
  30. Серверы баз данных.
  31. InterBase и область его применения.
  32. Описание данных на основе SQL. Организация данных в InterBase. Типы данных.
  33. Домены. Создание доменов. Изменение доменов. Удаление доменов.
  34. Таблицы. Создание таблицы. Модификация таблицы. Удаление таблиц.
  35. Индексы. Создание индексов. Изменение индекса. Восстановление индекса. Удаление индекса.
  36. Исключения. Создание исключения. Изменение исключения. Удаление исключения.
  37. Триггеры и их назначение. Команды создания, удаления и модификации триггеров.
  38. Хранимые процедуры и их назначение. Команды создания, удаления и модификации хранимых процедур.
  39. Работа с BLOB и функции, определенные пользователем.
  40. Процессор БД BDE. Архитектура и функции BDE.
  41. Псевдоним БД и настройка BDE.
  42. Этапы создания приложения БД.
  43. Механизм доступа к данным приложения БД.
  44. Основные особенности и использование компонента TTable. Свойства, методы и события.
  45. Основные особенности и использование компонента TQuery. Свойства, методы и события.
  46. Визуализация данных в Delphi.
  47. Способы создания отчетов. Перечислить возможные компоненты.
  48. Общие особенности трехзвенной архитектуры.

 

1. Информационные системы. Классификация, основные функции и области применения.

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

По целевым функциям ИС делятся: на управляющие, информационно-справочные и поддержки принятия решений.

Узкая трактовка ИС -  это аппаратно-программные средства, задействованные для решения некоторых прикладных задач.

Вверх

 

2. Банк данных и его компоненты.

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

Банк данных в общем случае состоит из следующих компонентов:

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

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

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

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

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

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

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

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

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

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

Вверх

 

3. Классификация моделей представления данных.

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

Модель данных – совокупность структур данных и операций их обработки.

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

  • иерархические;
  • сетевые;
  • реляционные;
  • файловые.

Вверх

 

4. Сетевая модель данных. Достоинства и недостатки.

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

Элемент данных так же часто называют полем. Запись – именованная совокупность атрибутов. Использование записей позволяет за одно обращение к базе получить некоторую логически связанную совокупность данных. Именно записи изменяются, добавляются и удаляются. Тип записи определяется составом ее атрибутов. Экземпляр записи – это конкретная запись с конкретным значением элементов. Примеры сетевых СУБД: CODASYL, DBMS, IDMS, TOTAL, VISTA, СЕТЬ, СЕТОР, КОМПАС.

Достоинство сетевой модели – высокая эффективность затрат памяти и оперативность.

Недостатки:

1. Сложность и жесткость схема базы данных, а так же сложность понимания.

2. Ослабленный контроль целостности ( допускается устанавливать произвольные связи между записями ).

3. Сложность механизма доступа к данным.

4. Необходимость на физическом уровне четко определять связи данных.

5. Требуются значительные ресурсы памяти ЭВМ.

6. Сложность реализации СУБД.

Вверх

 

5. Иерархическая модель данных. Достоинства и недостатки.

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

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

Вверх

 

6. Реляционная модель данных. Достоинства и недостатки.

Реляционная модель была предложена в 1970 году Эдгаром Кодом и основывалась на понятиях «отношений». Отношения представляют собой множество элементов называемых кортежами. Наглядной формой представления отношений является двумерная таблица. Таблица имеет строки называемые записями и столбцы – колонки. Каждая строка таблицы имеет одинаковую структуру и состоит из полей. Строкам таблицы соответствуют кортежи, а столбцам – атрибуты отношений. С помощью одной таблицы удобно описать простейший вид связей между данными, информация о которых хранится в таблице. Так как в рамках одной таблицы не удается описать более сложной логической структуры данных из предметной области применяют связывание таблицы.

Достоинства реляционной модели:

1. Простота, удобство физической реализации, понятность.

2. Легко дополнять простыми отношениями.

Недостатки:

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

2. Сложность описания, иерархической и сетевой связи.

Вверх

 

7. Общие понятия реляционного подхода к организации баз данных. Основные концепции и термины. Первичный и внешний ключи.

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

 

целое

строка

целое

Тип данных

номер

имя

должность

деньги

Домен

Отношение

Табельный номер

Имя

Должность

Оклад

Премия

Атрибут

2934

Игорев

Инженер

112

40

Кортеж

2935

Петров

Ведущий инженер

144

50

2936

Иванов

Программист

155

60

 

Ключ

 

Отношение является важнейшим понятием и представляет собой двумерную таблицу, содержащуюнекоторые данные.

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

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

Домен – это множество всех возможных значений определенного атрибута отношения.

Схема отношений – список имен атрибута.

Множество кортежей отношения называют содержимым отношения.

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

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

Ключи обычно используются для:

- Исключения дублирования значений ключевых атрибутов;

- Упорядочения кортежей;

- Ускорение работы с кортежами отношений;

- Для организации связывания таблиц.

Пусть в отношении R1 имеется неключевой атрибут A, значение которого является значением ключевого атрибута B другого отношения R2, т.е. атрибут А отношения R1 есть внешний ключ. С помощью внешних ключей устанавливаются связи между отношениями.

Вверх

 

8. Реляционная алгебра. Основные операции.

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

Операции РА можно разделить на две группы:

  1. Базовые теоретико-множественные ( объединение, разность, пересечение и произведение ).
  2. Специальные реляционные представляет собой развитие теоретико-множественных операций в направлении к реальным задачам манипулирования данными (проекция, селекция или выборка, деление, соединение и присвоение).

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

  1. Объединение двух совместимых отношений R1 и R2 одинаковой размерности является отношение Rсодержащее все элементы исходных отношений с исключением повторений.

 2. Разность двух совместимых отношений R1 и R2 одинаковой размерности есть отношение, тело которого состоит из множества кортежей, принадлежащей R1но не принадлежащих R2.

3. Пересечение двух совместимых отношений R1 и R2 одинаковой размерности порождает отношение R, включающее в себя кортежи, одновременно принадлежащие обоим исходным отношениям.

4. Произведение – результатом его будет являться реляционная таблица, сформированная двумя этапами действий:

1)                 Связывание атрибутов двух исходных таблиц

2)                 Присвоение каждой исходной строке первой таблицы каждой строки второй таблицы

5. Выборка (Rwheref) – отношение Rпо формуле fпредставляет собой новое отношение с таким же заголовком и телом, состоящим из таких кортежей отношения R,которые удовлетворяют истинности логического выражения, заданного формулой f.

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

RwhereГород = ‘Киев’andстатус >  15

6. Проекция – отношение Aна атрибуты  X,Y,…,Z, где множество XYZявляется подмножеством полного списка атрибутов заголовка отношения А, представляет собой отношение с заголовком XYZи телом содержащим кортежи отношения А за исключением повторяющихся кортежей.

R1[Имя, Город]

7. Деление – результатом деления отношения R1 с атрибутами Aи Bна отношение R2 с атрибутом B, где Aи Bпростые или составные атрибуты, причем атрибут Bобщий атрибут, определенный на одном и том же домене, является отношение Rс заголовком Aи телом, состоящим из кортежей r, таких что в отношении R1 имеются кортежи (r, S)причем множество значений Sвключает множество значений атрибута Bотношения R2.

Вверх

 

9. Реляционное исчисление. 

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

Квантор существования – означает существование хотя бы одной строки удовлетворяющей условиям.

Квантор всеобщности – это выражение, которое означает, что некоторое условие применяется ко всем строкам некоторого типа.

Вверх

 

10. Классификация программ относящихся к СУБД.

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

1. Полнофункциональные (ПФ) – представляют собой традиционные СУБД. Из числа всех современных СУБД ПФ являются наиболее многочисленными и мощными по своим возможностям.  К ПФ относятся  DataFlex, dBase, Access, FoxPro, Paradox. Обычно ПФ СУБД имеет развитый интерфейс, позволяющий с помощью команд меню выполнять основные действия с СУБД:

1) Создание, модификация структур и таблиц.

2) Ввод данных.

3) Формирование запросов.

4) Разработка отчетов и их печать.

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

2. Серверы БД предназначены для организации центров обработки данных в сетях ЭВМ. Серверы БД реализуют функцию управления БД запрашиваемые другими пользователями обычно с помощью SQL запросов ( операторов ). К серверам баз данных относятся SQL-server и InterBase.

3. Клиенты БД. В роли клиентских программ для сервера БД  могут использоваться различные программы: ПФ СУБД и электронные таблицы.

4. Средства разработки программ работы с БД – могут использоваться для создания разновидностей следующих программ: клиентских программ, серверов БД и их отдельных компонентов, пользовательских приложений. К средствам разработки пользовательских приложений относятся: системы программирования, разнообразные библиотеки программ для различных языков программирования, а так же пакеты автоматизации разработок ( в том числе системах типа «клиент-сервер» (Delphi, Builder, VisualBasic ).

По характеру использования СУБД делятся на:

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

2. Многопользовательские СУБД – включают в себя сервер БД и клиентскую часть. Как правило они могут работать в неоднородной вычислительной среде ( с разными типами ЭВМ и ОС): Oracle.

Вверх

 

11. Проектирование     реляционных баз данных с использованием нормализации.

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

1) Обеспечить быстрый доступ к данным в таблице

2) Исключить ненужное повторение

3) Обеспечить целостность данных

Процесс уменьшения избыточной информации называется нормализацией. Теория нормализации оперирует 5 нормальными формами таблиц. Эти формы предназначены для уменьшения избыточной информации от 1 до 5 нормальной формы. Поэтому каждая последующая нормальная форма должна удовлетворять требования предыдущих и некоторым дополнительным условиям. При практическом проектировании БД 4 и 5 нормальные формы не используются.

Таблица первой  нормальной формы должна удовлетворять следующим требованиям:

1) Таблица не должна иметь повторяющихся записей

2) В таблице должны отсутствовать повторяющиеся группы.

О таблице говорят, что она находится во второй нормальной форме , если:

1) Если она удовлетворяет условиям первой нормальной формы

2) Любое не ключевое поле однозначно идентифицируется полным набором ключевых полей

О таблице говорят, что она находится в третьей нормальной форме, если:
1) удовлетворяет условиям второй нормальной формы

2) Ни одно из не ключевых полей не идентифицируется с помощью другого не ключевого поля.

Вверх

 

12. Ссылочная целостность баз данных. Способы поддержания ссылочной целостности.

Ссы́лочная це́лостность (англ. referential integrity) — необходимое качество реляционной базы данных, заключающееся в отсутствии в любом её отношении внешних ключей, ссылающихся на несуществующие кортежи.

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

Если вышеприведённое условие не выполняется, говорят, что в базе данных нарушена ссылочная целостность. Такая БД не может нормально эксплуатироваться, так как в ней разорваны логические связи между зависимыми друг от друга фактами. Непосредственным результатом нарушения ссылочной целостности становится то, что корректным запросом не всегда удаётся получить корректный результат.

Поддержание ссылочной целостности в БД

Причины нарушений

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

  • Некорректная работа прикладного программного обеспечения. Понятно, что при ошибке в программе, выполняющей модификацию базы данных, база может быть модифицирована недопустимым образом, в результате чего образуются «висящие» ссылки. Программа может совершать ошибки следующих видов:
  • Неполная запись объектов. Данные объекта размещаются в записях нескольких таблиц, а программа не записывает какую-то из них.
  • Некорректная правка ссылки. Значение внешнего ключа изменяется на такое, которому не соответствует ни одна запись в связанной таблице.
  • Правка первичного ключа без каскадного обновления. В таблице, на которую есть ссылки, правится первичный ключ, но при этом внешние ключи в связанных с ней таблицах остаются без изменения.
  • Удаление записи без каскадного обновления. Из таблицы удаляется запись, на которую имеются ссылки по внешним ключам других таблиц, при этом в связанных записях внешние ключи не меняются. В результате все ссылающиеся на неё записи других таблиц становятся некорректными.
  • Сбои в работе системного программного обеспечения и оборудования. Даже когда прикладное программное обеспечение работает совершенно правильно, возможно нарушение ссылочной целостности. Например, если при добавлении объекта в базу нужно добавить несколько связанных записей в несколько таблиц, очевидно, что ссылочная целостность будет нарушена в процессе добавления данных (когда часть связанных записей уже добавлена, а часть — ещё нет), и восстановится только после завершения операции. Если во время выполнения операции она будет прервана (из-за переполнения диска, сбоя питания, или по каким-то другим причинам), часть записей будет добавлена в БД, часть — нет. Часть добавленных записей останется с некорректными ссылками.

Пустые внешние ключи

Возможна ситуация, когда внешний ключ вместо ссылки на существующую запись в таблице БД содержит «отсутствующее значение» NULL. Такое положение можно трактовать как отсутствие какой-то части объекта. Хотя с точки зрения чистой теории это недопустимо, на практике иногда бывает удобно разрешить использование пустых внешних ключей. Чтобы корректно работать с группами связанных таблиц, допускающих пустые внешние ключи, используется специфическая операция языка SQLоткрытое соединение (другое название — «внешнее соединение», англ. outer join).

Ссылочная целостность на триггерах

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

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

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

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

Ссылочная целостность на внешних ключах

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

  • При операции добавления или редактирования записи автоматически проверяется, ссылаются ли внешние ключи в этой записи на существующие записи в заявленных при описании связанных таблицах. Если выясняется, что операция приведёт к появлению некорректных ссылок, она не выполняется — система возвращает ошибку.
  • При операции редактирования записи проверяется:
  • если изменяется её первичный ключ и на данную запись имеются ссылки, то операция редактирования завершается с ошибкой;
  • если изменяется какой-то из внешних ключей, хранящихся в этой записи, и после изменения внешний ключ будет ссылаться на несуществующую запись, то операция редактирования завершается с ошибкой.
  • При операции удаления записи проверяется, нет ли на неё ссылок. Если ссылки имеются, то возможно три варианта дальнейших действий (фактически выполняемый зависит от СУБД и от выбора программиста, который он должен сделать при описании связи):
  • Запрет — удаление блокируется и возвращается ошибка.
  • Каскадное удаление — в одной транзакции производится удаление данной записи и всех записей, ссылающихся на данную. Если на удаляемые записи также есть ссылки и настройки также требуют удаления, то каскадное удаление продолжается дальше. Таким образом, после удаления данной записи в базе не остаётся ни одной записи, прямо или косвенно ссылающейся на неё. Если хотя бы одну из ссылающихся записей удалить не получается (либо для неё настроен запрет, либо происходит какая-либо ещё ошибка), то все удаления запрещаются.
  • Обнуление внешних ключей — во все внешние ключи записей, ссылающихся на данную, записывается псевдозначение NULL. Если хотя бы для одной из ссылающихся записей это невозможно (например, если поле внешнего ключа описано так, что его нельзя обнулять), то удаление запрещается.

Вверх

 

13. Транзакция и целостность баз данных.

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

Транзакция – неделимая с точки зрения воздействия на БД последовательность операторов манипулирования данными (чтения, удаления, вставки, модификации), такая, что:
1) либо результаты всех операторов, входящих в транзакцию, отображаются в БД;
2) либо воздействие всех операторов полностью отсутствует.
При этом для поддержания ограничений целостности на уровне БД допускается их нарушение внутри транзакции так, чтобы к моменту завершения транзакции условия целостности были соблюдены.
Для обеспечения контроля целостности каждая транзакция должна начинаться при целостном состоянии БД и должна сохранить это состояние целостным после своего завершения. Если операторы, объединенные в транзакцию, выполняются, то происходит нормальное завершение транзакции, и БД переходит в обновленное (целостное) состояние. Если же происходит сбой при выполнении транзакции, то происходит так называемый откат к исходному состоянию БД.

Вверх

 

14. Уровни изолированности транзакций.

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

Продолжение »

Бесплатный конструктор сайтовuCoz