Az Inkscape színkezelése és az RDBM adatbázisok alapjai

Az Inkscape egy ingyenes, nyílt forrású vektorgrafikus program, amely Lauris Kaplinski litván programozó által elkezdett Sodipodi program utódjaként jött létre. Az SVG-re, egy webes vektorgrafikus szabványra épülő, Linux alatt is használható illusztrációs program működésében nagyon hasonlít a CorelDRAW vagy az Adobe Illustrator programokhoz. A nyomdai előkészítés kivételével szinte bármit megoldhatunk az Inkscape-pel is.

Ebben a cikkben két fő témát dolgozunk fel: az Inkscape színkezelését és az RDBM (Relational Database Management System) adatbázisok alapjait. Bemutatjuk, hogyan választhatsz, szabhatsz testre és alkalmazhatsz színeket az Inkscape-ben, valamint hogyan tervezhetsz és kezelhetsz adatbázisokat relációs modell segítségével.

Az Inkscape színkezelése

A színek jelentik a sikeres tervezés szívét. Az Inkscape segítségével színeket választhatsz, testre szabhatsz és alkalmazhatsz az objektumaidra az elképzeléseid szerint. Ez a rész lépésről lépésre vezet végig az Inkscape-ben történő színválasztás és -testreszabás különböző módszerein. Felfedezheted, hogyan tudod designjaidat széles színpalettával feljavítani.

Legfontosabb megállapítások a színkezelésről:

  • A színválasztás a színpalettáról és további színpalettákról történik.
  • Színeket közvetlenül az objektumokra alkalmazhatsz és kontúrokat adhatsz hozzájuk.
  • Különböző szín- és átlátszóságszabályozók állnak rendelkezésre az objektumaid külsejének célzott megváltoztatásához.
  • Az ecsettel közvetlenül színeket vehetsz ki képekből, ami nagy rugalmasságot biztosít neked.
  • Lehetséges saját színpalettákat létrehozni, bár ez valamivel bonyolultabb.

Lépésről lépésre az Inkscape-ben:

  1. Objektum létrehozása: Húzz egy téglalapot az áttekintési felületre a Téglalap eszközzel. Itt például egy egyszerű szürke téglalapot készíthetsz, hogy később rá tudhasd a színeket alkalmazni.
  2. Kitöltőszín alkalmazása: Ha a téglalapot kiválasztottad, nézd meg a színpalettát a képernyő alján. Kattints a kívánt színre. Ez a szín azonnal megjelenik a tárgy kitöltőszínének. A státussorban láthatod, hogy a kitöltőszín mostantól látható. Bármikor megváltoztathatod a kitöltőszínt.
  3. Kontúrszín alkalmazása: Hogy kontúrt adj hozzá, tartsd lenyomva a Shift billentyűt, majd kattints a kívánt kontúrszínre a palettán. Ez a kontúr kívülről lesz elhelyezve az objektumodon.
  4. Kontúr eltávolítása: Ha eltávolítani szeretnéd a kontúrt, tartsd lenyomva a Shift billentyűt, majd kattints az X-re a színpalettán. Ezzel teljesen eltávolítod az aktuális kontúrt.
  5. Kitöltés eltávolítása: Hasonló a helyzet az objektum kitöltőszínével. Ha eltávolítanád a kitöltést, válaszd ki az objektumot, majd kattints az X-re a színpalettán. Az objektum megmarad, de már nincs kitöltés vagy kontúr.
  6. További színpaletták és méretbeállítás: Az alapértelmezett színpaletta mellett más színpalettákat is megjeleníthetsz. Kattints a mellette lévő nyílra, hogy áttekintést nyerj a további színpalettákról. Hogy több színt láss egy pillantásra, állítsd be az látható terület méretét a paletta színmezőinek méretének beállításával.
  7. Kitöltés és kontúr panel: Valódi ellenőrzést biztosítasz a színek fölött, ha kinyitod a színkerék. Klikkelj a ikonra a parancssorban, hogy megnyisd az kitöltés és kontúr panelt. Ott tudod állítani a kitöltőszínt, kontúrszínt és a kontúrmintázatot.
  8. Színek és átmenetek meghatározása: Többféle lehetőséged van itt a kitöltések definiálására és színátmenetek kiválasztására. Használd az RGB-, HSL- vagy CMYK-értékeket a pontos színtónusok meghatározásához. Különösen a színkerék segítségével választhatsz ki különböző színtónusokat vizuálisan, és megváltoztathatod a telítettséget és világosságot. Kísérletezz a szabályozókkal, hogy megtaláld a tökéletes színt a designodhoz.
  9. Átlátszóság beállítása: Hogy megváltoztasd az egy objektum átlátszóságán, használhatsz egy szabályzót az átlátszághoz. Figyelembe véve, hogy az átlátszóság csökkentése csak az aktuálisan kiválasztott objektumra vonatkozik, ha később a rétegekkel dolgozol, ez eltérően működhet. Ha hozzá szeretnél adni egy kontúrt, akkor csak ennek a kontúrnak az átlátszóságát is beállíthatod. Ez azt jelenti, hogy a kitöltés és a kontúr különféle átlátszóak lehetnek, ami rugalmas tervezési lehetőségeket biztosít számodra.
  10. Pipetta eszköz: Egy másik hasznos funkció a pipetta. Válaszd ki a pipetta ikont a kurzor megváltoztatásához. Utána kattints a munkaügyi terület valamely részére vagy egy képre, hogy felvehess egy színt. Ez a szín azonnal az aktuálisan kiválasztott objektumra kerül. Egy kis körrel is húzhatod a képen való terület átlagos színét.
  11. Színek megadása hexadecimális kóddal: Az RGBA mező, amely 8 karakterből áll, a hexadecimális kódot és az átlátszóságot is tartalmazza. Az első 6 karakter a hexadecimális színkód, az utolsó 2 pedig az átlátszóságot jelzi (ff a teljes átlátszóság, 00 a teljes átlátszatlanság).

