Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik IT-Management Datenbanken und Anwendungen.

Ähnliche Präsentationen


Präsentation zum Thema: "ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik IT-Management Datenbanken und Anwendungen."—  Präsentation transkript:

1 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik IT-Management Datenbanken und Anwendungen Vortragsunterlagen zur Vortragsreihe Basis / eGovernment an der Donauuniversität Krems

2 ZT Schranz Informationstechnologie KEG 2 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 Inhalte

3 ZT Schranz Informationstechnologie KEG 3 Ausgangssituation, Vorwissen Zielsetzung, Tageskurs- und Lehrinhalte Zeitplanung (nach Arbeitsblöcken) Datenbanktheorie, Praxisbeispiele, Gruppenübungen und Diskussionen Agenda

4 ZT Schranz Informationstechnologie KEG 4 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 Themenschwerpunkte

5 ZT Schranz Informationstechnologie KEG 5 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 Veranstaltung

6 ZT Schranz Informationstechnologie KEG 6 Block 1 – Morgen9: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 Inhalte

7 ZT Schranz Informationstechnologie KEG 7 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 Vortragender

8 ZT Schranz Informationstechnologie KEG 8 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 Veranstaltung

9 ZT Schranz Informationstechnologie KEG 9 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 allgemein

10 ZT Schranz Informationstechnologie KEG 10 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 IT

11 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Datenbanken und Anwendungen Block 1: Einführung zur Datenbankanwendung

12 ZT Schranz Informationstechnologie KEG 12 Einfü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

13 ZT Schranz Informationstechnologie KEG 13 Einfü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)

14 ZT Schranz Informationstechnologie KEG 14 Einfü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

15 ZT Schranz Informationstechnologie KEG 15 Kennzeichen 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)

16 ZT Schranz Informationstechnologie KEG 16 Datenbank-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.

17 ZT Schranz Informationstechnologie KEG 17 Datenbank-Komponenten Eine Datenbank gliedert sich grundsätzlich in zwei Komponenten – Die Daten an sich – Das Verwaltungswerkzeug zur Bearbeitung der Daten (Datenbankbetriebssystem, Datenbankmanagementsystem)

18 ZT Schranz Informationstechnologie KEG 18 Datenbank-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)

19 ZT Schranz Informationstechnologie KEG 19 Datenbank-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

20 ZT Schranz Informationstechnologie KEG 20 Datenbank-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

21 ZT Schranz Informationstechnologie KEG 21 Datenbank-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

22 ZT Schranz Informationstechnologie KEG 22 Datenbank-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

23 ZT Schranz Informationstechnologie KEG 23 Datenbank-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

24 ZT Schranz Informationstechnologie KEG 24 Datenbank-Typen Erscheinungsformen von Datenbanken Je 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

25 ZT Schranz Informationstechnologie KEG 25 Datenbank-Typen Verwaltungsunterstützung bei Datenbanken – Hilfswerkzeuge und Design-Tools wurden für jedes logische Modell entwickelt – Vertreter Entity-Relationship Diagramme Design-Software

26 ZT Schranz Informationstechnologie KEG 26 Datenbank-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...

27 ZT Schranz Informationstechnologie KEG 27 Datenbank-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...

28 ZT Schranz Informationstechnologie KEG 28 Datenbank-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

29 ZT Schranz Informationstechnologie KEG 29 Datenbank-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)

30 ZT Schranz Informationstechnologie KEG 30 Datenbank-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).

31 ZT Schranz Informationstechnologie KEG 31 Konkrete 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

32 Fallstudie pte Kunde pressetext.austria online Nachrichtenagentur Technikabteilung Forschungsaktivitäten Anwendung IT-Management und Datenbanken

33 Seit 1997 auf dem österreichischen Markt Seit 2000 in der Schweiz Seit 2001 in Deutschland größter Online Presseverteiler im deutschsprachigen Raum 1300 Unternehmer als Aussender Über 100.000 Abonnenten in der D/A/CH-Region 1,5 Mio. Visits / Monat 7,3 Mio. Impressions / Monat 45.000 Single Users auf der Plattform täglich Zahlreiche Partner: ddp, DGAP, Yahoo, Wallstreet.online, ONE, uvm.

34 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)

35 Produkte und Services pte - pressetext.europa Redaktionelle Nachrichtenproduktion pts - pressetext.service Verbreitung von bezahlten Presseaussendungen ptv - pressetext.tv Live-Übertragung von Presseveranstaltungen, Events, Studiogespräche via WebTV Content Services Redaktionsdienste (Auftrags-Content) Content Verkauf (Lizensierung) Content Solutions (Portalbau, CMS)

36 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

37 R&D Services Content Management System auf zuverlässiger Internet Plattform hochverfügbare Webserver Leistungsstarke Datenbanken Moderne Austauschformate benutzerfreundliche Inhaltspflege

38 ZT Schranz Informationstechnologie KEG 38 Fallstudie Kulturveranstaltungsmanagement Kunde culturall

39 ZT Schranz Informationstechnologie KEG 39 Fallstudie Kulturveranstaltungsmanagement

40 ZT Schranz Informationstechnologie KEG 40 Fallstudie Kulturveranstaltungsmanagement

41 ZT Schranz Informationstechnologie KEG 41 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

42 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Datenbanken und Anwendungen konkret: Block 2: Das relationale Datenbankmodell

43 ZT Schranz Informationstechnologie KEG 43 Relationales 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

44 ZT Schranz Informationstechnologie KEG 44 Tabellen 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öhrenwegMarkusSchranz206 LondonVictoria Str.JamesBond007 OrtStrasseVornameNamePersID

45 ZT Schranz Informationstechnologie KEG 45 Tabellen und Relationen – Jede Zeile enthält Werte der Attribute, die in der Kopfzeile festgelegt (invariant) sind – Wertebereich des Attributs i heißt Domäne D i – Kartesisches Produkt der Wertebereiche D i 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

46 ZT Schranz Informationstechnologie KEG 46 Tabellen 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

47 ZT Schranz Informationstechnologie KEG 47 Das 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

48 ZT Schranz Informationstechnologie KEG 48 Das 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

49 ZT Schranz Informationstechnologie KEG 49 Das 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

50 ZT Schranz Informationstechnologie KEG 50 Das 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

51 ZT Schranz Informationstechnologie KEG 51 Das 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})

52 ZT Schranz Informationstechnologie KEG 52 Das Entity-Relationship Diagramm Grafische Darstellung von Entities – Mitarbeiter = ({PerNr,Vorname,Nachname,{Bereiche},Adresse(Strasse,Ort)}, {PerNr}) – Schlüssel werden unterstrichen dargestellt

53 ZT Schranz Informationstechnologie KEG 53 Das Entity-Relationship Diagramm Definition einer Entity, eines Entity-Sets – Gegeben sei eine Entity-Deklaration E = (X,K) mit X = (A 1,...,A m ). Das Attribut A i habe den Wertebereich bzw. die Domäne dom(A i ) mit 1 <= i <= m. – i) Ein Entity e ist ein Element aus dem Kartesischen Produkt aller Wertebereiche, also e dom(A 1 ) ×... × dom(A m ). – ii) Ein Entity-Set E t (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 – E t dom(A 1 ) ×... × dom(A m ). – E t 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.)

54 ZT Schranz Informationstechnologie KEG 54 Das 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

55 ZT Schranz Informationstechnologie KEG 55 Das 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

56 ZT Schranz Informationstechnologie KEG 56 Ü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-Diagramm

57 ZT Schranz Informationstechnologie KEG 57 Lösung Erfassung von Sachverhalten – ER-Diagramm

58 ZT Schranz Informationstechnologie KEG 58 Das 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

59 ZT Schranz Informationstechnologie KEG 59 Das Entity-Relationship Diagramm Lösung (Tabellarische Notation)

60 ZT Schranz Informationstechnologie KEG 60 Entities werden in (zumindest) ein eigenes Relationenschema transformiert – Gegeben sei folgender Entity-Typ: Person = ({PerID, Name, Vorname, Adresse(Strasse,Ort)}, {PerID}) Transformationen ins Relationenschema Tabelle Person

61 ZT Schranz Informationstechnologie KEG 61 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 Relationenschema

62 ZT Schranz Informationstechnologie KEG 62 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 Relationenschema

63 ZT Schranz Informationstechnologie KEG 63 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 Relationenschema

64 ZT Schranz Informationstechnologie KEG 64 Das 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,...)

65 ZT Schranz Informationstechnologie KEG 65 Das Entity-Relationship Diagramm Lösung 3

66 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Datenbanken und Anwendungen Block 3: Die relationale Algebra und SQL

67 ZT Schranz Informationstechnologie KEG 67 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 Algebra

68 ZT Schranz Informationstechnologie KEG 68 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

69 ZT Schranz Informationstechnologie KEG 69 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 Algebra

