Presentatie Db Xml

33

description

Presentatie databases en XML

Transcript of Presentatie Db Xml

Page 1: Presentatie Db Xml
Page 2: Presentatie Db Xml

Databases & XML in vogelvlucht

23 oktober 2007

Marco Krop

Docent Communicatiesystemen

Page 3: Presentatie Db Xml

Databases en XML

Agenda:

10:00 – 10:45 Databases in vogelvlucht

10:45 – 11:00 Nabespreking databases en koffie

11:00 – 11:45 XML in vogelvlucht

11:45 – 12:00 Nabespreking XML

Page 4: Presentatie Db Xml

Databases en XML

Doel van deze sessie:

•Duiding van begrippen op het gebied van databases en XML.•Duiding van het belang van databases en XML.

Databases en XML vormen de basis van opslag en integratie van moderne informatiesystemen, zoals:•Document Management Systemen•Content Management Systemen•Workflow Management Systemen•ERP systemen•Portals•Etc, etc.

Page 5: Presentatie Db Xml

Databases

Waarom zijn databases nodig:

•Problemen met lijsten•Redundantie•Inconsistentie

Klantnummer Naam ISBN Boek Datum uitgeleend

1000 Edith Visschedijk 90-430-0842-7 Beginselen, ontwerp en implementatie van databases 21-09-071001 Lieke de Veer 12-374-034-7 Unleashing Web2.0 24-09-071000 Edith Visschedijk 59-600-420-6 Learning XML 03-09-071002 Maurice Laros 15-915-8537-6 Library 2.0 and beyond 15-10-071002 Maurice Laros 59-600-420-6 Learning XML 01-10-07

Page 6: Presentatie Db Xml

Databases

Waarom zijn databases nodig:

•Problemen met gedeelde gegevens•Gegevensreplicatie•Autorisatie(s)

Page 7: Presentatie Db Xml

Databases

In hoofdlijn:

Database-toepassing

DatabaseManagement

Systeem(DBMS)

Database

GebruikersgegevensMetagegevensIndexen en gerelateerde structurenOpgeslagen proceduresTriggersMetagegevens van toepassingen

Maak databaseMaak tabellenMaak ondersteunende structurenLees databasegegevensWerk databasegegevens bijOnderhoud databasegegevensHou de hand aan regelsBestuur gelijktijdigheidLever beveiligingVoer backup en recovery uit

Maak en verwerk formulierenMaak en verstuur query'sMaak en verwerk rapportenVoer toepassingslogica uitBestuur toepassing

SQL

Gebruiker

bron: Databases, beginselen, ontwerp en implementatie, 9th edition

Page 8: Presentatie Db Xml

Databases

Veel gebruikte DBMS'en:

•Oracle RDBMS•Microsoft SQL-Server•MySQL•Informix•PostgreSQL

Page 9: Presentatie Db Xml

Databases

Geschiedenis van databases samengevat:

Periode TechniekVoor 1968 Bestandsverwerking1968-1980 Hierarchische en netwerkmodellen1980 tot heden Relationele gegevensmodel1982 Eerste DBMS-producten voor PC's1985 Interesse in object-georienteerde DBMS1991 Microsoft brengt MS-Access uit1995 Eerste internet databasetoepassingen1997 XML wordt toegepast op databaseverwerking

Page 10: Presentatie Db Xml

Databases (focus op webtoepassingen)

3-lagen architectuur

•Presentatielaag•Functielaag•Datalaag

bron: http://www.swc.scipy.org/

Page 11: Presentatie Db Xml

Databases (Extern, conceptueel en intern schema)

ExternSchema

ExternSchema

ExternSchema

ConceptueelSchema

InternSchema

Database

Page 12: Presentatie Db Xml

Databases (Extern schema)

Page 13: Presentatie Db Xml

Databases (Conceptueel schema)

Technieken:

•Entiteit-Relatie gegevensmodellering (ERD)•Normaliseren

Page 14: Presentatie Db Xml

Databases (Conceptueel schema)

Voorbeeld ERD:

Kenmerkend:entiteiten, attributen, relaties,sleutels

Klant

klantnummernaam

Boek

isbntitelsamenvatting

Lening

klantnummerisbndatum uitgeleend

1000 Edith Visschedijk1001 Lieke de Veer1002 Maurice Laros

90-430-0842-7 Beginselen, ontwerp, etc.12-374-034-7 Unleashing Web2.059-600-420-6 Learning XML15-915-8537-6 Library 2.0 and beyond

1000 90-430-0842-7 21-09-071000 12-374-034-7 24-09-071001 12-374-034-7 24-09-071002 15-915-8537-6 15-10-071002 59-600-420-6 01-10-07

Page 15: Presentatie Db Xml

Databases (Intern schema)

•Technische representatie van het conceptueel model•Tabellen, records, indexen

•Stuctured Query Language (SQL)•Definieren van databasestructuren

•Data Definition Language (DDL)•Opvragen en wijzigen databasegegevens