Inkscape színpaletta és eszközök

RDBM adatbázisok: táblák, relációk, lekérdezések

Komolyabb adatkezelésre nem alkalmasak a táblázatkezelők, még akkor sem, ha „csak” összetettebb lekérdezési folyamatokat kell csinálni, vagy például akkor sem, ha speciális formájú adatforrásokra van szükség. Erre valók az adatbázismodellek.

Nem minden, de a legtöbb feladatra manapság a leghasználhatóbbak a relációs: RDBM (Relational Database Management System) adatbázis-modellek, melyek rendszerszerű adattáblák összekapcsolásával, relációkkal működnek, de léteznek gráf- és más adatbázismodellek is.

RDBM szerverek, kliensek

Az RDBM kiváló alkalom a rendszer szabvány kiszolgáló-ügyfél (szerver-kliens) logikájának megértésére. A szerver rész fájlból betölti az adatbázist (akár több adatbázist is üzemeltethet egy időben). A kliens feladata - ez az a webes, asztali vagy más alkalmazáskomponens, amit látunk - hogy a megfelelő adatbázishoz a megfelelő jogosultsággal kapcsolódjon, írja vagy olvassa.

Komoly adatbázis-kezelés esetén a szerverrész általában külön gépen fut, amelyhez a szokásos IP-módon a megfelelő porttal megszólítva tud majd kapcsolódni a kliens. Sem elvi, sem pedig gyakorlati akadálya nincs annak sem azonban, hogy a mind a szerver rész is és egy kliens ugyanazon a gépen fusson, az asztali RDBM alkalmazások, mint például a szabványos ODB/HSQLDB-ben tároló LibreOffice Base, esetleg a Microsoft Access integráltan biztosítják ezt a lehetőséget is.

Adattáblák és lekérdezések

Az RDBM-adatbázisok adattáblái abban is eltérnek egy számolótáblázat munkalapjaitól, hogy maguk az adattáblák alapvetően adatokat tárolnak, nem futtatnak való időben képleteket, függvényeket, ezek majd az átlag felhasználó számára legfontosabb feladatban a lekérdezésekben (Query) lesznek.

