Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
all.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
4.43 Mб
Скачать
  1. Субд ms sql Server 2005/2008. Переваги та недоліки. Огляд версій та редакцій

4. Переваги та недоліки

4.1. Переваги

4.1.1. Незалежність від конкретної субд

Незважаючи на наявність діалектів і відмінностей в синтаксисі, в більшості своїй тексти SQL-запитів, що містять DDL і DML, можуть бути досить легко перенесені з однієї СУБД в іншу. Існують системи, розробники яких спочатку орієнтувалися на застосування щонайменше кількох СУБД (наприклад: система електронного документообігу Documentum може працювати як з Oracle, так і з Microsoft SQL Server і IBM DB2). Природно, що при застосуванні деяких специфічних для реалізації можливостей такої переносимості добитися вже дуже важко.

4.1.2. Наявність стандартів

Наявність стандартів і набору тестів для виявлення сумісності і відповідності конкретній реалізації SQL загальноприйнятому стандарту тільки сприяє "стабілізації" мови. Правда, варто звернути увагу, що сам по собі стандарт місцями занадто формалізований і роздутий в розмірах (наприклад, Core-частину стандарту SQL: 2003 є більше 1300 сторінок тексту).

4.1.3. Декларативність

За допомогою SQL програміст описує тільки те, які дані потрібно витягнути або модифікувати. Те, яким чином це зробити, вирішує СУБД безпосередньо при обробці SQL-запиту. Однак не варто думати, що це повністю універсальний принцип - програміст описує набір даних для вибірки або модифікації, проте йому при цьому корисно уявляти, як СУБД розбиратиме текст його запиту. Чим складніше сконструйований запит, тим більше він допускає варіантів написання, різних за швидкістю виконання, але однакових за підсумковим набору даних.

4.2. Недоліки

4.2.1. Невідповідність реляційної моделі даних

Творці реляційної моделі даних Едгар КоддКрістофер Дейт та їх прихильники вказують на те, що SQL не є істинно реляційних мовою. Зокрема, вони вказують на наступні проблеми SQL [8] :

  • Повторювані рядки

  • Невизначені значення (nulls)

  • Явна вказівку порядку колонок зліва направо

  • Колонки без імені і дублюються імена колонок

  • Відсутність підтримки властивості "="

  • Використання покажчиків

  • Висока надмірність

В опублікованому Крістофером Дейта і Х'ю Дарвеном Третьому Маніфесті [9] вони викладають принципи СУБД наступного покоління і пропонують мовуTutorial D, який є справді реляційних.

4.2.2. Складність

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

4.2.3. Відхилення від стандартів

Незважаючи на наявність міжнародного стандарту ANSI SQL-92, багато компаній, що займаються розробкою СУБД (наприклад, OracleSybaseMicrosoft,MySQL AB), вносять зміни в мову SQL, застосовуваний в розробляється СУБД, тим самим відступаючи від стандарту. Таким чином, з'являються специфічні для кожної конкретної СУБД діалекти мови SQL.

4.2.4. Складність роботи з ієрархічними структурами

Раніше діалекти SQL більшості СУБД не пропонували способу маніпуляції деревовидними структурами. Деякі постачальники СУБД пропонували свої рішення (наприклад, Oracle використовує вираз CONNECT BY). В даний час в ANSI стандартизована рекурсивна конструкція WITH з діалекту SQL DB2. В MS SQL Serverрекурсивні запити з'явилися лише у версії MS SQL Server 2005.

5. Утіліті SQL Server

Сімка утиліт

Майкл пише, що MS SQL Server розпорядженні потужними графічними інструментальними засобами управління, але має також багато не так широко відомих утиліт командного рядка, які Ви можете використовувати у сценаріях оболонки Windows NT або VBSCRIPT, для управління SQL сервером. Ось - його поради для семи найбільш часто використовуваних утиліт MS SQL Server, які входять в поставку MS SQL Server 2000 і 7.0:

7. Консольні команди Net Start і Net Stop MSSQLServer дозволяють запускати і зупиняти сервіси MS SQL Server з командного рядка. Ви можете додавати ці команди у власні сценарії або командні файли, щоб автоматично перезапускати сервер баз даних.

6. Bulk Copy Program (BCP) - призначена для завантаження / імпорту даних в MS SQL Server або для їх експорту. Хоча автор не використовує bcp, а воліє Data Transformation Services (DTS) зі складу MS SQL Server 7.0, bcp (на його думку) залишається однією з корисних можливостей передачі даних. Опис синтаксису цієї утиліти дуже докладно представлено в BOL.

5. Команда ODBCCMPT встановлює рівень сумісності ODBC для користувальницького додатка. Ця утиліта особливо корисна, коли Ви використовуєте версію 3.x ODBC драйвера, але необхідно забезпечити підключення до MS SQL Server 2000 або 7.0 з користувальницького додатка через ODBC драйвер версії 2.x. Для підтримки сумісності з MS SQL Server 6.x, Ви можете використовувати odbccmpt з ключем / v: 6. Синтаксис команди - odbccmpt file_name / v: version_number

4. Утиліта ITWIZ дозволяє запускати Index Tuning Wizard MS SQL Server з командного рядка.

3. ISQL і OSQL утиліти дозволяють виконувати окремі інструкції SQL, а також SQL скрипти, збережені у файлах - сценаріях. Однак isql використовує урізану DB-Library для з'єднання з MS SQL Server. Потрібно завжди пам'ятати, що osql працює через ODBC. Нижче приведений синтаксис osql, який задає виконання запиту, а результат виводить у файл:

osql / S Server_name / U user / P password / Q query / o output_file

2. Утиліта DTSWIZ запускає DTS Import / Export Wizard з сценарію NT або файлу VBSCRIPT. Наявні строкові параметри дозволяють Вам не виводити діалогові вікна майстра, задаючи необхідну інформацію з командного рядка.

1. Утиліта командного рядка DTSRUN запускає обслуговування DTS пакетів. Використання dtsrun в завданнях за розкладом MS SQL Server надає Вам відмінну можливість регулярно обробляти DTS пакети. Ви можете зберігати пакети DTS в базі даних msdb, структурованому COM файлі або Microsoft repository. Щоб обробити DTS пакет, збережені в msdb, використовуйте наступний синтаксис:

dtsrun / S Server_name / U user / P password / N package_name

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]