Kexi/Tutorials/Importing SQLite database into Kexi/uk: Difference between revisions

    From KDE UserBase Wiki
    (Created page with "{{Note_(uk)|У Kexi таблицю можна створити за допомогою текстового редактора та команди SQL, але цей спос...")
    (Created page with "6. Збережіть компонування таблиці із заголовком ''Archive''. Назву фізичної таблиці буде визначено у...")
    Line 98: Line 98:
    {{Note_(uk)|У Kexi таблицю можна створити за допомогою текстового редактора та команди SQL, але цей спосіб може бути зручнішим лише для досвідчених користувачів. Якщо ви цікавитеся цим питанням, будь ласка, повідомте про це на сторінці обговорення.}}
    {{Note_(uk)|У Kexi таблицю можна створити за допомогою текстового редактора та команди SQL, але цей спосіб може бути зручнішим лише для досвідчених користувачів. Якщо ви цікавитеся цим питанням, будь ласка, повідомте про це на сторінці обговорення.}}


    6. Save the table's design with the ''Archive'' caption. Physical table's name will be set by Kexi as ''archive'' what matches the table name in the ''oaklandweather.sdb'' file.
    6. Збережіть компонування таблиці із заголовком ''Archive''. Назву фізичної таблиці буде визначено у Kexi як ''archive'', що відповідає назві тбалиці у файлі ''oaklandweather.sdb''.


    Note that after saving the design you can again open it for designing. The only remark is that upon saving the altered table design you would loose any data in the table, if there is any, so it is better to make sure the table design is perfect before any data is inserted into the table.
    Note that after saving the design you can again open it for designing. The only remark is that upon saving the altered table design you would loose any data in the table, if there is any, so it is better to make sure the table design is perfect before any data is inserted into the table.

    Revision as of 06:46, 19 May 2019

    Other languages:

    Зауваження

    Цим підручником можна скористатися для роботи з Kexi 2.x та новішими версіями. Автором підручника є Jarosław Staniek (обговорення).


    Підручник було створено для задоволення запиту щодо допомоги на форумі Kexi. Будемо раді будь-яким коментарям у відповідній гілці обговорення.

    Зауваження: існує і альтернативний підхід: https://forum.kde.org/viewtopic.php?f=220&t=139243

    Вступ

    За допомогою цього підручника ви зможете ознайомитися з процедурою перетворення файла вхідних даних, oaklandweather.sdb, у стандартному форматі SQLite3 з однією таблицею даних і створити проект бази даних, яким можна буде скористатися за допомогою Kexi.

    Файл вхідних даних SQLite3 можна отримати звідси (стиснуто до 600 кБ за допомогою xz, містить загальнодоступні дані).

    Кроки

    1. У вікні емулятора термінала Konsole скористайтеся консольною програмою sqlite3 для перегляду схеми (програма з графічним інтерфейсом, Sqliteman, не здатна показувати схеми):

    sqlite3 oaklandweather.sdb
    

    2. Далі, введіть команду:

    .schema
    

    3. У відповідь буде показано схему для однієї таблиці archive:

    CREATE TABLE archive (
       dateTime INTEGER NOT NULL UNIQUE PRIMARY KEY,
       usUnits INTEGER NOT NULL,
       interval INTEGER NOT NULL,
       barometer REAL,
       pressure REAL,
       altimeter REAL,
       inTemp REAL,
       outTemp REAL,
       inHumidity REAL,
       outHumidity REAL,
       windSpeed REAL,
       windDir REAL,
       windGust REAL,
       windGustDir REAL,
       rainRate REAL,
       rain REAL,
       dewpoint REAL,
       windchill REAL,
       heatindex REAL,
       ET REAL,
       radiation REAL,
       UV REAL,
       extraTemp1 REAL,
       extraTemp2 REAL,
       extraTemp3 REAL,
       soilTemp1 REAL,
       soilTemp2 REAL,
       soilTemp3 REAL,
       soilTemp4 REAL,
       leafTemp1 REAL,
       leafTemp2 REAL,
       extraHumid1 REAL,
       extraHumid2 REAL,
       soilMoist1 REAL,
       soilMoist2 REAL,
       soilMoist3 REAL,
       soilMoist4 REAL,
       leafWet1 REAL,
       leafWet2 REAL,
       rxCheckPercent REAL,
       txBatteryStatus REAL,
       consBatteryVoltage REAL,
       hail REAL,
       hailRate REAL,
       heatingTemp REAL,
       heatingVoltage REAL,
       supplyVoltage REAL,
       referenceVoltage REAL,
       windBatteryStatus REAL,
       rainBatteryStatus REAL,
       outTempBatteryStatus REAL,
       inTempBatteryStatus REAL
    );
    

    4. Цю таблицю слід відтворити вручну за допомогою Kexi так, щоб вона якомога точніше збігалася з початковою таблицею. На жаль, іншого способу немає — це доволі велика таблиця.

    Для цього вам слід створити новий порожній проект бази даних за допомогою Kexi. Надайте проектові назву oaklandweather, щоб файл проекту Kexi називався oaklandweather.kexi. Не закривайте вікна проекту Kexi.

    5. У проекті oaklandweather.kexi розпочніть створення нової таблиці.

    • Введіть назву кожного зі стовпчиків зі схеми, наданої на кроці 3.
    • Скористайтеся редактором властивостей, панель якого розташовано праворуч, щоб визначити для кожного зі стовпчиків у цій таблиці відповідний тип даних.
      • Для типів INTEGER, наприклад dateTime INTEGER у нашій схемі, виберіть тип «Ціле число» у полі «Тип даних» на панелі Дизайнера таблиць.
      • Для типів REAL, наприклад barometer REAL у нашій схемі, виберіть тип «Число з рухомою комою» у полі «Тип даних» стовпчика на панелі Дизайнера таблиць.
    • Крім того, встановіть стовпчик dateTime як основний стовпчик ключа для таблиці на панелі Редактора властивостей.
    • Також для стовпчиків usUnits та interval має бути призначено специфікацію NOT NULL. Щоб призначити цю специфікацію у Kexi, встановіть властивість «Обов'язкова» у значення «Так»для цих стовпчиків на панелі Редактора властивостей.


    Зауваження

    Підказка: у Linux ви можете скопіювати назви стовпчиків трохи швидше, якщо двічі клацнете на назві у схемі таблиці, наведеній вище, двічі клаценет на наступній порожній комірці у стовпчику «Заголовок поля» на панелі дизайнера таблиць, а потім клацнете середньою кнопкою (коліщатком), щоб вставити раніше позначений текстовий фрагмент.


    Зауваження

    У Kexi таблицю можна створити за допомогою текстового редактора та команди SQL, але цей спосіб може бути зручнішим лише для досвідчених користувачів. Якщо ви цікавитеся цим питанням, будь ласка, повідомте про це на сторінці обговорення.


    6. Збережіть компонування таблиці із заголовком Archive. Назву фізичної таблиці буде визначено у Kexi як archive, що відповідає назві тбалиці у файлі oaklandweather.sdb.

    Note that after saving the design you can again open it for designing. The only remark is that upon saving the altered table design you would loose any data in the table, if there is any, so it is better to make sure the table design is perfect before any data is inserted into the table.

    Make sure there are all the 52 columns have been inserted in the archive table design and that all are in correct order and have proper type. Any difference can make the resulting archive table inaccessible for Kexi.

    Щойно усі описані дії буде виконано, ви можете закрити вікно програми Kexi.

    The Kexi file without data is available here for reference.

    7. So far the oaklandweather.kexi file has no data in it. Now you may be ready to execute the final command to import the data. In the Konsole terminal enter to the directory where the oaklandweather.sdb and oaklandweather.kexi files exist or add proper paths to them. Then type (or paste) the command:

    sqlite3 oaklandweather.sdb .dump | egrep -e "^(BEGIN|INSERT|ANALYZE|COMMIT)" | sqlite3 oaklandweather.kexi
    

    Це працює ось так:

    • Reports the oaklandweather.kexi file to a so-caled SQL dump (a text representation) using the sqlite3 console app.
    • Removes from this dump any lines that do not begin with BEGIN, INSERT, ANALYZE or COMMIT. This is needed because we are only interested in data of the table, not in creating a new table.
    • Directs the resulting output to a sqlite3 console app again, which receives all the commands from the output and applies them to the oaklandweather.kexi database file. The last command applied is COMMIT.


    8. Done! You can open the oaklandweather.kexi database project file in Kexi and open the 'archive' table in it to see all the data.


    The resulting Kexi file is available here (compressed to 650KB using xz).