SQLBase 8.5: легкість поновлення

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


Введення


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


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


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


Застосування SQLBase 8.5 значно збільшує можливості бізнес-додатків за рахунок таких особливостей:



Нові можливості SQLBase 8.5


Множинні зовнішні об'єднання і синтаксис об'єднань SQL99


SQLBase 8.5 дозволяє скоротити час розробки за рахунок підтримки множинних зовнішніх об'єднань (multiple outer-joins). Чому це важливо? Це означає, що запити, що відповідають стандарту SQL99 ANSI, будуть працювати для всіх провайдерів баз даних, що підтримують цей стандарт. SQLBase 8.5 включає в себе повний синтаксис об'єднань ANSI/SQL99, в тому числі такі типи об'єднань, як inner join, natural join, right join, left join, full outer join. SQLBase 8.5 надає ці нові можливості в кращому стилі SQLBase – Економічно, інтелектуально і швидко. Крім того, SQLBase зберігає свої вимоги до пам'яті на низькому рівні, при цьому, дозволяючи виконувати сучасні складні запити з використанням повного синтаксису об'єднань ANSI, включаючи Multiple Outer Joins (множинні зовнішні об'єднання).


Нові можливості:



Що це реально означає?



Як це працює?


Будь-який клієнт, який взаємодіє з SQLBase 8.5, Може використовувати новий синтаксис об'єднань ANSI SQL99. Для демонстрації подібного використання компанія Gupta створила кілька прикладів роботи з інструментом SQLTalk і поставляється в якості прикладу базою даних Island.



  1. Застосування синтаксису об'єднань ANSI SQL99 може бути зроблена доступною під час установки SQLBase 8.5 або пізніше, використовуючи в конфігураційному файлі ключове слово ansijoinsyntax = 0 / 1. Значення параметра Ansijoinsyntax, рівне 0, означає, що SQLBase 8.5 працює в режимі зворотної сумісності і не допускає вживання синтаксису ANSI SQL99. Цей режим може застосовуватися, якщо замовник не бажає змінювати об'єкти своєї бази даних у випадку, коли вони містять деякі нові ключові слова, зарезервовані в SQLBase 8.5. Якщо ansijoinsyntax = 1, то можна використовувати переваги нового синтаксису об'єднань, наприклад, типи об'єднань natural join, join using і join on. У наведеній нижче таблиці перераховані ці чотири варіанти застосування нового синтаксису об'єднань у SQLBase 8.5 для простого об'єднання двох таблиць. Перша синтаксична послідовність використовує старий синтаксис об'єднань SQL89. Всі чотири вибраних твердження дають той самий результат. Це можна перевірити на прикладі роботи SQLTalk з базою даних Island.


















Вид об'єднання  SQL-пропозиція 
SQL89 Equal Join select * from company, invoice where company.company_id = invoice.company_id;
SQL99 Natural Join select * from company natural join invoice;
SQL99 Join Using Select * from company join invoice using (company_id);
SQL99 Join On Select * from company join invoice on company.company_id = invoice.company_id;


  1. Тип Outer Joins є активним, коли синтаксис ANSI SQL99 доступний для використання в SQLBase 8.5. Запити можуть містити будь-яку кількість типів Left Outer Join, Right Outer Joins, Full Outer Join та їх комбінацій. Для тестування нового синтаксису можна просто обробити відповідні запити інструментом SQLTalk в поєднанні з еталонною базою даних Island. У наведеному прикладі використовуються типи об'єднань natural join для скорочення зусиль по набору SQL-команд.















Вид зовнішнього об'єднання  

SQL-пропозиція Select 

Left Outer Join select company_name, cont_first_name, cont_last_name from company natural left outer join contact;
Right Outer Join select company_name, cont_first_name, cont_last_name from company natural right outer join contact;
Full Outer Join select company_name, cont_first_name, cont_last_name from company natural full outer join contact;


  1. Під Multiple Outer Joins мається на увазі довільне число комбінацій типів right outer joins, left outer joins і full outer joins. Нижче наведені приклади, засновані на еталонній базі даних Island. Запити, наведені в розташованій нижче таблиці, можна використовувати для тестування нового синтаксису в SQLTalk. При вживанні типів outer joins відбувається вилучення всіх рядків з об'єднаних таблиць, навіть у разі, коли в об'єднаній таблиці відсутні асоційовані рядка. Прикладом може служити запит про отримання даних про всіх клієнтів та їх замовленнях, включаючи тих клієнтів, які не мають замовлень. Пункти, що відповідають даним про замовлення, будуть порожні (значення NULL) для клієнтів, що не мають замовлень.


















