Flatik.ru

Перейти на главную страницу

Поиск по ключевым словам:

страница 1
Реляционные СУБД.

Реляционная СУБД (РСУБД; иначе Система управления реляционными базами данных, СУРБД) — СУБД, управляющая реляционными базами данных.

Понятие реляционный (англ. relation — отношение) связано с разработками известного английского специалиста в области систем баз данных Эдгара Кодда (Edgar Codd).

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

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

  • каждый элемент таблицы — один элемент данных

  • все столбцы в таблице однородные, то есть все элементы в столбце имеют одинаковый тип (числовой, символьный и т. д.)

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

  • одинаковые строки в таблице отсутствуют

  • порядок следования строк и столбцов может быть произвольным

Базовыми понятиями реляционных СУБД являются: 1) атрибут 2) отношения 3) кортеж

Индексы. Применение индексов.

Что такое индекс? Специальный аппарат ускоряющий обработку данных. В настоящее время в базах по умолчанию доступны Btree/Hash индексы. Если почитать документацию к базе можно выяснить как именно приеняются индексы, вот несколько общих мест применения:

select * from T as t1 where t1.i1 > const; i1 — индексированное поле таблицы T. В данном случае вместо сканирования полной таблицы база сразу отсечет ненужные значения.

Использование индексов можно проверить коммандами explain/describe etc. В случае если предложенные базой индексы не устраивают разработчика в sql запросах как правило предусмотрены места для подсказок базе данных.

В настоящее время Mysql например позволяет использовать R-Index для Geo данных. Данный индекс есть оптимизатор поиска географических объектов.

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

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

Различают обычные и распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и требуют намного более сложной логики (например, two-phase commit — двухфазный протокол подтверждения успеха). Также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автономной частью родительской транзакции.

Известны также как свойства ACID (Atomicity — неделимость, Consistency — согласованность, Isolation — изоляция, Durability — устойчивость) транзакций.

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

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

  3. Транзакция всегда изолирована, поскольку её результаты самодостаточны. Они не зависят от предыдущих или последующих транзакций — это свойство называется сериализуемостью и означает, что транзакции в последовательности независимы.

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

Уровни изоляции транзакций

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

  • 0 — Неподтверждённое чтение (Read Uncommited, Dirty Read, грязное чтение) — чтение незафиксированных изменений своей транзакции и конкурирующих транзакций, возможны нечистые, неповторяемые чтения и фантомы

  • 1 — Подтверждённое чтение (Read Commited)— чтение всех изменений своей транзакции и зафиксированных изменений конкурирующих транзакций, нечистые чтения невозможны, возможны неповторяемые чтения и фантомы

  • 2 — Повторяемое чтение (Repeatable Read ,Snapshot) — чтение всех изменений своей транзакции, любые изменения, внесённые конкурирующими транзакциями после начала своей недоступны, нечистые и неповторяемые чтения невозможны, возможны фантомы

  • 3 — Упорядоченный — (Serializable, сериализуемый) упорядоченные (cериализуемые) транзакции. Идентичен ситуации при которой транзакции выполняются строго последовательно одна после другой. То есть транзакции, результат действия которых не зависит от порядка выполнения шагов транзакции (запрещено чтение всех данных изменённых с начала транзакции, в том числе и своей транзакцией). Фантомы невозможны.

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

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

Блокировки.

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

Реляционные субд

Реляционная субд (рсубд; иначе Система управления реляционными базами данных, сурбд) — субд, управляющая реляционными базами данных

56.75kb.

14 10 2014
1 стр.


4 Языки баз данных

Субд данной функции (формат файлов данных, индексирование, хэширование и буферизация) во многом зависит и эффективность функционирования субд в целом

96.53kb.

14 12 2014
1 стр.


Paradox for Windows (система управления базой данных)

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

642.35kb.

24 09 2014
4 стр.


7. Транзакционное управление в субд. Методы сериализации транзакций. Понятие транзакции

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

157.63kb.

14 10 2014
1 стр.


Инструкция по переводу субд с interbase 6 на firebird 5

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

29.28kb.

11 10 2014
1 стр.


Экзаменационные ответы бд. 3 Курс, 5 Семестр, фис  Классификация бд

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

913.49kb.

11 09 2014
5 стр.


Методическая разработка урока в 11 классе по информатике и икт по теме «Создание базы данных». Цель урока: познакомить со средой субд access
77.25kb.

23 09 2014
1 стр.


Система группового управления технологическим оборудованием

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

30.78kb.

15 10 2014
1 стр.