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

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

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

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

/*Например, изменение заработной платы сотруднику с некоторым табельным номером. Пользователь выполняет операцию

update сотрудник set з.п. = з.п.*1.1 where табельный номер = 23

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

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

#транзакция #database ACID — требования к транзакционной системе.

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

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

/* Пусть студент отучился на специальности некоторое время и получил оценки согласно плану этой специальности. При переводе его на другую специальность транзакция будет состоять из следующих действий: найти предметы, которые должен был изучить студент согласно плану новой специальности; для каждого этого предмета найти оценку у переводимого студента и перезачесть ее; все остальные оценки удалить. То есть и до и после выполнения транзакции БД находится в согласованном состоянии: все студенты имеют оценки согласно плану обучения по специальности, но в ходе выполнения часть оценок студента не относятся к специальности на которой он обучается.

Пример демонстрирует и сложность транзакции, и согласованность БД, и нарушение согласованности в ходе выполнения транзакции.

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

Транзакции | Основы SQL

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

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

Существуют свойства, которыми должна обладать транзакция. Они называются ACID:

1 Атомарность. («все или ничего» atomic). Любая транзакция представляет собой неделимую единицу работы, которая может быть либо выполнена вся целиком, либо не выполнена вовсе.

2 Согласованность (coordination). Каждая транзакция должна переводить БД из одного согласованного состояния в другое.

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

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

Источник: studopedia.org

Возможности, предоставляемые СУБД пользователям. Режимы работы пользователя в СУБД

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

• имена, типы и размеры элементов данных;

• накладываемые на данные ограничения поддержки целостности;

• имена санкционированных пользователей, которым предоставлено праводоступа к данным;

• внешняя, концептуальная и внутренняя схемы и отображения между ними;

• статистические данные, например частота транзакций и счетчики обращений к объектам базы данных.

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

Поддержка параллельной работы.

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

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

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

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

Поддержка целостности данных. Целостность базы данных означает корректность и непротиворечивость хранимых данных. Она может рассматриваться как еще один тип защиты базы данных.

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

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

Приложения выполняют пять основных функций: 1. Создание, чтение, обновление и удаление представлений. 2. Форматирование представлений. 3. Реализация ограничений. 4. Обеспечение механизмов безопасности и контроля. 5. Реализация логики обработки информации.

«Режим» — определённый порядок работы или состояния компьютера или программы.

Возможна работа пользователя с СУБД в трех режимах:

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

2) Командный режим – интерактивный режим. Это способ реализации возможностей языка, т.е. непосредственное выполнение команд. Система выдаёт подсказку и ожидает ответа – ввод соответствующей команды. После ввода команды система осуществляет синтаксический контроль текста введённой команды и (при отсутствии ошибок) выполняет команду.

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

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

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:

Источник: studopedia.ru

Режимы работы пользователя с СУБД

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

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

Программное обеспечение. Этот компонент включает операционную систему, программное обеспечение самой СУБД, прикладные программы, включая и сетевое программное обеспечение, если СУБД используется в сети. Обычно приложения создаются на языках третьего поколения, таких как С, COBOL, Fortran, Ada или Pascal, или на языках четвертого поколения, таких как SQL, операторы которых внедряются в программы на языках третьего поколения. СУБД может иметь свои собственные инструменты четвертого поколения, предназначенные для быстрой разработки приложений с использованием встроенных непроцедурных языков запросов, генераторов отчетов, форм, графических изображений и даже полномасштабных приложений.

Данные – наиболее важный компонент с точки зрения конечных пользователей. База данных содержит как рабочие данные, так и метаданные, т.е. «данные о данных».

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

Пользователи: клиенты БД, администратор БД, прикладные программисты. Более подробно этот компонент рассматривается в лекции №9 (Администрирование БД)

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

Подсистема средств проектирования представляет собой набор инструментов, упрощающих проектирование и реализацию баз данных и их приложений. Как правило, этот набор включает в себя средства для создания таблиц, форм, запросов и отчетов. В СУБД имеются также языки программирования и интерфейсы для них. Например, в Access – макроязык, не требующий глубокого знания программирования, и версия языка Basic – Visual Basic for Application.

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

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

Кроме того, ядро СУБД участвует в управлении транзакциями, блокировке, резервном копировании и восстановлении.

Читайте также:
Расширение arj какая программа открывает

Microsoft представляет два различных ядра для Access 2002: Jet Engine и SQL Server. Ядро Jet Engine используется для персональных и коллективных баз данных небольшого объема. Ядро SQL Server предназначено для крупных баз данных.

Рис. 2. Компоненты системы базы данных

КЛАССИФИКАЦИЯ СУБД

Классифицировать СУБД можно, используя различные признаки классификации.

По степени универсальности различают СУБД общего и специального назначения.

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

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

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

· иерархические. Первой иерархической СУБД была система IMS (Information Management System) компании IBM, коммерческое распространение которой началось в 1968 г.;

· сетевые. Первой сетевой СУБД считается система IDS (Integrated Data Store), разработанная компанией General Electric немного позже системы IMS;

· реляционные. Первые коммерческие реляционные СУБД от компаний IBM, Oracle Corporation, Relation Technology Inc. и других поставщиков появились в начале 80-х годов. Реляционные СУБД просты в использовании, повышают производительность программистов при разработке прикладных программ, хорошо приспособлены для работы в архитектуре клиент/сервер, позволяют параллельную обработку БД, хорошо приспособлены к графическим пользовательским интерфейсам. Реляционные СУБД продолжают совершенствоваться, предоставляя пользователю возможность решать всё более сложные задачи;

· объектно-реляционные (постреляционные). Объектно-реляционные СУБД продолжают использовать стандартный язык запросов для реляционных БД – SQL, но с объектными расширениями;

· объектно-ориентированные. В основе объектно-ориентированных СУБД лежит объектно-ориентированная модель обработки данных.

· многомерные, в основе которых лежит многомерная модель данных.

На самом общем уровне все СУБД можно разделить на:

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

— персональные (настольные). Это программное обеспечение, ориентированное на решение задач локального пользователя или компактной группы пользователей и предназначенная для использования на персональном компьютере, это объясняет их второе название – настольные. К ним относятся DBASE, FoxBase, FoxPro, Clipper, Paradox, Access.

В настоящее время среди СУБД выделяют СУБД (условно говоря) промежуточные между профессиональными и персональными.SQL Windows/SQL Base, Interbase, Microsoft SQL Server.

4. ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ И ПРОИЗВОДИТЕЛЬНОСТЬ СУБД

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

¨ Ведение системного каталога, доступного конечным пользователям

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

• имена, типы и размеры элементов данных;

• накладываемые на данные ограничения поддержки целостности;

• имена санкционированных пользователей, которым предоставлено праводоступа к данным;

• внешняя, концептуальная и внутренняя схемы и отображения между ними;

• статистические данные, например частота транзакций и счетчики обращений к объектам базы данных.

Наличие системного каталога позволяет:

• централизовано хранить информацию о данных, что обеспечивает контроль доступа к этим данным и любому другому ресурсу;

• легко обнаружить избыточность и противоречивость описания отдельных элементов данных;

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

• усилить меры обеспечения безопасности;

• выполнять аудит сохраняемой информации.

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

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

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

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

Читайте также:
Программа talkback для чего

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

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

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

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

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

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

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

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

Приложения выполняют пять основных функций: 1. Создание, чтение, обновление и удаление представлений. 2. Форматирование представлений. 3. Реализация ограничений. 4. Обеспечение механизмов безопасности и контроля. 5. Реализация логики обработки информации.

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

• временем выполнения запросов;

• скоростью поиска информации в неиндексированных полях;

• временем выполнения операций импортирования базы данных из других форматов;

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

• максимальным числом параллельных обращений к данным в многопользовательском режиме;

• временем генерации отчета.

На производительность СУБД оказывают влияние два фактора:

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

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

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

РЕЖИМЫРАБОТЫПОЛЬЗОВАТЕЛЯ С СУБД

В информатике считается, что термин «режим» определяется как определённый порядок работы или состояния компьютера или программы.

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

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

2) Командный режим – интерактивный режим. Это способ реализации возможностей языка, т.е. непосредственное выполнение команд. Система выдаёт подсказку и ожидает ответа – ввод соответствующей команды. После ввода команды система осуществляет синтаксический контроль текста введённой команды и (при отсутствии ошибок) выполняет команду.

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

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

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

Источник: poisk-ru.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru