Daten – Bank 4. Vorlesung

Werbung
Daten – Bank
6. Vorlesung
Prinzipien des digitalen Speicherns I
Ein Datensatz sollte offensichtlich/eindeutig und
schnell mit dem Objekt, welches es repräsentiert,
in Verbindung gebracht werden können.
ISBN
TITLE
3-12-517154-7
…
ISBN Number
Man beachte die Nutzung/Kontext!
Für eine Bücherei wäre die ISBN-Nummer nicht
ausreichend, da es von einem Buch mehrere Exemplare geben kann.
Dr. Karsten Tolle – PRG2 – SS 2017
2
Prinzipien des digitalen Speicherns II
Atomisierung der Daten – teile die Daten in ihre
kleinste Einheit auf  1. Normalform
ISBN
AUTHORS
TITLE
0-13-221211-0
Jeffrey Hoffer, Mary
Prescott and Fred
McFadden
…
…
ISBN
TITLE
…
0-13-221211-0
…
Dr. Karsten Tolle – PRG2 – SS 2017
ISBN
AUTHOR_ID
0-13-221211-0
1
0-13-221211-0
2
0-13-221211-0
3
ID
VName
NName
1
Jeffrey
Hoffer
2
Mary
Prescott
3
Fred
McFadden
3
Prinzipien des digitalen Speicherns III
… ein weiteres Beispiel (aus der Realität).
…
RULER
…
…
Hadrian (Sabina)
…
Bedeutet: Hadrian war der Prägeherr und
prägte die Münze für (zu ehren von) Sabina.
…
RULER
COINED_FOR
Hadrian
Sabina
…
…
Dr. Karsten Tolle – PRG2 – SS 2017
4
Prinzipien des digitalen Speicherns IV
Handhabung unsicherer Informationen:
…
RULER
…
…
Hadrian?
…
?Nero
Nero
Bedeutung: … nicht wirklich sicher / abgeleitet
aus anderen Informationen.
…
…
Dr. Karsten Tolle – PRG2 – SS 2017
RULER
QUALIFICATION
Hadrian
uncertain
Nero
inferred
Nero
certain
…
5
Prinzipien des digitalen Speicherns V
Konsistenz in der Namensgebung für Tabellen und
Attribute.
coinlist
metal_information
ID
…
CODE
…
besser
coin_list
metal_information
ID
…
Dr. Karsten Tolle – PRG2 – SS 2017
ID
…
6
Prinzipien des digitalen Speicherns VI
Ausnutzung der referenziellen Integrität wo immer
möglich!
„ANTONINVS PIVS“
vs
„ANTONINVS PIVS “
vs
„ANTONINVS PIVS“
vs
„ANTONINVS PIVS “
… Unterschied ist kaum
sichtbar! … aber vorhanden!
Dr. Karsten Tolle – PRG2 – SS 2017
7
Man beachte die Situation …
Kunde ( Name Vorname Strasse Stadt)
select * from Kunde;
vs
Nicht in Programmen!
select Name, Vorname, Strasse, Stadt from Kunde;
Dr. Karsten Tolle – PRG2 – SS 2017
8
Sicherheit beachten
• … gibt es existierende Module/Bibliotheken?
(Patches beachten)
• … Benutzer, Rollen, Grant/Revoke … nur
zulassen was nötig ist.
• … keine unnötigen Infos nach draußen!
• … testen und testen lassen!
Dr. Karsten Tolle – PRG2 – SS 2017
9
Unterschiede: Rel. Modell - OO
Rel. Modell
OO
Primary Key / Daten
Object Identifier (intern)
Generalisierung
Wird nicht direkt
unterstützt!
Vererbung enthalten
Datenkapselung
Wird nicht direkt
unterstützt!
Zugriff nur über Methoden
Beziehungen
zwischen Objekten
Teilweise durch Foreign
Keys
über Methoden, Attribute
Interaktionen
zwischen Objekten
Wird nicht direkt
unterstützt!
über Methoden
Identität
Trigger und Stored Procedures können dies teilweise simulieren!
… weiterführende Literatur: http://www.cs.utexas.edu/~wcook/Drafts/2005/PLDBProblem.pdf
Dr. Karsten Tolle – PRG2 – SS 2017
10
OR-Mapping
DB
OR-Mapper
Prog.
Framework
Beschreibung
Java Persistence API (JPA)
Ist eine Schnittstelle für die objektrelationale Abbildung
von POJOs (Plain old Java Object).
Wurde im Rahmen der EJB 3.0 von der Software
Expert Group als Teil der JSR 220 entwickelt
und herausgegeben. Sie soll die besten Ideen der
APIs von Hibernate, Toplink und JDO beinhalten.
Hibernate (Nhibernate
für .NET)
Open-Source Framework für Java entwickelt von der
JBoss Community. Setzt auch die JPA um (Hibernate
EntityManager). Hibernate wird von den meisten als
die Referenz für die Lösung des IM im Open-SourceBereich für Java gesehen.
…
Dr. Karsten Tolle – PRG2 – SS 2017
11
Reverse Engineering
• Basierend auf Foreign Keys!
Dr. Karsten Tolle – PRG2 – SS 2017
12
Zusammenfassung …
von
Person
AusweisNr.
(0,n)
Name Vorname
lebt_in
bis
(0,n)
Ort
PLZ
Ortsname
Datenaustauschformate:
CSV, JSON, XML, …
SQL:
• create
• insert
• select
Dr. Karsten Tolle – PRG2 – SS 2017
• 1. Normalform
• Schlüssel und Funktionale
Abhängigkeiten
• 2. Normalform
Sicherheit
13
Klausur
• PRG-2 Klausur am Montag den 31. Juli
Start: 9:00 Uhr
• Wo: Hörsaalgebäude Bockenheim
Vorlesungsräume HV, HIV und HVI
• Studierendenausweis mitbringen!
Dr. Karsten Tolle – PRG2 – SS 2017
14
Chaos im Dreieck
Java lernen  Greenfoot (www.greenfoot.org)
Gegeben ist ein Dreieck (ABC) und ein Startpunkt X.
Wiederhole:
•Zeichne bei X einen Punkt und
•verschiebe X um die halbe Strecke in Richtung eines der Eckpunkte A, B
oder C (zufällige Wahl)
A
Frage: Ergebnis nach
10.000 Wiederholungen?
X
B
C
Herunterladen