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

From KDE UserBase Wiki
(Created page with "== Skridt ==")
(Created page with "Bemærk: Der er en alternativ fremgangsmåde: https://forum.kde.org/viewtopic.php?f=220&t=139243")
 
(29 intermediate revisions by 2 users not shown)
Line 4: Line 4:


Dette er skrevet for at hjælpe med følgende forespørgsel på [http://forum.kde.org/viewtopic.php?f=221&t=118997 Kexis forum]. Kommentarer er velkomne i denne tråd.
Dette er skrevet for at hjælpe med følgende forespørgsel på [http://forum.kde.org/viewtopic.php?f=221&t=118997 Kexis forum]. Kommentarer er velkomne i denne tråd.
Bemærk: Der er en alternativ fremgangsmåde: https://forum.kde.org/viewtopic.php?f=220&t=139243


== Introduktion ==
== Introduktion ==
Line 13: Line 15:
== Skridt ==
== Skridt ==


1. In [[Special:myLanguage/Konsole|Konsole]] terminal you can use ''sqlite3'' console app to show schema (''Sqliteman'' GUI app would not show the schema):
1. I terminalen [[Special:myLanguage/Konsole|Konsole]] kan du bruge ''sqalite3''-konsolprogrammet til at vise skemaet (den grafiske brugerflade ''Sqliteman'' viser ikke skemaet):


  sqlite3 oaklandweather.sdb
  sqlite3 oaklandweather.sdb


2. Then you can type:
2. Du kan nu skrive:


  .schema
  .schema


3. This shows you schema for one table ''archive'':
3. Dette viser dig skemaet for én tabel, ''archive'':


  CREATE TABLE archive (
  CREATE TABLE archive (
Line 78: Line 80:
  );
  );


4. This table needs to be manually re-created using Kexi to make it match the original table as much as possible. Unfortunately -- because this is a big table.  
4. Denne tabel skal genskabes manuelt i '''Kexi''' for at få den til at matche den oprindelige tabel så meget som muligt. Desværre — for det er en stor tabel.  


To do so, you can create a new blank database file project using the Kexi app. Give it a name such as ''oaklandweather'' so Kexi will pick a name ''oaklandweather.kexi''. Do not close the Kexi project.
For at gøre dette oprettes en ny tom database-projektfil i '''Kexi'''. Giv den et navn som fx ''oaklandweather'', sådan at '''Kexi''' vil vælge et navn, ''oaklandweather.kexi''. Luk ikke '''Kexi'''-projektet.


5. In the ''oaklandweather.kexi'' project, start designing a new table.
5. Gå i gang med at designe en ny tabel i projektet ''oaklandweather.kexi''.


*Type a name for every column presented by the schema in the step 3.  
* Skriv et navn for hver kolonne, som vises i skemaet fra skridt 3.
*Use the Property Editor on the right hand to give each column in this table proper data type.  
* Brug Egenskabseditoren i højre side til at give hver kolonne i denne tabel den rette datatype.
**For INTEGER types, eg. ''dateTime INTEGER'' as seen on the schema, select Integer Number in the Data Type column of the Table Designer.
** For typen INTEGER, fx ''dateTime INTEGER'' som vist i skemaet vælges Heltal i kolonnen Datatype i Tabeldesigneren.
**For REAL types, eg. ''barometer REAL'' as seen on the schema, select Floating Point Number in the Data Type column of the Table Designer.
** For typen REAL, fx ''barometer REAL'' som vist i skemaet vælges Decimaltal i kolonnen Datatype i Tabeldesigneren.
*In addition, set the ''dateTime'' column as the primary key for the table in the Property Editor.
* Angiv desuden kolonnen ''dateTime'' som primær nøgle for tabellen i Egenskabseditoren.
*Also, ''usUnits'' and ''interval'' columns have NOT NULL specifier assigned. To do the same in Kexi, set Required property to Yes for these columns in the Property Editor.




{{Note|A hint: on Linux you can copy column names a bit faster by double clicking on the name in the table schema above, double clicking on a subsequent empty cell in the Field Caption column of the Table designer, and then pressing the middle mouse button to paste the previously made selection.}}
{{Note/da|Et tip: under Linux kan du kopiere kolonnenavne lidt hurtigere ved at dobbeltklikke på navnet i tabelskemaet herover, dobbeltklikke på en efterfølgende tom celle i kolonnen Feltpåskrift i Taneldesigneren og klikke med den midterste museknap for at indsætte den markerede tekst.}}


{{Note|It is possible to create the table in Kexi using text editor and a SQL command but it would be reserved for more advanced users. Given there is enough interest instructions can be published.}}
{{Note/da|Det er muligt at oprette tabellen i Kexi ved hjælp af en teksteditor og en SQL-kommando, men det er for mere avancerede brugere. Hvis der er tilstrækkelig interesse vil en vejledning blive offentliggjort.}}


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. Gem tabellens design med titlen ''Archive''. Den fysiske tabels navn vil blive sat af '''Kexi''' til ''acrhive'', som matcher tabelnavnet i filen ''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.
Bemærk, at efter at have gemt designet kan du åbne det igen for at arbejde videre med det. Bemærk dog, at når du gemmer det ændrede tabeldesign vil du miste alle data, der måtte være gemt i tabellen, så det bedste er at sørge for, at designet er perfekt før du indsætter data i tabellen.


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.
Sørg for at alle 52 kolonner er blevet indsat i tabeldesignet ''archive'' og at de alle kommer i den rigtige rækkefølge og har den korrekte type. Enhver forskel kan betyde, at den resulterende tabel, ''archive'', bliver utilgængelig for '''Kexi'''.


When you are done, close the Kexi app.  
Luk programmet '''Kexi''' når du er færdig.  


The Kexi file without data is available [kexi-project.org/download/tests/oaklandweather-empty.kexi here] for reference.
Kexi-filen uden data findes [http://kexi-project.org/download/tests/oaklandweather-empty.kexi her] til sammenligning.


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:
7. Indtil nu er der ingen data i filen ''oaklandweather.kexi''. Nu skulle du være klar til at udføre den sidste kommando for at importere data. I terminalen '''Konsole''' går du til mappen, hvor filerne ''oaklandweather.sdb'' og ''oaklandweather.kexi'' findes eller tilføjer den korrekte sti til dem. Skriv så (eller indsæt) kommandoen:


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


This works as follows:
Dette virker således:


*Reports the ''oaklandweather.kexi'' file to a so-caled SQL dump (a text representation) using the sqlite3 console app.
* Anmelder filen ''oaklandweather.kexi'' til et såkaldt SQL-dump (en tekstrepræsentation) ved brug af sqlite3's konsolprogram.
*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.
* Fjerner de linjer fra dumpet, som ikke begynder med BEGIN, INSERT, ANALYZE eller COMMIT. Det er nødvendigt, da vi kun er interesserede i tabellens data, ikke i at oprette en ny tabel.
*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.
* Sender det resulterende output tilbage til et ''sqlite3''-konsolprogram, som modtager alle kommandoerne i outputtet og anvender dem på databasefilen ''oaklandweather.kexi''. Den sidste kommando, som anvendes er 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.
8. Færdig. Du kan åbne databaseprojektet ''oaklandweather.kexi'' i '''Kexi''' og åbne tabellen 'archive' i den for at se alle data.




The resulting Kexi file is available [http://kexi-project.org/download/tests/oaklandweather.kexi.xz here] (compressed to 650KB using xz).
Den resulterende '''Kexi'''-fil findes [http://kexi-project.org/download/tests/oaklandweather.kexi.xz her] (komprimeret til 650KB ved brug af xz).


[[Category:Office]]
[[Category:Kontor/da]]
[[Category:Tutorials]]
[[Category:Vejledning/da]]

Latest revision as of 08:19, 2 August 2017

Other languages:

Note

Denne vejledning virker med Kexi 2.x og nyere. Forfatter Jarosław Staniek (diskussion).


Dette er skrevet for at hjælpe med følgende forespørgsel på Kexis forum. Kommentarer er velkomne i denne tråd.

Bemærk: Der er en alternativ fremgangsmåde: https://forum.kde.org/viewtopic.php?f=220&t=139243

Introduktion

Denne vejledning viser, hvordan man tager en inputfil, oaklandweather.sdb, som er en standard SQLite3-fil og indeholder én datatabel og opretter et databaseprojekt, som kan bruges i Kexi.

SQLite3-inputfilen findes her (komprimeret til 600KB ved brug af xz, indeholder offentligt tilgængelige data).

Skridt

1. I terminalen Konsole kan du bruge sqalite3-konsolprogrammet til at vise skemaet (den grafiske brugerflade Sqliteman viser ikke skemaet):

sqlite3 oaklandweather.sdb

2. Du kan nu skrive:

.schema

3. Dette viser dig skemaet for én tabel, 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. Denne tabel skal genskabes manuelt i Kexi for at få den til at matche den oprindelige tabel så meget som muligt. Desværre — for det er en stor tabel.

For at gøre dette oprettes en ny tom database-projektfil i Kexi. Giv den et navn som fx oaklandweather, sådan at Kexi vil vælge et navn, oaklandweather.kexi. Luk ikke Kexi-projektet.

5. Gå i gang med at designe en ny tabel i projektet oaklandweather.kexi.

  • Skriv et navn for hver kolonne, som vises i skemaet fra skridt 3.
  • Brug Egenskabseditoren i højre side til at give hver kolonne i denne tabel den rette datatype.
    • For typen INTEGER, fx dateTime INTEGER som vist i skemaet vælges Heltal i kolonnen Datatype i Tabeldesigneren.
    • For typen REAL, fx barometer REAL som vist i skemaet vælges Decimaltal i kolonnen Datatype i Tabeldesigneren.
  • Angiv desuden kolonnen dateTime som primær nøgle for tabellen i Egenskabseditoren.


Note

Et tip: under Linux kan du kopiere kolonnenavne lidt hurtigere ved at dobbeltklikke på navnet i tabelskemaet herover, dobbeltklikke på en efterfølgende tom celle i kolonnen Feltpåskrift i Taneldesigneren og klikke med den midterste museknap for at indsætte den markerede tekst.


Note

Det er muligt at oprette tabellen i Kexi ved hjælp af en teksteditor og en SQL-kommando, men det er for mere avancerede brugere. Hvis der er tilstrækkelig interesse vil en vejledning blive offentliggjort.


6. Gem tabellens design med titlen Archive. Den fysiske tabels navn vil blive sat af Kexi til acrhive, som matcher tabelnavnet i filen oaklandweather.sdb.

Bemærk, at efter at have gemt designet kan du åbne det igen for at arbejde videre med det. Bemærk dog, at når du gemmer det ændrede tabeldesign vil du miste alle data, der måtte være gemt i tabellen, så det bedste er at sørge for, at designet er perfekt før du indsætter data i tabellen.

Sørg for at alle 52 kolonner er blevet indsat i tabeldesignet archive og at de alle kommer i den rigtige rækkefølge og har den korrekte type. Enhver forskel kan betyde, at den resulterende tabel, archive, bliver utilgængelig for Kexi.

Luk programmet Kexi når du er færdig.

Kexi-filen uden data findes her til sammenligning.

7. Indtil nu er der ingen data i filen oaklandweather.kexi. Nu skulle du være klar til at udføre den sidste kommando for at importere data. I terminalen Konsole går du til mappen, hvor filerne oaklandweather.sdb og oaklandweather.kexi findes eller tilføjer den korrekte sti til dem. Skriv så (eller indsæt) kommandoen:

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

Dette virker således:

  • Anmelder filen oaklandweather.kexi til et såkaldt SQL-dump (en tekstrepræsentation) ved brug af sqlite3's konsolprogram.
  • Fjerner de linjer fra dumpet, som ikke begynder med BEGIN, INSERT, ANALYZE eller COMMIT. Det er nødvendigt, da vi kun er interesserede i tabellens data, ikke i at oprette en ny tabel.
  • Sender det resulterende output tilbage til et sqlite3-konsolprogram, som modtager alle kommandoerne i outputtet og anvender dem på databasefilen oaklandweather.kexi. Den sidste kommando, som anvendes er COMMIT.


8. Færdig. Du kan åbne databaseprojektet oaklandweather.kexi i Kexi og åbne tabellen 'archive' i den for at se alle data.


Den resulterende Kexi-fil findes her (komprimeret til 650KB ved brug af xz).