XML
XML KOULUTUSTA VUONNA 2008
Kysy myös tuotekohtaisia koulutuksia, kuten Altova XMLSpy tai Cladonia Exchanger.
Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi !
IT-koulutuksen asiantuntijasi, Koulutus- ja konsultointipalvelu KK Mediat
Esimerkki case: online luettelo pt.3
XML-kuvaus tietokannan rakenteesta
Tietokannan rakenteen ulossaamiseen XML-datana on olemassa lukuisia työkaluja, joista osa on integroitu suoraan tietokantaratkaisuihin sisäisesti; esim. MS SQL Server ja Oracle sisältävät sisäänrakennetut työkalut/menetelmät. Näiden käyttäminen etenkin isomman mittaluokan ratkaisuissa on erittäin suositeltavaa sillä ne perustuvat esim. tietokantavalmistajien luomille standardeille. Tässä esimerkissä käytämme kuitenkin toista lähestymistapaa ja luomme "oman XML-sovelluksen" tietokannan rakenteen kuvaamiseen.
Ensimmäinen tehtävä uuden XML-sovelluksen / kielen luomisessa on tietenkin miettiä mitkä ovat tarvittavat peruselementit, joiden avulla data voidaan mallintaa. Tässä tapauksessa ratkaisu on hyvin yksinkertaisesti löydettävissä katsomalla tietokannan kuvausta. Peruselementit ovat:
- database (eli tietokanta)
- table (eli taulukko)
- column (eli rivi tai kenttä)
Jokaisella ym. peruselementeistä on tietenkin ominaisuuksia, joista osa on yhteisiä kaikille elementeille, osa ainutlaatuisa.
Helpoimmin havaittava yhteinen tekijä on varmaankin nimi; kaikilla näillä elementeillä täytyy olla
nimi. Ja koska kyse
on tietokannasta, niin vieläpä yksilöllinen sellainen. Etenkin taulukon kentät sisältävät huomattavasti ominaisuuksia, koska niihinhän data
varastoidaan yksilöitynä. Alla lyhyt
listaus ominaisuuksista, jotka tulee ottaa huomioon tätä nimenomaista XML-sovellusta/kieltä suunnitellessa:
- name (nimi)
- datatype (tietotyyppi)
- length (kentän pituus)
- pk (primary key, avainkenttä)
- unique (pitääkö olla yksilöllinen)
- default (oletusarvo)
- nulls (sallitaanko null-arvot)
- autoidentidy (kasvaako kentän arvo, siis laskuri)
- description (kuvaus)
Mikäli tähän asti läpikäytyjen tietojen valossa laaditaan XML-muotoinen kuvaus, olisi lopputulos esimerkiksi:
<?xml version="1.0" encoding="UTF-8" ?>
<db name=""
xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
<table name="">
<column name="" datatype="" length="" pk="" unique="" default="" nulls=""
autoidentidy="" fk="" description=""/>
</table>
</db>
Tai mahdollisesti:
<?xml version="1.0" encoding="UTF-8" ?>
<db name="" xmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance">
<table name="">
<column name="" >
<datatype> </datatype>
<length/> </length>
<pk> </pk>
<unique> </unique>
<default> </default>
<nulls> </nulls>
<autoidentidy> </autoidentidy>
<fk> </fk>
<description> </description>
</column>
</table>
</db>
Tai jokin välimuoto näistä. Mahdollisuudet ovat käytännössä rajattomat ja etenkin itseluoduissa XML-sovelluksissa / kielissä tämä muodostaa huomattavan vahvuuden. XML-formaatti voidaan tällä tavoin suunnitella alkujaan siten, että se soveltuu mahdollisimman hyvin sovelluskohtaisiin tarpeisiin.
Tälläisessä suunnittelussa on kuitenkin yksi vakava puute. Emme tiedä
kuvauksemme rakenteesta mitään, kuten eivät myöskään muut sovellukset tai rajapinnat, jotka joutuvat käsittelemään tällä tavoin kuvattua XML-dataa.
Miten ilmaisemme sen käytämmekö elementtejä vai attribuutteja ? Kuinka monta db tai mitä hyvänsä elementtiä meillä saa olla? Mitä arvoja me
voimme antaa elementeille ? Jne.
Tätä varten joudumme rakentamaan nk. skeeman, joka kuvaa XML-datan rakenteen / kieliopin/logiikan ja välittää tiedon muille sovelluksille.
Tutustu artikkelin muihin osiin:
»»» XML »»»Projekticase (osa 1) : yleisesittely
»»» XML »»»Projekticase (osa 2): Tietokantakuvaus
»»» XML »»»Projekticase (osa 3): XML-kuvaus tietokannan rakenteesta
»»» XML »»»Projekticase (osa 4): XML skeema tietokannan rakenteesta
»»» XML »»»Projekticase (osa 5): Datan konvertoiminen tietokannasta XML-muotoon
»»» XML »»»Projekticase (osa 6): XML-skeema datalle
»»» XML »»»Projekticase (osa 7): XSL/XSLT-muunnos datalle
Tallenna tämä sivu kirjanmerkkeihin!