ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Бази даних SQL
         

     

    Інформатика, програмування
    Призначення і область застосування баз даних SQL

    Цей стандарт визначає синтаксис і семантику двох мов баз даних:

    Мова визначення схем (SQL-DLL) для оголошення структур і обмежень цілісності бази даних SQL.

    Мова модулів і маніпулювання даними (SQL-DML) для оголошення процедур бази даних і виконуваних операторів в конкретній прикладній програмі бази даних.

    Цей стандарт визначає логічні структури даних і базові операції для бази даних SQL. Він забезпечує функціональні можливості для проектування, доступу, підтримки, управління та захисту бази даних.

    Цей стандарт забезпечує засіб для мобільності визначень бази даних і прикладних програм між відповідними стандарту реалізаціями.

    Цей стандарт визначає два рівні і окреме засіб підтримки цілісності. Рівень 2 - це повний мова баз даних SQL, що не включає засіб фіксації результатів. Рівень 1 - це підмножина рівня 2, визначене в розділі 9 "Рівні".

    Зауваження: Планується додатковий мову SQL як додаток до цього стандарту. Основними темами, обговорюваними для цього застосування, є поліпшене керування транзакціями, визначення деяких правил, оголошених в конкретній реалізації, поліпшені засоби роботи з символами і підтримка національних наборів символів.

    Засіб фіксації результатів полягає у визначенні:

    необхідних обмежень на посилання між таблицями;

    перевірочних обмежень на рядки таблиці;

    значень стовпця за замовчуванням при занесенні рядка в таблицю.

    У додатках до стандарту визначається синтаксис включення операторів маніпулювання даними SQL в стандартну у всіх інших відносинах прикладну програму. Такий синтаксис визначається як скорочена нотація для стандартної прикладної програми, в якій вбудовані оператори SQL замінені явними "викликами" процедур бази даних, що містять оператори SQL.

    Цей стандарт застосовний до реалізацій, що існують у середовищі, яке може включати прикладні мови програмування, мови запитів рівня кінцевого користувача, системи генерації звітів, системи словників даних та розподілені комунікаційні системи, а також різні засоби проектування баз даних, адміністрування баз даних і оптимізації продуктивності. 2. Посилання

    ISO 1539, Programming Languages - FORTRAN (endorsement by ISO of American National Standard X3.9).

    ISO 1989, Programming Languages - COBOL (endorsement by ISO of American National Standard X3.23).

    ISO 6160, Programming Languages - PL/1 (endorsement by ISO of American National Standard X3.53).

    ISO 7185, Programming Languages - Pascal (endorsement by ISO of British Standard 6192 for the English text). 3. Огляд 3.1 Організація

    Цей стандарт має таку структуру:

    В 3.2, "Нотація" і 3.3, "Угоди" визначаються нотації та угоди, що використовуються в цьому стандарті.

    В 3.4, "Відповідність" визначається критерій відповідності.

    У Розділі 4, "Поняття" визначаються терміни і представляються поняття, що використовуються у визначенні SQL.

    У Розділі 5, "Загальні елементи" визначаються елементи мови, що зустрічаються в декількох частинах мови SQL.

    У Розділі 6, "Мова визначення схем" визначаються засоби SQL для визначення бази даних.

    У Розділі 7, "Мова модулів" визначаються моделі і процедури SQL.

    У Розділі 8, "Мова маніпулювання даними" визначаються оператори маніпулювання даними SQL.

    У Розділі 9, "Рівні" визначаються два рівні SQL і засіб підтримки цілісності. 3.2 Нотація

    Як синтаксичної нотації в цьому стандарті використовуються БНФ ( "Бекусовскіе нормальні форми" або "Форми Бекуса-Наура) з наступними розширеннями:

    Квадратні дужки ([]) позначають необов'язкові елементи.

    Три крапки (...) позначають елементи, які можуть повторюватися один або більше разів.

    Фігурні дужки (()) об'єднують послідовності елементів.

    У синтаксисі БНФ продукційні символ визначається як містить продукційні символ , якщо входить до розширення . Якщо містить , то міститься в . Якщо містить , то є "містить" продукційними символом для . 3.3 угоди

    Синтаксичні елементи цього стандарту визначаються в наступних термінах:

    Функція: короткий пропозицію про призначення елементу.

    Формат: БНФ-визначення синтаксису елементу.

    Синтаксичні правила: додаткові синтаксичні обмеження, яким повинен задовольняти елемент, що не виражені в БНФ.

    Загальні правила: послідовна специфікація ефекту виконання елементу.

    у синтаксичних правилах термін "повинен" визначає умови, яким повинен задовольняти будь-який варіант мови SQL, синтаксично відповідає стандарту. Мова SQL синтаксично відповідає стандарту, якщо відповідає та формат і синтаксичним правилам.

    У Загальних правилах термін "повинен" визначає умови, які перевіряються під час виконання операторів SQL. Якщо всі ці умови істинні, то оператор виконується успішно і в параметр SQLCODE встановлюється певний невід'ємне число. Якщо будь-яка з умов помилково, оператор не виконується успішно, не впливає на стан бази даних, і в параметр SQLCODE встановлюється певний реалізатором негативне число.

    У відповідній стандарту реалізації не потрібне виконання точної послідовності дій, визначених у Загальних правилах, але повинен досягатися той же ефект, що і при виконанні цієї послідовності. Термін "фактично" використовується в Загальних правилах для того, щоб виділити дії, результат яких може бути досягнутий у реалізації іншим способом.

    Термін "тривалий що зберігається об'єкт" використовується для характерізованія таких об'єктів, як <модуль> () і <схема> (), які створюються і знищуються за допомогою механізмів, визначених реалізатором.

    У цьому стандарті розділи починаються з нових сторінок з непарними номерами, і, починаючи з "Загальних елементів" Розділу 5 до "Мови маніпулювання даними" Розділу 8, підрозділи починаються з нової сторінки. Що виникають в результаті порожнечі несуттєві. 3.4 Відповідність

    У цьому стандарті визначаються відповідні мова SQL і реалізації SQL. Відповідний стандарту мова SQL повинен дотримуватися Формату БНФ і відповідних синтаксичних правил. Відповідна реалізація SQL повинна обробляти відповідний стандарту мова SQL у відповідності з термінами правилами.

    У реалізації, що проголошується відповідної SQL-DDL, повинен оброблятися SQL-DDL (<схема> ()) на рівні 1 або рівні 2.

    У реалізації, що проголошується відповідної SQL-DML, на рівні 1 або 2 рівні повинні оброблятися:

    Прямі виклики операторів мови маніпулювання даними SQL (<оператори SQL> ()) та/або

    Мова модулів (<модуль> ()) та/або

    один або більше з
    a) COBOL з вбудованим SQL (<програма на мові COBOL з вбудованим SQL> ());
    b) FORTRAN з вбудованим SQL (<програма на мові FORTRAN з вбудованим SQL> ());
    c) Pascal з вбудованим SQL (<програма на мові Pascal з вбудованим SQL> ());
    d) PL/1 з вбудованим SQL (<програма на мові PL/1 з вбудованим SQL> ()).

    У реалізації, що проголошується повністю відповідної SQL, має забезпечуватися на рівні 1 або рівні 2 відповідність SQL-DDL і відповідність SQL-DML.

    Відповідні стандарту реалізації можуть забезпечувати додаткові кошти або можливості, не спеціфіціруемие цим стандартом. Реалізація залишається відповідною стандарту, навіть якщо в ній забезпечуються користувача опції для обробки мови, який не відповідає стандарту SQL або для обробки мови, що відповідає стандарту мови SQL, що не відповідає стандарту чином.

    Під час проголошення відповідності цього стандарту повинно встановлюватися:

    Який з наступних типів відповідності проголошується:
    a) Повна відповідність SQL на рівні 1;
    b) Повна відповідність SQL на рівні 2;
    c) Відповідне SQL-DDL на рівні 1;
    d) Відповідне SQL-DDL на рівні 2;
    e) Відповідне SQL-DML на рівні 1;
    f) Відповідне SQL-DML на рівні 2.

    Які з наступних можливостей реалізовані:
    a) Пряма обробка операторів мови маніпулювання даними SQL;
    b) Мова модулів (<модуль> ());
    c) COBOL з вбудованим SQ (<програма на мові COBOL з вбудованим SQL> ());
    d) FORTRAN з вбудованим SQL (<програма на мові FORTRAN з вбудованим SQL> ());
    e) Pascal з вбудованим SQL (<програма на мові Pascal з вбудованим SQL> ());
    f) PL/1 з вбудованим SQL (<програма на мові PL/1 з вбудованим SQL> ()).

    Реалізовано чи засіб підтримки цілісності.

    Цей стандарт не визначає метод або час зв'язування прикладних програм і компонентів системи управління базами даних. 4. Поняття 4.1 Множини

    Безліч є неупорядкований набір різних об'єктів.

    Мультімножество є неупорядкований набір об'єктів, які не обов'язково різні.

    Послідовність є упорядкований набір об'єктів, які не обов'язково різні.

    Потужність набору є число об'єктів в цьому наборі. Якщо не зазначено протилежне, будь-який розділ може бути порожнім. 4.2 Типи даних

    Тип даних є безліч представимо значень. Логічне представлення значення є <літерал> (). Фізичне подання значення залежить від реалізації.

    Значення є примітивним у тому сенсі, що в цьому стандарті не виробляється логічне підрозділ значень. Значення може бути невизначеним значенням або не невизначеним значенням.

    Невизначена значення є визначається в реалізації залежне від типу спеціальне значення, відмінне ото всіх не невизначених значень цього типу.

    Не невизначений значення є або символьний рядок, або число. Символьна рядок і число - це незрівнянні значення. 4.2.1 Символьні рядки

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

    Всі символьні рядки порівнянні. Символьна рядок ідентична іншій символьної рядку, якщо і тільки якщо вона дорівнює цієї символьної рядку в відповідно до правил порівняння, визначеними в 5.11, "<Предикат порівняння> ()". 4.2.2 Числа

    Число - це або точне чисельне значення, або приблизне чисельне значення. Всі числа є порівнянними значеннями.

    Кожне точне чисельне значення має точністю і масштабом. Точність - це позитивне ціле число, яке визначає кількість значущих десяткових цифр. Масштаб - це невід'ємне ціле число. Масштаб 0 означає, що число є цілим. При масштабі N точне чисельне значення є ціле значення значущих цифр, помножене на 10 у степені N.

    Приблизні чисельні значення складаються з мантиси і порядку. Мантиса - це чисельне значення зі знаком, порядок - це ціле зі знаком, що визначає значимість мантиси. Приблизна чисельне значення має точністю. Точність це позитивне ціле число, що визначає число значущих двійкових цифр у мантиси.

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

    При присвоєння точного або приблизного чисельного значення елементу даних або параметром, що представляє приблизне чисельне значення, зберігає лідируючі значущі цифри наближення цього значення представляється в цільовому типі даних. Значення перетворюється таким чином, щоб отримати цільову точність. 4.3 Стовпці

    Стовпець є мультімножество значень, що може змінюватися в часі. Всі значення одного стовпця є значеннями одного типу і значеннями в одній таблиці. Значення стовпця - мінімальний елемент даних, які можуть бути обрані з таблиці, і мінімальний елемент даних, які можуть бути змінені.

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

    Іменований стовпець є стовпець іменованої таблиці або стовпець, який успадковує опис іменованого стовпця. Опис іменованого стовпця включає його ім'я. 4.4 Таблиці

    Таблиця є мультімножество рядків. Рядок є непорожній послідовність значень. Всі рядки однієї таблиці володіють однаковою потужністю і містять значення кожного стовпчика цієї таблиці. I-е значення кожного рядка таблиці є значенням i-ого стовпчика цієї таблиці. Рядок є мінімальним елементом даних, які можна занести в таблицю і видалити з таблиці.

    Ступінь таблиці є число стовпців цієї таблиці. У будь-який момент часу ступінь таблиці та ж, що і потужність кожної з її рядків, і потужність таблиці та ж, що і потужність кожного з її стовпців.

    Таблиця має опис. Цей опис включає опис кожного з стовпців таблиці.

    Базова таблиця є іменована таблиця, визначена через <визначення таблиці> (

    ). Опис базової таблиці включає її ім'я.

    породжена таблиця - це таблиця, породжена прямо або побічно з однієї або кількох інших таблиць шляхом обчислення <специфікації запиту> (). Значеннями породженою таблиці є значення визначальних таблиць при її породження.

    надається таблиця є іменована таблиця, визначена через <визначення подання> (). Опис представляється таблиці включає її ім'я.

    Таблиця є або змінною (updatable), або тільки читається. Операції занесення, модифікації і видалення допускаються для змінюваних таблиць і не допускаються для тільки що читаються таблиць.

    Згруповану таблиця є безліч груп, що породжуються в ході обчислення <розділу group by> (). Група - це мульти-безліч рядків, в яких всі значення стовпця (стовпців) групування рівні. Згруповану таблицю можна розглядати як набір таблиць. Множинні функції можуть застосовуватися до індивідуальних кортежу всередині згрупованої таблиці.

    Згруповані подання - це представляється таблиця, породжена з згрупованої таблиці. 4.5 Обмеження цілісності

    Обмеження цілісності визначають допустимі значення бази даних шляхом обмеження значень у базових таблицях.

    Обмеження цілісності фактично перевіряються після виконання кожного <оператора SQL> (). Якщо базова таблиця, асоційована з обмеженням цілісності, не задовольняє цього обмеження цілісності, то <оператор SQL> () не виконується, і в параметр SQLCODE встановлюється визначена у реалізації негативне число.

    <Визначення обмеження унікальності> () вимагає, щоб ніякі два рядки в таблиці не мали однакових значень у вказаному стовпці чи стовпцях.

    Специфікація NOT NULL вимагає, щоб ніякі значення в стовпці не були невизначеними значеннями.

    <Визначення обмеження посилань> () вимагає, щоб для кожного рядка однієї зазначеної таблиці -- "посилається таблиці" - значення вказаного стовпця або стовпців або включали як мінімум одне невизначений значення, або були б такими ж, як значення зазначеного стовпця або стовпців в деякій рядку інший зазначеної таблиці - "посилається таблиці". Що посилається таблиця може бути тією ж самою таблицею, що і посилається таблиця.

    <Визначення перевірочного обмеження> () вимагає, щоб вказане <умова пошуку> () не було помилково ні для якої рядки таблиці. 4.6 Схеми

    <Схема> () є довготривале що зберігається об'єкт, визначений на мові визначення схем. Він складається з <розподілу повноважень схеми> () і всіх <визначень таблиці> (

    ), <визначень подання> () і <визначень привілеїв> (), відомих системі для зазначеного <ідентифікатора повноважень> () в середовищі. Поняття середовища визначається в р?? алізації.

    Таблиці, подання та привілеї, визначені через <схему> (), розглядаються як "належать" або належні бути "створеними" <ідентифікатором повноважень> (), визначених для цієї схеми.

    Коментар: У реалізації можуть забезпечуватися засоби (такі, як DROP TABLE, DROP VIEW, ALTER TABLE і REVOKE), які дозволяють створювати, знищувати і модифікувати визначення таблиць, уявлень і привілеїв для даного <ідентифікатора повноважень> () в різні моменти часу. Однак у цьому стандарті розглядаються лише "схеми> (), що представляють визначення, які відомі системі в даний момент часу. 4.7 База даних

    База даних є набір всіх даних, визначених <схемами> () в середовищі. Поняття середовища є визначеним реалізацією. 4.8 Модулі

    <Модуль> () є довготривале що зберігається об'єкт, визначений на мові модулів. <Модуль> () складається з необов'язкового <ім'я модуля> (), <розділу мови> (), <розподілу повноважень модуля> (), нуля або більше курсорів, визначених через <оголошення курсору> () та однієї або більше <процедур> ().

    Прикладна програма є сегмент виконуваного коду, що містить, можливо, кілька підпрограм. Єдиний <модуль> () асоціюється з прикладною програмою протягом її виконання. Прикладна програма повинна бути асоційована з щонайбільше одним <модулем> (). Спосіб встановлення цієї асоціації, що включає можливе вимога виконання деякого визначеного в реалізації оператора, визначається в реалізації. 4.9 Процедури

    <Процедура> () складається з <імені процедури> (), послідовності <оголошень параметрів> () і одного <оператора SQL> ().

    Прикладна програма, асоційована з <модулем> (), може звертатися до <процедурам> () цього <модуля> () через оператор "call", в якому визначається <ім'я процедури> () цієї <процедури> () і задається послідовність значень параметрів, число і <тип даних> () яких відповідає <оголошенням параметрів> () цієї <процедури> (). Виклик <процедури> () призводить до виконання що міститься в ній <пропозиції SQL> (). 4.10 Параметри

    Параметр оголошується в <процедурі> () через <оголошення параметра> (). <Оголошення параметра> () визначає <тип даних> () свого значення. Параметр або приймає, або поставляє значення відповідного аргументу у виклику цієї <процедури> (). 4.10.1 Параметр SQLCODE

    Параметр SQLCODE - це спеціальний цілий параметр. Його значення встановлюється рівним коду стану, який або означає, що виклик <процедури> () завершився успішно, або, що протягом виконання <процедури> () виникла виняткова ситуація. 4.10.2 Параметр-індикатор

    Параметр-індикатор - це цілий параметр, який вказується після іншого параметра. Його основне призначення - показувати, чи може значення іншого параметра (приймається або поставляється) бути невизначеним значенням. 4.11 Стандартні мови програмування

    Стандарт визначає дії <процедур> () в <модулях> (), коли ці <процедури> () викликаються програмами, відповідними визначених стандартних мов програмування. Терміни "стандартна програма на мовою COBOL "," стандартна програма на мові FORTRAN "," стандартна програма на мові Pascal "і" стандартна програма на мові PL/1 "належать до програм, що відповідають критеріям відповідності стандартів, перелічених у розділі 2," Посилання ". 4.12 Курсори

    Курсор визначається через <оголошення курсору> (). Для кожного <оголошення курсору> () в <модулі> () курсор фактично створюється тоді, коли утворюється транзакція (див. 4.16, "Транзакції"), що посилається на цей <модуль> (), і знищується, коли ця транзакція завершується.

    Курсор знаходиться або в відкритому стані, або в закритому стані. Початковий стан курсору - закрите. Курсор переходить у відкритий стан через <оператор відкриття> () і повертається в закритий стан через <оператор закриття> (), <оператор фіксації> () або <оператор відкату> ().

    Курсор у відкритому стані визначає таблицю, порядок рядків у цій таблиці і позицію щодо цього порядку. Якщо <оголошення курсору> () не включає <розділ упорядкування> () або включає <розділ упорядкування> (), не повністю визначає порядок рядків, то рядки в таблиці мають порядок, повністю або частково визначений у реалізації.

    Всередині однієї транзакції, якщо порядок строк не визначено або не повністю визначений через <розділ упорядкування> (), відносна позиція двох рядків буде в загальному випадку одна й та ж при кожному відкритті курсору. Порядок може змінюватися від одного разу до іншого, якщо змінюються значення бази даних або значення параметрів, зазначених у <специфікації запиту> () в <оголошенні курсору> ().

    У різних транзакції, навіть коли значення бази даних і значення параметрів, зазначених у <специфікації запиту> (), однакові, порядок строк, який визначається однаковими <спеціфікаціейкурсора> () і <оператором відкриття> (), може бути різним.

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

    <Оператор читання> () просуває позицію відкритого курсор на наступний рядок в порядку цього курсору і вибирає значення стовпців цього рядка. <Оператор модифікації: позиційний> () змінює поточний рядок курсору. <Оператор видалення: позиційний> ( видаляє поточний рядок курсору.

    Якщо курсор встановлений перед деякої рядком, і новий рядок заноситься в цю позицію, то виникає за цим можливий вплив на позицію курсору, якщо й Тобто, визначається в реалізації.

    Якщо курсор встановлений на деяку рядок або перед деякої рядком, і цей рядок видаляється, то курсор встановлюється перед рядком, безпосередньо наступної за позицією віддаленої рядка. Якщо такий рядок не існує, то курсор встановлюється після останнього рядка.

    Якщо при виконанні <оператора SQL> (), що посилається на відкритий курсор, виникає помилка, то можлива дія цього на позицію або стан курсору визначається в реалізації.

    Робоча таблиця - це таблиця, яка виникає внаслідок відкриття курсору. Приводить чи відкриття курсору до створення робочої базової таблиці або робочої представляється таблиці, визначається в реалізації.

    Кожен рядок робочої представляється таблиці породжується тільки тоді, коли курсор позиціонується на цей рядок.

    Робоча базова таблиця створюється при відкритті курсору і знищується при закритті курсору. 4.13 Оператори

    <Оператор SQL> () визначає операцію над базою даних або операцію над курсором. <Оператор вибірки> (

    ). <Ім'я таблиці> (
    ) складається з <ідентифікатора повноважень> () і <ідентифікатора> (). <Ідентифікатор повноважень> () ідентифікує <схему> (), в якій були визначені таблиця або пред-ня, позначаються <ім'ям таблиці> (
    ). Таблиці та подання, визначені в різних <схемах> (), можуть мати однакові <ідентифікатори> ().

    Якщо посилання на <ім'я таблиці> (

    ) не містить явно <ідентифікатор повноважень> (), то за замовчуванням вказується <ідентифікатор повноважень> () містять <схеми> () або <модуля> ().

    <Ідентифікатор повноважень> () для <схеми> () володіє всіма привілеями по відношенню до таблиць і уявленнями, визначеним у цій <схемі> ().

    <Схема> () з даними "ідентифікатором повноважень> () може містити <визначення привілеїв> (), які передають привілеї іншим <ідентифікаторами повноважень> (). Надіслані привілеї можуть ставитися до таблиць і уявленнями, визначеним у поточній <схемі> (), або можуть бути привілеями, які були передані даному <ідентифікатором повноважень> () інший <схемою> (). Розділ WITH GRANT OPTION <визначення привілеї> () визначає, чи може одержувач привілеї передавати її іншим.

    <Модуль> () специфікує <ідентифікатор повноважень> , <ідентифікатор повноважень модуля> (), який повинен володіти привілеями, достатніми для виконання кожного <оператора SQL> () в <модулі> (). 4.16 Транзакції

    Транзакція є послідовність операцій, що включає операції над базою даних, атомарна по відношенню до відновлення і асинхронності. Транзакція починається, коли викликається процедура і ніяка транзакція в даний момент не активна. Транзакція закінчується при виконанні <оператора фіксації> () або <оператора відкату> (). Якщо транзакція завершується виконанням <оператора фіксації> (), всі зміни, внесені в базу даних цієї транзакцією робляться доступними для всіх асинхронно виконуваних транзакцій. Якщо транзакція завершується виконанням <оператора відкату> (), всі зміни, внесені в базу даних цієї транзакцією, анулюються. Зафіксовані зміни не можуть бути анульовані. Зміни, внесені до бази даних транзакцією, можуть сприйматися цієї транзакцією, але до тих пір, поки транзакція не завершиться виконанням <оператора фіксації> (), вони не можуть сприйматися іншими транзакціями.

    Гарантується серіалізуемость виконання асинхронних транзакцій. Серіалізуемое виконання визначається як виконання операцій асинхронно виконуваних транзакцій, яке виробляє те ж саме діяння, що і деякий послідовне виконання тих же самих транзакцій. Послідовне виконання - це таке виконання, при якому кожна транзакція повністю завершується перед початком виконання наступної транзакції.

    Виконання <оператора SQL> () усередині транзакції не надає жодних впливів на базу даних крім тих, що встановлені Загальними правилами для цього <оператора SQL> ().

    З цього спільно з гарантованим серіалізуемим виконанням транзакцій слід відтворюваність всіх операцій читання в транзакції, якщо не враховувати наступного:

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

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

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status