SQLite дозволяє прикріплювати (attach) зовнішні бази даних SQLite (тобто інші файли бази даних) до поточної підключеної бази даних. Використовуючи таку функцію, можна маніпулювати даними з різних баз даних в межах одного підключення, наприклад, писати різнорідні SQL-запити, такі як JOIN, UNION тощо. Зверніть увагу, що прикріплення зовнішніх баз даних не означає фізичного об'єднання відповідних файлів, це лише їх зв'язування для доступу до даних.
Програма Database Tour підтримує таку можливість. Але є деякі речі, які потрібно знати, щоб правильно та ефективно використовувати її.
Прикріплення бази даних
Після підключення до бази даних SQLite можна прикріпити до неї іншу базу даних. Наразі це потрібно робити через SQL. Отже, створіть нове вікно SQL, натиснувши кнопку Нове вікно SQL
, вибравши меню Запит | Нове... або натиснувши Ctrl+Q. Потім напишіть та виконайте команду типу:
ATTACH DATABASE "C:\data sources\sales.db" AS sales;
Тут ви вказуєте шлях до файлу бази даних, яку потрібно прикріпити, та псевдонім для прикріпленої бази даних. Цей псевдонім знадобиться вам для доступу до таблиць з прикріпленої бази даних.
Зауваження
- SQLite вимагає прикріплення/відкріплення баз даних у режимі автоматичної фіксації (auto-commit). Щоб увімкнути або вимкнути цей режим, виберіть меню Опції | Середовище..., перейдіть до розділу База даних, потім скористайтеся відповідним перемикачем. У поточній версії Database Tour вам потрібно повторно підключити базу даних, щоб застосувати зміни до режиму автоматичної фіксації.
- Доступ до прикріпленої бази даних можливий лише з одного сеансу бази даних. У Database Tour кожне вікно SQL або таблиці за замовчуванням відкриває окремий сеанс. Щоб дозволити доступ до прикріпленої бази даних з усіх вікон підключеної бази даних, вимкніть опцію Асинхронне виконання запитів у розділі Бази даних; рекомендується повторно підключити базу даних після зміни цієї опції. Ви все ще зможете працювати з прикріпленою базою даних, не вимикаючи цю опцію, але це буде можливо лише з вікна, де ви виконали команду ATTACH DATABASE.
Робота з прикріпленими базами даних
Після прикріплення бази даних та натискання кнопки Оновити над списком таблиць ви зможете побачити там таблиці з прикріпленої бази даних; назви таблиць матимуть префікс, що складається з псевдоніму прикріпленої бази даних та крапки. Клацання на такій таблиці відкриє її в окремому табличному вікні подібно до того, як це робиться для всіх інших таблиць відкритої бази даних. Примітка: Все це буде можливо, лише якщо ви вимкнули опцію Асинхронне виконання запитів (див. зауваження вище).
Можна буде об'єднати таблиці з різних баз даних однією командою SQL, наприклад:
SELECT
o.order_date,
c.client_name,
o.order_sum,
o.order_vat,
o.notes
FROM clients c
JOIN [sales].orders o ON o.client_id = c.client_id
ORDER BY 1, 2;
Результати таких об’єднаних запитів можна експортувати, використовувати у звітах тощо.
Також можна буде вставляти, оновлювати або видаляти записи в таблицях прикріпленої бази даних, створювати або видаляти таблиці тощо.
Відкріплення бази даних
Щоб відкріпити прикріплену базу даних, виконайте команду SQL типу:
DETACH DATABASE sales;
Тут потрібно вказати псевдонім прикріпленої бази даних.
Зауваження
- Рекомендується відкріплювати базу даних у тому ж вікні SQL, де вона була прикріплена.
- Після закриття поточного з'єднання всі прикріплені бази даних автоматично відкріпляються.
Див. також




