Налаштування обладнання та програмного забезпечення

Системи управління базами даних та підтримки інформаційних сховищ (IBM DB2). Вступ до IBM DB2

Надіслати свою гарну роботу до бази знань просто. Використовуйте форму, розташовану нижче

Студенти, аспіранти, молоді вчені, які використовують базу знань у своєму навчанні та роботі, будуть вам дуже вдячні.

Розміщено на http://www.allbest.ru/

Мінський інститут управління

Кафедра автоматизованих інформаційних систем

Звіт про проходження загальноінженерної практики

Терміни проходження практики: з 19.11.2012 до 16.12.2012

Студент групи 111201-з

І.М. Вайтович

Керівник старший

Т.В. Русак викладач,

магістр технічних наук

Розміщено на Allbest.ru

Приватний заклад освіти

Мінський інститут управління

Факультет: інженерно-інформаційний

Кафедра: автоматизованих інформаційних систем

Спеціальність: 1-40 01 02 - Інформаційні системи та технології (за напрямками)

Індивідуальне завдання на загальноінженерну практику студенту Хоботової Анастасії Михайлівні групи №111201з

1. Тема реферату:

Система управління базами даних IBM DB2.

2. Індивідуальне завдання:

4. Календарний графік:

Найменування заходів навчальної (загальноінженерної) практики

Строки проведення

Організаційні збори з ОІП

Отримання індивідуального завдання на практику

11.09.12 - 24.09.12

Проведення екскурсій (виставок)

19.11.12 - 24.11.12

Проведення семінарів, зустрічей, бесід

19.11.12 - 30.11.12

Підготовка реферату

01.12.12 - 09.12.12

Виконання індивідуального завдання

01.12.12 - 16.12.12

Підготовка звіту з практики

17.12.12 - 11.03.13

Надання звіту з практики на кафедру

Захист звіту з практики

19.03.13 - 23.03.13

Керівник Т.В. Русак

Вступ

1. Система управління базами даних

1.1 Поняття СУБД

1.2 Історія створення СУБД

1.6 Великі об'єкти

1.8 Тригери

1.9 Реляційні розширювачі

1.11 Огляд редакцій IBM DB2

2. Практична частина

2.1 Постановка задачі

2.2 Алгоритм рішення

2.3 Програмна реалізація

2.4 Тестування програми

Висновок

додаток

Вступ

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

Придбання навичок роботи з комп'ютером, ОС Windows та стандартним офісним пакетом;

Закріплення отриманих під час вивчення базових курсівз інформатики знань і вмінь за методами використання, розробки та реалізації класичних алгоритмів мовами програмування, що вивчаються;

Освоїти методи професійного пошукуінформації у мережі Internet;

Вивчити вимоги до оформлення звітів, методи та прикладні середовищапідготовки звітів за результатами практики;

Робота з офісною оргтехнікою.

У першому розділі звіту розглянуто систему управління базами даних IBM DB2: описано поняття СУБД, дані види та коротка характеристикаСУБД IBM DB2.

У другій частині звіту розробляється алгоритм та програма мовою С для знаходження максимального елемента масиву А в масиві В.

1. Система керування базами даних IBM DB2

1.1 Поняття системи управління базами даних

База даних (БД) - це названа сукупність взаємозалежних даних, що знаходяться під управління СУБД.

Система управління базами даних (СУБД) - сукупність програмних та лінгвістичних засобів загального або спеціального призначення, що забезпечують управління створенням та використанням баз даних.

1.2 Історія створення СУБД

Активна діяльність з пошуку прийнятних способів усуспільнення безперервно зростаючого обсягу інформації призвела до створення на початку 60-х років спеціальних програмних комплексів, Звані "Системи управління базами даних" (СУБД).

Основна особливість СУБД - це наявність процедур для введення та зберігання як самих даних, а й описів їх структури. Файли, забезпечені описом даних, що зберігаються в них і що знаходяться під управлінням СУБД, стали називати банки даних, а потім "Бази даних" (БД).

Коли розпочалося виробництво обчислювальних машин сімейства ЄС ЕОМ. Роботи проводились у двох напрямках. Насамперед було здійснено спроби створення власних оригінальних вітчизняних СУБД. Разом про те, в прискореному режимі розроблялися аналоги деяких поширених там СУБД, здатних функціонувати на вітчизняних апаратно-програмних платформах. Подібний підхід був використаний також при створенні СУБД для апаратних платформ, серійне виробництво яких почалося в країні пізніше появи платформи ЄС ЕОМ, - для РМ ЕОМ, АСВТ, IBM-сумісних персональних комп'ютерів та ін.

1.3 Історія створення СУБД IBM DB2

DB2 – це сімейство систем управління реляційними базами даних, що випускаються корпорацією IBM. Це одна із "зрілих" світових СУБД, постійний лідер у продуктивності, за рівнем технічної реалізації, можливостями масштабування тощо.

DB2 має довгу історію. Це перша СУБД, яка почала використовувати SQL. З 1975 по 1982 прототип DB2 розроблявся в IBM під назвою System Relational, або System R.

СУБД DB2 отримала свою назву в 1982, коли був випущений перший комерційний реліз для VM під назвою SQL/DS, а потім реліз для MVS під назвою DB2.

Розвиток DB2 сягає корінням на початок 1970-х, коли професор Е.Ф. Кодд, який працював на IBM, розробив теорію реляційних базданих та у червні 1970 року опублікував модель маніпуляції даними. Для цієї моделі він розробив мову реляційних баз даних і назвав його Alpha.

IBM DB2 - найбільш високопродуктивна та потужна СУБД у світі. Її основна унікальна перевага в тому, що будь-яка програма, написана для DB2, буде працювати з серверами даних DB2, що працюють на будь-якій розподіленій платформі, яку підтримує DB2 (Windows, HP-UX, Sun Solaris, Linux, Mac OS X і AIX®).

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

Коло завдань, які можна вирішувати, використовуючи об'єктні розширення DB2 істотно збільшено в порівнянні з класичним реляційним підходом. Запозичивши з об'єктно-орієнтованої моделі найбільш необхідні для сучасних додатківелементи DB2 зберегли всі переваги реляційної СУБД. Це дозволяє використовувати при побудові корпоративних інформаційних систем на її основі як реляційний, і об'єктно-орієнтований підхід.

1.4 Функціональні можливості DB2

Функціональні можливості DB2:

Мультиплатформність.

Advanced Copy Services (ACS). DB2 ACS дозволяє використовувати технологію швидкого копіювання пристрою зберігання даних для виконання копіювання даних в операціях резервного копіювання та відновлення. Можливість копіювання даних засобами зберігання даних значно прискорює операції резервного копіювання та відновлення. Резервне копіювання за допомогою DB2 ACS називається резервним копіюванням через миттєву копію (snapshot backup).

Онлайнова реорганізація таблиць дозволяє користувачеві проводити реорганізацію таблиці без припинення повного доступудо неї.

Підтримка High Availability Disaster Recovery (HADR). Функціональність DB2 HADR забезпечує підтримку високої готовності та аварійне перемикання для баз даних DB2.

Підтримка Materialized Query Tables (таблиці матеріалізованих запитів), Query Parallelism (паралелізм запитів), Multidimensional Clustering Tables (MDC, багатовимірна кластеризація таблиць).

Підтримка стиснення даних під час резервного копіювання.

Підтримка SQL-реплікації.

Підтримка Database Partitioning (Розбиття баз даних). Ця функціональна можливість дозволяє розподілити один образ бази на кілька фізичних серверів.

DB2 Text Search. Функція DB2 Text Search дозволяє шукати текстові стовпці таблиць DB2.

IBM Data Studio - це інструментальна платформа, що охоплює весь життєвий цикл програм (проектування, розробка, розгортання, підтримка та керування) для всіх реляційних СУБД IBM з перспективою подальшого розширення підтримки. Це означає, що ви маєте не тільки переносний SQL API, але й набір інструментальних програм, що дозволяє реалізувати бізнес-логіку в масштабі всього підприємства.

1.5 Типи даних, визначені користувачем

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

У DB2 реалізований механізм суворої типізації. До даних невизначеного типу застосовні у своїй лише операції, визначені йому самого, а чи не для базового класу. Для СУБД такий підхід надає потужний механізм контролю за цілісністю даних.

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

1.6 Великі об'єкти

DB2/2 та DB2/6000 надають користувачеві такі нові типи даних, як великі бінарні об'єкти (BLOBS) та великі текстові об'єкти (CLOBS). BLOBS дозволяють зберігати дані будь-якого виду розміром до двох гігабайт. CLOBS мають такі самі обмеження на розмір, але призначені для зберігання тексту у вигляді послідовності однобайтних або двобайтних символів і можуть бути пов'язані з певною кодовою сторінкою. Наявність таких типів даних дозволяє вбудовувати реляційні таблиці даних нетрадиційних типів, насамперед мультимедіа. Ця можливість набувати все більшого значення для сучасних додатків, дозволяючи зберігати, наприклад, фотографії співробітників у базі даних відділу кадрів, графічні зображення, звук, відео, великі тексти. Основна увага при цьому приділена досягненню високої продуктивності та надійності, а також зняття обмежень на використання великих об'єктів. Так, можна створити таблицю, що включає понад десять полів, що містять двогігабайтні об'єкти.

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

1.7 Функції, що визначаються користувачем

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

Функції, що визначаються користувачем, дозволяють досягти багаторазового використання коду за рахунок того, що операції, загальні для різних програм, зберігаються на сервері, а не включаються до кожної окремої програми. Для реалізації цих функцій використовуються мови програмування, а для реалізації в СУБД - введений в мову визначення даних оператор CREATE FUNCTION. Фактично цей оператор пов'язує функцію користувача з конкретною програмою, що виконується при викликі цієї функції. Використання функцій користувачазамість безпосереднього доступу до даних може забезпечити деяку інкапсуляцію даних, що можна використовувати для того, щоб приховати від користувача їхню внутрішню структуру. Крім того, DB2 підтримує механізм перевантаження імен функцій користувача, аналогічний застосовуваному в ООБД, однак не дозволяє пов'язувати функції з конкретними елементами даних, як пов'язані методи та об'єкти при об'єктному підході. Додаткову гнучкість функцій, що визначається користувачем, надає здатність одночасно працювати як з даними DB2, так і іншими даними, як, наприклад, файлами, електронною поштоюта ін. Можливі два варіанти взаємодії функцій, що визначаються користувачем, із сервером DB2. Перший полягає в тому, що функція має прямий доступ до БД, що дозволяє досягти максимальної продуктивності, але є потенційною загрозою працездатності сервера і цілісності даних. У другому варіанті функція виконується як окремий від сервера БД процес, що забезпечує захист даних та СУБД, але знижує продуктивність.

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

1.8 Тригери

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

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

Використання тригерів дозволяє зробити дані "активними", моделювати не тільки структуру та властивості, але й поведінку об'єктів даних, що зберігаються в БД.

1.9 Реляційні розширювачі

Хорошим прикладом застосування нових можливостей є реляційні розширювачі DB2 (DB2 Relational Extenders). Вони надають широкі можливості для роботи з нетрадиційними даними, використовуючи можливість визначення типів даних і функцій користувача. Для зберігання мультимедіа даних, а підтримки цілісності за посиланнями - тригери.

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

1.10 Критичний аналіз СУБД DB2

Розглянемо плюси та мінуси СУБД.

Є гарна безкоштовна версія;

В безкоштовної версіїнемає обмежень розмір бази;

У безкоштовній версії немає обмежувача запитів, це дозволяє одночасно обслуговувати десятки користувачів;

Гарна безкоштовна техпідтримка;

На відміну від PostgreSQL є можливість отримати платну підтримку виробника, що дозволяє застосовувати в секторі бізнесу Entrprise;

З конфігураціями 1С-Підприємство в автоматичному режимі блокування працює краще, ніж PostgreSQL (мова про паралельність, область блокувань на рівні рядків, а не таблиць);

Гарна продуктивність;

Менше проблем із неунікальністю індексів (фактично для вирішення проблеми рекомендується тимчасово бази завантажувати в DB2);

Краще обробляє ситуації на кшталт "бракує пам'яті для сервера 1С";

Немає обмеження на 256 таблиць, що розширює можливості роботи з RLS.

Мало спеціалістів та висока вартість хороших фахівців;

Невелика поширеність;

На відміну від MS SQL Serverдля нових версій 1С випускає "адаптовані" версії;

Розмір баз більше, ніж у інших СУБД;

Потрібне "тонке" налаштування параметрів СУБД, автопідстроювання системи є, але неповне;

Деякі повідомлення платформою можуть неправильно оброблятися, на вирішення доводиться "знижувати рівень" логування помилок;

1С-ЦУП збирає тривалі запити, очікування на блокування, але не збирає взаємні блокування.

1.11 Огляд редакцій IBM DB2

Найменів редакції

Можливості та обмеження

IBM DB2 Express - C

Базова безкоштовна версія СКБД IBM DB2. Тех.підтримка не здійснюється. тех. обмеження: використовується максимум 2 ядра та 1 процесор, 2 Гб ОЗУ. Немає підтримки реплікації та кластеризації, немає гарантії та можливості придбання дод. пакетів програмного забезпечення для розширення можливостей СУБД. Версії випускаються без оновлень. Підтримувані ОС: Windows та Windows x64, Linux, Linux x86, Linux x64, Linux on Power, Solaris, Mac OS X. Підтримувані ОС: Windows, Linux (сервери POWER та x86), Mac OS X та Solaris x64. Рекомендується: для невеликих ЛПЗ, обмежених у фінансових можливостях і не потребують тех. підтримки з боку IBM кількома користувачів до 50-70.

IBM DB2 Express - C FTL (Fixed Term License)

Перший комерційний варіант. Повністю аналогічний попередньому продукту, але з підпискою на технічну підтримку 12 місяців IBM 24x7 + підтримка реплікації + підтримка кластерів з 2 серверів + випуск FixPack та підтримка кількох версій. тех. обмеження: використовується максимум 2 ядра та 1 процесор, 2 Гб ОЗУ. Підтримувані ОС: Windows, Linux (сервери POWER та x86) та Solaris x64. Рекомендується: для невеликих і середніх ЛПЗ, обмежених у фінансових можливостях, але потребують тех.підтримці з боку IBM кількома користувачів до 50-150.

IBM DB2 Express Edition

Початкова версія IBM DB2 з технічною підтримкоюна 12 місяців. тех. обмеження: до 4 ядер ( процесори Intel) та до 4 Гб ОЗУ. Можна використовувати тільки на 2-х процесорних 2-х ядерних серверах (для Intel) або слабше. Підтримувані ОС: Windows, Linux (сервери POWER і x86), AIX, Solaris (SPARC і x64), HP-UX (тільки IA-64) Рекомендується: для невеликих і середніх ЛПЗ, що потребують тех. користувачів до 70-200.

IBM DB2 Workgroup Server Edition

Server Edition Це сервер даних DB2, який надає ті ж функції, що і DB2 Express, але розрахований на більш високі вимоги до робочого навантаження, які вимагають більше пам'яті, обчислювальної потужності, більшої ступеня високої готовності без додаткового налаштуванняі має більш широкий спектр опцій розгортання в рамках конкретної платформи. тех. обмеження: Можна використовувати різні високопродуктивні мультипроцесорні сервери (включаючи Power, Itanium, Ultra SPARC тощо), але до 16 Гб ОЗУ на всі процесори. Підтримувані ОС: Windows, Linux (сервери POWER, System z та x86), AIX, Solaris (SPARC та x64), HP-UX (тільки IA-64). Рекомендується: для середніх і великих ЛПЗ, що потребують тех.підтримці з боку IBM кількома користувачів від 100.

IBM DB2 Enterprise Server Edition

Для найбільших установ та найбільш високопродуктивних обчислень. Підтримувані ОС: Windows, Linux (POWER, System z та System x), AIX, Solaris (SPARC та x64) та сервери HP-UX (IA-64 тільки починаючи з DB2 9.5). Рекомендується: для великих ЛПЗ та мережі декількох ЛПЗ, що потребують тех.підтримці з боку IBM кількома користувачів від 1000.

1.12 СУБД нового покоління DB2

Корпорація IBM представила сервер баз даних нового покоління DB2 9 під кодовою назвою Viper, що втілив найзначніші досягнення у розвитку технологій баз даних за понад двадцять років.

Випуск DB2 9 знаменує завершення п'ятирічного проекту IBM, що перетворив традиційні, статичні технології баз даних на концепцію інтерактивного, динамічного сервера баз даних, що надає клієнтам більш досконалі можливості для управління всіма типами інформації, такими як документи, аудіофайли та відеофайли, зображення, Web-сторінки та Транзакції XML з цифровими підписами.

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

Понад 750 розробників ПЗ із восьми країн зробили внесок у створення СУБД Viper, яка розроблена та налаштована з орієнтацією на управління інформацією в середовищах SOA.