Вид множинного зовнішнього об'єднання 

SQL-пропозиція Select  

Multiple Left Outer Join select company.company_name, invoice_date, amount_paid, item_no, style from company natural left outer join invoice natural left outer join invoice_item;
Multiple Right Outer Join select company.company_name, invoice_date, amount_paid, item_no, style from company natural right outer join invoice natural right outer join invoice_item;
Multiple Full Outer Join select company.company_name, invoice_date, amount_paid, item_no, style from company natural full outer join invoice natural left outer join invoice_item;
Mixed Multiple Outer Join select company.company_name, invoice_date, amount_paid, item_no, style from company natural full outer join invoice natural right outer join invoice_item;


  1. Nested Multiple Outer Joins є прикладом просунутого використання типів об'єднань Multiple Outer Joins. Для отримання у відповідь на запит бажаних результатів можна групувати об'єднані таблиці, використовуючи круглі дужки. Ув'язнені в дужки типи outer joins виконуються в першу чергу і можуть розглядатися як тимчасова таблиця, яка в кінцевому результаті буде об'єднана з таблицями, одержуваними в результаті обробки командних послідовностей поза дужками.















Вкладене множинне зовнішнє об'єднання 

SQL-пропозиція Select  

  select company.company_name, invoice_date, amount_paid, item_no, style from company natural full outer join (invoice natural full outer join invoice_item);
  select company.company_name, invoice_date, amount_paid, item_no, style from (company natural full outer join invoice) natural right outer join invoice_item;
  select company.company_name, invoice_date, amount_paid, item_no, style from (company natural full outer join invoice) natural full outer join invoice_item;

Множинні, ізольовані інсталяції SQLBase


Більш проста процедура установки скорочує витрачається на підтримку час. SQLBase є світовим лідером на ринку вбудованих баз даних. Через такої популярності в процесі установки СУБД у замовника можуть виникнути деякі складності, якщо його клієнти працюють з додатками, що використовують іншу версію SQLBase. Наприклад, користувачі деяких самих популярних програм для роботи з платіжними відомостями, персональними фінансовими ресурсами або програмного забезпечення для дрібнооптової поставки товарів (під всі ці програми, вбудована SQLBase) Можуть створити замовнику складності з установкою і підтримкою СУБД. Тепер ці труднощі залишилися у минулому. Будь-який додаток, що використовує SQLBase 8.5, Може бути встановлено без всяких складнощів з конфігуруванням. Додаток із вбудованою СУБД SQLBase 8.5 може працювати в повній ізоляції від існуючих старих інсталяцій SQLBase, Без будь-яких конфліктів з конфігураційним файлом SQL.INI або динамічними файлами SQLBase в рамках архітектури клієнт-сервер. Тепер додаток з вбудованою СУБД SQLBase може мати конфігураційний файл з довільним ім'ям, наприклад "yourinifile.ini". Файл SQL.INI більше не є необхідним. Клієнтські і серверна частини SQLBase 8.5 можуть використовувати будь-який заданий конфігураційний файл. Всі драйвера в SQLBase, Такі як JDBC, OLEDB, ODBC, а також постачальники даних. NET і інтерфейс SQLBase API підтримують конфігураційні файли з довільною назвою. SQLBase 8.5 забезпечує розгортання і успішну роботу додатків навіть тоді, коли цільова система має інший інсталяцією SQLBase, Навіть більш ранньої версії. Це унікальна властивість ще більше зменшує сукупну вартість володіння SQLBase, За рахунок значного скорочення зусиль на підтримку процесу установки додатків.


Нові можливості



Що це реально означає?



Як це працює? Покрокова інструкція


