Autor, Název akce Databázové systémy a SQL Lekce 9 Daniel Klimeš Autor, Název akce Zdroje dat – formáty Daniel Klimeš, Databázové systémy a SQL §Plain text = textový soubor §Sloupce oddělené oddělovačem § Poziční formát §Databázově nezávislé §MS Excel §Přímo do MS Access, MS SQL server §Přes plain text, CSV formát §Jiná databáze §Datové pumpy §Databázové linky § XML §Standard pro výměnu dat § Strukturovaný textový soubor Autor, Název akce Import dat z plain textu Daniel Klimeš, Databázové systémy a SQL • Importní grafické rozhraní cílové databáze • Pokud existuje •Sada INSERT příkazů • nutné plain text rozebrat a následně sestavit do INSERT příkazů • sestavení např. v MS Excel • použitelné do max. desítek tisíc řádků •Datová pumpa • nutná konfigurace • vhodné pro velké množství záznamů • Externí tabulka (ORACLE) • pro opakovaný import • po konfiguraci databáze přistupuje k souboru jako k běžné tabulce • SELECT dotazy přímo nad textovým souborem Autor, Název akce Datové pumpy Daniel Klimeš, Databázové systémy a SQL § SW aplikace § Součást databáze (sqlldr ORACLE) § Aplikace třetích stran §„univerzální“, databázově nespecifické § Přenos dat mezi databázemi §Připojení k databázi přes standardní rozhraní §ODBC §OLE DB §ADO §Často chybí podpora specifických datových typů • Autor, Název akce ORACLE – import plain textu Daniel Klimeš, Databázové systémy a SQL §Generování INSERT dotazů § příprava skriptu včetně definice tabulky (CREATE TABLE) §Spuštění skriptu v SQLPLUS, SQL DEVELOPER §SQL LOADER (sqlldr) §Datová pumpa §Ovládaný přes řídící skript (*.ctl) § Spuštění: Sqlldr control=soubor.ctl uzivatel@SID §Cílová tabulka musí existovat §Externí tabulky § CREATE TABLE ( ) ORGANIZATION EXTERNAL (popis souboru) Autor, Název akce Příklad importu Daniel Klimeš, Databázové systémy a SQL •Soubor klientky.txt § ID_KLIENTKY Integer (9) § Šifrované RČ (MD5) Text (32) § Datum narození Date § Pojišťovna Text (3) § Okres Text(30) § Rizikovost Integer (1) § CENTRUM Text(3) • OPTIONS (ERRORS=50000) LOAD DATA INFILE "C:\export\klientky.txt" APPEND INTO TABLE KLIENTKY_TEMP FIELDS TERMINATED BY ";" OPTIONALLY ENCLOSED BY "'" (ID_KLIENTKY, RC, DAT_NAR DATE "DD.MM.YYYY", POJISTOVNA, OKRES "TRIM(:OKRES)", RIZIKOVOST, CENTRUM) •Konfigurace pro sqlloader Autor, Název akce Ukázka webového rozhraní TrialDB Daniel Klimeš, Databázové systémy a SQL