Az SQL nyelv

Az RDBM-alkalmazások lekérdezéseit az asztali RDBM-alkalmazásoknál, mint például tervezőnézetben illetve összetettebb esetben már a szabvány SQL nyelven kérdezhetjük le.

Az SQL nyelv neve ellenére nem csak lekérdezésekre alkalmas, de legtöbbször erre használjuk a SELECT parancs mögött a táblanév.mezőnevet megadva majd a WHERE mögött a feltételt, ami lehet al-lekérdezés is.

A tervezőnézetben összekattintott egyszerű lekérdezések és az SQL nézet között lehetséges a váltás, ez segíti az lekérdezés SQL-ben írásának gyors automatizálását.

Relációs adatbázis modell diagram

Erős kollaboráció, tárolás SQL-DB formátumokban

Természetesen az asztali RDBM-alkalmazásoknál is felmerül az igény a szabványosságra, professzionálisabb SQL-szerverekbe exportálásra/importálhatóságra/szkriptelhetőségre.

Az asztali RDBM-alkalmazások szerény piacán ezt az elvárást/igényt leginkább a LibreOffice Base elégíti ki.

A Base kerete a szabvány ODB frontend formátum, innen akár az ODBC, akár a JDBC adatbázis kapcsolóval tud lényegében minden szabvány SQL szerverhez kapcsolódni, vagy pedig, szerény helyi adatbázisok esetén maga tárol a szabvány SQL-hez nagyon közeli formátumban, HSQLDB-ben.

Mindezen elvek miatt elmondható, hogy egyrészt maguknál a lekérdezéseknél is a lehető legnagyobb pontossággal követi az alap SQL szabványokat, másrészt még a helyi adattárolás formátuma is szabványos és jól szkriptelhető.

Ez azért fontos, mert az intézményi adatkezelésben elengedhetetlen, hogy az adatok olyan formátumban álljanak rendelkezésre, hogy azt specifikáció alapján bármilyen alkalmazásba, a szabványok mentén bármilyen robusztus adatbázis-szerverbe a megfelelő szkripteléssel át lehessen vinni, technikailag is jogilag is maximálisan biztosítva az adatgazdai felelősséget.

Az ODB/HSQLDB és a SQL-szabványok betartása mindenek előtt a LibreOffice Base-ben ezt lehetővé teszi akár jó támogatással, és elkerülhető a későbbi diszfunkcionalitás, vagy akár kisebb vagy nagyobb mértékű adatvesztő gyakorlat.

Adattáblák importálása CSV fájlokból

Használjunk a lehető legjobban kezelhető ismert adatokat 2 összekapcsolható adattáblának az RDBM adatbázis-kezelőbe való beillesztéséhez, importálásához:

Elsőnek vegyünk itt egy rövid (5continents.csv) nevű CSV fájlt. Az első sorában látszanak a mezőneveink, amelyeket az RDBM adatbázis-kezelőbe való importáláskor használunk, illetve típusaikat majd értelemszerűen be fogjuk állítani.

A fájl tartalma az alábbi:

contid,contname,styear,popdenEurope,2024,72.92Australia,2024,3.63Asia,2024,100.14Americas,2024,24.75Africa,2024,46.1

A fenti kis CSV fájlunk az olimpiai zászló érelmében vett 5 földrészt sorolja fel előre beállított elsődleges azonosító kulcsmezőkkel (amely az adatbázisban majd számláló típusú elsődleges kulcsmezőre állítandó, ezeknek a földrészeknek a nevével, statisztikai évszámmal és a statisztikai évben vett népsűrűséggel. (Utóbbiak az adatbázisban természetesen majd a megfelelő szám típusúra állítandók.))

Ezt követően vettünk egy tzas (timezone-abbreviations) nevű fájlt. Így jön létre a kapcsolat, és így kerüljük el az adatfelvételek akár hibát is okozó redundanciáját. Az igényünk szerint előállított CSV fájlt meg tudjuk nyitni egy táblázatkezelőben, majd ott vágólapra másolva importálás céljából be tudjuk illeszteni őket az adatbázisunkba.