•Data Manipulation Language (DML)

Page 16: Presentatie Db Xml

Databases

Voorbeeld DDL

Aanmaken van de fysieke tabel klanten:

CREATE TABLE klanten (klantnummer Integer Primary Key,naam Varchar(100) Not null

);

Page 17: Presentatie Db Xml

Databases

Voorbeeld DML

Toevoegen van een record in een tabel:

INSERT INTO klanten (klantnummer, naam)VALUES (1000, 'Edith Visschedijk');

Page 18: Presentatie Db Xml

Databases

Voorbeeld DML

Weergeven van alle klanten:

SELECT klantnummer, naam FROM klanten;

Klantnummer Naam1000 Edith Visschedijk1001 Lieke de Veer1002 Maurice Laros

Page 19: Presentatie Db Xml

Databases

Vragen en Nabespreking

Page 20: Presentatie Db Xml

XML

Wat is XML?

•Extensible Markup language•Vergelijk met Hypertext markup language (HTML)

•Taal voor documenten, die gestructureerde informatie bevatten

Page 21: Presentatie Db Xml

XML

HTML vs XML

•Met XML is het mogelijk eigen tags te maken om gegevens op te slaan.

•<gegevensrecord>•<klantnummer>1000</klantnummer>•<naam>Edith Visschedijk</naam>

•</gegevensrecord>

Page 22: Presentatie Db Xml

XML

HTML vs XML

•Eigen attributen maken, die bij een tag horen•<gegevensrecord toegevoegd_door='marco'>

•<klantnummer>1000</klantnummer>•<naam>Edith Visschedijk</naam>

•</gegevensrecord>

Page 23: Presentatie Db Xml

XML

HTML vs XML

•XML is uitbreidbaar•Eigen tags en attributen definieren

•HTML is statisch•Alleen tags en attributen, die zijn bepaald door W3-Consortium

Page 24: Presentatie Db Xml

XML

HTML vs XML

•XML is voor vele doelen op het internet te gebruiken en niet slechts als presentatietaal.

•Basis voor een database•Documentbeheer•Integratie met andere toepassingen

Page 25: Presentatie Db Xml

XML

HTML vs XML

•XML maakt onderscheid tussen de gegevens zelf en de weergave in bv. de browser

•Scheiding van structuur, vorm en inhoud•Zeer belangrijk principe

Page 26: Presentatie Db Xml

XML

Voorbeeld:•inhoud is gescheiden van vorm (opmaak)•inhoud is gestructureerd<klanten>

<gegevensrecord><klantnummer>1000</klantnummer><naam>Edith Visschedijk</naam>

</gegevensrecord><gegevensrecord>

<klantnummer>1001</klantnummer><naam>Lieke de Veer</naam>

</gegevensrecord><gegevensrecord>

<klantnummer>1002</klantnummer><naam>Maurice Laros</naam>

</gegevensrecord></klanten>

Page 27: Presentatie Db Xml

XML

Hoe krijgen gegevens dan hun vorm?•Extensible Stylesheet Language Transformations (XSLT)

•Bepaalt de vorm een XML-document•Dit wordt XML-Transformatie genoemd•Vgl. met HTML/CSS vs XML/XSLT

Hoe controleer je dan de structuur?•XML Schema Definitie Taal (XSD)

•Bepaalt de structuur van een XML-document•Dit wordt XML-Validatie genoemd

Page 28: Presentatie Db Xml

XML

De transformatie bepaalt de uiteindelijke vorm van gegevens.

Dezelfde gegevens kunnen worden gebruikt voor communicatie naarverschillende kanalen. (multichanneling)

Page 29: Presentatie Db Xml

XML: Voor de beeldvorming, transformatie naar HTML

<?xml version="1.0" encoding="ISO-8859-1"?>

<xsl:stylesheet version="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/"> <html> <body> <h2>Lijst met klanten</h2> <table border="1"> <tr bgcolor="#9acd32"> <th align="left">Klantnummer</th> <th align="left">Naam</th> </tr> <xsl:for-each select="klanten/gegevensrecord"> <tr> <td><xsl:value-of select="klantnummer"/></td> <td><xsl:value-of select="naam"/></td> </tr> </xsl:for-each> </table> </body> </html></xsl:template>

</xsl:stylesheet>

Page 30: Presentatie Db Xml

XML

XML + XSL (html transformatie) :

Page 31: Presentatie Db Xml

XML: Voor de beeldvorming, XML-Validatie

<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="klanten"> <xs:complexType> <xs:sequence> <xs:element name="klantnummer" type="xs:integer"/> <xs:element name="naam" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element></xs:schema>

Page 32: Presentatie Db Xml

Tot slot

Naar analogie van een relationele database is het internet:Ongestructureerd

•Goed te begrijpen door mensen, maar niet door machines (HTML)•Zie hier het belang van XML

•Inconsistent en redundant•Opmaat naar het Semantisch Web (Web3.0)

Page 33: Presentatie Db Xml

XML

Vragen en Nabespreking