127

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

Контрольная

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

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

Русский

2012-11-14

61 KB

24 чел.

План

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


 

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

32156. Модели стратегического менеджмента 27 KB
  Модели стратегического менеджмента Одно из классических образных представлений о стратегическом мышлении в отличие от других видов мышления сделано К. В соответствии с моделью укрупненными являются следующие три этапа или фазы стратегического цикла организации: 1 стратегический анализ; 2 разработка стратегии стратегический синтезразвитие; 3 реализация стратегии. Отметим что рассматриваемая модель характеризует стратегическое управление организации и как органичную систему. В рамках предлагаемой модели стратегический...
32157. Анализ внешней среды организации. SWOT-анализ и PEST 38 KB
  Анализ внешней среды организации. К особенностям целевого SWOТ анализа при исследовании внешней среды организации относятся следующие. Вовторых анализ сильных и слабых сторон организации на втором этапе желательно увязывать с соответствующими результатами которые были выявлены и зафиксированы на первом этапе. Но и ценность любого тщательно просчитанного оптимального решения если оно появляется слишком поздно становится равной нулю На основании последовательного рассмотрения этих факторов принимаются решения по корректировке целей и...
32158. Анализ внутренней среды организации. SNW-анализ 26.5 KB
  Анализ внутренней среды организации. SNWанализ Исследование внутренней среды организации как части стратегического анализа представляет отдельный блок. Анализ внутренней среды организации осуществляемый во имя ее стратегических целей так же как и стратегический анализ внешней среды должен быть системным и многофакторным. При стратегическом анализе вся внутренняя среда организации и ее отдельные подсистемы и компоненты рассматриваются как стратегический ресурс развития организации.
32159. Стратегические беседы. Первичный формат сценарного планирования 27 KB
  Стратегические беседы Особую роль в становлении высокой стратегической культуры организации может сыграть система так называемых стратегических бесед strtegic converstions. Один из результативных способов построения системы стратегических бесед это проведение в организации серии беседдиалогов между соответствующими менеджерами и специалистами в процессе освоения и или развития метода сценарного планирования. Сценарный метод был разработан для того чтобы в коммерческой организации сформировать некоторое общее понимание...
32160. Восемь шагов методики сценарного планирования по П. Шварцу 30.5 KB
  Первый критерий это важность каждого фактора для принятия стратегических решений уровня шага 1. Второй критерий степень неопределенности по факторам уровней шага 3 и шага 2 для решения стратегических вопросов уровня шага 1. 5Выявление логики каждого сценария Результатом данного шага должны стать так называемые логические стержни т. суть в том чтобы выйти на относительно небольшое число сценариев которые являются действительно существенно разными по критерию содержания решений принимаемых по стратегическим вопросам уровня шага 1.
32161. Министратегии организации 26.5 KB
  Министратегии организации Министратегия организации состоит из трех элементов: миссии целей и стратегических приоритетов. Миссия это главная цель организации которая может быть сформулирована в относительно общем виде но при этом обязана достаточно четко выражать основную причину существования именно данной организации. Цели должны полностью раскрывать целевой аспект всей деятельности организации. В результате своеобразного синтеза стратегических целей организации и системы приоритетов по ее ресурсам получается система стратегических...
32162. Определение миссии, цели, стр. приоритетов организации 28.5 KB
  приоритетов организации С помощью министратегии выстраивается простейший так называемый управленческий мост от стратегии организации к ее тактической деятельности. Миссия это главная цель организации которая может быть сформулирована в относительно общем виде но при этом обязана достаточно четко выражать основную причину существования именно данной организации. Миссия стратегического управления организации это ее наиболее общая цель. Конкретная формулировка миссии утверждается руководством организации.
32163. Понятие о продуктово-маркетинговой стратегии организации 25 KB
  Понятие о продуктовомаркетинговой стратегии организации Продуктовомаркетинговая стратегия это подсистема стратегии организации которая нацелена на анализ разработку и принятие стратегических решений по номенклатуре ассортименту качеству и объему производства продуктов а также реализации продуктов на соответствующих рынках. Продуктовомаркетинговая стратегия представляет собой ключевую стратегию выживания спокойного существования экономического роста крупного успеха организации. 2 Классификатора: Классификатор по продукту1 ...
32164. Продуктовый профиль. SWOT и SNW анализ по продукту 405 KB
  Важнейшая задача реального менеджмента и она же составляет ключевой элемент продуктовомаркетинговой стратегии программы это оптимизация продуктовой программы организации на текущий год и заданную стратегическую перспективу. Применяя при работе над продуктовым профилем конкретной организации предложенные трафареты рекомендуется использовать максимум конкретных данных а также иной формализованной и неформализованной информации по продукту которая должна готовиться заранее и представляться соответствующими службами организации. При...