A helyes adattípusok, mezők beállítása

Minden programnál - programozási nyelveknél is, mint például a C, a Perl vagy JavaScript - ha azt akarjuk, hogy gyorsan fusson, akkor hatékony, ha az adatok előre minél pontosabban megadott adattípusokban kezeljük:

A CSV fájlokból beimportált táblák mezőinek adattípusát magától nem tudja kitalálni az asztali RDBM adatbázis-kezelő alkalmazás, ezért a mezők végleges beállítása ránk hárul.

Már az importálás során felmerül, hogy tartalmaz-e a CSV kulcsmezőt, ha nem, akkor ezt már ekkor hozzáadhatjuk.

Ránk vár a szám típusú, vagy Boole-mezők beállítása is, valamint a szöveges mezők maximális hosszának hatékony beállítása is fontos lehet.

Különösen fontos a kulcsmezők megjelölése és a kölcsönösen megfelelő számláló adattípus megadása.

Relációk létrehozása

Ezt követően tudjuk a relációt létrehozni. SQL parancs esetén ezt érdemes már a tábla létrehozásánál megtenni, az asztali RDBM adatbázis-kezelő használatánál a táblák importálása után tesszük meg.

A fenti példánkban tehát természetesen úgy hozzuk létre az adattábláink (esetünkben két adattábla) relációba való összekapcsolását, hogy a 5continents táblázatban lévő contid mezőt, mint elsődleges kulcs, és a timezones táblázatban lévő contid mezőt, mint idegen kulcs kapcsoljuk össze egy 1 → n típusú összekapcsolással, ami nem kizárólagos, de a leggyakrabban és legáltalánosabban használt összekapcsolás az adatbázisban.

Magának a relációs adatbázis modellnek (RDBM) az egyik legfőbb értelme éppen az, hogy a nagyon heterogén adatszerkezeteket értelmesen szétbontott adattáblák összekapcsolásával hozza létre.

Adatbázis relációk diagram

Lekérdezések alapjai SQL-ben

Ezek után el is kezdhetjük a lekérdezéseinket létrehozni, a tervezőnézetben, sikeresen futtatni, majd pedig a sikeres futtatás után megnézni az SQL kódot, ami végül eljuttat minket oda, hogy az összetettebb lekérdezéseinket - amelyekhez már szükséges - könnyen meg is írjuk az SQL kódban.

Az SQL nyelvű lekérdezésnek egy logikus táblázatot kell előállítania: kezdete mindig a SELECT művelet, ahol a kért mezőket választjuk ki, már itt is hivatkozhatunk a táblanévre is, és sok esetben ez praktikus, például:

SELECT 5continents.contname, 5continents.popden, timezones.tzbnaFROM 5continents, timezonesWHERE 5continents.contid = timezones.contid

A FROM klauzula ekkor is szükséges lesz, tehát:

FROM 5continents,timezones

A legérdekesebb azonban maga kiválasztás, szűrés, ami miatt az egész lekérdezést csináljuk, ezt pedig a WHERE klauzula vezeti be, és ugyanezen nyelvtan szerint itt csinálhatjuk meg, amikor a feladathoz szükséges, az al‑lekérdezéseket is, ezek általában az összetettebb, többtáblás lekérdezéseknél fordulnak elő, az érettségin legalább egy ilyen feladatpont is lesz, egyszerű példa:

WHERE 5continents.contname LIKE 'A%' AND 5continents.popden>50

Figyeljük meg, hogy a nem-tisztán-numerikus adat nevét az SQL nyelv nem a szokásos ", hanem ' jellel szereti meghatározni.

A lekérdetésekben AND vagy OR operátorral többféle feltételt is megadhatunk, a LIKE kulcsszóval mintára is illeszthetünk. Utóbbinál figyeljük meg, hogy az SQL szintaktika a szokásos regex * karakter helyett megint csak mást, a % karaktert használja.

Próbáld ki az SQL-t élőben és ismerd meg, milyen tudás szükséges egy Data Analyst karrierhez

tags: #inkscape #szin #megadasa #koddal