Barvna shema: Riviera
Trenutno dejavna stran: start » sl » Dokumentacija » Razširitve DokuWikija (WvdS) » SQLite Data Studio » SQLite Data Studio: skrbniški vmesnik

SQLite Data Studio: skrbniški vmesnik

Nazaj: SQLite Data Studio · Normativna razporeditev območij: specifikacija področja


Skrbniški zaslon SQLite Data Studia: zbirke podatkov pregledujete, urejate in oblikujete, ne da bi zapustili wiki.

[Live] Neodvisna izvedba (Azure Data Studio kot zgled za uporabniško izkušnjo, brez prevzete tuje kode). Ta stran opisuje dejansko delovanje po opravilih; ciljna zgradba po območjih (zgradba lupine, popis dejanj, ikone v drevesu) je v normativni specifikaciji področja in tu ni ponovljena.

Vklop

enable_dbadmin je privzeto vklopljen. Načelo, da namestitev ne sme dobiti vmesnika za zbirke podatkov samo zato, ker je bil nameščen paket, velja za paket, ki je namenjen čemu drugemu in zaslon za zbirke podatkov prinese mimogrede – tu ne: ta paket je Data Studio. Izklopljeno orodje ni varnejše orodje, temveč orodje, ki ni dobavljeno.

Območja kljub temu ni? Potem ga je namestitev izklopila, to mesto pa je lahko spregledati: DokuWiki naloži conf/local.php in nato conf/local.protected.php (inc/config_cascade.php), zato velja zaščitena datoteka. Namestitev ima lahko v local.php vrednost 1 in je območje vseeno izklopljeno. Preberite dejansko veljavno vrednost, namesto da preiskujete dve datoteki.

Nato se v skrbniškem delu paketa prikaže zavihek Pomočnik za poizvedbe – viden samo, če ima trenutni račun za to območje vsaj eno zmožnost iz matrike zmožnosti.

Zgradba lupine

Studio ne gradi lastne lupine: svoja območja preda lupini delovne površine iz wkfluentui (pogodba Workbench Plugin Contract v1). Raziskovalec objektov je levo v stranski vrstici, vsebina v sredini, pomožna vrstica z lastnostmi desno, ukazna vrstica zgoraj, vrstica stanja spodaj; kjer pogled to potrebuje, je pod vsebino še spodnja plošča.

  • Ukazna vrstica nosi en sam ukaz studia, Nova poizvedba (kot glavni gumb) – edini ukaz, ki deluje na modul kot celoto in ne na posamezen objekt. Isti ukaz je v paleti ukazov. Dokumentacijo in preklop pomožne vrstice doda gostitelj.
  • Zgodovina poizvedb in pravice sta od 25. 8. 2026 v meniju Dejanja pri povezavi v raziskovalcu objektov (spodaj). Obe se nanašata na eno povezavo, vrstica nad celotnim modulom pa ne more povedati, katero ima v mislih.
  • Nekdanji desni rail modula se izriše samo še v nadomestni poti, kadar gostitelj lupine ne prevzame (manjka pogodba delovne površine ali prispevek k stranski vrstici).

Podrobnosti o območjih in pomenu barv: specifikacija področja (normativno) in skrbniško območje FluentUI (pravila vedenja).

Raziskovalec objektov

Prikaže vse nastavljene povezave hkrati kot korenska vozlišča – aktivna (parameter conn) je razprta, druge so povezave za preklop; dejansko se odpre in pregleda samo aktivna povezava. Eno samo, skupno drevo za vseh pet pogledov (pregled, struktura, brskanje, pomočnik za poizvedbe, izvoz).

  • Vrste vozlišč: povezava → tabele/pogledi → stolpci/indeksi/tuji ključi/prožilci, vsaka s svojim naborom ikon (CSS z masko, brez nalaganja datotek SVG).
  • Meni Dejanja pri povezavi: Pomočnik za poizvedbe, Nova poizvedba, Zgodovina poizvedb, Pravice (pogovorno okno z matriko, omejeno na to povezavo), Preizkusi povezavo in Uredi; pri povezavah SQLite še Izdelaj varnostno kopijo, Obnovi…, Preverjanje celovitosti, Optimiraj in Upravljaj varnostne kopije; na koncu Izbriši. Vsak vnos se posebej preveri proti lastni zmožnosti – to, da povezavo vidite, samo po sebi ne zadošča.
  • Meni Dejanja pri drugih vozliščih: pri tabeli Prebrskaj, Struktura, Stavek CREATE, Ustvari skript DROP, Izvozi, Uvozi, Lastnosti in Odstrani; pri pogledu Prebrskaj, Stavek CREATE, Lastnosti in Odstrani; pri mapi tabel Nova tabela in Osveži. Odstrani gre prek pogovornega okna s potrditvijo v dveh korakih; v načinu samo za branje dejanj, ki pišejo, ni.
  • Polje za filtriranje pod naslovno vrstico omeji vidna vozlišča po podnizu (ni nadomestilo za iskanje na strežniku) – o gradniku: katalog gradnikov → Filter InputBox.
  • Orodna vrstica drevesa: Nova povezava, Osveži in preklopnik Razširi vse/Strni vse.