Нехай клієнт вже має на своєму комп'ютері встановлену СУБД SQLBase версії 8.1 або більш пізньої і бажає встановити ще один додаток, який має використовувати SQLBase 8.5. І нехай потрібно запустити одночасно, на одному комп'ютері і без будь-якого конфлікту в конфігураційних налаштуваннях, два додатки, одне з яких використовує SQLBase версії 8.1 або старше, а інше версію 8.5. У запропонованому нижче сценарії в якості програмного пакета для SQLBase 8.5 застосовується SQLTalk. SQLTalk використаний тільки як приклад того, як клієнтська програма може працювати в нових умовах множинних інсталяцій.



  1. Встановіть SQLBase 8.5 на комп'ютері, на якому вже встановлена SQLBase старішої версії. Після установки SQLBase 8.5 утворюються два каталоги, що містять інсталяцію SQLBase. Програма установки SQLBase 8.5 не дозволяє проводити встановлення поверх існуючої інсталяції SQLBase старішої версії. Під час інсталяції програма встановлення перевіряє, чи не використовується пропоноване користувачем ім'я сервера іншим сервером. Якщо ім'я сервера вже використовується, то користувачеві буде запропоновано ввести інше ім'я. На пропозицію програми установки запустити SQLBase відразу після інсталяції слід відповісти "ні", оскільки, перш ніж почати працювати з СУБД, слід змінити кілька параметрів налаштування.
  2. Використовуйте панель керування, щоб видалити змінну path в новій інсталяції SQLBase 8.5. За умовчанням ця змінна задана для сервера SQLBase 8.5 як "c: Program FilesGuptaSQLBase 8.5". У цьому випадку тільки програми, розплоджені в каталозі SQLBase 8.5, Будуть використовувати цю конфігурацію. Всі інші програми для SQLBase будуть використовувати стару інсталяцію. У даному прикладі в якості клієнтського додатку виступає SQLTalk.
  3. Після завершення установки SQLBase 8.5 змініть назву конфігураційного файлу "sql.ini" на "My.SQLBase85.Config”.
  4. Запустіть SQLBase Connectivity Administrator з меню запуску (start menu). Виберіть кнопку праворуч від шляху до "sql.ini", щоб змінити назву конфігураційного файлу.




Створення власних програм установки за допомогою продуктів пакету SQLBase 8.5 EDP


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


Ліцензії для множинних інсталяцій SQLBase



Покращення загальної продуктивності баз даних


Новий рівень продуктивності забезпечить зростання позитивної реакції з боку клієнтів. Задайтеся питанням: як багато останнім часом було отримано позитивних відгуків з боку клієнтів? Використання SQLBase 8.5 дозволить значно збільшити кількість подібних відгуків. Займає багато часу обробка складних запитів прискорена у SQLBase 8.5 за рахунок використання істотно вдосконаленого алгоритму сортування з виділенням кеш-пам'яті і нового механізму розподілу пам'яті. Таким чином, цілком очевидно, що використання SQLBase 8.5 викличе безсумнівну позитивну реакцію з боку клієнтів.


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


Нові можливості



Що це реально означає?


При переході від SQLBase 7.5 загальна продуктивність збільшиться на 40%, тоді як при переході з версії 8.1 ця різниця складе 10%. Запити, що виконують сортування (ORDER BY, GROUP BY), в більшості випадків будуть оброблятися більш ніж в 25 разів швидше (+2500%), а в деяких ситуаціях швидкість обробки зросте в 800 разів (+80000%). Крім того, число невдалих транзакцій в результаті конфлікту при блокуваннях скоротилося більш ніж на 30%.


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


Оновлені драйвери баз даних


Усі драйвери баз даних SQLBase були оновлені для підтримки нового синтаксису об'єднань ANSI SQL99. Можна продовжувати використовувати свої улюблені середовища розробки, такі як Visual Studio, Visual Studio.NET, Delphi або Java IDE, для створення використовують SQLBase додатків і користуватися всіма перевагами нового синтаксису об'єднань, включаючи множинні зовнішні об'єднання.


Нові можливості



Як це працює?


Під час інсталяції SQLBase 8.5 будуть встановлені оновлені драйвери. Ці драйвери доступні для завантаження з web-сайту компанії Gupta. Вони входять до складу пакету SQLBase Driver Pack, який можна знайти в розділі, присвяченому продуктів, представленим для скачування.


Плавний перехід до SQLBase 8.5


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



Нові можливості



Як це працює?


Дотримуючись розташованої нижче посиланням можна знайти керівництво по роботі з інструментом SQL Base 8.5 Keyword Checker.
Керівництво по роботі з SQLBase 8.5 Keyword Checker


Підтримка національних мов в SQLBase 8.5


У SQLBase 8.5 компанія Gupta надає вибір між двома типами поведінки підтримки національних мов (National Language Support, NLS). Налаштування NLS визначається в конфігураційному файлі новим параметром під назвою LimitNLSCompares. Цей параметр приймає значення 0 або 1. Під час установки за замовчуванням параметру задається значення рівне 1. Це означає, що SQLBase NLS буде вести себе таким же чином, як і в SQLBase версії 7.5.1 PTF1 і раніше. Якщо значення параметра дорівнює 0, SQLBase буде проводити порівняння і сортування подібно версії 7.5.1 PTF2 і пізніше.


Як це працює?


