127

Системи керування Базами Даних

Контрольная

Информатика, кибернетика и программирование

Microsoft SQL Server — комерційна система керування базами даних, що розповсюджується корпорацією Microsoft. Мова, що використовується для запитів — Transact-SQL, створена спільно Microsoft та Sybase. Transact-SQL є реалізацією стандарту ANSI/ISO щодо структурованої мови запитів (SQL) із розширеннями. Використовується як для невеликих і середніх за розміром баз даних, так і для великих баз даних масштабу підприємства. Багато років вдало конкурує з іншими системами керування базами даних.

Русский

2012-11-14

61 KB

21 чел.

План

  1.  Вступ в MS SQL.
  2.  Створення транзакції. Іменовані транзакції.

Приклади.

  1.  Висновок.

  1.  Вступ до MS SQL.

Microsoft SQL Server — комерційна система керування базами даних, що розповсюджується корпорацією Microsoft. Мова, що використовується для запитів — Transact-SQL, створена спільно Microsoft та Sybase. Transact-SQL є реалізацією стандарту ANSI/ISO щодо структурованої мови запитів (SQL) із розширеннями. Використовується як для невеликих і середніх за розміром баз даних, так і для великих баз даних масштабу підприємства. Багато років вдало конкурує з іншими системами керування базами даних.

Базовий код MS SQL Server (до версії 7.0) ґрунтувався на коді Sybase SQL Server. Це дозволило Microsoft вийти на ринок баз даних для підприємств, де конкурували Oracle, IBM, і, пізніше, сама Sybase. Microsoft, Sybase і Ashton-Tate спочатку об'єдналися для створення і випуску на ринок першої версії програми, що отримала назву SQL Server 1.0 для OS/2 (близько 1989 року), яка фактично була еквівалентом Sybase SQL Server 3.0 для Unix, VMS та ін. Microsoft SQL Server 4.2 був випущений у 1992 році та входив до складу операційної системи Microsoft OS/2 версії 1.3. Офіційний реліз Microsoft SQL Server версії 4.21 для ОС Windows NT відбувся одночасно з релізом самої Windows NT (версії 3.1). Microsoft SQL Server 6.0 був першою версією SQL Server, створеною виключно для архітектури NT і без участі в процесі розробки Sybase.

До того часу, як вийшла на ринок ОС Windows NT, Sybase і Microsoft розійшлися та створювали вже власні моделі цього програмного продукту. Microsoft намагалася отримати виняткові права на всі версії SQL Server для Windows. Пізніше Sybase змінила назву свого продукту на Adaptive Server Enterprise щоб уникнути плутанини з Microsoft SQL Server. До 1994 року Microsoft отримала від Sybase три повідомлення про авторські права як натяк на походження Microsoft SQL Server.

Після розділення компанії зробили декілька самостійних релізів програм. SQL Server 7.0 був першим сервером баз даних зі справжнім графічним інтерфейсом адміністрування. Для усунення претензій з боку Sybase у порушенні авторських прав, весь успадкований код в сьомій версії був переписаний. Це забезпечило також й успіх SQL Server 2000, який був першою редакцією, орієнтованою на архітектуру IA-64.

Протягом подальших шести років корпорація Microsoft працювала над вдосконалення вже існуючої версії SQL Server 2000 доки не збудувала більш зручну систему Microsoft SQL Server 2005. Були вдосконалені продуктивність, кліентські інструменти інтегрованого середовища розробки, а також у декількох додаткових системах, що встановлюються разом із SQL Server 2005. Змінено: інтсрументарій процесів керування сховищами даних (SQL Server Integration Services або SSIS), серевер звітів, сервер OLAP та інтелекутального аналізу даних (Analysis Services), а також декілька технологій повідомлень, особливо Service Broker та Notification Services.

Microsoft SQL Server в якості мови запитів використовує версію SQL, що отримала назву TRANSACT-SQL (скорочено T-SQL), яка є реалізацією SQL-92 (стандарт ISO для SQL) з багатьма розширеннями. T-SQL дозволяє використовувати додатковий синтаксис процедур, що зберігаються і забезпечує підтримку транзакцій (взаємодія бази даних з керуючим застосунком). Microsoft SQL Server та Sybase ASE для взаємодії з мережею використовують протокол рівня застосунка під назвою Tabular Data Stream (TDS, протокол передачі табличних даних).

Microsoft SQL Server також підтримує Open Database Connectivity (ODBC) — інтерфейс взаємодії застосунків з СУБД. Версія SQL Server 2005 надає можливість підключення користувачів через веб-сервер-сервіси, що використовують протокол SOAP. Це дозволяє клієнтським програмам, не призначеним для Windows, кроссплатформенно з'єднуватися з SQL Server. Microsoft також випустила сертифікований драйвер JDBC, що дозволяє застосункам під керування Java (таким як BEA і IBM Websphere) з'єднуватися з Microsoft SQL Server 2000 і 2005.