70 ZT Schranz Informationstechnologie KEG 70 Beispiel-Selektion – Extrahiere alle Zeilen der Relation meldungen, wo der Aussender pressetext selbst war – Textuelle Darstellung σ aussender_id=pte (meldungen) – Ergebnis alle Meldungen (alle Attribute der Tabelle), wo pressetext als Aussender eingetragen ist Relationale Algebra

71 ZT Schranz Informationstechnologie KEG 71 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 Algebra

72 ZT Schranz Informationstechnologie KEG 72 Beispiel-Projektion – Zeige von allen Datensätzen der Relation meldungen die Titel und die Aussenderkennung an – Textuelle Darstellung π titel,aussender_id (meldungen) – Ergebnis Tabelle mit zwei Spalten Relationale Algebra

73 ZT Schranz Informationstechnologie KEG 73 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 Algebra

74 ZT Schranz Informationstechnologie KEG 74 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 Algebra

75 ZT Schranz Informationstechnologie KEG 75 Der Join – Textuelle Darstellung r 1 r 2 – 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 Algebra

76 ZT Schranz Informationstechnologie KEG 76 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ügung er 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 Language

77 ZT Schranz Informationstechnologie KEG 77 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 Language

78 ZT Schranz Informationstechnologie KEG 78 SQL-Befehle zur Datendefinition – CREATE DATABASE – DROP DATABASE – SHOW DATABASES – CREATE TABLE meldungen (...) – DROP TABLE – ALTER TABLE – SHOW TABLES Structured Query Language

79 ZT Schranz Informationstechnologie KEG 79 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 Language

80 ZT Schranz Informationstechnologie KEG 80 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 Language

81 ZT Schranz Informationstechnologie KEG 81 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 Language

82 ZT Schranz Informationstechnologie KEG 82 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 Language

83 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Datenbanken und Anwendungen (Tag2 Rück-/Überblick): Datenbanken, die relationale Algebra und SQL

84 ZT Schranz Informationstechnologie KEG 84 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 Themenschwerpunkte

85 ZT Schranz Informationstechnologie KEG 85 Einfü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

86 ZT Schranz Informationstechnologie KEG 86 Datenbank-Komponenten Eine Datenbank gliedert sich grundsätzlich in zwei Komponenten – Die Daten an sich – Das Verwaltungswerkzeug zur Bearbeitung der Daten (Datenbankbetriebssystem, Datenbankmanagementsystem)

87 ZT Schranz Informationstechnologie KEG 87 Datenbank-Typen Erscheinungsformen von Datenbanken Je 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

88 ZT Schranz Informationstechnologie KEG 88 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 zuletzt

89 ZT Schranz Informationstechnologie KEG 89 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 Agenda

90 ZT Schranz Informationstechnologie KEG 90 Block 1 – Morgen9: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 2

91 ZT Schranz Informationstechnologie KEG 91 Datenbank-Typen Erscheinungsformen von Datenbanken Je 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

92 ZT Schranz Informationstechnologie KEG 92 Datenbank-Vertreter kommerziell Sybase ASE (adaptive server enterprise) NCR/Teradata Warehouse 12,1%Microsoft/SQL Server 31,1%IBM / DB2, Informix 39,8%Oracle Version 10g Marktanteil (Quelle IDC, Feb 2005) Unternehmen/Produkt

93 ZT Schranz Informationstechnologie KEG 93 Datenbank-Vertreter alternativ TeamXML (Interwoven), Berkeley DB XML (Sleepycat), Tamino (Software AG), GoXML (XML Global Technologies) XML-basiert db4objects www.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

94 ZT Schranz Informationstechnologie KEG 94 Datenbank-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

95 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Datenbanken und Anwendungen Anomalien und Normalformen im relationalen Modell

96 ZT Schranz Informationstechnologie KEG 96 Normalformen – Abhängigkeiten zwischen Attributen – Anomalien (Problempotenziale) – Spezifikation von Normalformen – Übungsbeispiel zur Normalformgestaltung Relationale Datenbankkonzepte - Normalformen

97 ZT Schranz Informationstechnologie KEG 97 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 Normalformen

98 ZT Schranz Informationstechnologie KEG 98 Warum Normalisierung? – Vermeidung von unnötiger oder unbeabsichtigter Platzvergeudung (Redundanz) – Vermeidung von Problemen bei Änderungen (Anomalien) Dazu Untersuchung der Abhängigkeit von Attributen Warum Normalformen

99 ZT Schranz Informationstechnologie KEG 99 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 Normalformen

100 ZT Schranz Informationstechnologie KEG 100 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) Normalformen