У СУБД DB2 9 реалізовані три значні технологічні досягнення - запатентована технологія pureXML, революційна технологія стиснення даних Venom і передові засоби автономного управління даними. Подібне поєднання нових для галузі функціональних можливостей, доповнене удосконаленнями у сфері забезпечення безпеки та аварійного відновлення, дозволить прискорити виконання інформаційних запитів та надасть клієнтам необмежений доступ до інформації. Крім того, нова версія DB2 забезпечує доступ до інформації, що зберігається у звичайних базах даних Oracle та MySQL, постачальники яких не пропонують аналогічної можливості.

IBM вперше випускає відразу три редакції DB2 - для корпоративних клієнтів, для компаній малого та середнього бізнесу (DB2 Express) та для розробників (DB2 Express-C).

"DB2 Viper обіцяє змінити конкурентну ситуацію в галузі баз даних, - говорить Амбудж Гойал (Ambuj Goyal), генеральний менеджер підрозділу IBM Information Management. - Ми відкриваємо нову ерутехнологій серверів баз даних, які зміцнять наші інвестиції та ініціативи, спрямовані на надання нашим клієнтам можливості розширювати бізнес, ефективно використовуючи інформацію на вимогу.

Клієнти та партнери, які здійснювали попереднє тестування та оцінку СУБД DB2 9, надали надзвичайно позитивні відгуки. Zurich Insurance, N.A., провідний постачальник послуг страхування комерційної власності від нещасних випадків, що обслуговує великі корпорації та клієнтів зі сфери малого та середнього бізнесу, вирішив використати DB2 9, щоб отримати доступ до нової технології pureXML.

"Галузь страхування стикається з зростаючими потребами у зберіганні величезних масивів документації у форматі XML.

Технологія pureXML забезпечує безпрецедентний рівень гнучкості при визначенні функцій користувача і виконанні зовнішніх операцій з XML-даними, що зберігаються в старих базах даних, - стверджує Джеймс Сербер (James Surber), старший адміністратор баз даних компанії Zurich Insurance N.A. -- Можливість зберігати різні версіїодних і тих же XML-документів з різними структурами в одній таблиці дозволить нам не витрачати годинник на операції, що виконуються вручну, з розвантаження та повторного завантаження всієї таблиці при зміні нашої XML-структури".

2. Практична частина

2.1 Постановка задачі

Дано два масиви: A, що складається з n елементів, і B, що складається з m елементів. Визначити чи найбільший елемент масиву A в масиві B.

2.2 Алгоритм рішення

Схема алгоритму рішення представлена ​​на кресленні 02.16.011.001

У блоці 1 здійснюється введення розміру матриць А та В.

Блоки 2-11 служать для введення матриці з клавіатури.

Блоки 12-23 служать виведення на екран вихідних масивів в матричної формі.

Блоки 24-30 служать перебування максимального елемента масиву А.

Блоки 31-37 служать для знаходження максимального елемента масиву А в масиві.

Блоки 38-40 є остаточним рішенням задачі і показують, чи знаходиться максимальний елемент масиву А в масиві В.

2.3 Програмна реалізація

Лістинг програмного модуля на вирішення поставленої завдання мовою програмування Сі наведено у додатку.

Спочатку необхідно оголосити всі змінні:

int A, B, n, m, i, k, max, x;

де А і В - цілі масиви що складаються з 100 рядків; n та m - змінні, які зберігають кількість рядків матриць; i та k - змінні циклу; max - цілісна змінна для зберігання максимального елемента масиву А; x - цілісна змінна для знаходження максимального елемента масиву А в масиві.

scanf_s ("%d", &n);

scanf_s ("%d", &m);)

while (n>=100, m>=100);

Введення розмірності здійснюється з використанням циклу do…while, який дозволяє перевірити коректність введених даних. Т.к. пам'ять під масив виділяється статично, кількість рядків матриць не повинна перевищувати 100, що задано при оголошенні масивів. У разі помилкового введення повторно з'явиться запит на введення розмірності масиву.

Введення елементів масивів здійснюється всередині вкладених циклів for: у першому циклі змінюється i - номер рядка від 0 до n-1, а у другому k - номер рядка від 0 до m-1 При виконанні кожної ітерації вкладених циклів виводиться запит на введення елементів масивів і з клавіатури вводяться елементи масивів.

for (i=0;i

scanf_s ("%d", & A[i]);)