SQL Server підтримує дзеркалювання та кластеризацію баз даних. Кластер серверу SQL — це сукупність однаково конфігурованих серверів; така схема допомагає розподілити робоче навантаження між декількома серверами. Усі сервера мають одне віртуальне ім'я, а дані розподіляються за IP-адресами машин кластеру протягом робочого циклу. Також у разі відмови або збою на одному з серверів кластеру доступне автоматичне перенесення навантаження на інший сервер.

SQL Server підтримує надлишкове дублювання даних за трьома сценаріями:

  •  Знімок: Виконується «знімок» бази даних, який сервер відправляє одержувачам.
  •  Історія змін: Всі зміни бази даних безперервно передаються користувачам.
  •  Синхронізація з іншими серверами: Бази даних декількох серверів синхронізуються між собою. Зміни усіх баз даних відбуваються незалежно на кожному сервері, а під час синхронізації відбувається звірка даних. Дублювання такого типу передбачає можливість вирішення протиріч між базами даних.

SQL Server 2005 має вбудовану підтримку .NET Framework. Завдяки цьому, процедури бази даних, що зберігаються, можуть бути написані на будь-якій мові платформи .NET з використанням повного набору бібліотек, доступних для .NET Framework. На відміну від інших процесів, .NET Framework виділяє додаткову пам'ять і будує засоби керування SQL Server, не використовуючи вбудовані засоби Windows. Це підвищує продуктивність порівняно із загальними алгоритмами Windows, оскільки алгоритми розподілу ресурсів спеціально налагоджені для використання у структурах SQL Server.

  1.  Створення транзакції. Іменовані трансакції. Приклади.

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

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

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

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

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

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

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

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

СУБД MS SQL Server підтримує три види транзакцій :

- явне;

- автоматичне;

- що мається на увазі.

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

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

SET IMPLICIT_TRANSACTIONS OFF

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

SET IMPLICIT_TRANSACTIONS ON

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

- Початок транзакції. Щоб відкрити транзакцію, запит повинен починатися з команди:

BEGIN TRAN[SACTION]

[ім'я_транзакції |

@ім'я_змінної_транзакції

[WITH MARK ['опис_транзакції']]]

- Кінець транзакції. Якщо в процесі обробки запиту, не було помилок те кінець транзакції вказує серверу зафіксувати внесені зміни і закрити з'єднання з базою даних. Кінець транзакції визначається за допомогою команди:

