Persistenz 1: Datenbanken
|
|
- Max Becke
- vor 8 Jahren
- Abrufe
Transkript
1 Persistenz 1: Datenbanken Modellierung: ERM und Relationales Schema Schema-Implementierung: DDL und XML SQL, ODBC und JDBC Objekt-relationales Mapping (ORM)
2 Was ist Persistenz? Persistenz bedeutet ursprünglich, dass Objekte die Programmausführung "überleben" durch Auslagerung auf externe Speichermedien, z.b. durch Serialisierung und Dateiausschrieb bei Shutdown Für langlaufende Programme: Zwischenauslagerung nicht benötigter Objekte "Hibernation" (Winterschlaf) Persistenz heute: Dynamische Ein- und Auslagerung von Objekten (Materialisierung und Dematerialisierung) normalerweise in Datenbanken (c) schmiedecke 10 SE2-5-DB 2
3 Datenbank-Modellierung Datenbanken verwalten Entitäten und ihre Beziehungen Datenmodelle auf verschiedenen Abstraktionsstufen ERM Entity-Relationship-Modell ähnlich dem UML-Klassendiagramm aber ohne Vererbung unabhängig vom Datenmodell (m:n-beziehungen sind möglich) kanonische Abbildung auf das Relationale Modell (Verknüpfungstabellen) Notationsfalle: Kardinalitäten werden an der Quelle notiert (UML am Ziel) (c) schmiedecke 10 SE2-5-DB 3
4 ERM-Beispiel (UML-Notation) class ERM online shop Produk t - Produktnummer: int - Preis: double - Name: String - Info: String - AnzKolli: int - Gewicht: double * * Orde r - Bestelldatum: Date - Lieferdatum: Date - Versandform: String - Rechnungsnummer: int - Bearbeiter: String * * * * 1 1 Einkaufsw agen - Datum: Date 1 1 Kunde - Name: String - Strasse: String - Ort: String - PLZ: int 1 1..* Kreditk arte - Kartentyp: String - Kartennummer: int - Gültigkeit: Date (c) schmiedecke 10 SE2-5-DB 4
5 Das Relationale Datenmodell Das Relationale Modell Entitäten als Tupel in Relationen (Zeilen in Tabellen) Tupel (Zeilen) eindeutig identifizierbar durch Primärschlüssel alle Attribute (Spalten) skalar (1.NF) Beziehungen als Verweise in andere Relationen (Fremdschlüssel) Integritätsbedingungen Entitätsintegrität: Primärschlüssel sind eindeutig Referentielle Integrität: Zu jedem Fremdschlüssel existiert ein Ziel. Relationale Datenbank-Managementsysteme extrem effiziente und zuverlässige Implementierungen (c) schmiedecke 10 SE2-5-DB 5
6 ERM Relationales Modell Jedes Tupel benötigt einen Primärschlüssel inhärenter Schlüssel: eindeutiges Attribute oder eindeutige Attributgruppe Surrogatschlüssel: hinzugefügter eindeutiger Wert ohne eigene Semantik, zumeist ein Zahlenwert In der Softwareentwicklung benutzen wir immer Surrogatschlüssel durch inhaltliche Anpassungen der Daten kann sonst die Eindeutigkeit nachträglich verloren gehen. (c) schmiedecke 10 SE2-5-DB 6
7 ERM Relationales Modell Einfache Entitätstypen werden direkt auf Tabellen abgebildet: Einfach ist ein Entitätstyp dann, wenn alle Attributte skalar sind, d.h. Zahlen, Datumswerte oder kurze Texte (c) schmiedecke 10 SE2-5-DB 7
8 ERM Relationales Modell Strukturierte Attribute werden in skalare Komponenten zerlegt wenige Attribute werden zu mehreren Spalten der Ursprungstabelle variabel viele oder viele Attribute werden zu einer eigenen Tabelle (c) schmiedecke 10 SE2-5-DB 8
9 ERM Relationales Modell Listentypen werden (möglichst) auf eine Tabelle mit rückweisender Beziehung abgebildet (c) schmiedecke 10 SE2-5-DB 9
10 ERM Relationales Modell 1:1-Beziehungen werden als Fremdschlüssel dargestellt bideriektional: gegenseitige Fremdschlüssel (c) schmiedecke 10 SE2-5-DB 10
11 ERM Relationales Modell Eine unidirektionale m:1-beziehung wird als Fremdschlüssel dargestellt (c) schmiedecke 10 SE2-5-DB 11
12 ERM Relationales Modell 1:m-Beziehungen, m:n-beziehungen und bidirektionale m:1-beziehungen werden mithilfe einer Verknüpfungstabelle dargestellt. Die Verknüpfungstabelle benötigt keinen eigenen Primärschlüssel ein eigener Primärschlüssel ermöglicht die Abbildung assoziativer Klassen (im ORM) (c) schmiedecke 10 SE2-5-DB 12
13 Relationales Schema class ERM online shop Produk t - Produktnummer: int - Preis: double - Name: String - Info: String - AnzKolli: int - Gewicht: double * * Orde r - Bestelldatum: Date - Lieferdatum: Date - Versandform: String - Rechnungsnummer: int - Bearbeiter: String * * * * 1 1 Einkaufsw agen - Datum: Date 1 1 Kunde - Name: String - Strasse: String - Ort: String - PLZ: int * Kreditk arte - Kartentyp: String - Kartennummer: int - Gültigkeit: Date (c) schmiedecke 10 SE2-5-DB 13
14 ERM Relationales Schema Umformung kann automatisch erfolgen Zahl der Tabellen wächst. Problem? Joins für Zugriffe kosten Zeit class ERM online shop Produk t - Produktnummer: int - Preis: double - Name: String - Info: String - AnzKolli: int - Gewicht: double * * * Orde r - Bestelldatum: Date - Lieferdatum: Date - Versandform: String - Rechnungsnummer: int - Bearbeiter: String * * * Kunde Einkaufsw agen Kreditk arte - Name: String - Datum: Date - Strasse: String - Kartentyp: String * - Ort: String - Kartennummer: int - PLZ: int - Gültigkeit: Date 1 1 (c) schmiedecke 10 SE2-5-DB 14
15 Datenzugriffe - SQL Datenbanksprache SQL deklarative Sprache Definition (DDL), Änderung (DML) und Abfrage (QL) äußerst effizient implementiert. SELECT Name, Strasse, Ordernummer, Versanddatum FROM Kunde, Order WHERE Kunde.PLZ > 1200 AND Order.kunde = Kunde AND Versanddatum < ORDER BY Versanddatum (c) schmiedecke 10 SE2-5-DB 15
16 Schema-Implementierung: SQL-Export CREATE TABLE Produkt ( Produktnummer INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, Preis DOUBLE NULL, Name VARCHAR(20) NULL, Info VARCHAR(255) NULL, AnzKolli INTEGER UNSIGNED NULL, Gewicht DOUBLE NULL, PRIMARY KEY(Produktnummer) ) CREATE TABLE Einkaufswagen ( ideinkaufswagen INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, Datum DATE NULL, PRIMARY KEY(idEinkaufswagen) );... (c) schmiedecke 10 SE2-5-DB 16
17 Alternative: Export als XML <!--onlineshopxml.schema Generated :57 --> <database> <name>onlineshoprdm</name> <create>1</create> <table> <name>einkaufswagen</name> <declaration> <field> <name>ideinkaufswagen</name> <type>integer</type> <default></default> <notnull>1</notnull> </field> <field> <name>datum</name> <type>date</type> <default></default> <notnull>0</notnull>... (c) schmiedecke 10 SE2-5-DB 17
18 Implementierte DB (c) schmiedecke 10 SE2-5-DB 18
19 ODBC - SQL-Nutzung aus Programmen Open Database Connectivity Spezifikation, nicht produktgebunden Microsoft-Entwicklung inzwischen standardisiert BS-Bestandteil ab Windows 2000/NT Programmierschnittstelle (API) für RDBMS Registrierung der Verbindungsdaten (URL, DB-Name, User, PW) Weitergabe von SQL-Anweisungen (Strings) an die Datenbank Erzeugung weiterverarbeitbarer Daten aus dem SQL-Ergebnis. C++-Programm C++-ODBC-API ODBC-Treiber für Oracle Breite Unterstützung: Es gibt ODBC-"Treiber" für (praktisch) jedes RDBMS (unter Windows Unix ist noch nicht so gut unterstützt) Objektorientierte Programmiersprachen bieten APIs mit Klassen zum Umgang mit ODBC-Aufrufen und Daten. Oracle- RDBMS (c) schmiedecke 10 SE2-5-DB 19
20 JDBC Java Database Connectivity Spezifikation, nicht produktgebunden Programmierschnittstelle (API) für RDBMS Registrierung der Verbindungsdaten (URL, DB-Name, User, PW) Weitergabe von SQL-Anweisungen (Strings) an die Datenbank Erzeugung weiterverarbeitbarer Java-Objekte aus dem SQL- Ergebnis. JDBC-"Treiber" für jede RDB-Implementierung ODBC-JDBC-"Bridge" als generischer Treiber (c) schmiedecke 10 SE2-5-DB 20
21 JDBC-Treiber Quelle: Jeckle, (c) schmiedecke 10 SE2-5-DB 21
22 Das JDBC-API (c) schmiedecke 10 Hinweis: Erweiterungen SE2-5-DB ab JDBC 3.0 in javax.sql 22
23 Die JDBC-Spezifikation (c) schmiedecke 10 SE2-5-DB 23
24 Arbeitsweise mit JDBC 1. Treiber-Bibliothek laden 2. Verbindung zum Datenbank-Server herstellen 3. SQL-Anweisung(en) in ein Ausführungs-Objekt packen 4. Ausführungsobjekt ausführen 5. Ergebnis-Objekt lesen und verarbeiten 6. Vorgang beliebig wiederholen 7. irgendwann Verbindung beenden (c) schmiedecke 10 SE2-5-DB 24
25 DB-Verbindungen // 1. JDBC-Treiber laden Class.forName ("sun.jdbc.odbc.jdbcodbcdriver"); // oder // DriverManager.registerDriver(new com.mysql.jdbc.driver()); // 2. Datenbank-URL spezifizieren String db_url = "jdbc:odbc:jdbc_test"; // 3. Connect zur Datenbank ausführen // (hier Kennwort beim Programmaufruf zu uebergeben) Connection my_con = DriverManager.getConnection(db_url, "java", args[0]); (c) schmiedecke 10 SE2-5-DB 25
26 DB-Interaktionen try { Statement stmt = connection.createstatement(); String sql = "create table newtab "+ "(id number primary key," + " name varchar2(10))"; int changes = stmt.executeupdate(sql); // for DDL, DML sql = "Select * from newtab;"; ResultSet result = stmt.executequery(sql); // for QL } catch (SQLException ex) { ex.printstacktrace(); } (c) schmiedecke 10 SE2-5-DB 26
27 JDBC-Verbindung mit der Datenbank public class DB { private static final String dburl = "jdbc:mysql:@localhost:3306"; private static final String user = "onlineshop"; private static final String password = "onlineshop"; private Connection conn = null; private Statement stmt; public DB () { try { DriverManager.registerDriver(new com.mysql.jdbc.driver()); System.out.println("Driver registered sucessfully"); } catch (SQLException e) { System.err.println("Problems registering OJDBC-Driver"); e.printstacktrace(); System.exit(99); } } public void connect() throws SQLException { conn = DriverManager.getConnection(dbURL, user, password); System.out.println("Connection established sucessfully"); stmt (c) = schmiedecke conn.createstatement(); 10 SE2-5-DB 27 }
28 JDBC-Abfrage public String[] liesprodukte() { ResultSet resultset = null; String[]result = new String[50]; int index = 0; try { resultset = stmt.executequery ("Select Name From Produkt"); while (resultset.next()){ result[index]=resultset.getstring(1); // nicht 0!! index++; } resultset.close(); // nicht vergessen!!! } catch (SQLException e) { e.printstacktrace(); } return result; } (c) schmiedecke 10 SE2-5-DB 28
29 Fazit: 1. Es geht. 2. Es geht leicht. 3. SQL-Befehle als Strings werden ungeprüft an die Datenbank geschickt... (c) schmiedecke 10 SE2-5-DB 29
30 ORM Objekt-relationales Mapping JDBC ermöglicht den Zugriff auf Daten Wir wollen Persistenz von Objekten! Die Abbildung von Klassen auf Relationen (Tabellen) entspricht der Abbildung von ERM-Entitäten auf Relationen Nur die Vererbung fehlt noch. (c) schmiedecke 10 SE2-5-DB 30
31 ORM - Vererbung Tabelle-je-Klasse Für jede Klasse der Hierarchie eine Tabelle enthält nur die nicht-geerbten Attribute Verweis auf Oberklassentabelle über OID (Primärschlüssel) Zusatzspalte mit dem Objekttyp Daten eines Objekts auf mehrere Tabellen verteilt aufwändige Zugriffe Einzeltabelle Tabelle enthält eigene und geerbte Attribute Polymorphismen nur programmatisch erfassbar Tabelle-je-konkrete-Klasse Zwischenform, weniger Redundanz, einfachere Zugriffe als Tabelle-je-Klasse weniger Redundanz als Einzeltabelle (c) schmiedecke 08 SE2-4-Persistenzmodelle 31
32 ORM: Einzeltabelle Vorteil: einfacher Zugriff ohne Join (c) schmiedecke 08 SE2-4-Persistenzmodelle 32
33 ORM: Tabelle-je-konkrete-Klasse Vorteil: einfacher Zugriff ohne Join Nachteil: Änderungen der Oberklasse müssen in mehreren Tabellen durchgeführt werden. Graphik aus: Heide Balzert, Lehrbuch der Objektmodellierung (c) schmiedecke 08 SE2-4-Persistenzmodelle 33
34 ORM: Tabelle-je-Klasse Vorteile: Nahe am Klassenmodell Änderungen in alle Klassen leicht durchzuführen Nachteile: viele Tabellen Zugriffe über Joins Graphik aus: Heide Balzert, Lehrbuch der Objektmodellierung (c) schmiedecke 08 SE2-4-Persistenzmodelle 34
35 Automatisiertes ORM Natürlich ist das ORM genauso automatisierbar wie die Abbildung ERM Relationales Modell. Das nutzen Persistenz-Frameworks Das Ziel heißt "Transparenz": der Programmierer soll möglichst wenig von der Persistenz merken. (c) schmiedecke 10 SE2-5-DB 35
36 Der "Traum" Völlige Transparenz Some Secret Mechanis m Nicht alle Objekte müssen persistent sein Klassen als "persistent" deklarieren: persistent class MyClass {... } Nicht alle Attribute müssen persistent sein: persistent int myattribute; Alles andere könnte "automatisch ablaufen" (c) schmiedecke 08 SE2-4-Persistenzmodelle 36
37 wieder fit in Datenbanken? Nächstes Mal verbinden wir das ORM mit der Webanwendung.
Datenbanken 1 für Mediennformatiker WS 06. 4. ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme
Datenbanken 1 für Mediennformatiker WS 06 4. ODBC, JDBC und SQLJ: Datenbank-Anbindung an Anwendungsprogramme Der letzte Schritt Diese grafische Oberfläche mit der Ebay-Datenbank verbinden... Anwendungen
Mehrseit Java 1.1 Bestandteil der API: packages java.sql, javax.sql
JDBC inoffizielle Abkürzung für: Java Database Connectivity seit Java 1.1 Bestandteil der API: packages java.sql, javax.sql ist eine Menge von Klassen und Methoden, um aus Java-Programmen relationale Datenbanken
MehrOracle: Abstrakte Datentypen:
Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8
MehrJava Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1
Java Database Connectivity (JDBC) 14.07.2009 Walther Rathenau Gewerbeschule 1 Was ist JDBC? Hauptsächlich eine Sammlung von Java Klassen und Schnittstellen für eine einfache Verbindung von Java Programmen
MehrJDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.
JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten
MehrDATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
MehrJDBC. Allgemeines ODBC. java.sql. Beispiele
JDBC Java Data Base Connectivity Programmierschnittstelle für relationale Datenbanken Sammlung von Klassen, welche zum Aufbau einer Verbindung zwischen einem Java-Programm und einer Datenbank dienen Verwendet
MehrDatenbanken & Informationssysteme Übungen Teil 1
Programmierung von Datenbankzugriffen 1. Daten lesen mit JDBC Schreiben Sie eine Java-Anwendung, die die Tabelle Books in der Datenbank azamon ausgibt. Verwenden Sie dabei die SQL-Anweisung select * from
Mehr7. Übung - Datenbanken
7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen
MehrSQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar
Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-
MehrDatenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,
MehrNachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)
Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der
Mehr3. Das Relationale Datenmodell
3. Das Relationale Datenmodell Das Relationale Datenmodell geht zurück auf Codd (1970): E. F. Codd: A Relational Model of Data for Large Shared Data Banks. Comm. of the ACM 13(6): 377-387(1970) DBMS wie
MehrDatenmanagement in Android-Apps. 16. Mai 2013
Datenmanagement in Android-Apps 16. Mai 2013 Überblick Strukturierung von datenorientierten Android-Apps Schichtenarchitektur Möglichkeiten der Datenhaltung: in Dateien, die auf der SDCard liegen in einer
MehrJava Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.
1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrSemantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung
6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten
MehrSoftware Engineering Klassendiagramme Assoziationen
Software Engineering Klassendiagramme Assoziationen Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Lesen von Multiplizitäten (1) Multiplizitäten werden folgendermaßen
MehrGroße Übung Praktische Informatik 1
Große Übung Praktische Informatik 1 2005-12-08 fuessler@informatik.uni-mannheim.de http://www.informatik.uni-mannheim.de/pi4/people/fuessler 1: Announcements / Orga Weihnachtsklausur zählt als Übungsblatt,
MehrDrei-Schichten-Architektur. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 17: 3-Schichten-Architektur 2
Universität Osnabrück 1 3 - Objektorientierte Programmierung in Java Zur Erinnerung: Aufteilung der Schichten GUI Vorlesung 17: 3-Schichten-Architektur 2 Fachkonzept Fachkonzept - Datenhaltung Datenhaltung
MehrBeispiel: DB-Mock (1/7)
Beispiel: DB-Mock (1/7) Aufgabe: DB, auf die vereinfachend nur lesend zugeriffen wird mocken warum: benötigte keine DB-Lizenz, garantiert gleiche Werte ohne aufwändiges reset, kein Zeitverlust durch Verbindungsaufbau
MehrDatenbank und Informationssysteme
Datenbank und Informationssysteme Inhaltsverzeichnis 1 Programmierung von Datenbankzugriffen 3 1.1 Architektur des SQL/CLI am Beispiel JDBC................... 4 1.2 Anfragen und Ergebnismengen in JDBC......................
MehrKlausur zur Vorlesung Datenbanksysteme I
Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrIn diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.
In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrPersistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten)
Persistenz von Objekten relationale Datenbank Eigene Datenstruktur XML (JAXB) Proprietäre Dateiformate (Lochkarten) O/R Mapping - Objekte (Attribute) - 1:1, 1:n, n:m Beziehungen - Vererbungen (- Interfaces)
MehrOP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrKapitel 4 Die Datenbank Kuchenbestellung Seite 1
Kapitel 4 Die Datenbank Kuchenbestellung Seite 1 4 Die Datenbank Kuchenbestellung In diesem Kapitel werde ich die Theorie aus Kapitel 2 Die Datenbank Buchausleihe an Hand einer weiteren Datenbank Kuchenbestellung
MehrRelationale Datenbanken in der Praxis
Seite 1 Relationale Datenbanken in der Praxis Inhaltsverzeichnis 1 Datenbank-Design...2 1.1 Entwurf...2 1.2 Beschreibung der Realität...2 1.3 Enitiy-Relationship-Modell (ERM)...3 1.4 Schlüssel...4 1.5
MehrGrundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn
Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher
Mehr7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrSchlüssel bei temporalen Daten im relationalen Modell
Schlüssel bei temporalen Daten im relationalen Modell Gesine Mühle > Präsentation > Bilder zum Inhalt zurück weiter 322 Schlüssel im relationalen Modell Schlüssel bei temporalen Daten im relationalen Modell
MehrSoftware-Engineering Einführung
Software-Engineering Einführung 7. Übung (04.12.2014) Dr. Gergely Varró, gergely.varro@es.tu-darmstadt.de Erhan Leblebici, erhan.leblebici@es.tu-darmstadt.de Tel.+49 6151 16 4388 ES Real-Time Systems Lab
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrSQL: statische Integrität
SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrKlausur Interoperabilität
Klausur 21. Juni 2012 9.30 11.00 Uhr Workflow Systems and Technology Group Fakultät für Informatik Universität Wien Univ.-Prof. Dr. Stefanie Rinderle-Ma Allgemeine Hinweise: Die Bearbeitungszeit beträgt
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
MehrFachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer
Fachdidaktik der Informatik 18.12.08 Jörg Depner, Kathrin Gaißer Klassendiagramme Ein Klassendiagramm dient in der objektorientierten Softwareentwicklung zur Darstellung von Klassen und den Beziehungen,
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrIV. Datenbankmanagement
Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.
Mehrmit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
MehrAnleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken
Betriebliche Datenverarbeitung Wirtschaftswissenschaften AnleitungzurEinrichtungeinerODBC VerbindungzudenÜbungsdatenbanken 0.Voraussetzung Diese Anleitung beschreibt das Vorgehen für alle gängigen Windows
MehrÜbung 1 mit C# 6.0 MATTHIAS RONCORONI
Übung 1 mit C# 6.0 MATTHIAS RONCORONI Inhalt 2 1. Überblick über C# 2. Lösung der Übung 1 3. Code 4. Demo C# allgemein 3 aktuell: C# 6.0 mit.net-framework 4.6: Multiparadigmatisch (Strukturiert, Objektorientiert,
MehrOracle SQL Tutorium - Wiederholung DB I -
Oracle SQL Tutorium - Wiederholung DB I - (Version 2.6 vom 24.2.2015) Einleitung Im Folgenden sind zur Wiederholung eine Reihe von SQL-Übungsaufgaben zu lösen. Grundlage für die Aufgaben ist die Mondial
MehrJava Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7
Java Einführung Umsetzung von Beziehungen zwischen Klassen Kapitel 7 Inhalt Wiederholung: Klassendiagramm in UML Java-Umsetzung von Generalisierung Komposition Assoziationen 2 Das Klassendiagramm Zweck
MehrFolgendes PL/SQL Codefragment zeigt das grundlegende Statement für diesen Test: Java. http://www.trivadis.com/images/javaperf_tcm16-7133.
Page 1 of 7 Betrifft: Java oder PL/SQL? Art der Info: Technische Background Info Autor: Guido Schmutz (guido.schmutz@trivadis.com) Quelle: Aus unserer Schulungs- und Beratungstätigkeit Mit Oracle8.1 besteht
MehrEinführung in die Informatik II
Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen
Mehr3. Stored Procedures und PL/SQL
3. Stored Procedures und PL/SQL Wenn eine Anwendung auf einer Client-Maschine läuft, wird normalerweise jede SQL-Anweisung einzeln vom Client an den Server gesandt, und jedes Ergebnistupel wird einzeln
Mehr1. Fehlende Zugriffsrechte für die Verwendung der VR -NetWorld Software
02. Vertrieb 06. Internet 017. VR-NetWorld SW 003. Fehlersituationen Änderungsprotokoll Titel Es ist ein Fehler bei der Initialisierung der Datenbank aufgetreten lfd. Nummer 028 Beitrag ist redaktionelle
MehrPrinzipien Objektorientierter Programmierung
Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................
MehrDatenintegrität. Bisherige Integritätsbedingungen
Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge
MehrUniversität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
MehrReferenzielle Integrität SQL
Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet
MehrDatenbanken I - Übung 1
Datenbanken I - Übung 1 Oktober, 2010 1 von 11 Datenbanken I Lernkontrolle Beantworten Sie folgende Fragen (nach Möglichkeit ohne nachzuschlagen): Was bezeichnet man als Datenredundanz? Wieso führt Datenredundanz
MehrMySQL Installation. AnPr
Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall
MehrDB2 Kurzeinführung (Windows)
DB2 Kurzeinführung (Windows) Michaelsen c 25. Mai 2010 1 1 Komponenten von DB2 DB2 bietet zahlreiche graphische Oberflächen für die Verwaltung der verschiedenen Komponenten und Anwendungen. Die wichtigsten
MehrPersistenz. Workplace Solutions. Persistenz. ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping. Abbildung Objekte auf RDBMS
Persistenz ÿ RDBMS und OO ÿ Strukturkonflikt ÿ Object-RDBMS-Mapping APCON Abbildung Objekte auf RDBMS Der Strukturkonflikt Basisklassen und Domänen Klassen zur Kapselung der relationalen Datenbank Abbildung
MehrAssoziation und Aggregation
Assoziation und Aggregation Martin Wirsing in Zusammenarbeit mit Matthias Hölzl, Nora Koch 05/03 2 Ziele Verstehen der Begriffe Assoziation und Aggregation Implementierung von Assoziationen in Java schreiben
MehrAnalyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java. Oliver Kalz
Analyse und praktischer Vergleich von neuen Access- Layer-Technologien in modernen Webanwendungen unter Java Oliver Kalz Agenda Grundlagen Objektpersistenz Objektrelationales Mapping Performance Fazit
MehrProgrammiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 2 (C++) Prof. Dr. Stefan Enderle NTA Isny 3. UML Klassendiagramm Nachtrag 3.1 Einführung UML UML ist eine standardisierte Sprache zur Modellierung von Systemen. In UML werden graphische
MehrInnovator 11 excellence. Import eines DB-Schemas mit Direktzugriff auf ein RDBMS via JDBC. HowTo. Udo Ende. www.mid.de
Innovator 11 excellence Import eines DB-Schemas mit Direktzugriff auf ein RDBMS via JDBC Udo Ende HowTo www.mid.de Zweck Aus einer Datenbank soll ein DB-Schema in ein Modell von Innovator Data excellence
MehrAdministrator-Anleitung
Administrator-Anleitung für die Installation und Konfiguration von MySQL 5.0 zur Nutzung der Anwendung Ansprechpartner für Fragen zur Software: Zentrum für integrierten Umweltschutz e.v. (ZiU) Danziger
MehrLehrveranstaltung Grundlagen von Datenbanken
Verbindungsanleitung mit der Datenbank Um sich mit der Datenbank für die Übung zu verbinden, gibt es mehrere Möglichkeiten. Zum einen ist die Datenbank aus dem Netz des Informatikums direkt erreichbar.
MehrHilfedatei der Oden$-Börse Stand Juni 2014
Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten
MehrLabor 3 - Datenbank mit MySQL
Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.
MehrObjektrelationale Datenbanken
Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige
MehrXAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL
XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.
MehrEin Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert
Maika Büschenfeldt Datenbanken: Skript 1 1. Was ist eine relationale Datenbank? In Datenbanken können umfangreiche Datenbestände strukturiert abgelegt werden. Das Konzept relationaler Datenbanken soll
Mehr4. Objektrelationales Mapping Grundlagen der Programmierung II (Java)
4. Objektrelationales Mapping Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
MehrFachbericht zum Thema: Anforderungen an ein Datenbanksystem
Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrDatenbanken: Datenintegrität. www.informatikzentrale.de
Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten
MehrDatenbankentwurf & Datenbankzugriff mit JDBC. Georg Köster Sven Wagner-Boysen
Datenbankentwurf & Datenbankzugriff mit JDBC Georg Köster Sven Wagner-Boysen 6. November 2007 Gliederung 2 Datenbankentwurf für ProminentPeople.info ER-Modell Relationaler Entwurf Normalisierung Datenbankzugriff
MehrABTEILUNGS- ABTEILUNGS- LEITER NAME
Übungsaufgaben Übungsaufgabe 1 - Normalisierung - Gegeben ist folgende unnormalisierte Relation, die Daten über Mitarbeiter und deren Abteilungszughörigkeit enthält. Weiterhin sind die Beteiligung(en)
MehrKapitel DB:VI (Fortsetzung)
Kapitel DB:VI (Fortsetzung) VI. Die relationale Datenbanksprache SQL Einführung SQL als Datenanfragesprache SQL als Datendefinitionssprache SQL als Datenmanipulationssprache Sichten SQL vom Programm aus
MehrArbeiten mit einem lokalen PostgreSQL-Server
Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php
MehrGEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT
Seite 1/7 GEZIELT MEHR SICHERHEIT MIT 4I ACCESS SERVER & 4I CONNECT CLIENT ZENTRAL LOKALE MANAGEMENT-PLATTFORM FÜR EINE W ELTWEIT SICHERE INDUSTRIELLE KOMMUNIKATION. Seite 2/7 Auf den folgenden Seiten
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
MehrPlanung für Organisation und Technik
Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis
MehrSQLJ. Standardisierte Java-DB. DB-Schnittstelle. Spezifikationen. Oracle, IBM, Informix, Sybase,, Tandem, Sun, Microsoft stehen dahinter
SQLJ Standardisierte Java-DB DB-Schnittstelle Spezifikationen Part 0: Embedded SQL für Java (ANSI-Standard; Object Language Binding) Statische Einbettung von SQL-Anweisungen in Java-Quelltext Part 1: Java
MehrInteraktive Webseiten mit PHP und MySQL
Interaktive Webseiten mit PHP und Vorlesung 4: PHP & Sommersemester 2003 Martin Ellermann Heiko Holtkamp Sommersemester 2001 Hier noch ein wenig zu (My)SQL: SHOW INSERT SELECT ORDER BY GROUP BY LIKE /
MehrUNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme
UNIVERSITÄT ULM Fakultät für Ingenieurswissenschaften und Informatik Institut für Datenbanken und Informationssysteme 8. Übung zur Vorlesung Datenbanksysteme WS 08/09 Musterlösung Aufgabe 8-1: SQLJ //
MehrVerbinden von IBM Informix mit Openoffice mittels JDBC
Verbinden von IBM Informix mit Openoffice mittels JDBC Voraussetzungen Installierte und laufende IBM Informixdatenbank. Getestet wurde mit IDS 9.40 und 10.00. Sollte aber auch mit älteren Versionen funktionieren.
MehrLINQ to SQL. Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel. Institut für Informatik Software & Systems Engineering
LINQ to SQL Proseminar Objektorientiertes Programmieren mit.net und C# Christoph Knüttel Institut für Informatik Software & Systems Engineering Agenda 1. LINQ allgemein Vorteile Bausteine und Varianten
MehrBedienungsanleitung DHL-Schnittstelle für JTL-WAWI
Bedienungsanleitung DHL-Schnittstelle für JTL-WAWI Bebildert am Beispiel Windows 7 (Vista oder XP sehen ähnlich aus) 1. Voraussetzungen - JTL-WAWI Datenbank ist installiert - Die JTL-WAWI Version muss
MehrTag 4 Inhaltsverzeichnis
Tag 4 Inhaltsverzeichnis Normalformen Problem Formen (1-4) Weitere Formen Transaktionen Synchronisationsprobleme Überblick Autocommit Locking Savepoints Isolation levels Übungen RDB 4-1 Normalformen Problematik
MehrWhitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt
MehrÜbungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)
Übungsblatt 4 Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin) Die Saartal Linien beauftragen Sie mit dem Entwurf der Datenstrukturen für ein Informationssystem. Dieses soll zur Verwaltung
MehrReferentielle Integrität
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
MehrEinteilung von Datenbanken
Datenbanksysteme (c) A.Kaiser; WU-Wien 1 Einteilung von Datenbanken 1. formatierte Datenbanken 2. unformatierte Datenbanken Information Retrieval Systeme 2 Wozu Datenbanken? Speicherung und Verwaltung
MehrSQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software
SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4
MehrVorlesung Dokumentation und Datenbanken Klausur
Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises
MehrIntegritätsbedingungen / Normalformen- Beispiel: Kontoführung
Technische Universität München WS 2003/04, Fakultät für Informatik Datenbanksysteme I Prof. R. Bayer, Ph.D. Lösungsblatt 8 Dipl.-Inform. Michael Bauer Dr. Gabi Höfling 12.01. 2004 Integritätsbedingungen
Mehr