101 ZT Schranz Informationstechnologie KEG 101 Veranschaulichung voll funktionaler Abhängigkeit (Skriptum Seite 36f) Gilt A -> B ? Gilt AC -> F ? Gilt E -> F ? Gilt F -> C ? Normalformen

102 ZT Schranz Informationstechnologie KEG 102 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 Anomalien

103 ZT Schranz Informationstechnologie KEG 103 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 Anomalien

104 ZT Schranz Informationstechnologie KEG 104 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 Normalformen

105 ZT Schranz Informationstechnologie KEG 105 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 Normalformen

106 ZT Schranz Informationstechnologie KEG 106 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 Normalformen

107 ZT Schranz Informationstechnologie KEG 107 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 Normalformen

108 ZT Schranz Informationstechnologie KEG 108 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 Normalformen

109 ZT Schranz Informationstechnologie KEG 109 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 Normalisierungsprozess

110 ZT Schranz Informationstechnologie KEG 110 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 Normalisierungsprozess

111 ZT Schranz Informationstechnologie KEG 111 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 Normalisierungsprozess

112 ZT Schranz Informationstechnologie KEG 112 Aufgabe 3: Bringen Sie die folgende Tabelle des pressetext Nachrichtendienstes in die dritte Normalform – Tabelle auf Angabeblatt Der Normalisierungsprozess

113 ZT Schranz Informationstechnologie KEG 113 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 Normalisierungsprozess

114 ZT Schranz Informationstechnologie KEG 114 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 Normalisierungsprozess

115 ZT Schranz Informationstechnologie KEG 115 3.NF keine Transitiven Abghängigkeiten In AussenderKunde(KunNr,Bereich,KunName,Plz, Ort,Strasse,KontaktNummer) Gilt PLZ -> Ort, also abspalten wegen der Redundanz. Der Normalisierungsprozess

116 ZT Schranz Informationstechnologie KEG 116 Lösung 4: Der Normalisierungsprozess

117 ZT Schranz Informationstechnologie KEG 117 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 Normalisierung

118 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Datenbanken und Anwendungen Anwendung von Datenbanken in Softwaresystemen: Webservice Umsetzung und Datenbankintegration, Business Intelligence, ERP

119 ZT Schranz Informationstechnologie KEG 119 Web Service Engineering Daten Identification WWW-Service Spezifikation Daten Organisation WWW Service Architektur Management der Relationen Datentransfer Service Implementierung Hyperlinks Web Modell vs. Verzeichnis Modell Web Server Management Informationsänderungen Änderungen im Web Modell Optimierungen Requirements Analysis Design Implementation & Testing Deployment Maintenance Life Cycle einer WWW Site

120 ZT Schranz Informationstechnologie KEG Web Service Management Realisierung Plattformspezifika, Infrastrukturelle Vorgaben, Werkzeuge, Konzepte Integration Statische vs. dynamische Information, Einbindung von legacy applications, Datenbankanbindung, 3-tier architectures,… Sicherheit Datenschutz, Datensicherheit, Zugriffssicherheit, Verschlüsselun. Wartung Wiederverwendung, laufende Betreuung, Anpassungen, HTML++,… Benutzerprofile, Logging Auswertung der automatisch generierten Zugriffsprotokolle

121 ZT Schranz Informationstechnologie KEG 121 Integration und Umsetzung dynamischer 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

122 ZT Schranz Informationstechnologie KEG 122 Integration und Umsetzung dynamischer 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 Datenbanken Die Organisation besitzt bereits eine Datenbank und will deren Inhalte über das Web anbinden – Managementsysteme Teure Systeme, die die Steuerung eines ganzen Großbetriebes übernehmen sollen direkt über WWW erreichbar sein (SAP) Anbindung über vorhandene oder zu programmierende Schnittstellen

123 ZT Schranz Informationstechnologie KEG 123 Integration und Umsetzung dynamischer Inhalte Lösungen haben eine 3-tier Architecture Browser Server Legacy Application

124 ZT Schranz Informationstechnologie KEG 124 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 Interface

125 ZT Schranz Informationstechnologie KEG 125 Alternativen 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:

126 ZT Schranz Informationstechnologie KEG 126 CGI Databankanbindung API verwenden – Oracle API – ODBC – Language Modules (z.B.: MySQL.pm) Database Connectors – W3-mSQL – ASP – JDBC

127 ZT Schranz Informationstechnologie KEG 127 CGI 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)

128 ZT Schranz Informationstechnologie KEG 128 Modelle 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

129 ZT Schranz Informationstechnologie KEG 129 Das 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.

130 ZT Schranz Informationstechnologie KEG 130 MVC 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.

