Skjemaendringer i systemer bestående av XML-data i relasjonsdatabaser Høgskolen i Gjøvik Master i Medieteknikk, Marianne Brattrud
Bakgrunn Stor utbredelse Distribuerte data Forskjell på hvordan XML-dokumenter og relasjonsdatabaser håndterer data Applikasjoner benyttes for å hente ut/sette inn data i databasen Distribuerte systemer benytter XML-dokumentenes data i sine applikasjoner
Skjema Databaseskjema = Relasjonsmodellen Definerer assosiasjoner mellom tabeller med rader og kolonner Har støtte for støtte for definering og lagring av en rekke datatyper XML-skjema Definerer en struktur av elementer og attributter Støtte for datatyping både på attributt og elementnivå
Problembeskrivelse Konseptuelle modellen er utgangspunktet for resten av systemet Systemer designes for å løse enkeltproblemer Statisk og dårlig rustet for å håndtere endringer Fokus på systemer bestående av relasjonsdatabaser, lokale applikasjoner, datasentrerte XML-dokumenter og distribuerte applikasjoner
Skjemamodell
Problembeskrivelse Benytter skjema for kontroll Databaseskjema mot databasen XML-skjema opp mot XML-dokumentene Begge har utspring i EER-diagrammet (konseptuelle modellen) Endringer i systemet kan derfor påvirke både databaseskjema og XML-skjema
Hvorfor endringer Data skal lagers over tid Systemet var dårlig i utgangspunktet Det melder seg behov for nye tjenester Det er ønskelig å lagre historikk Systemet skal internasjonaliseres
Motivasjon Utviklerne har flere hensyn å ta en å bare gjennomføre endringene Planlegge for endringer som har store konsekvenser Viktig for: utviklere driftere brukere investorer
Forskningsspørsmål På hvilken måte kan de utvalgte skjemaendringene utføres med minst konsekvenser for: applikasjonene? fremover og bakover kompatibilitet? funksjonaliteten til systemet? Hvilke alternative måter har man for å håndtere disse endringene?
Forskningsspørsmål forts. Hvor er det hensiktsmessig å utføre disse endringene med tanke på arbeidsmengde, funksjonalitet og ytelse? I hvilken grad vil det være mulig og hensiktsmessig å planlegge for skjemaendringer i databaseskjema og XML-skjema så endringene lettere lar seg gjennomføre ?
Metode Litteraturstudier er viktig del Eksperiment nødvendig på grunn av manglende litteratur deler av området Kvalitativt studium
Eksperimentoppsett KommuneGAB fra statens kartverk, databaseskjema og data Applikasjoner som setter inn og henter ut data fra databasen XML-dokument med hierarkisk struktur og XML- skjema Hensikt å dokumentere konsekvensene som fremkommer etter endringene
Skjemaendringer AttributtEntitetRelasjon Legge til/ slette Legge til/ slette Legge til/ slette Endre navn Modifisere attributtype -Splitte/ slå sammen
Utvalgte skjemaendringer TypeSkjemaendring Slette entitetSletting av entiteten Kommune Endre Navn entitet Endre navn på tabellen Bolig til Bygning Slette RelasjonFjerne relasjonen mellom Adresse og Bolig Splitte RelasjonSplitte relasjonen mellom Kommune og Gate
Endringen slett entitet Får konsekvenser både for databaseskjema, XML-skjema og for de faktorene som ble introdusert i forskningsspørsmålene.
Endringen slett entitet
Databaseskjema Endres rett frem ved å slette alle fremmeddnøkler i andre tabeller og tilslutt fjerne tabellen kommune Nødvendig med overlapp en periode Alternativt opprette views i databasen Med de nye tabellene som views Med de gamle tabellene som views + eventuelle nye tabeller
Endringen slett entitet Databaseskjema
Endringen slett entitet XML-skjema Det å slette et element vil påvirke den hierarkiske strukturen Graden av strenghet på XML-skjema har stor betydning for om det eksisterende skjema skal modifiseres, eller om det skal benyttes to separate skjema
Endringen slett entitet
Påvirkningsfaktorer Kompatibiliteten må ivaretas Eksisterende applikasjoner skal endres minst mulig Funksjonaliteten må bevares Om endringen antas å være varig eller ikke Om det gjelder for både uthenting og innsetting av data i databasen
Endringen slett entitet
Endringen Endre navn entitet Bygning erstatter Bolig i EER-modellen fordi dette navnet skal benyttes til et annet formål Forplanter seg til XML-skjema og databasesskjema Kan også spre seg til attributtene ettersom navnet bolig skal frigis, men dette går under endringen Endre navn Attributt
Endringen Endre navn entitet
Endringen Slett Relasjon Relasjonen mellom adresse og eiendom fjernes Skaper konsekvenser for databaseskjema og XML- skjema påvirker flere faktorer fra forskningsspørsmålene
Endringen Slett Relasjon
Endringen Splitt Relasjon Gjennomført ved å legge til nytt element Bydel i EER-diagrammet Relativt store konsekvenser for databaseskjema og XML-skjema Påvirker faktorene fra forskningsspørsmålene i stor grad
Endringen Splitt Relasjon
Konklusjon Krav til skjemaendringer øker i takt med hvor lenge data skal være tilgjengelige Klassifiseringen av endringer resulterte i 5 endringstyper De viktigste faktorene er kompatibilitet og applikasjonsendringer, resten kommer inn etter dette er på plass Alle endringene lar seg gjøre uten at det krever endringer i de distribuerte applikasjonene De alternative metodene bidrar i stor grad
Konklusjon Der alternative metoder for endringer er tilgjengelig, så må formålet analyseres før det kan sies noe om hvor det er hensiktsmessig å gjennomføre endringene Bevist at det er mulig å gjennomføre på en effektiv måte uten å påvirke funksjonalitet og kompatibilitet. Verktøyene XSLT og views er hendige hjelpemidler