Index |
Előkészítés Egyéni fájltípus létrehozása Ikon Fájl azonosítása Leírás Előnyben részesített programok További jellemzők Indexelés Adatok megadása Lekérdezés az adatbázisból |
Műhely: fájltípusok, jellemzők, indexek és lekérdezések
Ebben a témakörben bemutatjuk a Jellemzők, a Lekérdezések, az Index és az egyéni Fájltípusok használatát. Példaként egy DVD adatbázis hozunk létre.
Előkészítés
Elsőként el kell dönteni, hogy milyen típusú fájlra és milyen jellemzőkre van szükségünk.
Eredetileg azt terveztem, hogy könyvjelző fájlt fogok használni egy hivatkozással a film IMDB-s oldalára. Mivel azonban a Haiku nem rendelkezik "könyvjelzőzhető" böngészővel, mint például BeOS esetében a NetPositive, ezért a következő megoldást választottam: a fájl maga egy JPEG kép lesz, amit majd a film borítójaként fogok használni.
A WebPositive használatával a Haiku mostmár rendelkezik egy könyvjelző fájlokat támogató böngészővel, így már használhatunk könyjlező fájlokat is alap típusként a kép helyett.
Ehhez a fájlhoz képhez pedig több jellemzőt is hozzá kell adni.
Itt most el kell düntenünk, hogy milyen adatot is tároljunk az adatbázisban, és azoknak milyen legyen a típusa. Kereséskor a számokkal (int, float) kicsit eltérően tudunk dolgozni, mint a szöveggel (</=/> szám esetében, és egyenlő/tartalmaz/eleje szöveg esetében).
Az alábbi jellemzőket szeretném látni a DVD filmjeimhez:
- Cím
- Kategória
- URL, például az IMDB-n
- Rendező
- Kiadó
- Értékelés
- Stúdió
- És például, hogy ki kérte kölcsön
Egyéni fájltípus létrehozása
Elsőként nyissuk meg a Fájltípusok beállításokat, majd kattintsunk a gombra a lista alatt. Ekkor kapunk egy kis ablakot, ahol meg kell adni a MIME csoportot, amin belül majd a fájltípus megtalálható lesz. Persze, egy teljesen új csoport is létrehozható. Esetünkben ezt most tegyük az "applications" csoportba és adjuk meg a DVDdb-t, mint "belső nevet".
Ekkor az új fájltípus már megjelenik az ablakban:
Ikon
Az ikonon duplán kattintva az megnyílik az Icon-O-Matic ablakban, ahol a fájltípusnak megfelelőt létre lehet hozni. Persze, egy másik típus ikonja is idehúzható, mint egy meglévő módosításának kiindulópontja.
Fájl azonosítása
Különféle kiterjesztések is adhatóak a típushoz, mint például .txt, .jpg, .mp3 annak érdekében, hogy a kiterjesztés alapján is felismerhetőek legyenek. Ez akkor is hasznos lehet, hogyha olyan fájlokkal dolgozunk, amik nem rendelkeznek MIME azonosítóval. Jelen példában erre nincs szükség.
Leírás
- Típus neve - Ez jelenik meg például a Jellemzők menüben a Nyomkövető ablakban..
- Leírás - Részletesebb információ a megadása.
Előnyben részesített programok
Ez a menü tartalmazza azon programok listáját, amik a típust kezelni tudják. Itt megadható, hogy a fájl melyik programmal nyíljon meg ha duplán kattintunk azon.
Egy fájl-ablakot nyit meg, ahol kiválaszthatjuk azt a programot, amivel meg akarjuk nyitni az adott típust. Ebben az esetben például megadhatjuk a Képmegjelenítőt, hogy megjelenítse a DVD borítóképét. | ||
Megnyit egy fájl-ablakot, amiben kiválaszthatunk egy olyan fájlt, amit a kívánt program nyit meg, így ezt a típust is azt fogja megnyitni. |
További jellemzők
Itt megadhatunk minden olyan további jellemzőt, amit használni akarunk. A
gombon kattitnva az alábbi ablakot kapjuk:Jellemző neve - Ez jelenik meg például egy oszlop neveként a Nyomkövető ablakban.
Belső név - Indexeléskor és kereséskor használt név.
- Type - Defines the value the attribute can hold and therefore how it can be queried.
- for normal text
- for binary data: 0 (false) or >=1 (true)
- : -128 to 127
- : -32,768 to 32,767
- : -2,147,483,648 to 2,147,483,647
- : -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
for integer numbers with different ranges:
- for floating-point numbers, single precision
- for floating-point numbers, double precision
- for time and date format
- Visible - This checkbox determines if the attribute is visible in a Tracker window at all. Since the Tracker will be the interface to our DVD database, we check it and define its appearance with:
- - Can be used to show either one of two symbols, see below.
- - Shows an integer as 1/60, e.g. "90" becomes "1:30".
- - Shows a rating between 0 and 10 as star symbols.
- Leave on "Default" if the values are to be displayed according to the attribute's "Type" (e.g. string/integer/float etc.). The other options are:
- - Determines if the attribute shall be editable in Tracker.
- - Defines the two symbols used for a checkbox display. For example, "xo" will show a "x" for all values >0 and "o" for 0.
- - The default width of that attributes column in a Tracker window.
- - The attribute can be displayed left, center, or right aligned.
Ezek után adjuk meg a következő jellemzőket:
Belső név | Jellemző típusa | indexelt? | Leírás |
---|---|---|---|
DVDdb:title | egyszerű szöveg | igen | Cím |
DVDdb:genre | egyszerű szöveg | igen | Kategória |
DVDdb:url | egyszerű szöveg | nem | URL |
DVDdb:cast | egyszerű szöveg | igen | Rendező |
DVDdb:author | egyszerű szöveg | nem | Kiadó |
DVDdb:rating | 32 bites szám | igen | Értékelés |
DVDdb:studio | egyszerű szöveg | nem | Stúdió |
DVDdb:lent | egyszerű szöveg | igen | Kinél van |
Indexelés
Mielőtt adatot adnánk a mi kis DVD adatbázisunkhoz, előtte néhány jellemzőt az Indexhez kell adnunk. Csak az indexel jellemzők használhatóak a Lekérdezéseknél.
El kell döntenünk azt is, hogy miket akarunk majd a jövőben keresni. Tehát, hogy ne kelljen majd megkérdezni, hogy "Vajon milyen filmjeim vannak a Brad Wright rendezésével?" vagy azt, hogy "Van-e rossz értékeléssel rendelkező természetfilmem?".
Ezekre a kérdésekre a következő jellemzőket kell indexelnünk:
Belső név | Jellemző típusa |
---|---|
DVDdb:title | egyszerű szöveg |
DVDdb:genre | egyszerű szöveg |
DVDdb:cast | egyszerű szöveg |
DVDdb:rating | 32 bites szám |
Az indexeléshez pedig a következő sorokat kell kiadni a Terminálban:
mkindex -t string DVDdb:title mkindex -t string DVDdb:genre mkindex -t string DVDdb:cast mkindex -t int DVDdb:rating
A -t opció a jellemző típusát adja meg, ami az értékelés kivételével (ami "int" (szám)) mind "string" (szöveg).
Adatok megadása
Nos, minden előkészülettel végeztünk, mostmár hozzáadhatjuk az adatokat az adatbázisunkhoz.
Mivel az alap fájlunk egy borító-kép, ezért az interneten keressük meg (például az IMDB-n) és mentsük le azt egy mappába, ahol majd az adatbázisunkat fogjuk tárolni.
A mappát megnyitva azt látjuk, hogy van egy kép benne. Jobb gombbal kattitnva a fájlon, a típusát meg kell változtatnunk application/DVDdb típusra a Fájltípus kiegészítőben. További információ a Fájltípusok fejezetben.
Most pedig válasszuk ki, hogy mely jellemzők jelenjenek meg. Ezt megtehetjük a
menüből vagy az oszlopfejléceken, majd az oszlopokat is átrendezhetjük kedvünkre:Egy üres jellemzőn kattintva (vagy ALT E) a szerkesztő módba jutunk. A TAB és a SHIFT TAB kombinációval válthatunk a mezők (jellemzők) között.
A példánk alapján az adatbázis feltöltése egy kép letöltésével kezdődik az internetről, majd annak a típusát módosítjuk. Azonban van más, elegánsabb módja is a folyamatnak. Csak másoljunk egy üres fájlt a mi fájltípusunkkal a /boot/home/config/settings/Tracker/Tracker New Templates mappába, és nevezzük át DVDdb-re. Ezzel létrehoztunk egy sablont.
Egy Nyomkövető ablakban jobb gombbal kattintva, egy új bejegyzést találunk majd az
almenüben.Lekérdezés az adatbázisból
Néhány óra után már egy remek kis adatbázist összehoztunk, így más tudunk keresgélni a filmek között, például megkereshetjük az akciófilmeket.
Készíthetünk egy lekérdezést csak egy adott fájltípusra is, és a keresési eredményeket is hozzáigazíthatjuk ahhoz.
Nyissuk meg a DVDdb fájlokat tartalmazó mappát és rendezzük el az oszlopokat ahogy szeretnénk, hogy megjelenjenek. Ezt a megjelenést másoljuk a menüvel.
Open /boot/home/config/settings/Tracker/DefaultQueryTemplates, create a new folder and rename it to group/filetype, replacing slashes with underscores; in our case "application_DVDdb".
Végül a mappát megnyitva és a
menüt választva az alábbi eredményt kapjuk: