Datenbanksysteme und Content Management - Hu

Werbung
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und
Content Management
Martin Stricker
[email protected]
16. Juni 2004
Programm
Datenbanksysteme: Einsatzgebiete und Eigenschaften
Architektur von Datenbanksystemen
Objekttypmodellierung und Datenbanktabellen
Datenbanksprache SQL (mit Beispieldatenbank)
Content Management mit PHP und Datenbanken,
Beispiel Veranstaltungskalender des HelmholtzZentrums
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Datenbanksysteme
Die größte Anzahl von elektronisch gespeicherten
Informationen (Daten) wird in Datenbanken gehalten, über
Datenbankanwendungen bzw. Datenbankmodule
innerhalb anderer Anwendungen wird auf sie zugegriffen
Beispiele:
• Bibliotheken, Buchungssysteme, Unternehmensdaten, Kaufund Handelsabwicklung, öffentliche Verwaltung
• "Wissensmanagement": Lernsysteme, Datenbanken zur
Sicherung od. Vermittlung des Kulturerbes, Wissensportale
• World Wide Web: Suchmaschinen, Online-Shops, Content
Management, Groupware im Intranet
• Jede Art von Software, die Suchfunktionen beinhaltet,
speichert Daten in (internen) Datenbanken
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Eigenschaften von Datenbanksystemen
Großer Datenumfang
Eine Datenbank kann große Mengen Daten aufnehmen,
zugleich kann schnell und effizient auf die Daten
zugegriffen werden, auch bei anwachsender Datenmenge
(Skalierbarkeit)
Multipler Zugriff
Mehrere Nutzer können gleichzeitig auf Daten zugreifen
und sie verändern (bei Erhaltung der Datenkonsistenz).
Zugriffsrechte können individuell gestaltet werden
Server/Client-Systeme
Durch zentrale Datenhaltung (Server) und Zugriffe über
Netzwerke (Clients) sind Datenbanken lokal unabhängig
verfügbar, bei Nutzung des Internets weltweit. Zentrale
Speicherung vermeidet Datenredundanz
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Architektur von Datenbanksystemen
DBS
Database System
Datenbanksysteme bestehen prinzipiell
aus zwei logisch (und meist physisch)
voneinander getrennten Einheiten:
1. Datenbank (DB)
Ein oder mehrere Dateien, in denen
Daten gespeichert werden
2. Datenbankanwendung (DBMS)
Ermöglicht die Abfrage oder die
Manipulation der gespeicherten Daten,
über ein Benutzerinterface
Für die Definition und Manipulation von
Datenbanken gibt es eine allgemeingültige
"Sprache": SQL (Structured Query
Language)
DB
Database
SQL
DBMS
Database
Management
System
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Aufbau eines Datenbanksystems: Datenbank
Ein oder mehreren Dateien
Datenbank
(DB)
Datei(en) mit
gespeicherten
Daten
Daten in einem bestimmten internen
Format gespeichert, z.B.
• proprietäres (eigenes) Format eines
Datenbanksoftwareherstellers
• XML
• SQL
• Einfache Textdatei, in der bestimmte
Zeichen (Komma, Semikolon, Tabulator
usw.) die Datenbankstruktur abbilden
Der Zugriff (lesen und schreiben) erfolgt
nicht "direkt", sondern über eine
entsprechende Datenbankanwendung
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Aufbau eines Datenbanksystems: Datenbankanwendung
Datenbankanwendung
(DBMS)
Zugriff auf DB, Benutzerinterface, Zugriffssteuerung, Backup and
Restore, NetzwerkKommunikation
Die Datenbankanwendung umfasst alle
Einheiten, die zur Verwaltung und
Nutzung einer Datenbank notwendig
sind
Ein DBMS ist meist nicht ein Programm,
sondern mehrere Programmeinheiten
(Software-Module) die in einem
Netzwerk über mehrere Rechner verteilt
sein können
Ein (prinzipiell nicht zu einem Datenbanksystem gehörendes) Programm
kann (zeitweise) Teil der Datenbankanwendung werden. Beispiel: Ein WebBrowser, der über das WWW mit einem
DBS kommuniziert
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Datenbanksystem an einem Einzelplatz
Datenbanksoftware
auf einem
einzelnen Rechner
Alle Elemente eines
DBS befinden sich auf
einem Computer
Datenbank
(einzelne
Datei)
Datenbanksoftware
Benutzer
Interface
Personal Computer (PC)
Beispiele: MS Access, FileMaker usw.
Benutzerfreundlich
Nachteile:
• Nur sehr begrenzt in Arbeitsgruppe (Netzwerk) nutzbar
• Oft eingeschränkt SQL-konform (Ex- und Importproblem)
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Datenbanksystem in einem Netzwerk
Zugriff von Client-Rechnern
(Client-Software) auf
zentralen Server
Unterschiedliche Elemente
der Datenbankanwendung
auf Server und Clients
verteilt
Client
Client
Client
DBMS
DBMS
DBMS
DB
DBMS
Server
Die Datenbankanwendung (DBMS) kann sich auch vollständig auf
dem Server oder jeweils auf jedem Client befinden
"Klassische" Architektur von Datenbanksystemen
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Datenbank-basierte Web-Anwendungen (Content Management)
Web-Browser
Offenes System: Jeder
Computer mit InternetVerbindung + Web-Browser
kann Client des DBS sein
Client
Dynamische Module des WebServers: Beim Zugriff wird
anstelle einer HTML-Seite ein
Programm-Skript aufgerufen:
• Verarbeitung der Anfrage
(URL, Formulardaten)
• Datenbankabfrage (über
Datenbankserver)
• HTML Seite wird dynamisch
generiert und an Client
gesendet
Client
Client
Datenbanksysteme und Content Management
Client
Internet/WWW
Web-Server mit dynamischen
Modul (z.B. PHP, ASP)
DB
Datenbankserver
Web-Server
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Client
Datenbankdesign
Eine Datenbank hat die Aufgabe, Erscheinungen ("Objekte")
aus der "Wirklichkeit" abzubilden (zu modellieren) und ihre
Eigenschaften zu speichern
Zu Beginn wird der "Objekttyp" definiert und seine Eigenschaften werden festgelegt
Das logische Konzept dabei ist das einer Tabelle:
Objekttyp
Eigenschaft 1
•
Tabelle: Repräsentiert den
Objekttyp
•
Spalten: Repräsentieren die
Eigenschaften der Objekte
•
Zeilen: Jede Zeile repräsentiert
ein Objekt
Eigenschaft 2
Objekt 1
Objekt 2
Objekt 3
Objekt 4
Objekt 5
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Datenbank-Tabelle Beispiel
Eine Spalte entspricht einem Datenfeld (Eigenschaft,
Attribut), dessen Bedeutung eindeutig zu definieren ist (in
diesem Fall: Ein Nachname einer persönlichen Wohnungsund Postadresse)
Adressen
Name
Vorname
Adresse
Müller
Katrin
Schröderstr. 13
Mayer
Kurt
Bergmannstr. 7
Niehoff
Heinz
Kollwitzplatz 3
Schmidt
Susanne
Torstr. 233
Kaiser
Hans
Friedrichstr. 20
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Eine Zeile entspricht
einem Datensatz, der ein
Objekt aus der
abzubildenden Welt
modelliert (in diesem
Fall: eine Adresse)
Beziehungen zwischen Tabellen
Meist besteht eine Datenbank aus mehreren Tabellen, die jeweils
verschiedene, miteinander verwandte Objekttypen repräsentieren
Auf diese Weise werden unterschiedliche Objekte in Beziehung
gesetzt ("relationale Datenbanken")
Ein oder mehrere Schlüsselfelder sorgen für sinnvolle (eindeutige)
Beziehungen (Relationen)
Adressen
Name
Vorname
Adresse
Müller
Katrin
Schröderstr. 13
Mayer
Kurt
Bergmannstr. 7
Niehoff
Heinz
Kollwitzplatz 3
Schmidt
Susanne
Torstr. 233
Kaiser
Hans
Friedrichstr. 20
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Termine
Wen
Wann
Was
Schmidt
2.7.04
Café
Mayer
4.7.04
Café
Schmidt
17.7.04
Oper
Kaiser
30.7.04
Datenbanksprache SQL
Structured Query Language
SQL ist als Standard-Sprache für Datenbanksysteme
definiert und in allen wichtigen Datenbank-Programmen
(Oracle, DB2, MySQL, PostgreSQL, MS SQL Server, usw.)
implementiert
SQL ist ein Klartextformat, der natürlichen Sprache
angelehnt
SQL ist keine Programmiersprache, es muss eine
Anwendungsumgebung programmiert werden, die SQLStatements verstehen und ausführen kann
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
SQL Befehle
SQL umfasst die Bereiche Datendefinition (Data Definition)
und Datenmanipulation (Data Manipulation)
Data Definition
• Tabellen, Indexe und Views (vordefinierte Abfragen)
erzeugen (CREATE), ändern (ALTER) oder löschen
(DROP)
Data Manipulation
• Datensätze in Tabellen einfügen (INSERT), aktualisieren
(UPDATE) oder löschen (DELETE)
• Datensätze nach bestimmten Kriterien aufrufen, für die
Ausgabe vorbereiten und sortieren (SELECT)
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Praktisches Beispiel: University Museums and Collections
Eine Tabelle collections mit 5 Datenfeldern (Spalten), genutzt wird die
Open Source Datenbanksoftware MySQL - http://www.mysql.com
"Spaltentyp" definiert die Form der Daten in der jeweiligen Spalte
collections
Spaltenname
Spaltentyp
dsn
Zahl int(11)
name
Text varchar(250)
university
Text varchar(250)
continent
Text varchar(250)
country
Text varchar(250)
int(11)
Ganzzahl (Integer) mit
max. 11 Ziffern
varchar(250)
Zeichenkette (Beliebige Buchstaben od. Zahlen - Variable Char)
mit max. 250 Zeichen
dsn ist eine fortlaufende Nummer
und dient als Primärschlüssel zur
einfachen Identifizierung
Im WWW:
http://publicus.culture.hu-berlin.de/multimedia/uebung/sql.php
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Tabelle collections: Datenbankabfrage
SELECT name, university FROM collections
WHERE university = 'Humboldt-Universität zu Berlin'
ORDER BY name
SELECT name, university
Wähle die Felder (Spalten) name und university ...
FROM collections
... (von denjenigen Datensätzen/Zeilen) aus der Tabelle collections ...
WHERE university = 'Humboldt-Universität zu Berlin'
... wo das Feld (die Spalte) university exakt der Zeichenkette "HumboldtUniversität zu Berlin" entspricht ...
ORDER BY name
... und sortiere das Ergebnis (eine temporäre Tabelle mit den
Ergebniszeilen) nach dem Feld name alphabetisch aufsteigend.
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Tabelle collections: Ergebnis der Datenbankabfrage
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Weiteres SELECT-Beispiel
Natürliche Sprache:
Alle Sammlungen aus Europa anzeigen, außer die
deutschen; dabei nach Land und Universität sortieren
SQL:
SELECT country, university, name
FROM collections
WHERE continent = "Europe" AND country !=
"Germany"
ORDER BY country, university, name
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Problem: Zwang zu eindeutigen Aussagen
Die logische Struktur von Wahr/Falsch-Aussagen (binäre Logik)
von Datenbanken zwingt zu einer erheblichen Normierung und
Systematisierung von Informationen
Annähernde und mehrdeutige Aussagen sowie Meinungen und
Tendenzen lassen sich nur schwer implementieren. Vgl.
folgende Aussagen:
• "Entstehungszeit um 1600"
• "Vermutlich aus dem Umkreis des Blauen Reiters"
• "Es lässt sich mit einiger Sicherheit behaupten ..."
• "Diese Politik erzeugt in mir gemischte Gefühle"
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Problem: Datenschutz und Sicherheit
Datenschutz
Die Leistungsfähigkeit moderner DBS ermöglicht eine fast
unbegrenzte Speicherung personenbezogener Daten
• Elektronische Datenerfassung erfolgt heute praktisch
überall
• Werden Daten nicht gelöscht, bleiben sie ewig erhalten
• Politik und Recht kommen der technischen Entwicklung
kaum nach (wenn dies überhaupt erwünscht ist)
Datensicherheit
Schlechte oder schlampig implementierte Zugriffsregelungen
und mangelnder Schutz vor "Crackern" ermöglichen den
Zugriff "Unbefugter" auch auf personenbezogene
Datenbestände
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Content Management
Mit Content Management Systemen (CMS) lassen sich
Websites in Arbeitsgruppen verwalten
Die Inhalte der Webseiten werden in Datenbanken
gespeichert, die Webseiten von Programmskripts bei Aufruf
eines URL dynamisch (im Moment des Aufrufs) erzeugt
Vorteile:
• Mitarbeiter können ohne spezielle Programmier- oder
HTML-Kentnisse Inhalte pflegen
• Über spezielle Zugriffsrechte sind verteilte und
hierarchisierte Workflows möglich
• Schnelle Aktualisierung, Automatisierung (z.B.
Ausblenden veralteter Termine in einem
Veranstaltungskalender)
• Eine Website kann schnell und unkompliziert erweitert und
verändert werden
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Beispiel: Veranstaltungskalender Helmholtz-Zentrum
http://www2.hu-berlin.de/kulturtechnik/kalender.php
Dateneingabe:
• Ein Mitarbeiter erstellt im
internen Kalender einen
Termin und kennzeichnet
ihn als "öffentlich"
• Die Geschäftsleitung gibt
den Termin frei (oder nicht)
kalender.php:
• ruft aus der Datenbank
Termine auf, die nach dem
aktuellen Datum liegen und
als "öffentlich" freigegeben sind
• erstellt eine HTML-Tabelle
und sendet sie an den Client
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Veranstaltungskalender - kalender.php
kalender.php ist ein PHP-Skript (PHP Hypertext Preprocessor)
Weitere Informationen: http://www.php.net
Bei seinem Aufruf wird es vom PHP-Modul des Web-Servers wie ein
kleines Programm ausgeführt
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
kalender.php
Das PHP-Skript ruft die entsprechenden Termine über ein SQLStatement aus der MySQL-Datenbank auf
Für jeden Termin wird über eine "Schleife" eine HTMLTabellenzeile ausgegeben
Schematische Darstellung einer HTML-Tabellenzeile mit
Variablen (Werte aus den Datenbank-Feldern, blau gefärbt):
<tr>
<td><b>{datum}</b><br>
{anfang} - {ende} oder bis {endedatum}
</td>
<td><b><a href="{linkurl}">{titel}</a></b><br>
{beschreibung}<br>
Ort: {ort}
</td>
</tr>
Hermann von Helmholtz-Zentrum für Kulturtechnik
Übung: Wissensmanagement mit Neuen Medien
Datenbanksysteme und Content Management
Herunterladen