Præsentation er lastning. Vent venligst

Præsentation er lastning. Vent venligst

1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt.

Lignende præsentationer


Præsentationer af emnet: "1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt."— Præsentationens transcript:

1 1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt. Schema

2 2 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Seriøse DBMS'er kan i dag håndtere XML input og output. I SQLServer (vistnok fra v.7) er det f.eks muligt at –generere xml som output fra en søgning. –bruge xml i stored procedures –indsætte i tabeller fra et xml document –søge i xml-dokumenter med SQL

3 3 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Søgning via browserens adresselinie Der kan søges direkte via en browser. (Se opsætning i noten) Her udføres: select * from recipe for xml auto I browserens adresse linie angives mellemrum med et '+' '?' angiver at kommer en querystring. '&' angiver ny parameter. I querystringen er der her to parametere: sql og root

4 4 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Øh, sikkerhed?!? Ved søgning gennem browseren har alle samme rettigheder som den bruger, der er sat op virtuel directory. F.eks er 'drop table' mulig. Sikkerheden kan øges gennem brug af templates (xml-filer) Kommer senere i denne præsentation Eller som sædvanligt i SQL ved brug af grants, views, stored procedures mv. Behandles ikke her Bemærk: Tilgang gennem browseren skal vælges aktivt

5 5 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Generering af XML Generering af XML sker ved at tilføje 'FOR XML ' til SQL- sætningen. Der er 3 options: –RAW For hver række dannes et element, der kaldes –AUTO Elementerne får navn efter tabellerne i FROM delen. Og felterne kan fås som elementer i stedet for attributter –EXPLICIT Bedre muligheder for at styre strukturen af xml-dokumentet.

6 6 HMAK XMLRelationel model og XMLNOEA / PQC 2005 RAW SELECTcourse_type.text AS course, heading.text AS title, recipe.persons AS persons FROM course_type, recipe_heading heading, recipe WHEREcourse_type.id=recipe.course_type_id AND heading.recipe_id=recipe.id FOR XML RAW

7 7 HMAK XMLRelationel model og XMLNOEA / PQC 2005 AUTO SELECTcourse_type.text AS course, heading.text AS title, recipe.persons AS persons FROM course_type, recipe_heading heading, recipe WHEREcourse_type.id=recipe.course_type_id AND heading.recipe_id=recipe.id FOR XML AUTO

8 8 HMAK XMLRelationel model og XMLNOEA / PQC 2005 AUTO, ELEMENTS SELECTcourse_type.text AS course, heading.text AS title, recipe.persons AS persons FROM course_type, recipe_heading heading, recipe WHEREcourse_type.id=recipe.course_type_id AND heading.recipe_id=recipe.id FOR XML AUTO, ELEMENTS

9 9 HMAK XMLRelationel model og XMLNOEA / PQC 2005 EXPLICIT Kræver lidt mere forklaring. Her kan man styre opbygningen af XML-dokumentet. Til gengæld er det noget sværere, da man skal positionere af hvert enkelt felt. SELECT1 AS tag, 0 AS parent,r.persons AS [recipe!1!persons],rh.text AS [recipe!1!heading!element] FROM recipe_heading rh, recipe r WHERE rh.recipe_id=r.id FOR XML EXPLICIT Den første linie skal stå sådan 1 refererer til det første tag Formen er [parent!tagid!attr. eller element!option] Ved dybere træer (end 2) bliver det lidt mere besværligt.

10 10 HMAK XMLRelationel model og XMLNOEA / PQC 2005 EXPLICIT – flere niveauer Select 1 as tag, 0 as parent,r.persons as [recipe!1!persons],rh.text AS [recipe!1!recipe_heading!element],null AS [recipe_description!2!id],null AS [recipe_description!2!text!element] FROM recipe_heading rh, recipe r WHERE r.id=rh.recipe_id UNION Select 2, 1,r.persons,rh.text,rd.id,rd.text FROM recipe r, recipe_heading rh, recipe_description rd WHERE r.id=rh.recipe_id AND r.id=rd.recipe_id AND rh.language_id=rd.language_id order by 3,4,5,6 FOR XML EXPLICIT

11 11 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Resultat:

12 12 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Templates Det er muligt at bruge templates til at generere xml-dokumentet. Templaten er selv en xml-fil, der er placeret i template-biblioteket på serveren. På iistest.ah.dk er det i /hmak/recipe_db/template Vises med iistest.ah.dk/recipe_db/templates/PQC_simpelQuery.xml

13 13 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Templates: Udvidet eksempel Man kan have flere tags Men hvis man skal dybere træer er det (så vidt jeg ved) nødvendigt at bruge explicit:

14 14 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Schema Det er muligt knytte et stylesheet direkte sammen med et schema:

15 15 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Tilknyt relationer

16 16 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Tilknyt relationer

17 17 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Tilknyt nøglefelt

18 18 HMAK XMLRelationel model og XMLNOEA / PQC 2005 En sidste kommentar Det kan være en fordel at bruge views i databasen. Derved kan en del af aggregeringerne udføres.

19 19 HMAK XMLRelationel model og XMLNOEA / PQC 2005 Læs om det her http://www.awprofessional.com/articles/printerfriendly.asp?p=1023 07http://www.awprofessional.com/articles/printerfriendly.asp?p=1023 07


Download ppt "1 HMAK XMLRelationel model og XMLNOEA / PQC 2005 SQLServer og XML Hent data via URL Generering af xml –Raw –Auto –Explicit Hent data via template Evt."

Lignende præsentationer


Annoncer fra Google