У SQLBase 7.5.1 PTF2 були внесені зміни в роботу NLS-баз даних відповідно до вимог замовників. Фактично, у версіях попередніх 7.5.1 PTF2 в секції # translate використовувалися тільки параметри order by і group by, а вміст цієї секції не впливало на процес порівняння. У версіях СУБД, що вийшли після 7.5.1-PTF1, вміст секції # translate стало впливати на процес порівняння. Деякі клієнти вважають правильним нове поведінка, тоді як інші вважають, що більш коректним є старе поведінка. У SQLBase 8.5 за бажанням можна вибрати будь-яке з двох типів поводжень за допомогою параметра LimitNLSCompares. Нижче, на прикладі реальних даних показано, як параметр LimitNLSCompares впливає на роботу бази даних.


Секція # translate файлу country.sql містить наступну послідовність:


A a
A a
U u
U u
u u


Нехай є таблиця ADR, яка містить один стовпець NAME зі значеннями:


Abt Rene
Aschbacher Kurt
Aze Angela
Marxer Petra
Muller Heinz
Muntz Sonja
select * from adr order by name;


Для випадку LimitNLSCompares = 1 результат сортування показаний вище. Якщо LimitNLSCompares = 0, то в результаті сортування рядок''Muller 'буде розміщена після' Muntz ', а''Aschbacher' буде переміщена в кінець списку.
select * from adr where name = "Aschbacher Kurt"; Повертається 1 рядок в обох випадках.
select * from adr where name like "M%"; Повертається 3 рядки в обох випадках.
select * from adr where name like "Mu%"; Повертається 1 рядок при LimitNLSCompares = 1 і 2 рядки для LimitNLSCompares = 0.
select * from adr where name like "A%"; Повертається 2 рядки при LimitNLSCompares = 1 і 3 рядка для LimitNLSCompares = 0.
select * from adr where name like 'A% "; Повертається 1 рядок при LimitNLSCompares = 1 і 3 рядка для LimitNLSCompares = 0.
У разі LimitNLSCompares = 0 посилальна цілісність дотримуватися не буде.


Що необхідно зробити для оновлення NLS-баз даних до SQLBase 8.5


Оновлення версій: До SQLBase 7.5.1 PTF 1 Після SQLBase 7.5.1 PTF1
LimitNLSCompares = 0 Вивантаження / Завантаження Вивантаження / Завантаження
LimitNLSCompares = 1 Автоматичне перетворення, вивантаження / завантаження не потрібна Вивантаження / Завантаження


SQLBase NLS Support Background



  1. Після запуску процес Support Backround зчитує файл sql.ini і запам'ятовує задану в ньому конфігурацію. Це є одноразовою перевіркою незалежно від параметрів настройки баз даних.
  2. Під час створення файлу start.dbs для формування індексів системного каталогу використовується лише параметр LimitNLSCompares. У принципі, це не є необхідним, оскільки в системному каталозі немає NLS-символів, проте хто знає, що може бути вміщено в секцію # translate файлу country.sql.
  3. Потім з файлу start.dbs створюється база даних. Коли індекси компонуються в таблицю, перевіряється значення параметра LimitNLSCompares, щоб визначити, чи потрібно використовувати параметри секції # translate під час перегляду.
  4. Після завершення процесу порівняння значення параметра LimitNLSCompares використовується для визначення належного порядку індексів.
  5. Якщо база даних була перетворена з версії 7.5.1 PTF2 або пізніше, то індекси будуть мати порядок, який визначається установкою LimitNLSCompares = 0, тобто уже з огляду на значення параметрів секції # translate. Для того, щоб використовувати значення LimitNLSCompares = 1, необхідно компонувати заново всі індекси (або вивантажити / завантажити базу даних, що рекомендується в обох випадках).
  6. Якщо база даних була перетворена з версії 7.5.1 PTF1 або раніше, то індекси будуть мати порядок, який визначається установкою LimitNLSCompares = 1, тобто не враховуючи значення параметрів секції # translate. Для того, щоб використовувати значення LimitNLSCompares = 0 необхідно компонувати заново всі індекси (або вивантажити / завантажити базу даних).

Додаткова література про SQLBase 8.5


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


Огляд довідкових посібників з SQLBase 8.5




























Введення в нові можливості SQLBase 

Надається докладна інформація про всі нові можливості SQLBase 8.5 

SQLBase: Керівництво для початківців  
Підключення до SQLBase   
Керівництво адміністратора баз даних SQLBase  Тут міститься докладна інформація про множинних інсталяціях
Програмний інтерфейс для SQLBase SQL   
Мова посилань SQLBase SQL Посібник містить опис синтаксису оператора join SQL99, включаючи множинні зовнішні об'єднання
Керівництво по SQLConsole  
SQLBase для досвідчених користувачів  


Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*