Pregled tabel

Vstopna stran aktivne povezave: seznam tabel z ocenjenim številom vrstic, v vsaki vrstici brskanje, struktura, izvoz in brisanje; dejanje Nova tabela v ukazni vrstici (predal v dveh korakih: ime → naravnost v oblikovalnik strukture za drugi in nadaljnje stolpce).

Oblikovalnik strukture tabel

Štirje zavihki:

  • Stolpci: ime in vrsto urejate neposredno (sprememba imena = preimenovanje, sprememba vrste sproži spodaj opisano ponovno izgradnjo tabele), potrditveno polje za brisanje v vsaki vrstici (primarni ključ je zaščiten na strežniku). Predogled pokaže natančen SQL pred izvedbo; Uporabi ga izvede v eni transakciji.
  • Indeksi: seznam ter takojšnje ustvarjanje in brisanje (brez predogleda, ker sprememba ni tvegana).
  • Tuji ključi (samo SQLite): seznam in dodajanje prek predogleda in potrditve (nov omejitveni pogoj lahko krši obstoječe podatke), brisanje takoj (to nikoli ne more kršiti ničesar).
  • Prožilci (samo SQLite): ime in celoten, poudarjen izvorni SQL vsakega prožilca. Nov prožilec ali sprememba obstoječega se vpiše kot prosto besedilo (celoten stavek CREATE TRIGGER), ki gre skozi preverjanje oblike in predogled; urejanje prožilec odstrani in ga ustvari znova.

Vsaka vrstica (stolpci, indeksi, tuji ključi) ima povezavo Lastnosti, ki desno pomožno vrstico napolni z mrežo lastnosti izbire – ponovno nalaganje ob kliku (delček AJAX), ne obrazec v JavaScriptu.

Ponovna izgradnja tabele

SQLite ne pozna ALTER TABLE … ALTER COLUMN in naknadnega ADD CONSTRAINT – oboje poteka prek uradno dokumentirane ponovne izgradnje v dvanajstih korakih (dbadmin/RebuildPlanner.php): ustvarjanje nove ciljne tabele, kopiranje podatkov po stolpcih, obnovitev indeksov in prožilcev, PRAGMA foreign_key_check pred COMMIT (kršitev → popolna povrnitev), vse v eni transakciji. Pred vsako ponovno izgradnjo nastane še varnostna kopija celotne zbirke podatkov z VACUUM INTO (pot se prikaže, kopija se nikoli ne izbriše samodejno). Enostolpčni INTEGER PRIMARY KEY ostane vzdevek za rowid (vedenje samodejnega povečevanja).

Brskalnik po podatkih

Ostranjevanje in razvrščanje po stolpcih, vsaka vrstica s povezavo Lastnosti (cela vrstica v pomožni vrstici). Dejanja za vrstice: vstavljanje in urejanje (obrazec v predalu, vrednosti so vezane, vrstica je določena s primarnim ključem) ter brisanje (posamezne vrstice ali več izbranih naenkrat, oboje prek pogovornega okna s potrditvijo v dveh korakih s prikazom vzorca).

Pomočnik za poizvedbe

Konzola SQL za več stavkov. Rezultat ima lasten trak z zavihkoma Rezultati in Sporočila – besedilo o napaki ali uspehu je ločeno od mreže rezultatov.

  • Pogovorno okno s parametri: neopredeljene oznake :ime v besedilu SQL se prepoznajo in pred izvedbo zahtevajo v obrazcu (obveznost polj preveri strežnik, ne le HTML5 required); vsaka vrednost ima možnost seznama (razpiralo <details>) za filtre IN. »Zadnje vrednosti« se hranijo v brskalniku, imena polj, ki bi lahko pomenila skrivnost (pass/pwd/secret/token/…), so izključena.
  • Hramba osnutka: besedilo SQL preživi menjavo zavihka ali ponovno nalaganje prek localStorage (opozorilo beforeunload pri neshranjenih spremembah), neodvisno od pogovornega okna s parametri.
  • Zgodovina poizvedb: krožni medpomnilnik za vsako povezavo (samo besedilo SQL, čas, trajanje in število vrstic – nikoli vrednosti), odpre se v predalu prek vnosa Zgodovina poizvedb v meniju Dejanja pri povezavi; pri vsakem vnosu Uporabi v urejevalniku.
  • Predal z urejevalnikom rutine: obstoječo rutino uredite neposredno iz drevesa objektov, ne da bi zapustili območje Rutine – dva zavihka (JSON, Lastnosti), podrobnosti: katalog pogovornih oken.
  • Shrani kot rutino: uspešno izveden stavek lahko shranite neposredno kot novo poimenovano rutino – vrste parametrov so predlagane iz prepoznanih oznak in jih lahko izpopolnite v urejevalniku rutine.