for (k=0;k

printf ("Massiv A:");

for (i=0;i

printf ("%d", A[i]);

printf ("Massiv B:");

for (k=0;k

printf ("%d", B[k]);

Далі необхідно привласнити переміною max початкове значення, що дорівнює нульовому елементу масиву і перебираючи елементи рядка масиву А знаходимо максимальний елемент за допомогою оператора if. Надають максимальному елементу масиву А значення max. На екрані виводиться максимальний елемент масиву А.

for (i=1;i

if (max

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

for (k=0;k

if (B[k]==max) x=1;

2.4 Тестування програми

Тестовий приклад роботи програми, який ілюструє неправильне введення розмірності масивів, наведено малюнку 2.1 для даних n=105 і m=3.

Рисунок 2.1 – Приклад роботи програми

Тестовий приклад роботи програми, наведений на малюнку 2.2, ілюструє роботу програми для наступних матриць:

Рисунок 2.2 – Приклад роботи програми

Рисунок 2.3 – Приклад роботи програми

Висновок

В результаті проходження загальноінженерної практики була вивчена СУБД IBM DB2, яка має ефективну та надійну платформу для побудови додатків. У тому числі продуктів 1c. Ця СУБД від компанії IBM може інтегруватися і з іншими засобами, що працюють на різних апаратно-програмних платформах (Linux і Windows) - Microsoft Visual Studio, Microsoft Visual Basic, Microsoft Visual C++ і т.п.

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

Список використаних джерел

1. ГОСТ 19.701-90 - Єдина система програмної документації - Схеми алгоритмів, програм, даних та систем - Умовні позначення та правила виконання

2. Дейт К. Посібник з реляційної СУБД DB2. - М: Фінанси та статистика, 1988. - 320 с.

3. Когаловський М.Р. "Енциклопедія технологій баз даних"/М.Р. Когалівський. – М.: Фінанси та статистика, 2002. – 800 с.

4. Дейтел Х.М. Як програмувати на З/Х.М. Дейтел, П.Дж. Дейтел. - М: Біном,2006. – 1037 с.

5. Рауль Ф. Чон. Початок роботи з DB2 Express 9.7. Москва, 2010.-269 с.

додаток

Лістинг програмного модуля

#include "stdafx.h"

#include "stdio.h"

#include "conio.h"

#include "math.h"

int _tmain(int argc, _TCHAR* argv)

int A, B, n, m, i, k, max, x;

do (printf ("Vvedite kol-vo elementov massiva A:\n");

scanf_s ("%d", &n);

printf ("Vvedite kol-vo elementov massiva B:\n");

scanf_s ("%d", &m);)

while (n>=100, m>=100);

for (i=0;i

(printf ("Vvedite elementi massiva A [%d]: ",i+1);

scanf_s ("%d", & A[i]);)

for (k=0;k

(printf ("Vvedite elementi massiva B [%d]: ",k+1);

scanf_s ("%d", & B[k]);)

printf ("Massiv A:");

for (i=0;i

printf ("%d", A[i]);

printf ("Massiv B:");

for (k=0;k

printf ("%d", B[k]);

for (i=1;i

if (max

printf ("Maksimal"nij element massiva A: %d \n",max);

for (k=0;k

if (B[k]==max) x=1;

if (x==1) printf ("Maksimal"nij element massiva A nahoditsia v massive B\n");

else printf ("Maximal"nij element massiva A ne nahoditsia v massive B\n");

база даних копіювання алгоритм

Розміщено на Allbest.ru

Подібні документи

    Система управління базами даних як складова частина автоматизованого банку даних. Структура та функції системи управління базами даних. Класифікація СУБД за способом доступу до бази даних. Мова SQL у системах управління базами даних, СУБД Microsoft.

    реферат, доданий 01.11.2009

    Класифікації баз даних за характером інформації, що зберігається, способу зберігання даних і структурі їх організації. Сучасні системи управління базами даних та програми для їх створення: Microsoft Office Access, Cronos Plus, Base Editor, My SQL.

    презентація , додано 03.06.2014

    Особливості управління інформацією економіки. Поняття та функції системи управління базами даних, використання стандартної реляційної мови запитів. Засоби організації баз даних та робота з ними. Системи управління базами даних економіки.

    контрольна робота , доданий 16.11.2010

    Алгоритми обробки масивів даних. Система керування базами даних. Реляційна модель даних. Подання інформації як таблиці. Система керування базами даних реляційного типу. Графічний багатовіконний інтерфейс.

    контрольна робота , доданий 07.01.2007

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

    реферат, доданий 10.01.2011

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

    презентація , доданий 14.10.2013

    Поняття та призначення, принципи побудови та внутрішня структура системи управління базами даних, їх функціональні особливості та можливості, критерії оцінки ефективності. Мовні та програмні засоби. Використання SQL, типи та моделі даних.

    презентація , доданий 18.03.2015

    Об'єкти системи керування базами даних Access. Запити, форми, звіти. Типи даних: текстовий, поле мемо, числовий. Поле об'єкту OLE, гіперпосилання, майстер підстановок. Ручні, автоматизовані та автоматичні засоби створення об'єктів бази даних.

    презентація , доданий 31.10.2016

    Бази даних як складова частина інформаційних систем. Вивчення взаємозв'язку понять інформація та дані. Система керування базами даних. Приклад структурованих даних. Забезпечення логічної незалежності. Безпека операційної системи.

    контрольна робота , доданий 15.06.2009

    Зберігання та обробка даних. Компоненти системи БД. Фізична структура даних. Створення таблиць у MS Access. Завантаження даних, запити до бази даних. Розробка інформаційної системи із застосуванням системи управління базами даних MS Access.

DB2(В російській мові вимовляється «Дібі два», також поширена калька з англійського «Дібіт») - сімейство програмних продуктів в області управління інформацією компанії IBM.

Найчастіше, посилаючись на DB2, мають на увазі реляційну систему управління базами даних DB2 Universal Database (DB2 UDB), яку розробляє і випускає компанія IBM.

Іноді зустрічається написання "DB/2", але таке написання невірно: в системі позначень IBM число в знаменнику дробу означає платформу і "/2" означає продукт для операційної системи OS/2 (або серії PS/2). Наприклад, версія DB2 для OS/2 позначалася "DB2/2".

Реалізації

В даний час СУБД DB2 представлена ​​версіями на наступних платформах:

  • DB2 for Linux, UNIX та Windows v9для платформ AIX, HP-UX, Linux, Solaris, Windows та бета-версія для платформ Mac OS X
  • DB2 for z/OS v9для платформ z/OS та OS/390
  • DB2 Server for VSE & VM v7для платформ z/VM та z/VSE
  • DB2 for iдля платформи IBM i (вбудована у систему на апаратно-програмному рівні)

У минулому випускалися версії сервера СУБД DB2 для OS/2, UnixWare, PTX.

Клієнти СУБД DB2, крім перерахованих платформ, випускаються або випускалися в різних версіях також для SINIX, IRIX, класичної Mac OS та для MS-DOS, а також у мобільній версії DB2 Everyplaceдля Windows CE, Palm OS, Symbian OS, Neutrino та віртуальної машини Java.

В даний час, окрім комерційних продуктів сімейства, IBM поширює також безкоштовний дистрибутив. DB2 Express-Cдля платформ Linux (x86, x86-64, Power), Windows (x86, x86-64), Solaris (x86-64), Mac OS X (x86-64 beta). Безкоштовна версія має обмеження на використання для роботи СУБД не більше одного двоядерного процесора та 2 Гбайт оперативної пам'яті (загальна кількість процесорів та п'яти в системі може бути будь-яким, але ресурси понад зазначені обмеження не будуть використовуватися СУБД).

Історія

DB2 має довгу історію і, як дехто вважає, стала першою СУБД, що використовує SQL .

З 1975 по 1982 прототип DB2 розроблявся в IBM під назвою System Relational, або System R . Мова SQL вперше була реалізована саме в IBM System R, але ця система мала дослідницький характер, а комерційний продукт, що включає SQL, першою випустила компанія Oracle у 1979 році.

СУБД DB2 отримала свою назву в 1982 році, коли був випущений перший комерційний реліз під назвою SQL/DS, а потім реліз для MVS під назвою DB2. Довгий час поруч із «DB2» використовувався варіант «Database 2», також є торговою маркою IBM. Очевидно, мало на увазі, що це друга флагманська СКБД IBM після старої ієрархічної СКБД IMS.

Розвиток DB2 сягає корінням на початок 1970-х, коли доктор Е. Ф. Кодд, який працював на IBM, розробив теорію реляційних баз даних і в червні 1970 опублікував модель маніпуляції даними. Для цієї моделі він розробив мову реляційних баз даних і назвав його Alpha. IBM віддала перевагу передати подальшу розробку групі програмістів, непідконтрольній доктору Кодду. Порушивши деякі принципи реляційної моделі, вони реалізували її як «структуровану англійську мову запитів», скорочено SEQUEL. Оскільки SEQUEL було вже зареєстрованою торговою маркою, назву скоротили до SQL – «структуровану мову запитів», і такою вона залишилася й досі.

Таким чином, історично СУБД DB2 виникла з продуктів DB2 для MVS (нащадком якого є DB2 for z/OS) та спорідненого до нього SQL/DS для VM (нащадок - DB2 Server for VSE & VM). Надалі іншим колективом розробників в IBM був реалізований сервер OS/2 EE Database Manager, який згодом еволюціонував у DB2 v2 для OS/2, AIX і потім Windows, а потім у DB2 UDB (його нащадок - DB2 for Linux, UNIX and Windows). Ще одним колективом була виконана інтеграція архітектури DB2 із вбудованою базою даних AS/400 (нащадок – DB2 for i). IBM поступово рухається шляхом інтеграції всіх цих гілок.

Особливості

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

Завдяки пріоритету IBM у розвитку реляційної теорії та позиціям фірми в комп'ютерній галузі, діалект DB2 SQL значно впливає на стандарти SQL ANSI / ISO .

Збережені процедури в DB2 не дуже широко застосовуються, при цьому традиційно для написання процедур, що зберігаються, використовуються звичайні мови програмування високого рівня (Сі, Java, PL/I, Кобол і т.д.), це дозволяє програмісту легко оформляти один і той же код або як частина програми, або як процедуру, що зберігається, залежно від того, на клієнті або на сервері його доцільніше виконувати. В даний час у DB2 також реалізовано процедурне розширення SQL для збережених процедур відповідно до стандарту ANSI SQL/PSM.

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

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

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

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

DB2 є єдиною реляційною СУБД загального призначення, що має реалізації на апаратно-програмному рівні (система IBM i; також в обладнанні мейнфреймів IBM System z реалізуються засоби підтримки DB2).

Сучасні версії DB2 забезпечують розширену підтримку використання даних у форматі XML, зокрема операції з окремими елементами документів XML.

Обробка помилок

Корисною особливістю SQL-сервера DB2 є можливість обробки помилок. З цією метою використовується структура SQLCA (англ. SQL Communications Area- область зв'язку SQL), що повертає інформацію про помилку прикладної програми після кожного виконання SQL-вираження.

Поля структури SQLCODE та їх значення

Основна, але не завжди корисна діагностика помилки міститься в полі SQLCODE(Тип даних - ціле число) всередині SQLCA блоку. Вона може приймати такі значення:

  • 0 означає успішне виконання.
  • Позитивне число означає успішне виконання з одним або більше попереджень. Наприклад, +100 означає, що не знайдено стовпчиків.
  • Негативне число означає невдачу з помилкою. Наприклад, −911 означає виявлений інтервал очікування блокування (або мертве блокування), що запускає послідовний відкат.

SQLERRM(Тип даних - рядок з 71 символу). Містить текстовий рядок з описом помилки, якщо поле SQLCODE менше нуля.

SQLERRD(Тип даних - масив , 6 цілих чисел). Описує результат виконання останнього оператора SQL:

  • 1 елемент – внутрішня інформація;
  • 2 елемент - містить згенероване сервером значення поля типу SERIAL для оператора INSERT або додатковий код помилки;
  • 3 елемент - дорівнює кількості оброблених записів;
  • 4 елемент – приблизна вартість виконання даного оператора;
  • 5 елемент - усунення помилки в текстовому записі оператора SQL;
  • 6 елемент – внутрішня інформація.

Примітки

Посилання

  • Сторінка програми на сайті IBM
  • DB2 на developerWorks - статті та тренінги про DB2
  • PlanetDB2 - блоги про DB2

Література

  • Дейт До.Посібник з реляційної СУБД DB2. - М: Фінанси та статистика, 1988. - 320 с. - ISBN 5-279-00063-9
  • Зікопулос П. К., Бакларц Дж., де Рус Д., Мельник Р. Б. DB2 версії 8: офіційний посібник = DB2 Version 8: The Official Guide. – М.: КУДИЦЬ-ОБРАЗ, 2004. – 400 с. - ISBN 5-9579-0031-1
  • Смірнов С. Н.Працюємо з IBM DB2: Навчальний посібник. - М: Геліос, 2001. - 304 с. - ISBN 5-85438-007-2 (рекомендовано УМО вузів в області інформаційної безпекияк навчальний посібник зі спеціальностей «Комплексне забезпечення інформаційної безпеки автоматизованих систем» та «Комп'ютерна безпека»)
  • Сьюзен Віссер, Білл Вонг.Освій самостійно DB2 Universal Database за 21 день = Sams Teach Yourself DB2 Universal Database in 21 Days. - 2-ге вид. - М: Вільямс, 2004. - 528 с. - ISBN 0-672-32582-9
  • Hook J., Harbus R., Snow D. Universal Guide для DB2 для Windows NT®. - New Jersey: Prentice Hall PTR, 1999. - P. 504. - ISBN 0-13-099723-4

Wikimedia Foundation. 2010 .

Дивитись що таке "IBM DB2" в інших словниках:

    IBM DB2- Developer(s) IBM Initial release 1983 (1983) ... Wikipedia

    IBM DB2- DB2 is ein kommerzielles relationales Datenbank Management System (RDBMS) der Firma IBM, використовується в 1970-1970гг. Inhaltsverzeichnis 1 Eigenschaften 1.1… … Deutsch Wikipedia

    IBM DB2- Développeur IBM Dernière version … Wikipédia en Français

    IBM DB2- DB2 CommonStore Archiving software виробляється за допомогою IBM для управління електронною поштою або SAP ERP data. Part of the IBM Information Management portfolio which builds upon the DB2 database platform. DB2 CommonStore is one of several products which are… … Wikipedia

СУБД IBM DB2 – результат майже 30-х дослідно-конструкторських та дослідницьких робіт фірми IBM. Останню на сьогодні версію даної СУБД (6.х) відрізняє один з найбільш продуманих наборів засобів управління та оптимізації та механізм БД, що допускає нарощування від портативного ПК з Windows 95 до цілого кластеру великих ЕОМ S/390, що працюють під керуванням OS/390.

Пакет DB2 випускається у двох редакціях: DB2 Workgroup та DB2 Enterprise Edition. У даній СУБД реалізовані всі відомі за попередніми версіями DB2 новаторські технології механізму БД, такі як розпаралелювання обробки запиту, повний набір засобів тиражування, зведені таблиці запитів для підвищення продуктивності БД, можливості об'єктно-орієнтованого конструювання баз даних та засоби мови Java. До цього слід додати, що система DB2 оснащена порожнім набором мультимедіа-розширень, що дозволяють зберігати текст, звук та відео-фрагменти, зображення та географічні дані та маніпулювати ними. Можна казати, що з можливостям масштабування розроблена фахівцями IBM технологія кластеризації баз даних немає аналогів. Ці розширення істотно полегшують процес розробки додатків для Web, а також програм, що містять фотозображення та об'ємні текстові звіти. Система DB2 цілком конкурентоспроможна і в якості платформи для розробки додатків, оскільки існує засіб Stored Procedure Builder - автоматично перетворює оператор SQL у відповідний клас Java і включає його в структуру бази даних. У версії DB2 6.1 значно покращено функціональну сумісність з іншими СУБД: пакет дозволяє використовувати розроблену Microsoft специфікацію OLE DB, новий стандарт доступу до баз даних. Кошти адміністративного управління СУБД DB2, які в новій версії переписані на Java і можуть бути отримані з Web, заслуговують на найвищу оцінку.

Основними недоліками даної СУБД є відносна складність адміністрування та відсутність (поки що) реалізацій під популярні серверні ОС, наприклад LINUX.

У цій СУБД завдяки Index Smart-Guide можна здійснювати налаштування, формуючи оптимальні індекси для заданої кількості звернень, що характеризує типове навантаження на БД. DB2- єдиний пакет дозволяє генерувати зведені таблиці, що значно ефективність роботи СУБД як сховищ даних. Зведена таблиця - це тимчасова робоча область, використовувана базою даних для зберігання відповідей на запити, що часто надходять. Ну що ж, можна сказати, що оснащена новими функціональними можливостями, а також засобами розпаралелювання та можливостями вибору практично будь-якого типу з'єднання та індексів (крім хіба що растрових індексів), модель DB2 6.1 перетворюється на найдешевшу з високопродуктивних систем. Кошти адміністративного управління цієї СУБД цілком відповідають рівню розв'язуваних завдань, крім того, вона надає виключно широкі можливості для роботи з мультимедіа-даними та програмування (чого явно бракує системі Microsoft SQL Server).

СУБД від Informix

Останнім часом намітився перехід від реляційних СУБД до об'єктно-орієнтованих (що очевидно простежується з прикладу Oracle). Informix також за даною концепцією анонсувала нове рішення СУБД Centaur, що базується на реляційній БД Informix Dynamic Server 7.3 і об'єктно-реляційній БД Informix Universal Data Option і поєднує в собі високу швидкодію Dynamic Server при роботі з даними з універсальністю та мультимедіа функціями Univers. Ця реалізація призначена для розробки інтернет-систем. Імовірно дана СУБД матиме гнучке середовище розробки, що має нарощуваність, що відповідає характерним для Інтернету інтенсивним навантаженням, і засобами роботи з новими типами даних, які з розвитком Web стали використовуватися повсюдно. Реалізовані в новій системі засоби Java дозволять розробникам створювати цією мовою збережені процедури, програми та компоненти DataBlades, які в Informix називають замовними розширеннями бази даних.

З погляду клієнтів Inforix, це стане великим кроком уперед, оскільки до цього часу при роботі з DataBlades вони могли користуватися тільки мовою Сі та SPL, внутрішньою мовою фірми Informix для написання процедур, що зберігаються. Крім того, пакет Centaur буде оснащений вбудованими засобами обробки об'єктів ActiveX. Це дозволить, наприклад, створювати збережені процедури БД мовою Visual Basic; правда, для цього потрібно, щоб пакет Centaur виконувався серед Windows NT.

Centaur буде надбудовою Informix Dynamic Server і працювати з традиційним для цього пакета форматом БД, так що в розпорядженні користувачів залишаться всі колишні функції, а модернізація системи до рівня нової версії не буде пов'язана з великими труднощами. Крім того, у пакеті Centaur будуть збережені всі можливості конструювання та програмування, завдяки яким система Informix Universal Server визнана визначним технічним досягненням. Нова система буде оснащена засобами об'єктно-орієнтованого конструювання баз даних, створення спеціалізованих таблиць та програм індексування; до її складу увійде дозволить користувачам вбудовувати у запити власні функції та не покладатися виключно на стандартні засоби SQL.

Висновки.

Розглянувши основні характеристики архітектур побудови АІС, серверних операційних систем та СУБД надалі як архітектуру АІС ми виберемо архітектуру інтернет/інтранет, як серверну ОС Linux, як СУБД Oracle 8i. У зведеній таблиці представлені порівняльні характеристики двох найбільш поширених сьогодні рішень на базі Microsoft SQL Server 7.0 (на NT) і Oracle8i (на Unix, Linux).

Microsoft SQL Server 7.0

Адміністративне управління

Графічні інструменти

Простота обслуговування

Механізм даних

Робота з кількома ЦП

Прийнятно

Функція з'єднання та вибір індексів

Одночасний доступ кількох користувачів

Обробка мультимедіа-даних

Підключення до Web

Обробка аудіо, відео, зображень

Пошук за цим текстом

Функціональна сумісність

Прийнятно

Сполучення з іншими БД

Єдина реєстрація

Робота під управлінням різних ОС

Прийнятно

Можливості програмування

Прийнятно

Збережені процедури та тригери

Внутрішня мова програмування

Побудова баз даних

Об'єктно-орієнтовані системи

Робота з філіями

Тиражування

Розподілена обробка транзакцій

Дистанційне адміністрування

Організація сховищ даних та підготовка звітів

Засоби завантаження

Засоби аналізу

Реляційна база даних - це набір відносин, імена яких збігаються з іменами схем в схемі БД. На сьогодні відомо велику кількість різних серверів баз даних SQL. Зупинимося на наступних чотирьох провідних серверних СУБД – Oracle8i, IBM DB2, Microsoft SQL Server та Informix – і порівняємо їх у роботі на кожному з основних етапів функціонування.

Oracle8i. Пакет Oracle8i, наділений найрозвиненішим набором функцій для роботи з мовою Java та доступу до даних через Інтернет, є системою оптимізації одночасного доступу. Єдиним недоліком даної СУБД є складність адміністрування, проте всі витрати на її впровадження та освоєння згодом окупляться ефективною та надійною роботою. (Складність і дорожнеча-спірні). Серед основних властивостей СУБД Oracle слід зазначити такі, як: Висока надійність. Можливість розбиття великих баз даних на розділи (large-database partition), що дозволяє ефективно управляти гігантськими гігабайтними базами; наявність універсальних засобів захисту інформації; Ефективні методи максимального підвищення швидкості обробки запитів; Індексація з бітового відображення; Вільні таблиці (в інших СУБД всі таблиці заповнюються одночасно під час створення); Розпаралелювання операцій у запиті. Наявність широкого спектру засобів розробки, моніторингу та адміністрування. Орієнтація на інтернет технології. Рішення, що не поступаються розробкам Oracle, можна знайти тільки в DB2 фірми IBM. Орієнтація на інтернет технології – основний девіз сучасних продуктів Oracle. У зв'язку з цим можна відзначити пакети interMedia, що забезпечує обробку даних у мультимедійних форматах, та Jserver, вбудований засіб для роботи з мовою Java, що поєднує можливості мови Java з можливостями реляційних баз даних. Компоненти Enterprise JavaBeans є базовими модулями з яких складаються Інтернет-додатки мовою Java. Фірма Oracle дотримується принципу, що всіма важливими функціями необхідно керувати з єдиного центру, тому пропонований модуль interMedia надає у розпорядження користувачів найпередовіші можливості роботи з мультимедійними об'єктами: Дуже розвинені засоби для обробки аудіо кліпів; Нерухомих зображень; Відеофрагменти; Географічних даних (з цілим набором функцій, пов'язаних з визначенням місцезнаходження, що входять до складу модуля Locator). У Oracle8i реалізуються найкращі на сьогоднішній день засоби для об'єктно-орієнтованого конструювання баз даних, у тому числі табличні структури, що допускають успадкування властивостей та методів інших табличних об'єктів БД, що дозволять уникнути помилок при побудові БД та полегшує їх обслуговування. Також необхідно відзначити, що розроблена фірмою Oracle система оптимізації одночасного доступу (multiversioning concurrency) є однією з найважливіших характеристик архітектури Oracle (подібна функція є лише у СУБД InterBase компанії InterBase компанії Inprise). Ця функція дозволяє виключити ситуацію, коли одному користувачеві доводиться чекати, поки інший завершить зміни до вмісту баз даних (тобто Oracle відсутні блокування на читання). Ця функція дозволяє СУБД Oracle8i виконувати за секунду більше транзакцій для одного користувача, ніж будь-яка інша база даних. За рівнем продуктивності при роботі у WEB середовищі під LINUX Oracle займає почесне друге місце після СУБД MySQL, при цьому значно перевершуючи всі інші СУБД з надійності та безпеки.

СУБД Microsoft SQL Server Найважливіші характеристики даної СУБД - це: простота адміністрування, можливість підключення до Web, швидкодія та функціональні можливості механізму сервера СУБД, наявність засобів віддаленого доступу. . Також дана БД оснащена чудовими засобами тиражування, що дозволяють синхронізувати дані ПК з інформацією БД та навпаки. Сервер OLAP, що входить у комплект поставки, дає можливість зберігати і аналізувати всі наявні у користувача дані. У принципі дана СУБД є сучасною повнофункціональною базою даних, яка ідеально підходить для малих і середніх організацій. Необхідно зазначити, що SQL Server поступається іншим СУБД, що розглядаються, за двома важливими показниками: програмованість і засоби роботи. При розробці клієнтських БД додатків на основі мов Java, HTML часто виникає проблема недостатності програмних засобів SQL Server і користуватися цією СУБД буде важче, ніж системами DB2, Informix, Oracle або Sybase. Загальносвітовою тенденцією у XXI столітті став практично повсюдний перехід на платформу LINUX, а SQL Server функціонує лише серед Windows. Тому використання SQL Server доцільно, тільки якщо для доступу до вмісту БД використовується виключно стандарт ODBC, інакше краще використовувати інші СУБД.

IBM DB2 СУБД IBM DB2 – результат майже 30-х дослідно-конструкторських та дослідницьких робіт фірми IBM. Останню на сьогодні версію даної СУБД (6.х) відрізняє один з найбільш продуманих наборів засобів управління та оптимізації та механізм БД, що допускає нарощування від портативного ПК з Windows 95 до цілого кластеру великих ЕОМ S/390, що працюють під керуванням OS/390. Пакет DB2 випускається у двох редакціях: DB2 Workgroup та DB2 Enterprise Edition. У даній СУБД реалізовані всі відомі за попередніми версіями DB2 новаторські технології механізму БД, такі як розпаралелювання обробки запиту, повний набір засобів тиражування, зведені таблиці запитів для підвищення продуктивності БД, можливості об'єктно-орієнтованого конструювання баз даних та засоби мови Java. До цього слід додати, що система DB2 оснащена порожнім набором мультимедіа-розширень, що дозволяють зберігати текст, звук та відео-фрагменти, зображення та географічні дані та маніпулювати ними. Можна казати, що з можливостям масштабування розроблена фахівцями IBM технологія кластеризації баз даних немає аналогів. Ці розширення істотно полегшують процес розробки додатків для Web, а також програм, що містять фотозображення та об'ємні текстові звіти. Система DB2 цілком конкурентоспроможна і в якості платформи для розробки додатків, оскільки існує засіб Stored Procedure Builder - автоматично перетворює оператор SQL у відповідний клас Java і включає його в структуру бази даних. У версії DB2 6.1 значно покращено функціональну сумісність з іншими СУБД: пакет дозволяє використовувати розроблену Microsoft специфікацію OLE DB, новий стандарт доступу до баз даних. Кошти адміністративного управління СУБД DB2, які в новій версії переписані на Java і можуть бути отримані з Web, заслуговують на найвищу оцінку. Основними недоліками даної СУБД є відносна складність адміністрування та відсутність (поки що) реалізацій під популярні серверні ОС, наприклад LINUX. У цій СУБД завдяки Index Smart-Guide можна здійснювати налаштування, формуючи оптимальні індекси для заданої кількості звернень, що характеризує типове навантаження на БД. DB2- єдиний пакет дозволяє генерувати зведені таблиці, що значно ефективність роботи СУБД як сховищ даних. Зведена таблиця - це тимчасова робоча область, використовувана базою даних для зберігання відповідей на запити, що часто надходять. Модель DB2 6.1 перетворюється на найдешевшу з високопродуктивних систем. Кошти адміністративного управління цієї СУБД цілком відповідають рівню розв'язуваних завдань, крім того, вона надає виключно широкі можливості для роботи з мультимедіа-даними та програмування (чого явно бракує системі Microsoft SQL Server).

СУБД від Informix Останнім часом намітився перехід від реляційних СУБД до об'єктно-орієнтованих (що очевидно простежується з прикладу Oracle). Informix також за даною концепцією анонсувала нове рішення СУБД Centaur, що базується на реляційній БД Informix Dynamic Server 7.3 і об'єктно-реляційній БД Informix Universal Data Option і поєднує в собі високу швидкодію Dynamic Server при роботі з даними з універсальністю та мультимедіа функціями Univers. Ця реалізація призначена для розробки інтернет-систем. Імовірно дана СУБД матиме гнучке середовище розробки, що має нарощуваність, що відповідає характерним для Інтернету інтенсивним навантаженням, і засобами роботи з новими типами даних, які з розвитком Web стали використовуватися повсюдно. Реалізовані в новій системі засоби Java дозволять розробникам створювати цією мовою збережені процедури, програми та компоненти DataBlades, які в Informix називають

замовними розширеннями бази даних. З погляду клієнтів Inforix, це стане великим кроком уперед, оскільки до цього часу при роботі з DataBlades вони могли користуватися тільки мовою Сі та SPL, внутрішньою мовою фірми Informix для написання процедур, що зберігаються. Крім того, пакет Centaur буде оснащений вбудованими засобами обробки об'єктів ActiveX. Це дозволить, наприклад, створювати збережені процедури БД мовою Visual Basic; правда, для цього потрібно, щоб пакет Centaur виконувався серед Windows NT. Centaur буде надбудовою Informix Dynamic Server і працювати з традиційним для цього пакета форматом БД, так що в розпорядженні користувачів залишаться всі колишні функції, а модернізація системи до рівня нової версії не буде пов'язана з великими труднощами. Крім того, у пакеті Centaur будуть збережені всі можливості конструювання та програмування, завдяки яким система Informix Universal Server визнана визначним технічним досягненням. Нова система буде оснащена засобами об'єктно-орієнтованого конструювання баз даних, створення спеціалізованих таблиць та програм індексування; до її складу увійде дозволить користувачам вбудовувати у запити власні функції та не покладатися виключно на стандартні засоби SQL. Висновки. Розглянувши основні характеристики архітектур побудови АІС, серверних операційних систем та СУБД надалі як архітектуру АІС ми виберемо архітектуру інтернет/інтранет, як серверну ОС Linux, як СУБД Oracle 8i.

2) Пропозиція SELECT мови SQL. Вбудовані функції.

SELECT column FROM table WHERE column LIKE pattern

SELECT * FROM Store_Information WHERE store_name LIKE "%AN% ';

SELECT column_name FROM table_name WHERE column_name BETWEEN value1 AND value2

SELECT * FROM Persons WHERE LastName BETWEEN "Hansen" AND "Pettersen";

SELECT * FROM Persons WHERE LastName NOT BETWEEN "Hansen" AND "Pettersen";

SELECT Company, OrderNumber FROM Orders ORDER BY(сортування) Company;

SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber;

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC(Зворотній порядок ) ;

SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC(прав. порядок);

SELECT * FROM Persons WHERE FirstName="Tove" AND LastName="Svendson";

SELECT * FROM Persons WHERE firstname="Tove" OR lastname="Svendson" ;

SELECT * FROM Persons WHERE (FirstName="Tove" OR FirstName="Stephen") AND LastName="Svendson" ;

SELECT store_name FROM Store_Information WHERE Sales > 1000 OR (Sales< 500 AND Sales > 275);

ФункціїSELECTfunction( column) FROMtable AVG - Середнє значення в стовпці; COUNT - Число значень у стовпці; MAX – найбільше значення в стовпці; MIN - щонайменше значення в стовпці; SUM - сума значень по стовпцю

Приклади: SELECT AVG(Age) FROM Persons; SELECT COUNT(store_name) FROM Store_Information; SELECT COUNT(DISTINCT store_name) FROM Store_Information; SELECT MAX(Age) FROM Persons SELECT SUM(Sales) FROM Store_Information;

3)Серіалізація транзакцій, конфлікти операцій. Методи серіалізації транзакцій. Синхронізаційні захвати, гранульовані синхронізаційні захвати. Методи серіалізації транзакцій. Предикатні синхронізаційні захвати. Серіалізація на основі тимчасових міток.

Щоб досягти ізольованості транзакцій, у СУБД повинні використовуватися методи регулювання спільного виконання транзакцій. План (спосіб) виконання набору транзакцій називається серіальним, якщо результат спільного виконання транзакцій еквівалентний результату деякого послідовного виконання цих транзакцій. Серіалізація транзакцій- це механізм їх виконання за деяким серіальним планом. Забезпечення такого механізму є основною функцією компонента СУБД, відповідального управління транзакціями. Система, в якій підтримується серіалізація транзакцій, забезпечує реальну ізольованість користувачів. Основна реалізаційна проблема полягає у виборі методу серіалізації набору транзакцій, який не надто обмежував би їхню паралельність. Приходить на думку тривіальним рішенням є дійсно послідовне виконання транзакцій. Але існують ситуації, у яких можна виконувати оператори різних транзакцій у порядку із збереженням серіальності. Прикладами можуть служити тільки транзакції, що читають, а також транзакції, що не конфліктують по об'єктах бази даних. Між транзакціями можуть існувати такі види конфліктів: W-W - транзакція 2 намагається змінювати об'єкт, змінений транзакцією 1, що не закінчилася; R-W - транзакція 2 намагається змінювати об'єкт, прочитаний транзакцією 1, що не закінчилася; W-R - транзакція 2 намагається читати об'єкт, змінений транзакцією, що не закінчилася 1. Практичні методи серіалізації транзакцій грунтується на обліку цих конфліктів.

Існують два базові підходидо серіалізації транзакцій - заснований на синхронізаційних захопленнях об'єктів бази даних та на використанні тимчасових міток. Суть обох підходів полягає у виявленні конфліктів транзакцій та їх усуненні. Найбільш поширеним у централізованих СУБД (що включають системи, засновані на архітектурі "клієнт-сервер") є підхід, заснований на дотриманні двофазного протоколу синхронізаційних захопленьоб'єктів БД Загалом протокол полягає в тому, що перед виконанням будь-якої операції в транзакції T над об'єктом бази даних r від імені транзакції T вимагається синхронізаційне захоплення об'єкта r у відповідному режимі (залежно від виду операції). Основними режимами синхронізаційних захоплень є: спільний режим - S (Shared), що означає захоплення об'єкта, що розділяється, і необхідний для виконання операції читання об'єкта; монопольний режим - X (eXclusive), що означає монопольне захоплення об'єкта і необхідний виконання операцій занесення, видалення і модифікації. Гранульоване синхронізаційне захоплення - підхід, при застосуванні якогосинхронізаційні захоплення можуть вимагатися стосовно об'єктів різного рівня: файлів, відносин і кортежів. Необхідний рівень об'єкта визначається тим, яка операція виконується (наприклад, для виконання операції знищення відношення об'єктом синхронізаційного захоплення має бути все відношення, а для виконання операції видалення кортежу – цей кортеж). Об'єкт будь-якого рівня може бути захоплений у режимі S або X. Предикатне синхронізаційне захоплення- це захоплення не об'єктів, а умов (предикатів), яким задовольняють ці об'єкти. Альтернативний метод серіалізації транзакцій, який добре працює в умовах рідкісних конфліктів транзакцій і не вимагає побудови графа очікування транзакцій. заснований на використання тимчасових міток.Основна ідея методу (у якого існує безліч різновидів) полягає в наступному: якщо транзакція T1 почалася раніше за транзакцію T2, то система забезпечує такий режим виконання, якби T1 була повністю виконана до початку T2.

Для цього кожної транзакції T наказується тимчасова мітка t, що відповідає часу початку T. При виконанні операції над об'єктом r транзакція T позначає його своєю тимчасовою міткою та типом операції (читання або зміна). Перед виконанням операції над об'єктом r транзакція T1 виконує такі дії: Перевіряє, чи не закінчилася транзакція T, яка помітила цей об'єкт. Якщо T закінчилася, T1 позначає об'єкт r та виконує свою операцію. Якщо транзакція T не завершилася, то T1 перевіряє конфліктність операцій. Якщо операції неконфліктні, при об'єкті r залишається або проставляється тимчасова мітка з меншим значенням і транзакція T1 виконує свою операцію. Якщо операції T1 і T конфліктують, то якщо t(T) > t(T1) (тобто транзакція T є "молодою", ніж T), проводиться відкат T і T1 продовжує роботу. Якщо ж t(T)< t(T1) (T "старше" T1), то T1 получает новую временную метку и начинается заново. К недостаткам метода временных меток относятся потенциально более частые откаты транзакций, чем в случае использования синхронизационных захватов. Это связано с тем, что конфликтность транзакций определяется более грубо. Кроме того, в розподілених системахне дуже просто виробляти глобальні тимчасові мітки з повним порядком.

Система управління базами даних IBM DB2 починає свій розвиток у далеких 70-х роках і зараз займає міцне становище на ринку корпоративних СУБД, відповідаючи високим вимогам до продуктивності, надійності, безпеки та масштабованості.

Ігор Булатенко, фахівець з інформаційної безпеки, Positive Technologies

Система управління базами даних IBM DB2 починає свій розвиток у далеких 70-х роках і зараз займає міцне становище на ринку корпоративних СУБД, відповідаючи високим вимогам до продуктивності, надійності, безпеки та масштабованості. У приватному секторі система DB2 не набула широкого поширення, незважаючи на наявність безкоштовної версії IBM DB2 Express. Можливо, саме через це в Інтернеті не так багато статей щодо настроювання та використання DB2.

Модель безпеки DB2 має широкий функціонал і дозволяє захистити дані як від зовнішнього впливу, так і розмежувати права доступу для внутрішніх користувачів засобами самої СУБД.

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

Точка входу

Точка входу в DB2 виглядає так: СУБД -> екземпляр (instance), який може бути прив'язаний до певного порту -> ім'я конкретної бази даних. Налаштування безпеки можуть бути змінені як у конкретному екземплярі, так і у конкретній базі даних.

Аутентифікація

Аутентифікація – це першочерговий механізм безпеки, який застосовується, коли ви намагаєтесь з'єднатися із сервером DB2. При аутентифікації перевіряється коректність облікових даних, що надаються. Головною особливістюу DB2 є те, що автентифікація користувачів провадиться тільки зовнішніми плагінами. Внутрішніх користувачів, на відміну Oracle або MS SQL Server, тут немає. Навіть функція створення користувача, яка є в IBM Data Studio, насправді не створює користувача, а призначає вказаному користувачеві привілей на з'єднання з базою даних.

Існує кілька варіантів аутентифікації, потрібний варіант регулюється параметром AUTHENTICATION менеджер бази даних. Значення даного параметра впливає на те, де буде здійснюватись автентифікація клієнтів (на стороні сервера або на стороні клієнта) і чи будуть дані передаватися у зашифрованому вигляді (значення із закінченням _ENCRYPT). Ці параметри, що підтримуються, доступні за наступною адресою:

Переглянути конфігурацію менеджера бази даних можна за допомогою запиту до таблиці sysibmadm.dbmcfg, але для цього потрібно мати доступ до будь-якої бази даних, що не завжди можливо. Якщо у вас є локальний доступдо сервера, то можна відкрити процесор командного рядка(db2 або db2.exe у Windows), з'єднатися з екземпляром і виконати такі команди:

DB2 => attach to db2inst1
db2 => get database manager configuration

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

Розглянемо, як виглядає перехоплена інформація в Wireshark.


Надіслані від клієнта логін та пароль видно в пакеті під час перегляду EBCDIC.

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

Значення змінюється так:

DB2 => attach to db2inst1
db2 => update database manager configuration using authentication server_encrypt
db2 => db2stop force
db2 => db2start

Пакет аутентифікації буде виглядати так:


Проте текст запитів і результат все одно передаватиметься у відкритому вигляді.

Пакет із запитом в Wireshark:


Пакет з відповіддю у Wireshark:


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

Значення змінюється аналогічно до розглянутого вище прикладу:

DB2 => attach to db2inst1
db2 => update database manager configuration using authentication data_encrypt
db2 => db2stop force
db2 => db2start

Після цього дані також будуть шифруватися:


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

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

У разі успішної аутентифікації ID користувача співвідноситься з ідентифікатором DB2. Зазвичай ідентифікатор збігається з ім'ям користувача, але використовується символи верхнього регістру.

Авторизація

У процесі авторизації перевіряється, чи є у користувача необхідні правадля запрошених ним дій. Існують повноваження (authorities) екземпляра СУБД та бази даних.

Повноваження рівня конкретного екземпляра прописуються зміни менеджера БД. Йдеться про такі повноваження:

  • SYSADM (повноваження адміністратора системи);
  • SYSCTRL (повноваження управління системою);
  • SYSMAINT (повноваження обслуговування системи);
  • SYSMON (повноваження на моніторинг системи).

Задаються ці привілеї за допомогою вказівки тієї групи, в яку входитиме користувач. Для цього використовуються наступні параметри файлу dbmcfg (відповідно до зазначених вище повноважень):

Легко отримати список користувачів, які входять до групи, засобами DB2 не можна, потрібно робити це в операційній системі або аналізувати, до яких груп входить конкретний користувач (запит див. на вкладці "корисні запити").

При налаштуванні DB2 необхідно перевірити список користувачів, яким призначено повноваження SYSADM. Це повноваження дозволяє керувати всіма об'єктами бази даних.

Повноваження конкретної бази можна переглянути у поданні SYSCAT.DBAUTH. Зверніть увагу на привілей CONNECTAUTH, який визначає, буде у користувача доступ до БД чи ні, та привілей NOFENCEAUTH, який відповідає за створення неізольованих (not fenced) процедур та функцій. Такі процедури виконуються в адресному просторі бази даних і, у разі помилки, можуть порушити цілісність бази даних та таблиць у ній.

Привілеї

Привілеї в DB2 можуть бути видані різні об'єкти. Привілеї доступу до таблиць можна переглянути у поданні SYSCAT.TABAUTH. Дані про тип виданого привілею зберігаються в окремих колонках, залежно від самого привілею (SELECTAUTH, DELETEAUTH тощо). При видачі привілею за допомогою команди GRANTдля привілеїв REFERENCES та UPDATE можна також вказати імена колонок, на які поширюватимуться дані привілею. Інформацію про це можна переглянути у поданні SYSCAT.COLAUTH

Привілеї підпрограм (функцій, процедур та методів) можна переглянути у поданні SYSCAT.ROUTINEAUTH. Тут все не зовсім тривіально, залежно від полів SPECIFICNAME та TYPENAME привілеї можуть бути видані на всі підпрограми заданої схеми.

Користувачі, групи, ролі

Усі повноваження бази даних та різні привілеї можуть бути видані користувачам, групам чи ролям. Існування користувачів, груп та членство користувачів у групах регулюється поза самою базою даних. У зв'язку з цим бажано враховувати певні рекомендації та знати деякі тонкощі при видачі повноважень та привілеїв. Не рекомендується видавати привілеї та повноваження бази даних, особливо можливість з'єднання з базою даних (CONNECTAUTH), груп. Слід видавати привілеї конкретним користувачам чи ролям, яким це потрібно. Підтримка ролей з'явилася в DB2, починаючи з версії 9.5. Управління членством у ролях проводиться усередині самої бази даних.

Також, у DB2 існує вбудована роль PUBLIC. Користувачеві бази даних немає необхідності надавати роль PUBLIC: відкликати у користувача роль PUBLIC неможливо. Коли привілей надається ролі PUBLIC, фактично відбувається надання привілею всім користувачам бази даних. Не слід видавати будь-які повноваження бази даних ролі PUBLIC. Привілеї на таблиці та уявлення варто видавати з крайньою обережністю, тільки перегляд і без можливості перепризначення (WITH GRANT OPTION).

Через особливості аутентифікації під час видачі привілеїв існування користувача чи групи у системі не перевіряється. В результаті, в системі можуть з'явитися автентифікаційні користувачі без прив'язки до реальних користувачів системи. Знайти таких користувачів можна за допомогою наступного SQL-запиту:

SELECT authid FROM sysibmadm.authorizationids WHERE authidtype = "U" AND authid NOT IN (SELECT username FROM TABLE(sysfun.USERS()) AS W)

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

SELECT authid FROM sysibmadm.authorizationids WHERE authidtype = "G" AND authid NOT IN (SELECT groupname FROM TABLE(sysfun.groups()) AS W) AND authid !="PUBLIC"

LBAC

DB2 має потужний механізм розмежування доступу до даних у таблицях на основі міток (Label-based access control). Механізм дозволяє встановити мітки захисту на конкретні рядки або стовпці таким чином, що користувач, який не має доступу до захищених даних, не знатиме навіть про їх існування. Немає сенсу докладно розповідати про методи реалізації LBAC, тому що у виробника є навчальний посібник з цієї теми:

Автоматичні засоби сканування

При налаштуванні безпеки сервера IBM DB2 важливим моментомє використання будь-яких сканерів безпеки (наприклад, NGS SQuirreL for DB2, MaxPatrol тощо). Сканери явно вкажуть на вразливості налаштувань, які ви могли пропустити, або виведуть інформацію у зручному для аналізу вигляді:

Корисні запити та команди

Отримати налаштування менеджера бази даних:

select name, value from sysibmadm.dbmcfg

або

db2 => getdbmcfg

Змінити параметр менеджера бази даних:

db2 => update database manager configuration using

Після цього необхідний перезапуск екземпляра:

db2 => db2 stopforce
db2 => db2 start

Отримати налаштування бази даних:

select name, value from sysibmadm.dbcfg

або

db2 => get db cfg for

Список користувачів операційної системи:

select username from table(sysfun.USERS()) AS t

Список груп операційної системи:

select groupname from table(sysfun.GROUPS()) AS t select AUTHID, AUTHIDTYPE від sysibmadm.AUTHORIZATIONIDS

Вивести поточне ім'я бази даних:

select current server from sysibm.sysdummy1

Ввести поточне ім'я користувача:

selectuserfromsysibm. sysdummy1

Отримати список груп, до яких входить:

select GROUPNAME from table(sysfun.groups_for_user(" ")) as t

Список усіх встановлених СУБД:

$db2ls

Список усіх примірників у СУБД:

$ db2 ilist

Обмежити кількість рядків, що виводяться:

select * from tabname fetch first 5 rows only
Сподобалась стаття? Поділіться з друзями!
Чи була ця стаття корисною?
Так
Ні
Дякую за ваш відгук!
Щось пішло не так і Ваш голос не було враховано.
Спасибі. Ваше повідомлення надіслано
Знайшли у тексті помилку?
Виділіть її, натисніть Ctrl+Enterі ми все виправимо!