131 ZT Schranz Informationstechnologie KEG 131 PERL/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

132 ZT Schranz Informationstechnologie KEG 132 PERL/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

133 ZT Schranz Informationstechnologie KEG 133 PERL/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

134 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik DB und Integrierte Anwendungen Business Intelligence & ERP Webservice Umsetzung und Datenbankintegration, Business Intelligence, Enterprise Relationschip Planning

135 ZT Schranz Informationstechnologie KEG 135 Was 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

136 ZT Schranz Informationstechnologie KEG 136 Was 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

137 ZT Schranz Informationstechnologie KEG 137 Praktische 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

138 ZT Schranz Informationstechnologie KEG 138 Praktische 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

139 ZT Schranz Informationstechnologie KEG 139 Server 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

140 ZT Schranz Informationstechnologie KEG 140 Server Zugriffsstatistiken WebTrends bei presse- text. austria

141 ZT Schranz Informationstechnologie KEG 141 Server Zugriffsstatistiken WebTrends bei presse- text. austria

142 ZT Schranz Informationstechnologie KEG 142 Anwendung 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

143 ZT Schranz Informationstechnologie KEG 143 Aktuelles Beispiel pressetext.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

144 ZT Schranz Informationstechnologie KEG 144 Aktuelles Beispiel pressetext.businesscenter Online Demo

145 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Integrierte Lösungen, Datenbanken und ERP Grundlagen von ERP-Lösungen, aktuelle Ansätze

146 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 Grundlagen Einsatz von Datenbanken zur Unternehmenssteuerung

147 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 Systeme ERP Grundlagen

148 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 & Datenbanken ERP Grundlagen

149 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 - Funktionsbereiche ERP Grundlagen

150 150 ERP Systeme – Aufbau einer integrierten Lösung ERP Grundlagen

151 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 Software ERP Grundlagen

152 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 Integration ERP Grundlagen

153 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 - Systemauswahl ERP Grundlagen

154 154 ERP Systeme – Einordnung ERP Grundlagen

155 155 ERP Systeme - Systemauswahl ERP 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 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 Beschreibung ERP Grundlagen

157 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 – Notwendigkeiten ERP Grundlagen

158 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Integrierte Lösungen, Datenbanken und ERP ERP-Anwendungen und Anbieter Konzepte, Architekturen, Aussichten

159 159 ERP ERP Anwendungen

160 160 Der umsatzstarke ERP-Markt ist heiß umkämpft auch open source software bereits verfügbar ERP Systeme – Einsatz und Beispiele ERP Anwendungen

161 161 ERP – Entwicklung marktgängiger Systeme ERP Anwendungen

162 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 Beispiele ERP Anwendungen

163 163 ERP Systeme – Einsatz Beispiel SAP R3 ERP Anwendungen

164 164 ERP Systeme – Einsatz Beispiel SAP ERP Anwendungen

165 165 ERP Systeme – Einsatz Beispiel SAP ERP Anwendungen

166 166 ERP Systeme – Entwicklungshistorie ERP Anwendungen © Dr. Dirk Werth, Institut für Wirtschaftsinformatik, DFKI (www.dfki.de)

167 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 Boom viele Systeme sollen mehr die Plattform Internet nutzen, (u.a. mySAP) – – Coonectivity Interoperabilität mit Fremdsoftware nötig, offene einfache Schnittstellen gefragt Integration von historisch gewachsenen Systemlandschaften – – Usability im 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 - Herausforderungen ERP Zukunft

168 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 II ERP Zukunft

169 169 Wandel von ERP I zu ERP II nach Gartner Group ERP Systeme – ERP II ERP Zukunft

170 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 – – RFIDoder 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 - Fazit ERP Zukunft

171 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Datenbanken und Web Service Engineering Business Intelligence – Einsatz moderner Web Application Server mit DBs

172 172 Web Service Management Web 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 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 Mason Mason Perl-basierter Web Application Server

174 174 Mason Perl-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 175 Mason Mason Perl-basierter Web Application Server

176 176 Mason Mason Perl-basierter Web Application Server

177 177 Mason Mason Perl-basierter Web Application Server

178 178 Mason Perl-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 179 Mason Perl-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 180 Mason Perl-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 181 Mason Perl-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 182 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

183 183 Mason 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

184 ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Herzlichen Dank und auf Wiedersehen Vielen Dank für Ihre Aufmerksamkeit und Mitarbeit


Herunterladen ppt "ZT Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik IT-Management Datenbanken und Anwendungen."

Ähnliche Präsentationen


Google-Anzeigen