Izvoz

  • Izvoz rezultata (CSV/JSON) neposredno iz pomočnika za poizvedbe: odjemalec nikoli ne pošlje besedila SQL, temveč samo zgoščeno vrednost SHA-256, ki se primerja z zadnjim vnosom v zgodovini povezave. Izvesti je zato mogoče izključno stavek, ki je že šel skozi preverjeno pot konzole; zastarela zgoščena vrednost se zavrne. Ponovna izvedba uporabi isto pot konzole, zato samodejno velja tudi način samo za branje.
  • Kopiranje vrstic (Ctrl+C, z glavo ali brez nje) in množični izvoz CSV neposredno iz mreže rezultatov ali brskalnika – varno pred vrivanjem formul (CWE-1236: celice, ki se začnejo z =+-@, dobijo na začetek opuščaj).
  • Samostojen zaslon Izvoz za izvoz tabel in pogledov zunaj pomočnika za poizvedbe (CSV/JSON/SQL).

Katalog pogovornih oken

Pogovorno okno Namen Vzorec
Potrditev (ConfirmDialog) potrditev v dveh korakih za vsako uničujoče dejanje (brisanje tabele, pogleda, indeksa, tujega ključa, povezave ali rutine, množično brisanje) Prava povratna pot do strežnika namesto confirm() – prva oddaja ničesar ne spremeni, temveč pokaže le število in vzorec (največ 20). Deluje enako z JavaScriptom in brez njega.
Obrazec s parametri (ParamForm) zbiranje vrednosti za oznake :ime – brez vrst (konzola pomočnika za poizvedbe) in z vrstami (preizkus rutine iz manifesta) Obveznost polj preveri strežnik; možnost seznama prek <details>
Urejevalnik rutine (RoutineEditorForm) urejanje manifesta: zavihek JSON (surovo besedilo) in Lastnosti (polja obrazca – vrsta rezultata, tabela parametrov, izvedbe) Pravi zavihki kot povezave (način nav), ne preklop v odjemalcu – vsak zavihek je samostojen obrazec, zato med zavihki nikoli ni spora podatkov. Oba zavihka shranjujeta prek istega preverjevalnika manifesta.
Matrika zmožnosti (PolicyMatrixForm) prikaz, shranjevanje in odstranjevanje zmožnosti po skupinah in uporabnikih – globalno ali za posamezno povezavo Podrobnosti: Pravice → pogovorno okno z matriko
Poveži se z… ustvarjanje nove povezave SQLite brez vnosa poti Podrobnosti: Povezave

Način samo za branje

Možnost dbadmin_readonly=1 prepove vse zapise (tudi ponovno izgradnjo tabele) in konzolo omeji na bralne stavke (SELECT/PRAGMA/EXPLAIN/SHOW/bralni WITH … SELECT); prenosljiv razčlenjevalnik, ki upošteva narekovaje in komentarje, prepozna tudi prikrite poskuse pisanja (npr. skupne tabelarične izraze, ki pišejo). Način vedno preglasi matriko zmožnosti – tudi izrecno dodeljena zmožnost write ali design v njem ne učinkuje (podrobnosti: Pravice).

Druge možnosti obratovanja

Vseh devet nastavitev tega območja v upravljalniku nastavitev pod plugin » wksqliteds. Tri nastavitve za rutine (allowPhp, default_connection, slow_ms) ne sodijo sem, temveč v Rutine → Nastavitve.

Dostop

Možnost Privzeto Pomen
enable_dbadmin 1 sploh ponuditi območje Pomočnik za poizvedbe. Dobavljeno vklopljeno – glejte Vklop
dbadmin_readonly 0 zasilni izklop vseh zapisov – glejte Način samo za branje
dbadmin_time_limit 180 sekunde, ki jih sme zahteva na ta zaslon teči; 0 = PHP-jeve lastne omejitve ne spreminjaj
dbadmin_time_limit deluje izključno tukaj – enkrat na zahtevo, v admin.php::applyTimeLimit(), in samo pri vrednosti, večji od nič. Nobena druga stran wikija ni prizadeta.

