Presentatie Db Xml

Post on 03-Dec-2014

1.698 views 1 download

description

Presentatie databases en XML

Transcript of Presentatie Db Xml

Databases & XML in vogelvlucht

23 oktober 2007

Marco Krop

Docent Communicatiesystemen

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

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.

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

Databases

Waarom zijn databases nodig:

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

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

Databases

Veel gebruikte DBMS'en:

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

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

Databases (focus op webtoepassingen)

3-lagen architectuur

•Presentatielaag•Functielaag•Datalaag

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

Databases (Extern, conceptueel en intern schema)

ExternSchema

ExternSchema

ExternSchema

ConceptueelSchema

InternSchema

Database

Databases (Extern schema)

Databases (Conceptueel schema)

Technieken:

•Entiteit-Relatie gegevensmodellering (ERD)•Normaliseren

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

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)

Databases

Voorbeeld DDL

Aanmaken van de fysieke tabel klanten:

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

);

Databases

Voorbeeld DML

Toevoegen van een record in een tabel:

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

Databases

Voorbeeld DML

Weergeven van alle klanten:

SELECT klantnummer, naam FROM klanten;

Klantnummer Naam1000 Edith Visschedijk1001 Lieke de Veer1002 Maurice Laros

Databases

Vragen en Nabespreking

XML

Wat is XML?

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

•Taal voor documenten, die gestructureerde informatie bevatten

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>

XML

HTML vs XML

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

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

•</gegevensrecord>

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

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

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

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>

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

XML

De transformatie bepaalt de uiteindelijke vorm van gegevens.

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

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>

XML

XML + XSL (html transformatie) :

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>

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)

XML

Vragen en Nabespreking