SQLite duomenų bazės į SQL išklotinės keitiklis
SQLite duomenų bazės failo konvertavimas į SQL išklotinės tekstinį scenarijų paverčia dveinarę duomenų bazę skaitomomis teksto komandomis, kad būtų lengva perkelti duomenų bazę ir importuoti į serverį.
Formatų palyginimas ir techninės specifikacijos
| Specifikacija | SQLITE | SQL |
|---|---|---|
| MIME tipas | application/vnd.sqlite3 | text/plain |
| Tipas | embedded relational database | relational schema & query script |
| Glaudinimas | B-Tree page allocation | none (plain text DDL/DML script) |
| Standartinė specifikacija | SQLite Database File Format 3 | ISO/IEC 9075 SQL Standard |
| Maginės baitų antraštės (Magic Bytes) | 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00 (SQLite format 3\0) | 2D 2D (--) or CREATE TABLE SQL statement |
Formato apžvalga ir taikymas
SQLite saugo visas reliacines duomenų bazes viename savarankiškame dvejariame faile. Kūrėjams ir sistemos administratoriams dažnai prireikia perkelti duomenis iš vietinių SQLite programų į didesnes serverio sistemas, tokias kaip „MySQL" ar „PostgreSQL". Kadangi serverio duomenų bazės negali tiesiogiai skaityti SQLite dvejarių failų, šią problemą išsprendžia failo pakeitimas į SQL scenarijų. SQL scenarijuje yra paprasto teksto instrukcijos, kurios iš naujo sukuria lenteles, prideda indeksus ir įkelia duomenis, kai jos paleidžiamos naujame serveryje. Šis konvertavimo procesas yra įprastas perkeliant žiniatinklio programas iš testavimo aplinkų į veikiančius gamybinius serverius. Programinės įrangos inžinieriai taip pat naudoja SQL teksto scenarijus ilgalaikiam duomenų archyvavimui. Paprasto teksto failai išlieka skaitomi dešimtmečius, net jei konkrečios duomenų bazės programinė įranga pasensta. Sukūrus SQL scenarijų iš dvejarių duomenų bazės failų, kūrėjai gali tikrinti duomenų pakeitimus naudodami pagrindines teksto rengykles ir versijų kontrolės įrankius, tokius kaip „Git".
Techninės specifikacijos ir kodekų apžvalga
SQLite duomenų bazė (MIME tipas „application/vnd.sqlite3") prasideda išskirtine 16 baitų magiškojo skaičiaus antrašte, atitinkančia teksto eilutę „SQLite format 3\000". Faile naudojama B-medžio puslapių paskirstymo sistema, skirta lentelėms ir indeksams tvarkyti dveinariniu formatu. Visiškai priešingai, SQL išklotinė (MIME tipas „text/plain") neturi jokių dvejarių magiškųjų baitų. Tai neglaudintas ASCII arba UTF-8 teksto failas, užpildytas standartinėmis Duomenų apibrėžimo kalbos komandomis, tokiomis kaip CREATE TABLE, ir Duomenų manipuliavimo kalbos komandomis, tokiomis kaip INSERT INTO. Konvertavimas tarp jų reikalauja nuskityti dvejarių B-medžio puslapius ir išspausdinti tekstinius teiginius.
OS ir naršyklės suderinamumas
SQLite failai natūraliai atsidaro duomenų bazių naršyklėse, mobiliosiose programose ir „Python" bei „PHP" scenarijuose. SQL teksto išklotinės atsidaro bet kurioje pagrindinėje teksto rengyklėje, pavyzdžiui, „Notepad" ar „TextEdit", ir veikia pagrindiniuose reliacinių duomenų bazių varikliuose, įskaitant „MySQL", „PostgreSQL" ir „Microsoft SQL Server". Kadangi SQL išklotinės yra paprastas tekstas, jos visuotinai veikia „Windows", „macOS", „Linux", „iOS" ir „Android" sistemose be jokių specialių duomenų bazės tvarkyklių.
💡 Naudinga informacija
Visada eksportuokite savo SQL išklotinę naudodami UTF-8 koduotę, kad išvengtumėte simbolių iškraipymo perkeliant specialiuosius simbolius arba ne anglišką tekstą tarp skirtingų operacinių sistemų.
Formatų palyginimas ir techninės specifikacijos
50 MB dydžio SQLite dvejarių duomenų bazės failas šiek tiek sumažėja arba padidėja paverstas į neglaudintą 55 MB dydžio SQL tekstinę išklotinę. Naudojant standartinį 4G mobilųjį tinklą su 30 megabaitų per sekundę atsisiuntimo greičiu, šio teksto failo perkėlimas užtrunka apie 15 sekundžių. Naudojant greitą 5G ryšį, jis perkeliamas greičiau nei per 3 sekundes, o didelės spartos šviesolaidinis ryšys perkelia failą beveik akimirksniu, mažiau nei per 1 sekundę.
Dažnai užduodami klausimai
Kaip konvertuoti SQLite duomenų bazę į SQL išklotinę neprarandant kokybės?
Konvertavimas yra visiškai nenuostolingas, nes abu formatai saugo lygiai tas pačias reliacines lenteles, eilutes ir stulpelius. Teksto eksportavimo proceso metu nėra sugadinami ar prarandami jokie duomenų vertimai, tipai ar apribojimai.
Kuo skiriasi SQLite duomenų bazė ir SQL išklotinė?
SQLite duomenų bazė yra dvejarių failų rinkinys, suskirstytas į fiksuoto dydžio puslapius, naudojant B-medžius greitoms vietinėms užklausoms. SQL išklotinė yra paprasto teksto scenarijus, kuriame yra žmogiam skaitomos duomenų bazės komandos, naudojamos duomenų bazei atstatyti kitame serveryje.