Nastavitev obstaja, ker so poljuben SQL, izvozi in varnostne kopije edino delo te namestitve, ki lahko traja minute – in vse to spada v to območje. Vrednost je bila prej v nastavitvah wikija, pripeta na nepovezano prireditev, in je zato učinkovala ob branju te datoteke: pri vsaki zahtevi in vsakem zagonu iz ukazne vrstice v celotnem wikiju. Pri tem je delala dvoje hkrati, ker je PHP-jeva izhodiščna vrednost odvisna od načina delovanja – na spletu je omejitev dvignila (30 → 180), v ukazni vrstici pa jo zamejila (0 → 180). Druga polovica je zanesljivo ubila priloženi indeksirnik iskanja. Kdor potrebuje več časa, kot ga daje ta nastavitev, ga potrebuje v php.ini, kjer ga upravljavec vidi.

Koliko vrstic

Tri meje, ki jih je lahko zamenjati, ker vse tri štejejo »vrstice« – štejejo pa na treh različnih mestih:

Možnost Privzeto Omejuje 0 pomeni
dbadmin_max_result_rows 1000 koliko vrstic se pridobi (konzola in izvoz) brez omejitve
dbadmin_grid_rows 1000 koliko vrstic pomočnik za poizvedbe izriše brez omejitve
dbadmin_buffer_cache_rows 200 koliko vrstic se za vsak medpomnilnik hrani kot zadnji rezultat brez omejitve
dbadmin_page_size 12 vrstice na stran v mreži brskalnika po podatkih – (najmanj 1)

Zakaj sta pridobivanje in izris ločena. Vsaka vrstica mreže rezultatov postane pravi <tr>; navideznega pomikanja tu namenoma ni. Neomejen rezultat tako postane neomejena stran – izmerjeno na tej namestitvi: 32 767 vrstic je dalo 1 MB HTML in 2,5 s strežniškega časa, večji rezultat pa zahteva sredi poti odmre in brskalnik obstane na prejšnji strani. Od zunaj je videti, kot da »poizvedba ne naredi ničesar«.

Celoten pridobljeni nabor ostane dosegljiv: izvoz CSV in JSON bereta rezultat, ne mreže. Ko meja izrisa učinkuje, opomba nad mrežo navede obe števili, izrisano in pridobljeno, da nihče manjšega ne zamenja za rezultat.

dbadmin_buffer_cache_rows je izrecno neodvisen od drugih dveh in manjši od njiju: je predogled za nadaljevanje dela ob menjavi medpomnilnika, ne merodajen prikaz. Ta nastane ob vsakem zagonu na novo in vedno sledi meji pridobivanja.

dbadmin_page_size je nastavljen na 12, ne na 50. Ta stran je do 4. avgusta 2026 navajala 50; to je bila stara, lastna številka paketa. Danes je to privzeta vrednost mrež za vso hišo – vsak seznam izdelka začne z isto velikostjo strani, da »en zaslon je dvanajst vrstic« povsod pomeni isto. Povečanje ostaja podprto: mreža brskalnika, ki sega čez vidno območje, ob pomikanju naloži še več – večja stran torej pomeni predvsem manj zahtev, ne drugačne uporabe.

Koliko zavihkov

Možnost Privzeto Omejuje
dbadmin_max_query_buffers 20 hkrati odprte medpomnilnike poizvedb na uporabnika in povezavo
dbadmin_max_workspace_tabs 20 hkrati odprte zavihke strukture, brskanja in vzdrževanja na uporabnika in povezavo

Obe meji štejeta ločeno. Prav to je namen: kdor odpre veliko struktur tabel, s tem ne more izriniti odprtih medpomnilnikov poizvedb, in obratno.

Obe zavrneta, namesto da bi izrinili. Ko je meja dosežena, se noben odprt, še ne zagnan medpomnilnik tiho ne zapre – prikaže se sporočilo, ki mejo navede. Pri delovnih zavihkih se zaslon kljub temu izriše v celoti, le tokrat zunaj traku z zavihki; nič se ne izgubi.

Tiho zaprt medpomnilnik bi bil dražji izid: vedno zadene tistega, na katerem uporabnik ravno ne dela, in se nikoli ne oglasi.

Metapodatke o shemi daje SchemaIntrospector za posamezno zaledje (SQLite: sqlite_master/PRAGMA; MySQL/PgSQL/SQL Server: information_schema/katalog; MS Access: po najboljših močeh prek ODBC).

Sorodne teme

sl/wiki/dwe/wksqliteds/studio.txt · Zadnja sprememba: uporabnika Wolfgang van der Stille