COMMIT [TRAN[SACTION]

[ім'я_транзакції |

@ім'я_змінної_транзакції]]

- Якщо в процесі виконання команд усередині транзакції необхідно створити точку збереження, використовують команду:

SAVE TRAN[SACTION]

{ім'я_точки_сохранеия |

@ім'я_змінної_точки_збереження}

- Щоб перервати транзакцію і відкотити результати виконання команд на зміну даних в базі даних, використовують команду:

ROLLBACK [TRAN[SACTION]

[ім'я_транзакції |

@ім'я_змінної_транзакції

| ім'я_точки_збереження

|@ім'я_змінної_точки_збереження]]

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

Використовуючи функцію @@TRANCOUNT, можна упізнати кількість активних транзакцій. Щоб упізнати рівень вкладеності транзакції, використовують функцію @@NESTLEVEL.

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

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

Приклад вкладених транзакцій в СУБД MS SQL Server :

BEGIN TRAN

INSERT Товар (Назва, залишок)

VALUES ('v ', 40)

BEGIN TRAN

INSERT Товар (Назва, залишок)

VALUES ('n ', 50)

BEGIN TRAN

INSERT Товар (Назва, залишок)

VALUES ('m ', 60)

ROLLBACK TRAN

Приклад транзакції в MS SQL Server : одночасно в обидві таблиці треба додати новий запис з табельним номером 5. Для цього в MS SQL Server створюємо запит і запускаємо його:

BEGIN TRANSACTION

INSERT СПІВРОБІТНИКИ (TAB) VALUES (5)

INSERT ВІДПРАЦЬОВАНЕ (TAB) VALUES (5)

IF @@ERROR = 0

COMMIT

ELSE

ROLLBACK //відкат

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

Цю транзакцію можна записати в процедуру, яку також можна викликати для виконання, :

CREATE PROCEDURE TRANZ

AS BEGIN

BEGIN TRANSACTION

INSERT СПІВРОБІТНИКИ (TAB) VALUES (11)

INSERT ГОДИННИК (TAB) VALUES (11)

IF @@ERROR = 0

COMMIT

ELSE

ROLLBACK

END

3. Висновок.

MS SQL Server є потужним повнофункціональним сервером баз даних, що відрізняється високою продуктивністю, швидкістю освоєння і зручним інтерфейсом адміністрування. Під його управлінням можуть працювати бази даних в широкому діапазоні від рівня середньої ланки підприємства до розподілених баз масштабу корпорації. Доступ до MS SQL Server можливий з великого числа засобів розробки клієнтських front - end, настільних баз цих і офісних продуктів. MS SQL Server спочатку орієнтований на інтеграцію з іншими серверами MS BackOffice, що дозволяє безпосередньо охопити рішення комплексних завдань автоматизації зберігання і обробки інформації, електронної пошти і документообігу, побудови Internet/intranet застосувань і т. д. MS SQL Server працює в як в традиційних клієнт-серверних платформах, так і в багаторівневих середовищах. Одним з основних інструментів при створенні розподілених багатокомпонентних застосувань є Microsoft Transaction Server.

4.Список використаної літератури.

  1.  Системи Управління Базами Даних #1/97 стор. 30-50. А.В. Шуленин.
  2.  Microsoft SQL Server 6.5. Комплект документації.
  3.  Шуленин А. "Microsoft SQL Server і активний Internet".
  4.  Грег Мэйбл, Шарон Бьелетич. Microsoft SQL Server 2000. Енциклопедія користувача. - М.: Диасофт, 2001. 688 с.
  5.  Пирогів В. Ю. MS SQL Server 2000: управління і програмування. - СПб: BHV -Санкт-Петербург, 2004, 608 с.
  6.  Дэвидсон Л. Проектування баз даних на SQL Server 2000. - М.: Лабораторія Базових Знань, 2003, 680 с.
  7.  Ребека М. Риордан. Програмування в Microsoft SQL Server 2000. Крок за кроком. - М.: Эком, 2002. 608 с.


 

А также другие работы, которые могут Вас заинтересовать

68572. Система научно-методической работы учебного учреждения как основа построения и реализации индивидуальной траектории профессионального развития педагога 75 KB
  Система научно-методической работы учебного учреждения как основа построения и реализации индивидуальной траектории профессионального развития педагога На современном этапе организации учебно-воспитательного процесса самым важным есть личность педагога его развитие его профессионализм.
68573. Розвиток творчого потенціалу педагога в системі науково-методичної роботи школи 83 KB
  У статті розглянуто проблему формування творчого потенціалу педагога у системі науковометодичної роботи школи. У цьому зв’язку виникає проблема вивчення розвитку і використання творчого потенціалу особистості актуалізується необхідність побудови та реалізації освітнього процесу що створює...
68574. Роль контролю, оцінювання та стимулювання навчальної діяльності у підвищенні її результативності та розвитку творчої активності учнів 217 KB
  Мета: на основі узагальнення досвіду, вивчення психолого-педагогічної літератури виявити основні причини неуспішності школярів та способи вирішення даної проблеми; з’ясувати, як впливають умови уроку на створення комфортних умов для самореалізації та самовдосконалення особистості учня й забезпечення...
68575. Найбільш типові помилки у роботі вчителів та шляхи їх подолання 536.5 KB
  Недосконалість сформованої етичної компетентності фахівця призводить до того що майбутній учитель не може правильно обрати тактику своєї поведінки. Учитель дуже тихо говорить окремі слова вимовляє нечітко учням важко стежити за ходом розповіді. Готуючись до уроку кілька разів запишіть пояснення...
68576. Інтерактивні технології — шлях до формування творчої особистості учнів 132 KB
  Мета: сприяти усвідомленню необхідності прийомів інтерактивного навчання на уроках, підвищуючи мотивацію учнів до навчання; спільно працювати над формуванням навичок співпраці, обговоренням спільного вирішення проблем. Обладнання: фліп-чат, стікери, кошик із шкільними речами, ноутбук, слайди.
68577. Обдарована дитина – обдарований учитель: суб’єкт-суб’єктний діалог 87 KB
  Ведучий 1. Шановні колеги! Вітаємо вас на нашому аукціоні, який складатиметься з двох частин: презентаційної та практичної. Сьогодні він присвячений актуальній темі «Обдарована дитина – обдарований учитель: суб’єкт-суб’єктний діалог». Ведучий 2. Щоб отримати квиток на участь у купівлі цінних паперів...
68579. ВПРОВАДЖЕНЯ ЕЛЕМЕНТІВ ЕТНОПЕДАГОГІКИ У НАВЧАЛЬНО-ВИХОВНИЙ ПРОЦЕС ЛНВК ІМ. В. СТУСА 125 KB
  Обов’язковим пунктом у планах перебування іноземних учнівських делегацій є відвідання майстеркласів з українського мистецтва. Досвід проведення майстеркласів з іноземними учнями послужив поштовхом до створення фолькпроекту Духовна скарбниця.
68580. Учитель – це не професія, це – життєве кредо 526 KB
  Робота школи як експериментального навчального закладу за темою Формування інформаційного ландшафту та траєкторії навчальнопізнавальної діяльності учнів початкової школи у процесі вивчення інформаційних технологій англійською мовою в умовах сільської школи у контексті всеукраїнського експерименту...