Avatar billede Slettet bruger
19. oktober 2004 - 13:41 Der er 5 kommentarer og
1 løsning

forslag til database-layout

Hej Eksperter

Jeg skal lave en database, som skal indeholde sportsresultater. Disse data vil via et php-script blive trukket ud i et XML-dokument, sådan at snitfladen til databasen bliver dette XML-dok. Problemet er, at XML-dokumentet skal levere data til web, pda og wap. Det vil sige, at der via php skal kunne genereres tre forskellige output. Men da de tre output skal være forskellige, hvad angår mængden af tekst, kan jeg ikke lige gennemskue, hvordan databasen skal bygges op.

Det ville jo være let nok, at lave databasen i XML, da man jo så bare kunne bruge tag-navne og attributter til at markere, hvilke data der kunne bruges til web, og hvilke der kunne bruges til pda. Men hvordan kan man opnå samme funktionalitet med en relationel database.

*Grundlaget for databasen er Single Sourcing-tankegangen, hvor man skriver en tekst en gang, og derefter laver forskellige udtræk af hele eller dele af databasen. alt efter behov.
Avatar billede arne_v Ekspert
19. oktober 2004 - 13:51 #1
Umiddelbart synes jeg at XSLT server side lyder som en fornuftig løsning
på din problem stilling.
Avatar billede Slettet bruger
19. oktober 2004 - 13:54 #2
Ja, den er jeg med på. Men hvordan skal de enkelte tabeller se ud, således at jeg kan opnå samme muligheder, som hvis jeg havde benyttet XML, hvor der er mulighed for at lave attributter og forskellige element-navne, der muliggør udtræk til de forskellige putput-formater?
Avatar billede arne_v Ekspert
19. oktober 2004 - 14:50 #3
<foobar a1="123" a2="abc">Dette er tekst</foobar>
<foobar a1="456">Dette er også tekst</foobar>
<foobar a2="def">Dette er endnu en tekst</foobar>

til enten

foobar
------
id            a1            a2            t
1            123            'abc'        'Dette er en tekst'
2            456            NULL          'Dette er også en tekst'
3            NULL          'def'        'Dette er endnu en tekst'

eller

foobar
------
id            t
1            'Dette er en tekst'
2            'Dette er også en tekst'
3            'Dette er endnu en tekst'

foobarattrib
------------
id      attrib      value
1        a1          '123'
1        a2          'abc'
2        a1          '456'
3        a2          'def'

må være et par af de mere oplagter muligheder
Avatar billede Slettet bruger
19. oktober 2004 - 22:50 #4
Hmmm.
Nedenfor er to forskellige eksempler på XML-opmærkning af en tekst. Lad os sige, at jeg har hevet dem ud af en database via php, hvordan skulle den database så se ud?

(beklager hvis der er fejl i XML'en, men princippet burde være til at forstå :-)

<dokument>
<overskrift type="web" type="pda" type="wap">Århus GF slipper uden straf</overskrift>

<underoverskrift type="web" type="pda" type="wap">Håndboldligaklubben Århus GF beholder to point for sejren over AaB Håndbold, selv om århusianerne ulovligt benyttede træner Erik Veje Rasmussen som spiller i kampen.</underoverskrift>

<tekst type="web" type="pda" type="wap">Tirsdag aften stadfæstede Dansk Håndbold Forbunds forretningsudvalg resultatet af den oprindelige kamp, da udvalget fandt, at Århus GF havde handlet i god tro.</tekst>

<tekst type="web" type="pda">Dermed erkender håndboldforbundet samtidig, at skylden ligger hos forbundet selv. Man havde nemlig givet østjyderne grønt lys til, at Erik Veje Rasmussen kunne spille kampen, selv om han ikke havde underskrevet en såkaldt spillerkontrakt.
</tekst>

<tekst type="web">
Erik Veje Rasmussen har også spillet i en række andre ligakampe, men kun AaB Håndbold har gjort brug af retten til at nedlægge protest inden for de fastsatte 10 dage efter kampens afvikling.
</tekst>

<tekst type="web" type="pda" type="wap">
/ritzau/
</tekst>
</dokument>
------------------------------------------------
<dokument>
<web>
<pda>
<wap>
<overskrift>
Århus GF slipper uden straf
</overskrift>
<underoverskrift>
Håndboldligaklubben Århus GF beholder to point for sejren over AaB Håndbold, selv om århusianerne ulovligt benyttede træner Erik Veje Rasmussen som spiller i kampen.
</underoverskrift>
<tekst>
Tirsdag aften stadfæstede Dansk Håndbold Forbunds forretningsudvalg resultatet af den oprindelige kamp, da udvalget fandt, at Århus GF havde handlet i god tro.
</tekst>
</wap>>
<tekst>
Dermed erkender håndboldforbundet samtidig, at skylden ligger hos forbundet selv. Man havde nemlig givet østjyderne grønt lys til, at Erik Veje Rasmussen kunne spille kampen, selv om han ikke havde underskrevet en såkaldt spillerkontrakt.
</tekst>
</pda>
<tekst>
Erik Veje Rasmussen har også spillet i en række andre ligakampe, men kun AaB Håndbold har gjort brug af retten til at nedlægge protest inden for de fastsatte 10 dage efter kampens afvikling.
</tekst>
<pda>
<wap>
<tekst>
/ritzau/
</tekst>
</wap>
</pda>
</web>
</dokument>
Avatar billede Slettet bruger
23. oktober 2004 - 14:09 #5
Ok, det spørgsmål var måske lidt for langt ude :-)

arne_v ----> smid et svar
Avatar billede arne_v Ekspert
23. oktober 2004 - 17:20 #6
kommer her
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester