presentatie db xml
Post on 03-Dec-2014
1.698 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
top related