127

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

Контрольная

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

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

Русский

2012-11-14

61 KB

22 чел.

План

  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 с.


 

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

7289. Комунікативна діяльність людини 84.5 KB
  Комунікативна діяльність людини Мовне спілкування в еволюції людини. Відмінності комунікації людей і тварин. Гіпотези про походження мови. І. Мовне спілкування в еволюції людини. Чарльз Дарвін назвав людину дивом і славою сві...
7290. Точка в системі трьох площин проектування 402 KB
  Точка в системі трьох площин проектування При виконанні комплексних креслень у ряді випадків буває недостатньо зображень на двох площинах проекцій, тому доводиться будувати третю проекцію. Введемо в систему П1П2 ще одну перпендикулярну площину - про...
7291. Відносини власності в економічному житті суспільства 130.96 KB
  Тема 5. Відносини власності в економічному житті суспільства Власність як економічна та юридична категорія. Її сутність, форми місце в економічній cистемі. Права власності. Еволюція форм власності. Сучасні форми приватної власності. Суспільна власні...
7292. Докази і доказування у кримінальному процесі 88.49 KB
  Докази і доказування у кримінальному процесі ПЛАН: Вступ 1. Поняття, сутність та значення кримінально-процесуального доказування. 2. Предмет і суб’єкти кримінально-процесуального доказування. 3. Процес доказування у кримінальному судочинстві. 4...
7293. Основи організації і проведення заходів щодо надання допомоги потерпілим та життєзабезпечення населення 57 KB
  Тема: Основи організації і проведення заходів щодо надання допомоги потерпілим та життєзабезпечення населення. План: Мета і зміст рятувальних і невідкладних робот (РНР) Перша медична допомога Карантин і обсервація. Мета і з...
7294. Міжнародно-правове регулювання праці 75.5 KB
  Міжнародно-правове регулювання праці. План 1.Поняття та розвиток міжнародно-правового регулювання праці. 2. Всесвітні (універсальні) міжнародні стандарти праці. 3. Міжнародна організація праці та її нормотворча діяльність. 4. Європейські...
7295. Эмоции и психические состояния личности 113.5 KB
  Эмоции и психические состояния личности Вопросы для обсуждения: Общее понятий об эмоциях и чувствах. Характеристика основных форм переживаний человека. Классификация эмоций и чувств Понятие и значение психологических защит в адаптации че...
7296. Відносини власності. Тенденції розвитку відносин власності в Україні 540.5 KB
  Відносини власності План лекції Власність як економічна категорія. Структура власності, її типи, види і форми. Власність на засоби виробництва. Тенденції розвитку відносин власності в Україні. На самостійне опрацювання...
7297. Психологічні особливості підліткового віку 104 KB
  Психологічні особливості підліткового віку Загальна характеристика ситуації та особливостей розвитку підлітків Стосунки з однолітками та дорослими Розвиток пізнавальних процесів Формування особистості підлітка ЗАГАЛЬНА ХАРАК...