ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
IT-ManagementIT-ManagementDatenbanken und AnwendungenDatenbanken und Anwendungen
Vortragsunterlagen zur Vortragsreihe Basis / eGovernmentan der Donauuniversität Krems
2ZT Schranz Informationstechnologie KEG
Block März 2009
– Datenbanken
– relationale DBMS
– DB-Integration, DB-Anwendungen
Internet Services, Web Service Management
– Business Intelligence
Statistiken, DB-Auswertungen
Integrierte Lösungen, ERP
– Datenbanklösungen in der Praxis
Strukturierung der InhalteStrukturierung der Inhalte
3ZT Schranz Informationstechnologie KEG
Ausgangssituation, Vorwissen
Zielsetzung, Tageskurs- und Lehrinhalte
Zeitplanung (nach Arbeitsblöcken)
Datenbanktheorie, Praxisbeispiele,
Gruppenübungen und Diskussionen
AgendaAgenda
4ZT Schranz Informationstechnologie KEG
Datenbanken Grundbegriffe
Einsatzbereiche und Erscheinungsformen
Konkrete Anwendungen
– Integration in Application Frontends
– Internet Service (meist World Wide Web) auf DB-Basis
Datenbanktheorie
– Strukturierungsformen, Algebra, Hochleistungen
Business Intelligence (Layering Concepts)
Internationale Projekte, Anwendungen
ThemenschwerpunkteThemenschwerpunkte
5ZT Schranz Informationstechnologie KEG
Unterschiedliches Vorwissen und Erfahrungen an
einen gemeinsamen Punkt bringen und die
generelle Einsetzbarkeit und die strukturellen
Vorteile von modernen Datenbanksystemen
darstellen. Konkrete Web-Anwendungsbeispiele
unterstreichen den praktischen Nutzen.
Ziel der VeranstaltungZiel der Veranstaltung
6ZT Schranz Informationstechnologie KEG
Block 1 – Morgen 9:15 – 11:00– Datenbanken Grundlagen
Block 2 – Vormittag 11:15 – 13:00– Relationale Datenbanken– ER-Diagramme, Transformationen
von Beziehungen (Gruppenbeispiele)
Block 3 – Mittag 14:00 – 16:00– Datenbanktheorie, Normalformen (Übungen)– Relationale Algebra
Block 4 – Nachmittag 16:15 – 18:00– SQL und Übungsbeispiele
Strukturierung der InhalteStrukturierung der Inhalte
7ZT Schranz Informationstechnologie KEG
Ausbildung– Informatiker, – Universitätstätigkeit seit 1994
Berufserfahrung– Lehre– Forschung– Management Consulting– Technisches Management– Geschäftsführung
Geschäftführer einer ZT-Gesellschaft– Ziviltechniker Informationstechnologie
VortragenderVortragender
8ZT Schranz Informationstechnologie KEG
Als staatlich befugter und beeideter Ingenieurkonsulent für
Informatik und u.a. Technikverantwortlicher einer rein
online basierten Nachrichtenagentur in Österreich mit
fundiertem akademischen Background auf
Koordinationsbedürfnisse und Mediationsnotwendigkeiten
im technisch-wirtschaftlichen Geschäftsfeld hinzuweisen
und beiderseits - GF, Marketing, Finanz vs. IT-Bereich -
mehr Problemverständnis und Lösungspotentiale
aufzubauen.
Ziel der VeranstaltungZiel der Veranstaltung
9ZT Schranz Informationstechnologie KEG
Ziviltechniker – decken im Rahmen ihrer Befugnis Aufgaben im Bereich
der Planung, Prüfung und Überwachung von technischen Projekten ab
– Dabei agieren sie beratend, koordinierend und sind auch treuhändisch tätig
– sind produkt- und firmenneutral für den Auftraggeber tätig
– erstellen Gutachten und öffentliche Urkunden– unterliegen besonderem Standesrecht
(Verschwiegenheit, Treuhändertätigkeit)
Ziviltechniker allgemeinZiviltechniker allgemein
10ZT Schranz Informationstechnologie KEG
Ziviltechniker – decken im Rahmen ihrer Befugnis Aufgaben im Bereich der
Planung, Prüfung und Überwachung von IT-Projekten ab
– planen und erstellen technische Konzepte
– Technische Vertragsberatung
– Unterstützung bei Vergabeverfahren (neutrale Beratung und Kontrolle)
Ausschreibungserstellung Angebotsbeurteilung Prüfung, Testierung Gutachtenerstellung Beweissicherung
– Sicherheit von Computersystemen (siehe Punkt 1)
Ziviltechniker ITZiviltechniker IT
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Datenbanken und AnwendungenDatenbanken und Anwendungen
Block 1: Einführung zur Datenbankanwendung
12ZT Schranz Informationstechnologie KEG
Einführung zu DatenbankenEinführung zu Datenbanken
Industriezeitalter wurde ab der Mitte des letzten Jahrhunderts nach und nach vom Informationszeitalter abgelöst
Mehr und mehr Arbeiter beschäftigen sich mit der Produktion, Verwaltung und Übermittlung von Information
Das führende Werkzeug hierfür ist der Computer
13ZT Schranz Informationstechnologie KEG
Einführung zu DatenbankenEinführung zu Datenbanken
Informationen für und über uns sind fast überall und in jedem Betrieb zu finden
– Gesellschaftspolitische Funktion der Information
– Rechtliche Aspekte der Informationsverarbeitung
– Wirtschaftlicher Nutzen der Informationsverarbeitung
Anwendungsbeispiele– Post zur Adressierung und Logistik
– Telekom zur Massenverwaltung von Individualkommunikation
– Banken zur wirtschaftlichen Betreuung ihrer Kunden und deren Aktivitäten („Transaktionen“)
14ZT Schranz Informationstechnologie KEG
Einführung zu DatenbankenEinführung zu Datenbanken
Daten sind die konkreten Einheiten der Informationsverarbeitung
Datenbanken sind Werkzeuge, die zur Verwaltung dieser Informationseinheiten herangezogen werden
Datenbanken sind eine Aufbewahrungsstelle für – meist – große Mengen an Daten, die strukturiert verwaltet und nach bestimmten Kriterien abgerufen werden können
15ZT Schranz Informationstechnologie KEG
Kennzeichen einer DatenbankKennzeichen einer Datenbank
Man spricht von einer Datenbank, wenn
– sie eine große Menge an Informationen über Objekte unserer Umwelt enthält (z.B. Telefonbuch)
– die Daten nach bestimmten Merkmalen und Regeln abgelegt und erfasst sind (z.B. Struktur der Daten)
– der Zugriff auf die Daten für Anwender ohne großen Aufwand über vordefinierte Schnittstellen möglich ist (z.B. Alphabetischer Zugriff über Suchschnittstelle)
16ZT Schranz Informationstechnologie KEG
Datenbank-OperationenDatenbank-Operationen
Eine Datenbank ist nicht nur Aufbewahrungs-stelle für Informationen sondern
stellt verschiedene Zugriffmöglichkeiten (Operationen) auf die Daten zur Verfügung
– Einfügen von Daten
– Lesen von Daten
– Ändern von Daten
– Löschen von Daten
Genaue Implementierung für den Anwender nicht wichtig, nur die Schnittstelle, an der sie die Daten abgibt bzw. entgegennimmt.
17ZT Schranz Informationstechnologie KEG
Datenbank-KomponentenDatenbank-Komponenten
Eine Datenbank gliedert sich grundsätzlich in zwei Komponenten– Die Daten an sich
– Das Verwaltungswerkzeug zur Bearbeitung der Daten (Datenbankbetriebssystem, Datenbankmanagementsystem)
18ZT Schranz Informationstechnologie KEG
Datenbank-KomponentenDatenbank-Komponenten
Das Datenbankmanagementsystem
– Das Programm zur Verwaltung der Daten bietet die Schnittstelle für den Anwender; ein direkter Zugriff auf die Daten ist meist nicht möglich (und sinnvoll)
– Das Verwaltungsprogramm ist die Spitze des Datenbankbetriebssystems, das viele Funktionalitäten des Zugriffs, die physische Speicherlogistik der Daten und die Optimierung der Zugriffe (Operationen in der zugehörigen Algebra) umfasst (Beispiel Lagerverwalter Skriptum Seite 7).
– Man spricht dabei vom Datenbankmanagement-system (DBMS)
19ZT Schranz Informationstechnologie KEG
Datenbank-InhalteDatenbank-Inhalte
Wie werden Daten abgelegt?
– Informationen über die Art der Daten
– Die Dateninhalte selbst
Bei mehreren Einträgen wird rasch klar, dass gleichartige Einträge gruppiert werden.
– Art der Information als „Spaltenbezeichnung“
– Inhalte als Zeilen
– Die so entstandene Ablageform ist eine Tabelle
20ZT Schranz Informationstechnologie KEG
Datenbank-InhalteDatenbank-Inhalte
Beispiel Wirtschaftsnachrichten (pte)– Haben immer einen Titel, einen Text und ein
Datum
Tabelle Pressemeldungen
32.12.2030Der überparteiliche Wirtschaftsguru und Politprofi KHG machte es möglich...
Wiener Börse überholt Wallstreet
32.12.2009Was niemand zu hoffen wagte,...
Microsoft in Schwierig-keiten
DatumTextTitel
21ZT Schranz Informationstechnologie KEG
Datenbank-InhalteDatenbank-Inhalte
Datenbank möchte so viel wie möglich über die zu erwartenden Daten wissen. Tabellen werden dabei definiert durch die Festlegung von
– Name der Tabelle
– Namen der Attribute (Nummer, Art, etc. bezeichnet man als Attribute)
– Datentypen der Attribute
– Sind die Attribute obligatorisch
– Angabe eines Hauptschlüssels
22ZT Schranz Informationstechnologie KEG
Datenbank-VerwaltungDatenbank-Verwaltung
Daten werden in einer Datenbank nicht nur abgespeichert
Wichtiger als das Speichern selbst ist das gezielte Abfragen der gespeicherten Daten. Dazu stellt eine Datenbank die folgenden Operationen zur Verfügung:
– Auswahl der angezeigten Felder
– Einschränkung der anzuzeigenden Einträge
– Sortieren der angezeigten Einträge
– Kombinieren von Informationen aus mehreren Tabellen
23ZT Schranz Informationstechnologie KEG
Datenbank-TypenDatenbank-Typen
Erscheinungsformen von Datenbanken
– Tabellarische Darstellung nicht immer zweckmäßig
– Unterschiedliche Modelle zur Datenverwaltung historisch und anwendungsorientiert entwickelt
– Datenbankmanagementsysteme (unabhängig welches logische Modell dabei zugrunde liegt) trennen Datenbankaufgaben voneinander:
Handhabung der Daten an sich Logische Struktur der Daten (und Beziehungen
untereinander) Verarbeitungslogik (Modelle, Algebren) Benutzeroberfläche, Manipulationssprache
24ZT Schranz Informationstechnologie KEG
Datenbank-TypenDatenbank-Typen
Erscheinungsformen von DatenbankenJe nach nach der logischen Strukturierung und der Verwaltungsmethoden in Hardware und im Datenbankbetriebssystem unterscheidet man folgende logische Modelle:
– Relationale Datenbanken
– Objektorientierte Datenbanken
– Hierarchische Datenbanken
– Netzwerk-Datenbanken
– Logische Datenbanken
25ZT Schranz Informationstechnologie KEG
Datenbank-TypenDatenbank-Typen
Verwaltungsunterstützung bei Datenbanken– Hilfswerkzeuge und Design-Tools wurden für
jedes logische Modell entwickelt
– Vertreter Entity-Relationship Diagramme Design-Software
26ZT Schranz Informationstechnologie KEG
Datenbank-ModelleDatenbank-Modelle
1 - Das relationale Modell
– Daten werden hier in Tabellen strukturiert
– Ein mathematisches Modell beschreibt darin „Tupel“, die in einer mathematischen Relation zusammengestellt sind und gemäß vordefinierter Operationen abgefragt („angesprochen“) werden können
– Identifikation der Tupel über „Schlüssel“, Abfrage über eine standardisierte Sprache (SQL)
... mehr dazu später...
27ZT Schranz Informationstechnologie KEG
Datenbank-ModelleDatenbank-Modelle
2 – Das objektorientierte Modell
– Daten in OO-Programmen sollen dauerhaft verwaltet werden können.
– Komplexe und verschiedenartige Arten von Daten (Objekte, Attribute, komplexe Datentypen) widersprechen dem Einheitsbrei einer Tabellenstruktur
– Keine 4GL für den Zugriff benötigt
– ...oft Rückgriff auf relationales Modell über Wrapper...
28ZT Schranz Informationstechnologie KEG
Datenbank-ModelleDatenbank-Modelle
3 – Das hierarchische Modell
– Das hierarchische Datenbankmodell folgt einer Baumstruktur, die Navigation darin ist explizit
– Abfragesprachen von IBM, eingebettet in COBOL, PL/1 und 370/Assembler
29ZT Schranz Informationstechnologie KEG
Datenbank-ModelleDatenbank-Modelle
4 – Das Netzwerk-Modell– Hierarchische Datenbankmodelle können nur 1:n
Beziehungen abbilden.
– Das Netzwerkmodell zeigt die Realität in Form eines zusammenhängenden gerichteten Graphen mit Knoten und Kanten
– Es gibt Owner-Typen (1-Seite) und Member-Typen (n-Seite). Anzahl und Richtung ist frei wählbar.
– m:n wird durch einen zwischengeschalteten Kett-Record bewerkstelligt (bildet dann zwei 1:n Beziehungen)
– Umsetzung im CODASYL-Projekt, (60er, 70er Jahre)
30ZT Schranz Informationstechnologie KEG
Datenbank-ModelleDatenbank-Modelle
5 – Das logische Datenbankmodell– Direkte Verarbeitung logischer Regeln
– Regeln leiten Fakten auf Basis bereits vordefinierter Fakten ab
– Verarbeitung erfolgt durch die Datenbanksprache DATALOG (ähnlich dem PROLOG)
– Beispiel
VaterVon(Hans, Otto).
VaterVon(Otto, Frank).
VaterVon(Otto, Peter).
GrossvaterVon(A, B) :- VaterVon(A, C), VaterVon(C, B).
31ZT Schranz Informationstechnologie KEG
Konkrete AnwendungenKonkrete Anwendungen
Datenbankmodelle in der Praxis– Relationale Datenbanken im WWW
– Verwaltung komplexer Datenmengen für Pressemeldungen und Wirtschaftsnachrichten seit 1997 Abonnentendaten und Interessenskategorien für mehr
als 180.000 Journalisten und Meinungsbildner Integration von 1500 Netzwerkpartnern zur Distribution
von wirtschaftsrelevanten Nachrichten über multiple Medien
– am Beispiel von pressetext.austria oder culturall
Fallstudie pte
Kunde pressetext.austria
online Nachrichtenagentur
Technikabteilung
Forschungsaktivitäten
Anwendung IT-Management und Datenbanken
Seit 1997 auf dem österreichischen MarktSeit 2000 in der SchweizSeit 2001 in Deutschlandgrößter Online Presseverteiler im deutschsprachigen Raum1300 Unternehmer als AussenderÜber 100.000 Abonnenten in der D/A/CH-Region1,5 Mio. Visits / Monat7,3 Mio. Impressions / Monat45.000 Single Users auf der Plattform täglichZahlreiche Partner: ddp, DGAP, Yahoo, Wallstreet.online, ONE, uvm.
Unternehmensprofil
Definition
• Internet-basierte Nachrichtenagentur mit digitalem Presseverteiler kostenfrei für Journalisten und Meinungsbildner (Abonnenten) Themenschwerpunkte Hightech, Medien, Business und Leben
Umsatzgenerierung
• Verbreitung von Pressemitteilungen im Auftrag von zahlenden Kunden (Unternehmen und öffentliche Institutionen, PR-Agenturen)
• Hochwertige Add-on Services für PR/Marketingverantwortliche sowie Internet-Portale (Content Verkauf, Redaktionsdienste, WebTV Services, CMS, Online-Marketing)
Produkte und Services
pte - pressetext.europaRedaktionelle Nachrichtenproduktionpts - pressetext.serviceVerbreitung von bezahlten Presseaussendungen
ptv - pressetext.tvLive-Übertragung von Presseveranstaltungen, Events, Studiogespräche via WebTV
Content ServicesRedaktionsdienste (Auftrags-Content)Content Verkauf (Lizensierung)Content Solutions (Portalbau, CMS)
Erste rein online-basierte Nachrichtenagentur Österreichs
Verschiedenste Produkte verlangen nach modernen und
kompetenten Lösungen
Moderne RDBMS zur performanten Verwaltung von online
Inhalten, ansehnliches Lastmanagement
Interne Forschung und Entwicklung schafft aktuelle
Lösungen für online Content Management
Internationale Kooperationen zu aktuellen Problematiken
in der Content-Wirtschaft bringt Know-How und Vorsprung
pressetext.austria – technical view
R&D Services
Content Management System auf zuverlässiger Internet Plattform
hochverfügbare Webserver
Leistungsstarke Datenbanken
Moderne Austauschformate
benutzerfreundliche Inhaltspflege
38ZT Schranz Informationstechnologie KEG
Fallstudie Kulturveranstaltungsmanagement
Kunde culturall
39ZT Schranz Informationstechnologie KEG
Fallstudie Kulturveranstaltungsmanagement
40ZT Schranz Informationstechnologie KEG
Fallstudie Kulturveranstaltungsmanagement
41ZT Schranz Informationstechnologie KEG
Datenmanagement inkludiert:
Kontrolle der Geschäftsvorgänge über Computernetzwerke
Involvierung personenbezogener Daten
Hohe Ansprüche an Zuverlässigkeit, Performance und Sicherheit
Rechtliche Abdeckung der softwarebasierten Prozessschritte
Fallstudie Kulturveranstaltungsmanagement
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Datenbanken und Anwendungen konkret:Datenbanken und Anwendungen konkret:
Block 2: Das relationale Datenbankmodell
43ZT Schranz Informationstechnologie KEG
Relationales Datenmodell - TabellenRelationales Datenmodell - Tabellen
Tabellen und Relationen–Modell Mitte der 80er entwickelt und spielt seither bedeutendste Rolle bei Datenbanken in der Praxis
–Gesamtheit der Daten wird in Tabellen angeordnet
44ZT Schranz Informationstechnologie KEG
Tabellen und RelationenTabellen und Relationen
– Tabellen bestehen aus vielen Zeilen die jeweils die Eigenschaften zu genau einem Datensatz enthalten
– Zeilen sind in Zellen (Spalteneinträgen) strukturiert
– Beispiel SkriptumPersonentabelle
MusterdorfHahnenwegBrigitteMeyer345
BernsteinFöhrenweg MarkusSchranz206
LondonVictoria Str.JamesBond007
OrtStrasseVornameNamePersID
45ZT Schranz Informationstechnologie KEG
Tabellen und RelationenTabellen und Relationen
– Jede Zeile enthält Werte der Attribute, die in der Kopfzeile festgelegt (invariant) sind
– Wertebereich des Attributs i heißt Domäne Di
– Kartesisches Produkt der Wertebereiche Di für alle
Spalten i ist die Menge aller möglichen Tupel, die durch die Attribute erstellt werden können.
– Damit ist die Menge der aufgelisteten Werte in der Tabelle eine Teilmenge aller möglichen Tupel. Mathematisch gesehen ist eine solche Teilmenge aus einem kartesischen Produkt eine Relation r mit
r ⊆ D1 × D2 × . . . × Dn
46ZT Schranz Informationstechnologie KEG
Tabellen und RelationenTabellen und Relationen
– Zeilen in der Tabelle müssen sich unterscheiden
– Jede Zeile muss durch ein(e) Attribut(kombination) eindeutig definiert sein -> Primärschlüssel
– Eine Relation wird durch ein Relationenschema R(A1,...An) festgelegt, wobei Ai die Attribute sind (Bauanleitung einer Relation)
– Tabellen/Relationen können mit Hilfsmitteln wie dem ER-Diagramm modelliert werden
sehr mathematisch -> grafischer Einschub
47ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
ER-Diagramm ist grafische Beschreibung eines vereinfachten Realweltausschnittes zur Abbildung in einer Datenbank
Statt Tupeln aus der relationalen Welt spricht man hier von Mengen
Domänen und Attribute werden auch hier in ihrer vorgestellten Bedeutung eingesetzt
Dazu kommen Entitäten
48ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Entitäten sind wohlunterscheidbare Dinge der realen Welt (Personen, Autos, Bücher, etc.)
Entitäten besitzen Eigenschaften, die Attribute genannt werden (Namen, Adressen von Personen)
Konkrete Ausprägung eines Attributes heißt Wert. Man erhält ein konkretes Entity, wenn man Attributen Werte zuordnet
49ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Attribute– Menge aller möglichen zugelassenen Werte
eines Attributs heißt seine Domäne
– Attribute können einwertig oder mehrwertig sein (Person hat mehrere Vornamen, Lektor unterrichtet mehrere Vorlesungen,...)
– Ein zusammengesetztes Attribut besteht aus mehreren einzelnen Attributen (Name etwa aus Nachname und Vorname(n))
– Ein Entity-Set (Zusammenfassung von Entitäten) hat dieselben Attribute
50ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Schlüssel– Eine Kombination von Attributen kann ein
Entity aus einem Entity-Set klar identifizieren (SuperKey)
– Attribute in einem SuperKey können überflüssig für die Identifizierung sein, Minimierung führt zum Schlüssel (key)
– Es kann durchaus mehrere Schlüssel geben, der tatsächlich zur Identifizierung verwendete heißt dann Primärschlüssel (primary key)
– Primärschlüssel können aus einem oder mehreren Attributen bestehen
51ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Definition von Entities– Entity Set besteht aus Menge von gleichförmigen
Entities. Die formale Beschreibung der gemeinsamen Eigenschaften erfolgt durch den Entity-Typ E = ({X}, {K}).
– E ist der Name, X das Format und K der Schlüssel
– In „X“ werden die Attribute notiert und zwar:(i) Einwertige Attribute: A(ii) Mehrwertige Attribute: {A}
(iii) Aus B1, . . . ,Bk zusammengesetzte Attribute: A(B1, . . . ,Bk)
– Beispiel:Mitarbeiter = ({PerNr,Vorname,Nachname,
{Bereiche},Adresse(Strasse,Ort)},{PerNr})
52ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Grafische Darstellung von Entities– Mitarbeiter = ({PerNr,Vorname,Nachname,
{Bereiche},Adresse(Strasse,Ort)},{PerNr})
– Schlüssel werden unterstrichen dargestellt
53ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Definition einer Entity, eines Entity-Sets– Gegeben sei eine Entity-Deklaration E = (X,K) mit X =
(A1,...,Am). Das Attribut Ai habe den Wertebereich bzw. die
Domäne dom(Ai) mit 1 <= i <= m.
– i) Ein Entity e ist ein Element aus dem Kartesischen Produkt
aller Wertebereiche, also e dom(A1) × . . . × dom(Am).
– ii) Ein Entity-Set Et (zum Zeitpunkt t) ist eine Menge von Entities, welche K erfüllt. D. h. der Wert von K ist für jedes Entity verschieden. Also
– Et ⊆ dom(A1) × . . . × dom(Am).
– Et ist also der Inhalt bzw. der aktuelle Wert des Typs E zur Zeit t. (Mathematisch gesehen eine Teilmenge aus dem kartesischen Produkt der Domänen, also eine Relation.)
54ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Beziehungen / Relationships–Entitäten können zueinander in einer Beziehung stehen
Abonnent erhält Wirtschaftsnachricht Mitarbeiter arbeitet_in Abteilung Kunde kauft Artikel
erhält
arbeitet_in
kauft
55ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Beziehungstypen– 1:1 Beziehung
Jedem e1 aus dem Set vom Typ E1 wird höchstens ein e2 aus dem Set vom Typ E2 zugeordnet und umgekehrt (es kann auch e1 ohne Beziehung zu e2 geben)
– 1:n (n:1) Beziehung Beispiel Mitarbeiter in Abteilung
– m:n Beziehung Ein Abonnent empfängt eine Wirtschaftsnachricht
56ZT Schranz Informationstechnologie KEG
Übungsaufgabe:• eine Vorlesung hat die Attribute VorlNr (Primärschlüssel), SWS und Titel
• Studenten haben die Eigenschaften MatrNr (Primärschlüssel), Name und Sem
• ein Angestellter hat die Attribute PersNr (Primärschlüssel) und Name
• ein Professor ist ein Angestellter mit den Eigenschaften Rang und Raum
• ein Assistent ist ein Angestellter mit dem Attribut Fachgebiet
• ein Professor hält keine bis mehrere Vorlesungen und prüft keine bis mehrere Studenten bezüglich keiner bis mehrere Vorlesungen
• je Prüfung wird eine Note als Eigenschaft zugewiesen
• ein Student hört keine bis mehrere Vorlesungen und wird in keiner bis mehreren Vorlesungen von keinem bis mehreren Professoren geprüft
• ein Assistent arbeitet für einen Professor
• einem Professor sind kein bis mehrere Assistenten zugeteilt
Erfassung von Sachverhalten – ER-DiagrammErfassung von Sachverhalten – ER-Diagramm
57ZT Schranz Informationstechnologie KEG
Lösung
Erfassung von Sachverhalten – ER-DiagrammErfassung von Sachverhalten – ER-Diagramm
58ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Übungsaufgabe 2– Definieren Sie ein Entity-Relationship Diagramm
(und die Entities) für einen vereinfachten pressetext-Dienst
– Beginnen Sie mit Abonnent Pressemeldung Aussender
59ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Lösung (Tabellarische Notation)
meldungen
PK nummerkategorieautordatumtiteltext
abonnenten
PK emailnamevornameint_hightechint_medienint_businessint_leben
aussender
PK emailnamekontostandplzort
60ZT Schranz Informationstechnologie KEG
Entities werden in (zumindest) ein eigenes
Relationenschema transformiert
– Gegeben sei folgender Entity-Typ:
Person = ({PerID, Name, Vorname,
Adresse(Strasse,Ort)}, {PerID})
Transformationen ins RelationenschemaTransformationen ins Relationenschema
R(A1, . . . ,An) entspricht hier Person(PerID, Name, Vorname, Strasse, Ort) oder Person PerID Name Vorname Strasse Ort …
Tabelle Person
61ZT Schranz Informationstechnologie KEG
Mehrwertige Attribute werden über die
Einführung einer weiteren Relation aufgelöst
– Sinnvollerweise nur DozIDs in der Fachbereichstabelle,
die auch in der Dozententabelle definiert sind
Eine solche (semantische) Bedingung zwischen Relationen,
wird als referentielle Integrität bezeichnet
Transformationen ins RelationenschemaTransformationen ins Relationenschema
62ZT Schranz Informationstechnologie KEG
Transformation von Beziehungen
m:n-Beziehung
– Für jeden Entity Typ (zumindest) eine Relation
– Für die Beziehung ein weiteres Relationenschema
Die Kombination der Fremdschlüssel wird zum
Primärschlüssel der Beziehungsrelation
(siehe Skriptum Seite 29)
Transformationen ins RelationenschemaTransformationen ins Relationenschema
63ZT Schranz Informationstechnologie KEG
Transformation von Beziehungen
1:n-Beziehung
– Option 1: drei Relationenschemata wie unter m:n
– Option 2: Dem Schema für den Entity-Typ auf der „n“-Seite
werden der Primärschlüssel und die Attribute der Beziehung
(wenn vorhanden) zugeordnet.
1:1-Beziehung
– Option 1 und 2 wie oben
– Option 3: Nur eine Tabelle mit potenziell vielen Nullwerten
Transformationen ins RelationenschemaTransformationen ins Relationenschema
64ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Übungsaufgabe 3– Transformieren Sie die Entities aus der Übung 1 in
passende Relationenschemata
– Beachten Sie dabei Entity-Attribute (Mehrwertigkeit) und Beziehungstypen
– Meldungen(meldungs_id, titel, text, ...)
65ZT Schranz Informationstechnologie KEG
Das Entity-Relationship DiagrammDas Entity-Relationship Diagramm
Lösung 3
meldungen
PK meldungen_idFK aussender_idFK kategorie_id
autordatumtiteltext
abonnenten
PK abonnenten_idnamevornameemail aussender
PK aussender_idnameemailplzortkontostand
kategorien
PK kategorie_idname
abonnenten_kategorien
PF abonnenten_idPF kategorie_id
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Datenbanken und AnwendungenDatenbanken und Anwendungen
Block 3: Die relationale Algebra und SQL
67ZT Schranz Informationstechnologie KEG
Haben wir unser Datenmodell von der realen Welt in Tabellen gegossen, wollen wir– diese sicher und zuverlässig abgespeichert wissen
(darum kümmert sich das RDBMS)
– diese auch selektiv abfragen(mit verschiedensten Operationen)
Selektionen Projektionen Verknüpfungen Aggregierungen
– Letzteres geschieht über ein Bearbeitungsmodell, der relationalen Algebra
Relationale AlgebraRelationale Algebra
68ZT Schranz Informationstechnologie KEG
Die Relationale Algebra bietet Operationen um– Bestimmte Zeilen oder Spalten einer Tabelle zu
extrahieren Die Selektion Die Projektion Kombination von Selektion und Projektion
– Tabellen miteinander zu verknüpfen Der Join
Relationale Algebra Relationale Algebra
69ZT Schranz Informationstechnologie KEG
Die Selektion– Eine Selektion ist dazu gedacht, aus einer Tabelle nur
diejenigen Zeilen (Tupel) herauszufiltern, in denen ein Attribut eine vorgegebene Bedingung erfüllt.
– Dabei bleiben die selektierten Zeilen in ihrer Vollständigkeit – das heißt mit allen Attributen – erhalten.
– Textuelle Darstellung
σ A=4(r)
Relationale AlgebraRelationale Algebra
70ZT Schranz Informationstechnologie KEG
Beispiel-Selektion– Extrahiere alle Zeilen der Relation meldungen, wo der
Aussender pressetext selbst war– Textuelle Darstellung
σ aussender_id=pte(meldungen)
– Ergebnisalle Meldungen (alle Attribute der Tabelle), wo pressetext als Aussender eingetragen ist
Relationale AlgebraRelationale Algebra
71ZT Schranz Informationstechnologie KEG
Die Projektion– Die Projektion extrahiert eine oder mehrere Spalten
(Attribute) aus der gegebenen Relation.
– Eine Projektion wird mit dem Symbol π gekennzeichnet und erhält als Subskript die auszuwählenden Attribute
– Doppelte Einträge im Ergebnis werden herausgefiltert
– Textuelle Darstellung
πAD(r)
Relationale AlgebraRelationale Algebra
72ZT Schranz Informationstechnologie KEG
Beispiel-Projektion– Zeige von allen Datensätzen der Relation meldungen die
Titel und die Aussenderkennung an
– Textuelle Darstellung
πtitel,aussender_id(meldungen)
– ErgebnisTabelle mit zwei Spalten
Relationale AlgebraRelationale Algebra
73ZT Schranz Informationstechnologie KEG
Kombination der Selektion und Projektion
– Meist werden die beiden Operationen in Kombination verwendet, etwa bei der Aufgabenstellung
Zeige den titel aller Meldungen, die von pressetext versandt wurden
– Textuelle Darstellung
πtitel(σ aussender_id=pte(meldungen) )
– Reihenfolge: Selektion vor Projektion, weil ansonsten die Attribute mit den Selektionskriterien durch die Projektion bereits eliminiert worden sein könnten
Relevant für die Umsetzung der relationalen Algebra im RDBMS
Relationale AlgebraRelationale Algebra
74ZT Schranz Informationstechnologie KEG
Der Join
– Der Join verknüpft zwei oder mehr Tabellen miteinander
– Oft ein oder mehrere gemeinsame Attribute
– Errechnung des kartesischen Produktes der zwei
Tabellen (jede Zeile von a mit jeder Zeile von b)
– Selektion aller verbundenen Tupel, an denen die „join-
Attribute“ übereinstimmen (=Join-Bedingung beim
„inner join“, der am häufigsten verwendete)
Relationale AlgebraRelationale Algebra
75ZT Schranz Informationstechnologie KEG
Der Join
– Textuelle Darstellung
r1 r2
– Implikationen von Joins
Die Erstellung der kartesischen Produkte bei relationalen
Datenbanken ist ein aufwändiger Prozess
Aufwand O(m*n)
Bei Normalformen höher als der dritten zerstückelt man die
Tabellen in sehr viele kleine Tabellen und erhält damit bei
Abfragen einen unnötig hohen Join-Bedarf, was sich in
Performance-Einbußen niederschlägt (Abhilfe Indices, etc.)
Relationale AlgebraRelationale Algebra
76ZT Schranz Informationstechnologie KEG
Die Datenbankabfragesprache SQL– Der Benutzer einer Datenbank möchte nun auf
die gespeicherten Daten zugreifen
– Es steht ihm hierfür eine 4GL Sprache zur Verfügunger kann damit system- und plattformunabhängig die Operationen der relationale Algebra nutzen
– Anfänge aus den 70er Jahren, standardisiert in den 80ern (SQL1 –1986, SQL2 – 1989 und SQL3 – 1999)
Structured Query LanguageStructured Query Language
77ZT Schranz Informationstechnologie KEG
Befehlskategorisierung in SQL– Dem Benutzer stehen verschiedene
Befehlstypen in SQL zur Verfügung Datendefinition (DDL) Datenabfrage (DQL) Datenmanipulation (DML) Datenzugriffskontrolle (DCL)
– In standardisierter Form, umgesetzt in allen gängigen RDBMS Produkten (Oracle, MySQL, PostgreSQL, Windows SQL Server, etc.)
Structured Query LanguageStructured Query Language
78ZT Schranz Informationstechnologie KEG
SQL-Befehle zur Datendefinition– CREATE DATABASE <databasename>
– DROP DATABASE <databasename>
– SHOW DATABASES
– CREATE TABLE meldungen (...)
– DROP TABLE
– ALTER TABLE
– SHOW TABLES
Structured Query LanguageStructured Query Language
79ZT Schranz Informationstechnologie KEG
SQL-Befehle zur Datenabfrage– SELECT * FROM meldungen WHERE datum = ‘1.4.2004‘
– SELECT titel FROM meldungen
– SELECT a.titel, b.name FROM meldungen a, aussender b WHERE a.autor = b.name
– SELECT count(*) from meldungen
– SELECT count(distinct name), name from abonnenten group by name order by name desc
Structured Query LanguageStructured Query Language
80ZT Schranz Informationstechnologie KEG
SQL-Befehle zur Datenmanipulation– INSERT INTO TABLE meldungen VALUES (...)
– DELETE FROM meldungen WHERE meldungen_id > 25
– UPDATE meldungen set autor = ‚pte‘ WHERE ...
SQL-Befehle zur Zugriffskontrolle– GRANT ...
Structured Query LanguageStructured Query Language
81ZT Schranz Informationstechnologie KEG
Probleme mit SQL und dem relationalen Ansatz– Feste Maximalgrößen für Felder
– Aufwändige Modellierung bei komplexen, hierarchischen Objekten
– Komplexe Abfragesyntax
– Performanceprobleme durch multiple joins
– Insellösungen von Anbietern
Structured Query LanguageStructured Query Language
82ZT Schranz Informationstechnologie KEG
Aufgabe – Verwenden Sie die Schnittstelle phpMyAdmin und
führen Sie die SQL-Abfragen gemäß der Angaben auf dem Übungsblatt auf den Testtabellen der pressetext.austria durch.
Structured Query LanguageStructured Query Language
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Datenbanken und AnwendungenDatenbanken und Anwendungen
(Tag2 Rück-/Überblick): Datenbanken, die relationale Algebra und SQL
84ZT Schranz Informationstechnologie KEG
Datenbanken Grundbegriffe
Einsatzbereiche und Erscheinungsformen
Konkrete Anwendungen
– Integration in Application Frontends
– Internet Service (meist World Wide Web) auf DB-Basis
Datenbanktheorie
– Strukturierungsformen, Algebra, Hochleistungen
Business Intelligence (Layering Concepts)
Internationale Projekte, Anwendungen
Rückblick ThemenschwerpunkteRückblick Themenschwerpunkte
85ZT Schranz Informationstechnologie KEG
Einführung zu DatenbankenEinführung zu Datenbanken
Daten sind die konkreten Einheiten der Informationsverarbeitung
Datenbanken sind Werkzeuge, die zur Verwaltung dieser Informationseinheiten herangezogen werden
Datenbanken sind eine Aufbewahrungsstelle für – meist – große Mengen an Daten, die strukturiert verwaltet und nach bestimmten Kriterien abgerufen werden können
86ZT Schranz Informationstechnologie KEG
Datenbank-KomponentenDatenbank-Komponenten
Eine Datenbank gliedert sich grundsätzlich in zwei Komponenten– Die Daten an sich
– Das Verwaltungswerkzeug zur Bearbeitung der Daten (Datenbankbetriebssystem, Datenbankmanagementsystem)
87ZT Schranz Informationstechnologie KEG
Datenbank-TypenDatenbank-Typen
Erscheinungsformen von DatenbankenJe nach nach der logischen Strukturierung und der Verwaltungsmethoden in Hardware und im Datenbankbetriebssystem unterscheidet man folgende logische Modelle:
– Relationale Datenbanken
– Objektorientierte Datenbanken
– Hierarchische Datenbanken
– Netzwerk-Datenbanken
– Logische Datenbanken
88ZT Schranz Informationstechnologie KEG
Datenbanksysteme
– Konzepte und deren Einsatzbereich
– Das relationale Datenbankmodell
Beschreibungsmodelle
– Das Entity Relationship Modell
– Transformation von abstrakten Darstellungen zu konkreten
Datenbanktabellen
Arbeiten mit der Datenbank
– Die relationale Alegbra
– Der Abfragestandard SQL
Rückblick: Themenschwerpunkte zuletztRückblick: Themenschwerpunkte zuletzt
89ZT Schranz Informationstechnologie KEG
Datenbanktypen, Anbieter und Anwendungen
Anwendung des Datenbankwissens
– Komplexe Standardabfragen
– Lösung von praxisorientierten Problemen
– Erarbeiten und Verstehen relationaler Modelle (Normalformen)
Einsatz im Internet und World Wide Web
– Anbindung von Legacy Applications, Schwerpunkt
Datenbanken
– Einblick ins Programmieren serverseitiger
DB-Anwendungen, Demo und hands-on bei CMS
Business Intelligence, Integrierte Lösungen & ERP
AgendaAgenda
90ZT Schranz Informationstechnologie KEG
Block 1 – Morgen 9:15 – 11:00– Datenbanken Einsatzbereich– Vertreter und Anwendung– Fortsetzung konkreter Abfragen
Block 2 – Vormittag 11:15 – 13:00– Vorteile des relationalen Ansatzes– Optimierungen durch Normalformen– Datenbankanbindung an Standardsoftware
Block 3 – Mittag 14:00 – 15:45– Standardapplikationen/WWW & serverseit. Programmieren– Integrierte Lösungen / ERP Grundlagen
Block 4 – Nachmittag 16:00 – 18:00– ERP & Business Intelligence – Lösung komplexer Anforderungen mit geeigneten Werkzeugen
Strukturierung der Inhalte Tag 2Strukturierung der Inhalte Tag 2
91ZT Schranz Informationstechnologie KEG
Datenbank-TypenDatenbank-Typen
Erscheinungsformen von DatenbankenJe nach nach der logischen Strukturierung und der Verwaltungsmethoden in Hardware und im Datenbankbetriebssystem unterscheidet man folgende logische Modelle:
– Relationale Datenbanken
– Objektorientierte Datenbanken
– Hierarchische Datenbanken
– Netzwerk-Datenbanken
– Logische Datenbanken
92ZT Schranz Informationstechnologie KEG
Datenbank-Vertreter kommerziellDatenbank-Vertreter kommerziell
Sybase ASE (adaptive server enterprise)
NCR/Teradata Warehouse
12,1%Microsoft/SQL Server
31,1%IBM / DB2, Informix
39,8%OracleVersion 10g
Marktanteil (Quelle IDC, Feb 2005)
Unternehmen/Produkt
93ZT Schranz Informationstechnologie KEG
Datenbank-Vertreter alternativDatenbank-Vertreter alternativ
TeamXML (Interwoven), Berkeley DB XML (Sleepycat), Tamino (Software AG), GoXML (XML Global Technologies)
XML-basiert
db4objectswww.db4o.com
ObjectDB (Java), Birdstep RDM, GemStone, JADE, ODABA
objektorientiert
MySQL, www.mysql.com PostgreSQL, www.postgresql.com Ingres, Computer Associates
Relational und frei
Unternehmen/Produkt
94ZT Schranz Informationstechnologie KEG
Datenbank-EinsatzbereichDatenbank-Einsatzbereich
Meist kombiniert mit der Anwendung
– CRM (Customer Relationship Management)
– ECM (Enterprise Content Management)
– SCM (Supply Chain Management)
– ERP (Enterprise Resource Planning)
– Data Warehousing, Data Mining
– WCM (Web Content Management)
Viele (bekannte) Anbieter haben Produkte hierzu
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Datenbanken und AnwendungenDatenbanken und Anwendungen
Anomalien und Normalformen im relationalen Modell
96ZT Schranz Informationstechnologie KEG
Normalformen
– Abhängigkeiten zwischen Attributen
– Anomalien (Problempotenziale)
– Spezifikation von Normalformen
– Übungsbeispiel zur Normalformgestaltung
Relationale Datenbankkonzepte - NormalformenRelationale Datenbankkonzepte - Normalformen
97ZT Schranz Informationstechnologie KEG
Enger Zusammenhang zwischen Entities und
Relationen bereits erkannt
– Transformationsschritte mechanisch
– Bei gut durchdachten ER-Diagrammen qualitativ
hochwertig und sinnvolle Tabellen erhalten
– Grundsätzlich ein guter Designansatz (mit ER), danach
Verfeinerungsschritte durch Normalisierung
Warum NormalformenWarum Normalformen
98ZT Schranz Informationstechnologie KEG
Warum Normalisierung?
– Vermeidung von unnötiger oder unbeabsichtigter
Platzvergeudung (Redundanz)
– Vermeidung von Problemen bei Änderungen
(Anomalien)
Dazu Untersuchung der Abhängigkeit von
Attributen
Warum NormalformenWarum Normalformen
99ZT Schranz Informationstechnologie KEG
Abhängigkeit von Attributen
– Funktionale, voll funktionale, transitive Abhängigkeit ?
– In einem Relationenschema R ist das Attribut (bzw. die
Attributkombination) Y funktional abhängig vom Attribut
X, wenn zu jedem Zeitpunkt jedem Wert von X genau
ein Wert von Y zugeordnet ist.
– Schreibweisen: R.X -> R.Y oder kürzer X -> Y
NormalformenNormalformen
100ZT Schranz Informationstechnologie KEG
Voll funktionale Abhängigkeit von Attributen
– X sei nun ein aus mehreren Attributen zusammengesetzter
Schlüssel, also eine Attributkombination. Y sei ein einzelnes
Attribut oder ebenfalls eine Attributkombination. Y ist genau
dann voll funktional abhängig von X, falls
X -> Y gilt und
es keine echte Teilmenge Z von X gibt mit Z -> Y .
– Kein einziges Attribut der Attributkombination von X darf
entfernt werden (minimaler Schlüssel)
NormalformenNormalformen
101ZT Schranz Informationstechnologie KEG
Veranschaulichung voll funktionaler Abhängigkeit
(Skriptum Seite 36f)
Gilt A -> B ? Gilt AC -> F ? Gilt E -> F ? Gilt F -> C ?
NormalformenNormalformen
Relation r : A B C D E F Tupel 1 2 3 4 5 6 (1) 1 3 0 0 1 7 (2) 2 1 0 0 2 3 (3) 3 2 5 6 7 8 (4) 1 0 3 0 6 6 (5)
102ZT Schranz Informationstechnologie KEG
Beim „pragmatischen“ Ansatz der
Tabellenerstellung wird meist unsauber
gearbeitet
– Beispiel: Tabelle mit Kunden und Artikeln in einer
kleinen Greißlerei („Tante Emma Laden“)
– Meist alle Daten in einer (oder wenigen) Tabellen erfasst
Problematik beim Einfügen, Löschen und Ändern
vorprogrammiert
AnomalienAnomalien
103ZT Schranz Informationstechnologie KEG
Einfüge-Anomalie
– Aufnahme eines neuen Artikels
Die Spalten für Kunden und damit ein Teil des Primärschlüssels bleiben
leer, unbeabsichtigte Situation
Lösch-Anomalie
– Ein Kunde bestellt nur einen Artikel. Wird dieser gelöscht, fehlen auch
die Daten des Kunden
Änderungs-Anomalie
– Wenn ein Kunde mehrere Artikel bestellt oder ein Artikel von mehreren
Kunden bestellt wird, werden Daten redundant gehalten. Sie müssen
dann mehrfach editiert werden, oder es kommt zu Falscheinträgen
AnomalienAnomalien
104ZT Schranz Informationstechnologie KEG
Verhindert können Update-Anomalien durch den Einsatz
von normalisierten Tabellen werden
Eine vollständige Vermeidung von Redundanz und
Anomalien ist bei größerem Datenaufkommen und vielen
Tabellen nahezu unmöglich
Einsatz der Normalformen aus der Theorie auch nur
beschränkt sinnvoll
Definition von NormalformenDefinition von Normalformen
105ZT Schranz Informationstechnologie KEG
Die erste Normalform
– Eine Relation befindet sich in der ersten Normalform, wenn
jedes ihrer Attribute nur atomare Werte annehmen kann
– Die Theorie der relationalen Datenbanken verlangt für
sämtliche Tabellen die Erfüllung der ersten Normalform.
– Somit sind in einem Relationenschema und der zugehörigen
Tabelle weder zusammengesetzte noch mehrwertige Attribute
statthaft.
– Es darf auch keine „Unterrelationen“ geben (mehrere
Beziehungen innerhalb eines Schemas)
Definition von NormalformenDefinition von Normalformen
106ZT Schranz Informationstechnologie KEG
Die zweite Normalform
– Eine Relation befindet sich in der zweiten Normalform, wenn sie die
Bedingungen der ersten Normalform erfüllt und jedes Nicht-
Schlüsselattribut funktional vom gesamten Schlüssel abhängt.
– Im Beispiel unserer Greißlerei sind Teile der Tabellezeilen von der
Kundennummer und Teile von der Artikelnummer abhängig.
– Es gibt also Nicht-Schlüsselattribute, die nicht vom gesamten Schlüssel
abhängig sind -> keine zweite Normalform
– Aufteilung in mehrere Tabellen durch Einführung einer Beziehung
„Kunde bestellt Artikel“
Definition von NormalformenDefinition von Normalformen
107ZT Schranz Informationstechnologie KEG
Die dritte Normalform
– Eine Relation befindet sich in der dritten Normalform, wenn sie
sich in der zweiten Normalform befindet und alle Nicht-
Schlüsselattribute nur direkt (also nichttransitiv) vom Schlüssel
abhängen.
– Also kein Nichtschlüsselattribut ist transitiv vom
Primärschlüssel abhängig, oder anders ausgedrückt...
– Es gibt keine funktionalen Abhängigkeiten zwischen den
einzelnen Nichtschlüsselattributen.
Definition von NormalformenDefinition von Normalformen
108ZT Schranz Informationstechnologie KEG
Erklärung dritter Normalform
– Im Beispiel der Greißlerei kommt neben der Kundennummer in
der Tabelle Kunde der Ort und die Postleitzahl vor.
– Die PLZ ist kein Schlüssel, bestimmt aber den Ort (besser:
dieser ist voll funktional abhängig vom Attribut PLZ)
– Es gibt damit eine funktionale Abhängigkeit zwischen
Nichtschlüsseln, die beseitigt werden muss
(Redundanzproblem)
Einführung einer weiteren Tabelle (Skriptum Seite 43)
Definition von NormalformenDefinition von Normalformen
109ZT Schranz Informationstechnologie KEG
Ein aus der Design-Phase erstelltes Relationenschema
wird bei der Normalisierung auf unnötige Redundanz
und Vermischung von Attributen mehrerer Entities in
einem Schema untersucht
– Test auf 1. Normalform
Die Relation darf keine zusammengesetzten oder mehrwertigen
Attribute enthalten. Außerdem sind keine Unterrelationen
erlaubt.
Normalisierung: Zusammengesetzte Attribute in Einzelattribute,
die alle atomar sind, aufteilen. Für mehrwertige Attribute und
Unterrelationen separate Schemata einführen.
Der NormalisierungsprozessDer Normalisierungsprozess
110ZT Schranz Informationstechnologie KEG
Test auf 2. Normalform
– Falls eine Relation einen Primärschlüssel hat, der aus mehreren
Attributen besteht, darf kein Nichtschlüsselattribut von nur einem
Teil des Primärschlüssels funktional abhängig sein.
– Normalisierung: Die Gesamtrelation wird dahingehend zerlegt, dass
für jeden Teilschlüssel P, von dem Attribute funktional abhängig
sind, ein eigenes Schema erstellt wird. Dieses Schema enthält dann
den jeweiligen Teilschlüssel P als Primärschlüssel und diejenigen
Nichtschlüsselattribute, die von diesem Teilschlüssel funktional
abhängig sind. Außerdem wird ein Schema benötigt, welches den
ursprünglichen originalen (aus mehreren Attributen
zusammengesetzten) Primärschlüssel und die von ihm voll
funktional abhängigen Nichtschlüsselattribute enthält.
Der NormalisierungsprozessDer Normalisierungsprozess
111ZT Schranz Informationstechnologie KEG
Test auf 3. Normalform
– Eine Relation darf kein Nichtschlüsselattribut A enthalten, das
funktional von einem anderen (oder einer Menge von
mehreren anderen) Nichtschlüsselattribute(n) abhängig ist. Es
darf also keine transitive Abhängigkeit eines
Nichtschlüsselattributs A zum Primärschlüssel bestehen.
– Normalisierung: Das Nichtschlüsselattribut A und die anderen
von ihm funktional abhängigen Nichtschlüsselattribute in ein
eigenes Schema auslagern. A wird dann im neuen Schema der
Primärschlüssel und bleibt im ehemaligen Schema ein
Fremdschlüssel.
Der NormalisierungsprozessDer Normalisierungsprozess
112ZT Schranz Informationstechnologie KEG
Aufgabe 3:
Bringen Sie die folgende Tabelle des pressetext
Nachrichtendienstes in die dritte Normalform
– Tabelle auf Angabeblatt
Der NormalisierungsprozessDer Normalisierungsprozess
113ZT Schranz Informationstechnologie KEG
1.NF „saubere Tabellen“
Keine zusammengesetzte Attribute, keine Unterrelationen
Tabelle Kundenaussendungen teilen in
AussenderKunde(KunNr,Bereich,KunName,Plz,
Ort,Strasse,KontaktNummer)
Aussendung(KunNr,Datum,Wochentag,Titel,
KontaktName,KontaktDW)
Der NormalisierungsprozessDer Normalisierungsprozess
114ZT Schranz Informationstechnologie KEG
2.NF „Werte in richtigen Tabellen“
Abhängigkeiten von Teilschlüsseln entfernen
AussenderKunde(KunNr,Bereich,KunName,Plz,Ort,Strasse,KontaktNummer)
F.A. KunNr -> { Bereich,KunName,PLZ,Ort,Strasse,KontaktNumm}
PLZ -> Ort
Aussendung(KunNr,Datum,Wochentag,Titel,KontaktName,KontaktDW)
F.A. {KunNr,Datum} -> {Titel, KontaktName, KontaktDW}
Datum -> {Wochentag}
Hier Aufteilung notwendig
Der NormalisierungsprozessDer Normalisierungsprozess
115ZT Schranz Informationstechnologie KEG
3.NF „keine Transitiven Abghängigkeiten“
In
AussenderKunde(KunNr,Bereich,KunName,Plz,
Ort,Strasse,KontaktNummer)
Gilt PLZ -> Ort, also abspalten wegen der Redundanz.
Der NormalisierungsprozessDer Normalisierungsprozess
116ZT Schranz Informationstechnologie KEG
Lösung 4:
Der NormalisierungsprozessDer Normalisierungsprozess
meldungen
PK meldungen_idFK aussender_idFK kategorie_id
autordatumtiteltext
abonnenten
PK abonnenten_idnamevornameemail aussender
PK aussender_idnameemail
FK plzkontostand
kategorien
PK kategorie_idname
abonnenten_kategorien
PF abonnenten_idPF kategorie_id
orte
PK plzname
117ZT Schranz Informationstechnologie KEG
Vorteile in der geringen Redundanz und der
Vermeidung von Anomalien
Nachteile durch
– Zerstückeln der Tabellen in viele kleine Tabellen bis zur
dritten Normalform (Übersicht)
– Aufwändige Wiedervereinigung bei der Abfrage
notwendig (Performance)
Balanceakt zwischen Nutzen und Aufwand
Vorteile und Grenzen der NormalisierungVorteile und Grenzen der Normalisierung
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Datenbanken und AnwendungenDatenbanken und Anwendungen
Anwendung von Datenbanken in Softwaresystemen:Webservice Umsetzung und Datenbankintegration, Business Intelligence, ERP
119ZT Schranz Informationstechnologie KEG
Web Service EngineeringWeb Service Engineering
Daten IdentificationWWW-Service Spezifikation
Daten OrganisationWWW Service ArchitekturManagement der Relationen
DatentransferService ImplementierungHyperlinks
Web Modell vs. Verzeichnis ModellWeb Server Management
InformationsänderungenÄnderungen im Web ModellOptimierungen
RequirementsAnalysis
DesignImplementation
& Testing
Deployment
Maintenance
Life Cycle einer WWW Site
ZT Schranz Informationstechnologie KEG
Web Service ManagementWeb Service Management
RealisierungPlattformspezifika, Infrastrukturelle Vorgaben, Werkzeuge, Konzepte
IntegrationStatische vs. dynamische Information, Einbindung von legacy applications, Datenbankanbindung, 3-tier architectures,…
SicherheitDatenschutz, Datensicherheit, Zugriffssicherheit, Verschlüsselun.
WartungWiederverwendung, laufende Betreuung, Anpassungen, HTML++,…
Benutzerprofile, LoggingAuswertung der automatisch generierten Zugriffsprotokolle
121ZT Schranz Informationstechnologie KEG
Integration und Umsetzung Integration und Umsetzung dynamischer Inhaltedynamischer Inhalte
Umsetzung von Informationen, die zur Zugriffszeit generiert werden– Aktuelle Informationsdienste (Wetterbericht,
Verkehrsaufkommen, Tagesgeschehen, Börsenkurse,…)– Dynamische Informationsquellen (Datenbanken,
Programme) Integration der bestehenden Anwendungen über
Schnittstellen an den WWW Server– Script-Editoren– Programmiersprachen– Template-Systeme– Redaktionssysteme
122ZT Schranz Informationstechnologie KEG
Integration und Umsetzung Integration und Umsetzung dynamischer Inhaltedynamischer Inhalte
“Dynamische” Inhalte aus Legacy Applications– Eine Applikation, die relevante Informationen liefert,
welche als solche in das WWW eingebunden werden soll (Lagerbestandssystem, Katalog, Bibliothekssystem, Telefonbuch,…)
– Moderne DatenbankenDie Organisation besitzt bereits eine Datenbank und will deren Inhalte über das Web anbinden
– ManagementsystemeTeure Systeme, die die Steuerung eines ganzen Großbetriebes übernehmen sollen direkt über WWW erreichbar sein (SAP)
Anbindung über vorhandene oder zu programmierende Schnittstellen
123ZT Schranz Informationstechnologie KEG
Integration und Umsetzung Integration und Umsetzung dynamischer Inhaltedynamischer Inhalte
Lösungen haben eine 3-tier Architecture
Browser Server Legacy Application
124ZT Schranz Informationstechnologie KEG
HTML Formulare CGI vs Server API Submit mit POST oder GET
– application/x-www-form-urlencoded
Umgebungsvariablen
Das Common Gateway Interface ist eine Schnittstellendefinition, die eine Datenkommunikation zwischen Browser und Server zur dynamischen Dokumenterstellung ermöglicht.
CGI - Common Gateway InterfaceCGI - Common Gateway Interface
125ZT Schranz Informationstechnologie KEG
Alternativen zu CGIAlternativen zu CGI
SSI (Server Side Include)– Befehle, eingebettet in HTML-Kommentare, werden on-
the-fly ausgeführt NSAPI, ISAPI
– Application Programming Interfaces für proprietäre Lösungen
ASP, PHP– Interpreter, die in HTML eingebettete Befehle umsetzen
Servlets, FastCGI– Ähnlich wie CGI, aber der Interpreter ist Teil des Servers,
d.h. bessere Performance, schnelleres Antwortzeitverhalten
CGI ist nicht die einzige Option, um dynamisch WWW-Inhalte zu erzeugen:
126ZT Schranz Informationstechnologie KEG
CGI DatabankanbindungCGI Databankanbindung
API verwenden– Oracle API– ODBC– Language Modules (z.B.: MySQL.pm)
Database Connectors– W3-mSQL– ASP– JDBC
127ZT Schranz Informationstechnologie KEG
CGI DatabankanbindungCGI Databankanbindung
Meist über moderne Web Application Server– Apache Tomcat (Java)– Andere Java Engines (IBM, SUN, ...)– MS Lösungen (ASPs mit C#,...)
– Perl OSS Frameworks (MASON)
128ZT Schranz Informationstechnologie KEG
Modelle zur DatenbankanbindungModelle zur Datenbankanbindung
Moderne Software-Entwicklung basiert auf Software-Architekturen– Unterschiedliche Architekturmodelle– MVC (Modell-View-Controller)– SOA (service oriented architectures)– Client/Server Architekturen– Peer-to-peer Architekturen
129ZT Schranz Informationstechnologie KEG
Das MVC ModellDas MVC Modell
Das MVC-Modell unterscheidet verschiedene Abstraktionsebenen der Software(entwicklung)
Jede Software, die Datenbankzugriffe beinhaltet, kann mit dem MVC-Modell beschrieben werden.
Moderne Implementierungen halten sich auch in der konkreten Umsetzung an die Modellvorgaben.
130ZT Schranz Informationstechnologie KEG
MVC DetailsMVC Details
Model– hier wird das Datenmodell, also die Datenbank mit Inhalt und
Steuerungsmechanismen (etwa RDBMS) abgebildet
View– hier finden sich die Benutzerschnittstellen, etwa Web-Formulare
oder SAP-Masken, mit denen die Daten in der Software durch den Endbenutzer gepflegt werden (sendet „Events“ an Controller)
Controller– hier wird die Steuerungslogik beschrieben bzw. programmiert,
welche die Anforderungen der Benutzer und deren interaktive Eingaben an der View-Komponente in konkrete Datenbankabfragen an das Modell umwandelt bzw. logische Zusammenhänge kombiniert und in mehrere Datenbankanfragen aufteilt und als gesammeltes Ergebnis an die View-Masken und damit an den Endbenutzer zurückliefert.
131ZT Schranz Informationstechnologie KEG
PERL/Mason und die *SQL-DB-AnbindungPERL/Mason und die *SQL-DB-Anbindung
persistente Datenbankverbindung Bearbeiten von relationalen Datenbanken
– Wesentliche SQL Statements SELECT INSERT DELETE UPDATE
– Tabellen erstellen, Indizes nutzen, Normalformen Web-Interfaces für Relationale Datenbanken
132ZT Schranz Informationstechnologie KEG
PERL/Mason und die *SQL-DB-AnbindungPERL/Mason und die *SQL-DB-Anbindung
CGI-Programmierung mit PERL Datenbankanbindung mit DBIx::Abstract Generierung der HTML-Ausgaben
Programmierung bzw. Demonstration einer Perl-Anwendung (testserver)
Demonstration: Anzeige und Bearbeitung der Pressemeldungen im Web
133ZT Schranz Informationstechnologie KEG
PERL/Mason und die *SQL-DB-AnbindungPERL/Mason und die *SQL-DB-Anbindung
Rat für Forschung und Technologieentwicklung
Guided Tour durch das Frontend und Backend
Evtl. Test im webtest.culturall.com
Demonstration: Komplexer Anwendungsfall CMS
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
DB und Integrierte AnwendungenDB und Integrierte AnwendungenBusiness Intelligence & ERPBusiness Intelligence & ERP
Webservice Umsetzung und Datenbankintegration, Business Intelligence, Enterprise Relationschip Planning
135ZT Schranz Informationstechnologie KEG
Was ist Business IntelligenceWas ist Business Intelligence
BI Software– Ist Software, die operationale Kenngrößen eines
Unternehmens sammeln kann und damit der Geschäftsführung optimale Entscheidungen aufbereitet
– Sie erlaubt, Trends und Analysen aus Firmendaten zu erstellen, die das Unternehmen „leiten“.
– Wie führe ich Rohdaten in Geschäftsentscheidungsbringer über?
Messungen Statistiken Auswertungen
Wirtschaftlicher Begriff, der durch Technik unterstützt wird
136ZT Schranz Informationstechnologie KEG
Was benötigt BI SoftwareWas benötigt BI Software
Content Management Software Data Collections
– Nutzerzugriffe, Auslastungen, Feedbacks
Data Mining Anwendungen– Profilbildung, Mustererkennung
Data Warehousing Decision Support Systems Knowledge Management EAI (Enterprise Application Integration)
Aufbauend auf DBs formten sich verschiedenste Anwendungen
137ZT Schranz Informationstechnologie KEG
Praktische BI LösungenPraktische BI Lösungen
Einfache Datenbankanwendungen– Manuelle Auswertung– Web-gestützte Zugriffe (analog Übungsbeispiele)
Komplexe ERM/ERP Systeme (z.B. SAP)– Erlauben Fachbereichspezifischen Zugang– Integration von Funktionalität und Messung
Je nach Bedarf des Unternehmens
138ZT Schranz Informationstechnologie KEG
Praktische BI LösungenPraktische BI Lösungen
Kundenbeziehung– Siehe Beispiel PTE Business Center
Qualität der Dienstleistung– Kundenakzeptanz durch Umfragen oder– Durch Auswertung von Logfiles
Statistische Kenngrößen auswertbar– Mit Hilfe moderner Werkzeuge– Zum Einsatz im Marketing (Werbeeinnahmen?)– Zum Bewerben des Produktes selbst
Was kann ein Unternehmen auswerten
139ZT Schranz Informationstechnologie KEG
Server ZugriffsstatistikenServer Zugriffsstatistiken
Log files enthalten für jeden Zugriff auf den Web Server eine Zeile
– Datum und Uhrzeit, anfragender Rechner, welche Datei, wie groß,...
Statistikwerkzeuge können diese Informationen aussagekräftig verarbeiten
– Wie oft wurde zugegriffen– Woher stammen die Besucher– Zu welcher Tageszeit ist am meisten los– Welche Seite ist am gefragtesten– Wie viele Fehler liefert der Server– Benutzerprofile erstellen– ...
Anwendungsbeispiel Log files und ihre Auswertungen
140ZT Schranz Informationstechnologie KEG
Server ZugriffsstatistikenServer Zugriffsstatistiken
WebTrends bei presse-text.austria
141ZT Schranz Informationstechnologie KEG
Server ZugriffsstatistikenServer Zugriffsstatistiken
WebTrends bei presse-text.austria
142ZT Schranz Informationstechnologie KEG
Anwendung Business IntelligenceAnwendung Business Intelligence
Analyse der geforderten Business-Logik Entwurf der Datenstrukturen Entwurf der Applikationslogik Strukturierung der benötigten Komponenten Umsetzung in HTML und Applikationskomponenten
– Design, Texting– DB-Anbindung– Performance-Umsetzung
Testing, Versioning Deployment/Service Start
Entwicklung von BI Software am Beispiel Web-Applikationen
143ZT Schranz Informationstechnologie KEG
Aktuelles Beispiel Aktuelles Beispiel pressetext.businesscenterpressetext.businesscenter
Jeder Leser soll über das Business Center die Möglichkeit erlangen– Seine Stammdaten per Web-DB zu verwalten– Sein Abonnement der Businessmeldungen zu
gestalten– Ein Aussenderkonto zu betreuen– Online Marketing und Statistiken zu verwalten
144ZT Schranz Informationstechnologie KEG
Aktuelles Beispiel Aktuelles Beispiel pressetext.businesscenterpressetext.businesscenter
Online Demo
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Integrierte Lösungen, Datenbanken und ERPIntegrierte Lösungen, Datenbanken und ERP
Grundlagen von ERP-Lösungen, aktuelle Ansätze
146
Enterprise Resource Planning (ERP)– „Planung des Einsatzes der Unternehmensressourcen“ – bezeichnet die unternehmerische Aufgabe, die in einem
Unternehmen vorhandenen Ressourcen (Kapital, Betriebsmittel oder Personal) möglichst effizient für den betrieblichen Ablauf einzusetzen.
– Meist wird diese Aufgabe durch geeignete Softwaresystemen unterstützt (-> ERP-Systeme)
ERP GrundlagenERP GrundlagenEinsatz von Datenbanken zur UnternehmenssteuerungEinsatz von Datenbanken zur Unternehmenssteuerung
147
ERP-System (ERP-Software)– ist eine komplexe Anwendungssoftware zur Unterstützung der
Ressourcenplanung eines gesamten Unternehmens.
ERP-Systeme unterscheiden sich hauptsächlich in
– der fachlichen Ausrichtung (Zielbranche),
– Der Skalierbarkeit auf unterschiedliche Unternehmensgrößen (Anzahl benötigter/betreuter Benutzer oder
Filialen/Unternehmensstandorte), – dem angebotenem Funktionsumfang
– und den zum Einsatz kommenden Technologien (Datenbanken, Programmiersprachen, Softwarearchitekturen(Schichten), unterstützten Betriebssystemen, etc.).
ERP SystemeERP SystemeERP GrundlagenERP Grundlagen
148
Eingesetzte Datenbanksysteme – sind unterschiedlich,
die Spanne reicht von MS-Access oder MS-SQL über MySQL bis hin zu Oracle und anderen meist proprietären Datenbanken
Trends– Grafische Benutzeroberflächen
– Steigende Produktzahlen als webbasierte Lösungen (weniger Aufwand bei Client-Installationen)
– Kunden/Lieferanten mittels frei verfügbarer Browser-Technologie leichter integrierbar
ERP Systeme & DatenbankenERP Systeme & DatenbankenERP GrundlagenERP Grundlagen
149
Typische Funktionsbereiche einer ERP-Software– Materialwirtschaft (Beschaffung, Lagerhaltung,
Disposition, Bewertung),
– Produktion,
– Finanz- und Rechnungswesen,
– Controlling,
– Personalwirtschaft,
– Forschung und Entwicklung,
– Verkauf und Marketing,
– Stammdatenverwaltung
ERP Systeme - FunktionsbereicheERP Systeme - FunktionsbereicheERP GrundlagenERP Grundlagen
150
ERP Systeme – Aufbau einer integrierten LösungERP Systeme – Aufbau einer integrierten LösungERP GrundlagenERP Grundlagen
151
Integrierte betriebliche Software– Ein Informationssystem besteht aus Menschen und Maschinen, die
Information erzeugen und/oder benutzen und durch Kommunikationssysteme verbunden sind.
– Ein Informationssystem wird als integriert bezeichnet, wenn die Geschäftsprozesse und die sie unterstützenden Informationsprozesse
umfassend aufeinander abgestimmt sind,
die Verbindung zwischen einzelnen Programmen weitestgehend automatisiert sind und die Daten frühzeitig erfasst und für alle Programme gemeinsam unter zentraler Verwaltung gespeichert sind.
Ein betriebliches Informationssystem dient zur Abbildung der Leistungsprozesse und Austauschbeziehungen im Betrieb sowie zwischen dem Betrieb und seiner Umwelt.
ERP Systeme – Integrierte SoftwareERP Systeme – Integrierte SoftwareERP GrundlagenERP Grundlagen
152
Integrationsrichtung
– Horizontal vs. Vertikal (cf. Folie vorhin)
Integrationsgegenstand
– Datenintegration (Nutzung gemeinsamer Datenbestände, DBs)
– Funktionsintegration, Prozessintegration, Methodenintegration
Integrationsreichweite
– Bereichsintegration, bereichsübergreifende Integration
– Innerbetriebliche Integration, außerbetriebliche Integration
Integrationsgrad
– Vollautomation (Trigger), Teilautomation (Mensch-initiiert)
ERP Systeme – Dimensionen der IntegrationERP Systeme – Dimensionen der IntegrationERP GrundlagenERP Grundlagen
153
Bestimmende Faktoren– Unternehmensgröße
– Investitionsvolumen
– Anwendungsbereich / Domäne
– Integrationsgrad
Teillösungen– KMUs wenden oft Teile von ERP-Lösungen an, etwa
PPS (Produktplanungssysteme) CIM (Computer-Integrated Manufactoring)
ERP Systeme - SystemauswahlERP Systeme - SystemauswahlERP GrundlagenERP Grundlagen
154
ERP Systeme – EinordnungERP Systeme – EinordnungERP GrundlagenERP Grundlagen
155
ERP Systeme - SystemauswahlERP Systeme - SystemauswahlERP GrundlagenERP Grundlagen
Software passt sich ans Unternehmen an
Vorteile:• Bessere Unterstützung der
Unternehmensabläufe• Funktionsumfang individuell wählbar
Nachteile:• Höhere Kosten• Abhängigkeit von personellem Knowhow• Investitionssicherheit nicht gegeben
Unternehmen passt sich and Software an (eingeschränkt)
Vorteile:• Niedrigere Kosten• Besserer Support• Stabilität• Investitionssicherheit
Nachteile:• Teilweise unnötiger Funktionsumfang• Abhängigkeit von der Standardlösung (z.B. Schnittstellen) und dem Anbieter
IndividualsoftwareStandardsoftware
156
Enterprise Resource Planning Systems (ERP-Systeme)
– wurden aus der Vorstellung heraus geprägt*, dass es sich um eine Erweiterung von
MRP II-Systemen als Manufacturing Resource Planning System um betriebswirtschaftliche Funktionalitäten wie Kostenrechnung, Finanzbuchhaltung oder Personalwesen handelt.
– Letztlich als Synonym zu Integrierter Standardsoftware, vor allem im Industriebetrieb, aufzufassen.
Ziele der ERP-Systeme sind– Die Optimierung der betriebswirtschaftlichen Ressourcenplanung unter
verschiedenen Randbedingungen
– Integration der wichtigen Geschäftsprozesse in ein Gesamtsystem
– Bearbeitung der gesamten Bandbreite betriebswirtschaftlicher Fragestellungen in Unternehmen
*Quelle: Mertens et al.: Lexikon der Wirtschaftsinformatik, 4. Aufl., Berlin, 2001.
ERP Systeme – Abgrenzung und BeschreibungERP Systeme – Abgrenzung und BeschreibungERP GrundlagenERP Grundlagen
157
Grundsätzlich ist ein ERP-System ein Hilfswerkzeug– Kosten ersparen, Produktivität steigern, Überblick und Verwaltbarkeit von (großen)
Unternehmen bewahren
Wann kein ERP?– Konzerne müssen alle Unternehmensbereich im ERP abbilden können, oft schwierig /
lange Projektlaufzeiten
– Manche Wirtschaftsbranchen haben ganz spezifische Anforderungen (existiert Lösung oder nicht?)
– KMUs benötigen zum Beispiel oft keine integrierten Controlling- und Rechnungswesen-Module
– Standardkomponenten der Lösungen (SAP ERP, Oracle E-Business Suite) mit geringfügiger Parametrisierung kostenschonender einsetzen
ERP als Hygienefaktor– Die meisten Großkonzerne setzen ERP-Systeme ein, es bildet also keinen
Wettbewerbsvorteil; aber ohne ERP eine Nachteil
ERP Systeme – NotwendigkeitenERP Systeme – NotwendigkeitenERP GrundlagenERP Grundlagen
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Integrierte Lösungen, Datenbanken und ERPIntegrierte Lösungen, Datenbanken und ERP
ERP-Anwendungen und Anbieter Konzepte, Architekturen, Aussichten
159
ERP ERP ERP AnwendungenERP Anwendungen
160
Der umsatzstarke
ERP-Markt ist heiß umkämpft
auch open sourcesoftware bereitsverfügbar
ERP Systeme – Einsatz und BeispieleERP Systeme – Einsatz und BeispieleERP AnwendungenERP Anwendungen
161
ERP – Entwicklung marktgängiger SystemeERP – Entwicklung marktgängiger SystemeERP AnwendungenERP Anwendungen
162
SAP R3– Marktführendes Produkt der integrierten ERP-Lösungen
– Softwareumfang (Orientierung) Mehr als 25.000 DB-Tabellen Mehr als 15.000 Programme Mehr als 35 Millionen Codezeilen (1/3 Kommentare) Mehr als 58.000 Funktionen
Läuft auf verschiedenster Hardware, Betriebssystemen, Datenbanken in diversen Architektur-Varianten
ERP Systeme – Einsatz und BeispieleERP Systeme – Einsatz und BeispieleERP AnwendungenERP Anwendungen
163
ERP Systeme – Einsatz Beispiel SAP R3ERP Systeme – Einsatz Beispiel SAP R3ERP AnwendungenERP Anwendungen
164
ERP Systeme – Einsatz Beispiel SAPERP Systeme – Einsatz Beispiel SAPERP AnwendungenERP Anwendungen
165
ERP Systeme – Einsatz Beispiel SAPERP Systeme – Einsatz Beispiel SAPERP AnwendungenERP Anwendungen
166
ERP Systeme – EntwicklungshistorieERP Systeme – EntwicklungshistorieERP AnwendungenERP Anwendungen
© Dr. Dirk Werth, Institut für Wirtschaftsinformatik, DFKI (www.dfki.de)
167
Welche Herausforderungen treffen auf ERP-Systeme– Mammutprojekt Systemeinführung
(die Einführung haben Durchlaufzeiten von durchschnittlich 23 Monaten, Minimum 18 Monate) -> „Accelerated SAP“
– Internet Boomviele Systeme sollen mehr die Plattform Internet nutzen, (u.a. mySAP)
– CoonectivityInteroperabilität mit Fremdsoftware nötig, offene einfache Schnittstellen gefragtIntegration von „historisch gewachsenen Systemlandschaften“
– Usabilityim Fokus steht die einfache Benutzbarkeit, um die Produktivität und den Nutzen zu optimieren
Die letzten 20 Jahre wurde der Fokus auf Prozesse in der Firma gelegt, die kommenden Jahre wird der Fokus auf Prozessen zwischen den Unternehmen liegen (ERP II)
ERP Systeme - HerausforderungenERP Systeme - HerausforderungenERP ZukunftERP Zukunft
168
Was bringt ERP II ?– ERP II is a business strategy and a set of industry-domain-specific applications
that build customer and shareholder value by enabling and optimizing enterprise and inter-enterprise, collaborative operational and financial processes (Bond, Gartner Group)
– ERP II umfasst die Funktionen von ERP sowie Offene Schnittstellen zu anderen Systemen Funktionalitäten zur Unterstützung der Wertschöpfungskette auf
Beschaffungs- und Vertriebsseite (Dettling 2003)
– ERP II sind Lösungen, welche die unternehmensweite Zusammenarbeit mit Partnern, Zulieferern, Händlern und Kunden direkt via Internet unterstützen und diese zu einem einzigen nahtlosen Unternehmen integrieren.(Frutig 2003)
– ERP II umfasst eine offene IT-Infrastruktur zur Integration von Anwendern, Prozessen und Anwendungen sowie branchenspezifische Funktionalitäten zur Optimierung betrieblicher Ressourcen unter Einbeziehung von beschaffungs-, vertriebs- und leistungserbringenden Geschäftspartnern (Werth, IWI/DFKI)
ERP Systeme – ERP IIERP Systeme – ERP IIERP ZukunftERP Zukunft
169
Wandel von ERP I zu ERP II nach Gartner Group
ERP Systeme – ERP IIERP Systeme – ERP IIERP ZukunftERP Zukunft
170
Enterprise Resource Planning (ERP)– Es hat eine kontinuierliche Verbesserung der Informationssysteme in
den letzten Jahren stattgefunden Vom MRP über ERP zu APS (advanced planning systems)
APS-Systeme schaffen durchführbare Pläne, die die gesamte Wertschöpfungskette betreffen.
Ausblick– Es gibt noch genügend Potential für Dynamik und vielfältige
Veränderungen in der kurzlebigen IT-Welt
– „RFID“oder „Profitable-to-Promise“ unterstützen seit kurzer Zeit das APS-System.
– Hauptziel in der Zukunft wird weiterhin die Realisation von Durchlaufzeiten bei gleichzeitiger maximalen Reaktionsfähigkeit sein
ERP Systeme - FazitERP Systeme - FazitERP ZukunftERP Zukunft
ZT Univ.-LektorDipl.-Ing. Dr. Markus Schranz
staatlich befugter und beeideter Ingenieurkonsulent für Informatik
Datenbanken und Web Service EngineeringDatenbanken und Web Service Engineering
Business Intelligence
– Einsatz moderner Web Application Server mit DBs
172
Web Service ManagementWeb Service ManagementWeb Application ServerWeb Application Server
Application Server– [Forrester Research:] „An application server is
a software server product that supports thin clients with an integrated suite of distributed computing capabilities. Application servers manage client sessions, host business logic, and connect to back-end computing resources, including data, transaction, and content“
Web Application Server: – Wenn die Server-Komponente (ausschließlich) per
Web-Server aufgerufen wird. Java Application Servers, z.B.: Servlet Engines Perl Application Servers, z.B.: Mason
173
Mason Web Application Server– moderne Konzepte zum technischen
Web Service Management
– Lösungen für typische Site Development und Management Probleme
Wartbarkeit, Performance, Zuverlässigkeit caching, debugging, templating, staging,... über CGI, stand-alone, aber am besten mit
Apache::mod_perl
MasonMasonPerl-basierter Web Application Server
174
MasonMasonPerl-basierter Web Application ServerPerl-basierter Web Application Server
Basic Features
– Simple embedded perl syntax– modulare Seiten mit Komponenten– Parameter handling über normale Variable– Templates (autohandler hierarchy)– Objekt-orientierte Techniken
eigene Methoden und Attribute per Komponente, verfügbar in den Templates und anderen Komponenten
175
MasonMasonPerl-basierter Web Application Server
176
MasonMasonPerl-basierter Web Application Server
177
MasonMasonPerl-basierter Web Application Server
178
MasonMasonPerl-basierter Web Application ServerPerl-basierter Web Application Server
Server Side Caching
– Einzeldaten, komplexe Datenstrukturen und ganze Komponenten können gecached werden
– Entsprechende Steurungsparameter entscheiden, ob der Inhalt über den Webserver oder aus dem Mason Cache erzeugt generiert werden soll(individuelle Timeouts, keys, concurrency)
– sinnvoller Einsatz bei ressourcenintensiven Services (z.B.: Datenbank-Queries)
179
MasonMasonPerl-basierter Web Application ServerPerl-basierter Web Application Server
Mason Templating
– Mason folgt in der Ablauforganisation dem hierarchischen Aufbau der Verzeichnisse des apache Servers
– entsprechend der Einstellungen im config-File wird ausgehend vom document root Verzeichnis der template Baum abgearbeitet („autohandler“)
– templates haben Zugriff auf Attribute und Methoden von Mason Komponenten
180
MasonMasonPerl-basierter Web Application ServerPerl-basierter Web Application Server
Mason Staging– Bei hochverfügbaren Services ist oft eine
Trennung zwischen Entwicklungs- und Produktionsebene gefragt
– Der Mason Application Server verbindet beide Leistungen innerhalb eines Webservers, trennt die Bereich logisch sauber voneinander
– Komponenten können einzeln in die Staging-Umgebung kopiert werden, dort bearbeitet und nach gefallen wieder zurückkopiert werden
– verbundene Dokumente werden von Mason automatisch im richtigen Bereich gefunden
181
MasonMasonPerl-basierter Web Application ServerPerl-basierter Web Application Server
Mason Debugging und Error Handling
– Fehler im mason code werden detailliert berichtet und als Fehlerbericht angezeigt
– Alternativ kann ein default-File geschalten werden (sinnvoll für die Produktionsebene)
– Fehlerprotokolle werden für die Mason Objekte erstellt, nicht für die Code-Files im Webserver Verzeichnisbaum
182
Mason und die *SQL-DB-AnbindungMason und die *SQL-DB-Anbindung
persistente Datenbankverbindung Bearbeiten von relationalen Datenbanken
– Wesentliche SQL Statements SELECT INSERT DELETE UPDATE
– Tabellen erstellen, Indizes nutzen, Normalformen Web-Interfaces für Relationale Datenbanken
183
Mason und die *SQL-DB-AnbindungMason und die *SQL-DB-Anbindung
CMS und Ticketing Service Culturall Online demo cms2.culturall.com
– DB und Caching– Rich User Experience– DB und semantic checking– Stored procedures und constraints