10 Alternative Datenmodelle und neuere Entwicklungen
|
|
- Louisa Pfaff
- vor 6 Jahren
- Abrufe
Transkript
1 10 Alternative Datenmodelle und neuere Entwicklungen Informationssysteme füringenieure (ISI) Herbstsemester 2016 R. Marti
2 Limitationen des Relationenmodells 1. Normalform: Tupel sind "simple Objekte" "komplexe Objekte", d.h. Objekte mit "komplexen" Attributwerten (z.b. Listen, Arrays, Mengen) sind für verschiedene DB-Anwendungen wünschbar Die Abbildung von Datenstrukturen in modernen (oft objektorientierten) Programmiersprachen auf relationale DB Strukturen ist aufwendig (sog. impedance mismatch) Subtypen und Vererbung (sowie allenfalls Überschreibung von Methoden) werden nicht direkt unterstützt 2
3 Reminder: Wann ist eine Programmiersprache (PL) OO? OO = Objekt-Orientiert Eigenschaften wie prozedurale / funktionale Programmiersprachen à la C, Pascal und Lisp, insbes. "komplexe" Datenstrukturen wie struct (record), array, evt. Listen Datenkapselung [data encapsulation, auch information hiding] Zugriff auf einzelne Datenfelder eines Objekts erfolgt ausschliesslich oder tendentiell (je nach "Sichtbarkeit") über Prozeduren, die für dieses Objekt definiert sind Vererbung [inheritance], Erweiterung [extension] und Überschreibung [override] Möglichkeit zur Definition von Subtypen (vgl. ER-Modell), welche - Datenfelder und Prozeduren des Supertyps erben - zusätzliche Datenfelder und Prozeduren haben können - bestehende Prozeduren des Supertyps überschreiben (d.h. umdefinieren) können dynamische Bindung von Prozeduren Prozeduren, die für den Supertyp definiert sind, werden zur Laufzeit (d.h. dynamisch) gemäss dem jeweiligen Subtyp eines Objekts ausgewählt (d.h. an das Objekt gebunden) 3
4 Beispiel: Ein ER Modell für eine Datenbank Person Department mit Prozedur (*) Subtyping Customer Employee Project mit mehrwertigen Attributen (*) direkte m:m Beziehung 4
5 Java Modell auf Business Logic Layer class Person { // Disclaimer: this may not be absolutely correct Java int persno; String name; String address; Date birthdate; int age() { // a procedure which computes the age of a person return Calendar.getTime().getYear() birthdate.getyear(); } } class Employee extends Person { // a subtype int salary; Department dept; // a reference to a Department object Set<Project> projs; // a set of references to Project objects Set<String> childnames; // a set of strings Person Department } Person Department class Department { int deptno; String name; Set<Employee> emps; } Customer Employee Customer Employee Project Project 5
6 Relationales Modell ("gängige" Alternative) create table Person ( create table Department ( persno integer primary key, persno integer primary key, name varchar(40) not null, name varchar(40) not null address varchar(100) not null, ); birthdate date not null ); create table Employee ( persno integer primary key, -- primary key of supertype salary integer not null, deptno integer, foreign key persno references Person, foreign key deptno references Department -- a "reference" to a Department ); create table EmpChild ( persno integer not null, childname varchar not null, primary key (persno, childname), foreign key persno references Employee ); Person Person Department Department create table ProjAssig ( Customer Employee Project persno integer not null, Customer Employee Project projno integer not null, primary key (persno, projno), foreign key persno references Employee, foreign key projno references Project EmpChild ProjAssig ); 6
7 Object Relational Mapping (ORM) Mögliche Übersetzung des Beispiels in Relationen und notwendige Anfragen zur Darstellung eines Objekts (z.b. eines Employee) Person(persNo, name, address, birthdate) - age erfordert Berechnung in SELECT-Liste Employee(persNo, salary, deptno) - name, address etc. erfordern Join mit Person - projs erfordert Join mit ProjAssigmnt und evt. mit Project - children erfordert Join mit EmpChild - dept erfordert evt. Join mit Department EmpChildren(persNo, childname) Project(projNo, ) ProjAssig(persNo, projno) Department(deptNo, name) - emps erfordert Join mit Employee 7
8 Möglichkeiten zur Realisierung von ORM Programmierung mit JDBC (evt. SQLJ) "von Hand" erfordert relativ viel repetitiven Programm-Code Verwendung eines ORM-Toolkits, welcher Programm-Code für Mappings aufgrund einer deklarativen Beschreibung erzeugt z.b. mybatis, Hibernate zusätzlicher Lernaufwand, evt. etwas weniger performant Verwendung eines Objekt-orientierten Datenbanksystems Objekt-relationales Datenbanksystem (OO-Erweiterungen von SQL) Objekt-orientiertes Datenbanksystem gemäss ODMG Standard (ODL = Object Definition Language, OQL = Object Query Language) Persistent Java (C++, Smalltalk) Data Store 8
9 Reminder: Dienstleistungen von DB-Systemen (DBMSs) persistente Verwaltung sehr grosser Datenmengen (Terabytes) auf Sekundärspeicher, inkl. Fehlertoleranz (backup, recovery) deklarativer, mengenorientierter Datenzugriff Mehrbenutzerbetrieb (concurrency control) Datenintegritätskontrolle (semantic integrity) Zugriffskontrolle, Datenschutz (authorization) Optimierung der Datenzugriffe und Anfragen (access path selection, query optimization) Datenunabhängigkeit von Programmen (data independence) bei Änderungen physischer Datenstrukturen und Zugriffsoptimierung bei Erweiterungen und Modifikationen logischer Datenstrukturen 9
10 Wann ist ein Datenbanksystem (DBMS) OO Unterstützung der Eigenschaften von Datenbanksystemen (DBMSs) Unterstützung der Eigenschaften von OOPL (anfängl insbes auf Basis von Smalltalk, C++ oder CLOS; heute Java) komplexe Datenstrukturen Datenkapselung Vererbung dynamische Bindung Objektidentität vom DBMS erzeugte OIDs (Object IDentifiers) als Primärschlüssel Berechnungsvollständige DB Programmiersprache 10
11 ODMG Object Definition Language (ODL) class Person ( extent PersonExtent, key persno ) { attribute int persno; attribute string name; attribute string address; attribute date birthdate; int age(); // an interface of a procedure } class Employee extends Person { // a subtype attribute int salary; relationship Department dept // a reference to a Department object inverse Department::emps; relationship set(project) projs // a set of references to Project objects inverse Projects::emps; attribute set(string) childnames; // a set of strings } class Department ( extent DeptExtent, key deptno ) Person Person { attribute int deptno; attribute string name; relationship set(employee) emps inverse Employee::dept; } Customer Employee Department Department Customer Employee Project Project 11
12 ODMG Object Query Language (OQL): Beispiele (1) Einfache Anfragen Die Anfragesprache OQL finde die Namen der C4-Professoren select p.name from p in AlleProfessoren where p.rang = C4 ; Generiere Namen- und Rang-Tupel der C4-Professoren select struct(n: p.name, r: p.rang) from p in AlleProfessoren where p.rang = C4 ; Geschachtelte Anfragen und Partitionierung select struct(n: p.name, a: sum(select v.sws from v in p.liest)) from p in Alle Professoren where avg(select v.sws from v in p.liest) > 2; R. Marti A. Kemper & A. Eickler ISI Alterntative Datenmodelle und neuere Entwicklungen 12
13 ODMG Object Query Language (OQL): Beispiele (2) Pfadausdrücke in OQL-Anfragen select s.name from s in AlleStudenten, v in s.hört where v.gelesenvon.name = Sokrates ; Visualisierung des Pfadausdruckes hört gelesenvon Studenten Vorlesungen Professoren Name ein längerer Pfadausdruck einevorlesung.gelesenvon.residiertin.größe Vorlesungen Professoren Räume float R. Marti A. Kemper & A. Eickler ISI Alterntative Datenmodelle und neuere Entwicklungen 13
14 ODMG Object Query Language (OQL): Beispiele (3) Erzeugung von Objekten Vorlesungen(VorlNr: 5555, Titel: Ethik II, SWS: 4, gelesenvon: ( select p from p in AlleProfessoren where p.name = Sokrates )); Operationsaufruf in OQL-Anfragen select a.name from a in AlleAngestellte where a.gehalt() > ; R. Marti A. Kemper & A. Eickler ISI Alterntative Datenmodelle und neuere Entwicklungen 14
15 Objekt-orientierte und objekt-relationale DBMS OODB: unterstützen meist ODL und OQL (konzeptionell eine Erweiterung von SQL) ORDB: unterstützen "plain old" SQL mit relationalen Erweiterungen 15
16 Die NoSQL Bewegung Treiber Limitationen des relationalen Datenmodells (vgl. OO Datenmodelle) Bewältigung sehr grosser Datenmengen ("Big Data") mit sehr vielen Benutzern (vgl. Google, amazon, facebook, Twitter) NoSQL steht nicht notwendigerweise für "no SQL" (= "kein SQL") sondern allenfalls für not only SQL Datenmodelle: uneinheitlich, aber nicht relational (bzw."mehr als relational") key-value databases: an ein Objekt werden "beliebige" Listen von Attribut-Werte Paaren (key-value lists, auch property lists) angehängt graph databases: Knoten ( Entitäten) und Kanten ( binäre Beziehungen) document databases: Datenbank von (evt. verketteten) Dokumenten columnar databases: +/ relational, Daten werden nicht reihen- sondern kolonnenweise gespeichert je nach Anwendung substantielle Vorteile bezügl. Performanz und Platzbedarf Daten sind typischerweise verteilt und werden parallel verarbeitet 16
17 Grundidee von Key-Value Datenbanken Übliche Darstellung (auch horizontale Darst.) Person PersNo PersName FirstName Address BirthDate 3 'McNealy' 'Scott' 'Atherton' Reifizierte Darstellung (auch vertikale Darst., Objekt-Attribut-Wert Tripel) Person PersAttrValues PersAttr PersNo AttrValue AttrNo AttrName 3 'McNealy' 1 'PersName' 'BirthDate' Objekt mit Key-Value Liste (JSON Format) Person( id:3, [PersName:'McNealy', FirstName:'Scott',, BirthDate: ] ) 17
18 Semantic Web: Resource Description Framework (RDF) Triple-Datenmodell (Subjekt, Prädikat, Objekt) Meist graphische Visualisierung Subjekte und Objekte sind Knoten Prädikate sind gerichtete Kanten Von Subjekt-Knoten nach Objekt Knoten R. Marti A. Kemper & A. Eickler ISI Alterntative Datenmodelle und neuere Entwicklungen
19 Beispiel-RDF-Graph R. Marti A. Kemper & A. Eickler ISI Alterntative Datenmodelle und neuere Entwicklungen
20 CAP Consistency, Availability, Partition Tolerance CAP Theorem bei verteilten und replizierten Daten können nur 2 der 3 folgenden Eigenschaften - Konsistenz (C = Consistency) - Verfügbarkeit (A = Availability) A - Toleranz bei Netzwerkpartition (P = Partitioning) gleichzeitig garantiert werden C P in vielen (verteilten) NoSQL Systemen wird darum das Kriterium Konsistenz durch "eventual consistency" ersetzt: ein Update muss nur "eventually (d.h. nach einer gewissen Zeit) auf allen Datenkopien nachgeführt werden 20
21 Momentaner Hype: Big Data (1) 21
22 Momentaner Hype: Big Data (2) "Definition" (eher: Charakterisierung) von Big Data: The 3 Vs Volume: 100 Terabyte ( Byte) oder gar 1 Petabyte (10 15 Byte). Volumen ist relativ, ändert über die Zeit. Berücksichtigung "aller" Daten, nicht nur Stichproben (samples). Speicherung + Verarbeitung benötigen viele Disks + CPUs Variety: nicht nur strukturierte, auch unstrukturierte Daten (insbes. Text). > 80% der Daten sind unstrukturiert. Entdecken von Strukturen in unstrukturierten Daten Velocity: nicht nur statische (teilweise "abgestandene") Daten, sondern "real-time" Daten sowie dynamische Datenströme (data streams). "sofortige" Sichtbarkeit aller Änderungen in gesamter Unternehmung. Ticker von Aktienkursen, Sensor Daten, Bewegungen mobiler Devices 22
23 Datenbank versus Datenstrom R. Marti A. Kemper & A. Eickler ISI Alterntative Datenmodelle und neuere Entwicklungen
24 Technische Sicht auf Big Data neues "Infrastruktur-Ökosystem" für Big Data entwickelt oft Open Source HDFS (Hadoop Distributed File System) Hadoop Implementation von Google's MapReduce Paradigma Abfragesprachen wie HiveQL (angelehnt an SQL) 24
25 Map-Reduce Framework um die Parallelität (mehrere Datenkopien, sehr viele Prozessoren) ausnützen zu können, sollten Anfragen in ein sog. Map-Reduce Framework "gegossen" werden Figure 1.6 The map and reduce functions are ways of partitioning large datasets into smaller chucks that can be transformed on isolated and independent transformation systems. 25
26 Map-Reduce R. Marti A. Kemper & A. Eickler ISI Alterntative Datenmodelle und neuere Entwicklungen
27 Join mit Map-Reduce R. Marti A. Kemper & A. Eickler ISI Alterntative Datenmodelle und neuere Entwicklungen
Teil 2: Objektorientierte deduktive Datenbanken (DOOD)
Teil 2: Objektorientierte deduktive Datenbanken (DOOD) Gerd Stumme Christoph Schmitz Wintersemester 2004/05 Nachteile relationaler Modellierung Polyeder PolyID (4,*) cubo#5 Hülle (1,1) Flächen (3,*) Begrzg
MehrSQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99
SQL Früherer Name: SEQUEL SQL: Structured Query Language Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99 SQL ist eine deklarative Anfragesprache Teile von SQL Vier große Teile:
MehrOO Programmiersprache vs relationales Model. DBIS/Dr. Karsten Tolle
OO Programmiersprache vs relationales Model Vorgehen bisher Erstellen eines ER-Diagramms Übersetzen in das relationale Datenmodell Zugriff auf das relationale Datenmodell aus z.b. Java ER rel. Modell OO
MehrNoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE
NoSQL Datenbanken EIN ÜBERBLICK ÜBER NICHT-RELATIONALE DATENBANKEN UND DEREN POTENTIALE IM ALLGEMEINEN UND IN DER INDUSTRIE Was bedeutet NoSQL? Ein Sammelbegriff für alternative Datenbanklösungen, die
MehrWiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
MehrKapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien
Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen
MehrKapitel 14. Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) Prof. Dr. Wolfgang Weber Vorlesung Datenbanken
Kapitel 14 Objekt-relationales Mapping (ORM) mit Hibernate bzw. Java Persistance API (JPA) 1 Wozu Objekt-relationales Mapping? - Problematik - Business-Schicht OO-Klassen Unvereinbarkeit der Paradigmen
MehrVorlesung Datenbanken II SS 2006
Vorlesung Datenbanken II SS 2006 1 Vorlesung Datenbanken II SS 2006 Sven Wachsmuth, Technische Fakultät, AG Angewandte Informatik Vorlesung Datenbanken II SS 2006 2 Objektorientierte Modelle: Paradigma
MehrObjektrelationale und erweiterbare Datenbanksysteme
Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler
MehrRelationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL
Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene
MehrNoSQL mit Postgres 15. Juni 2015
Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrDatenbanksysteme 2013
Datenbanksysteme 2013 Kapitel 8: Datenintegrität Vorlesung vom 14.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Datenintegrität Statische Bedingung (jeder Zustand) Dynamische
MehrDatenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten
Seminararbeit vorgelegt von: Gutachter: Studienbereich: Christian Lechner Dr. Georg Moser Informatik Datum: 6. Juni 2013 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einführung in Datenbanken 1 1.1 Motivation....................................
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
MehrANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE. NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik
ARFA ANALYTICS, RISK MANAGEMENT & FINANCE ARCHITECTURE NoSQL Datenbanksysteme Übersicht, Abgrenzung & Charakteristik Ralf Leipner Domain Architect Analytics, Risk Management & Finance 33. Berner Architekten
MehrWirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte
Wirtschaftsinformatik 7a: Datenbanken Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte Drei Gäste bezahlen nach einem gemeinsamen Abendessen eine Rechnung von 30 Euro, so dass jeder 10 Euro gibt.
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
MehrSemantic Web: Resource Description Framework (RDF)
Big Data Semantic Web: RDF Information Retrieval Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme Multi-Tenancy/Cloud-Datenbanken Semantic Web: Resource
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
MehrObjektorientierte Datenbanken
OODB 11 Slide 1 Objektorientierte Datenbanken Vorlesung 11 Sebastian Iwanowski FH Wedel OODB 11 Slide 2 Wesentliche Eigenschaften von Hibernate Transparente Persistenz Transitive Persistenz (Persistenz
MehrNoSQL & Big Data. NoSQL Databases and Big Data. NoSQL vs SQL DBs. NoSQL DBs - Überblick. Datenorientierte Systemanalyse. Gerhard Wohlgenannt
NoSQL & Big Data Datenorientierte Systemanalyse NoSQL Databases and Big Data Gerhard Wohlgenannt Die besprochenen Systeme haben nicht den Anspruch und das Ziel DBS zu ersetzen, sondern für gewisse Anwendungsfälle
MehrNoSQL Databases and Big Data
Datenorientierte Systemanalyse NoSQL Databases and Big Data Gerhard Wohlgenannt NoSQL & Big Data Die besprochenen Systeme haben nicht den Anspruch und das Ziel DBS zu ersetzen, sondern für gewisse Anwendungsfälle
MehrVisualisierung in Informatik und Naturwissenschaften
Visualisierung in Informatik und Naturwissenschaften Datenbankvisualisierung Sven Bernhard 12.06.1999 Datenbankvisualisierung Datenbanktheorie in 5 Minuten Visualisierung vs. Datenbanken Visualisierung
MehrDatenbanken. Datenintegrität + Datenschutz. Tobias Galliat. Sommersemester 2012
Datenbanken Datenintegrität + Datenschutz Tobias Galliat Sommersemester 2012 Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus
MehrDas diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen
Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser
MehrInhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung
Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,
Mehr1. Einführung. Datenbanken Grundlagen
1. Einführung Datenbanken Grundlagen Wo finden wir Datenbanken? Was sind Datenbanken/ Datenbankensysteme(DBS)? A collection of related data items mit folgenden Eigenschaften: Eine Datebank repräsentiert
MehrObjektbasierte und objektorientierte Datenbanken
Objektbasierte und objektorientierte Datenbanken in Vorlesung DB2 von Rainer Handel, Christoph Hautzinger Volker Schropp, Robert Westhäuser 15.04.2005 Inhalt (1) Von Volker Schropp Konzepte Grundkonzepte
MehrObjektorientierte Datenbanken
Objektorientierte Datenbanken Die regelmäßige tabellen-strukturierte Form relationaler Daten impliziert eine Reihe von Vorteilen. Dies betrifft auch die Implementierung: Tabellen (und Records) lassen sich
MehrDatenbanksysteme 2015
Datenbanksysteme 2015 Kapitel 09: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen ODBC MS Visio MS Access Embedded SQL JDBC Application SQLJ
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Übung zur Vorlesung Einführung in die Informatik 2 für Ingenieure (MSE) Alexander van Renen (renen@in.tum.de)
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
MehrDatenbanken. Zusammenfassung. Datenbanksysteme
Zusammenfassung Datenbanksysteme Christian Moser Seite 1 vom 7 12.09.2002 Wichtige Begriffe Attribut Assoziation API Atomares Attribut Datenbasis DBMS Datenunabhängigkeit Datenbankmodell DDL DML DCL ER-Diagramm
Mehr4. Objektrelationales Typsystem Kollektionstypen. Nested Table
Nested Table Bei einer Nested Table handelt es sich um eine Tabelle als Attributwert. Im Gegensatz zu Varray gibt es keine Beschränkung bei der Größe. Definition erfolgt auf einem Basistyp, als Basistypen
MehrGrundlagen der Informatik 0
Technische Universität Darmstadt 01.07.2013 Grundlagen der Informatik 0 Vorlesung 0 Java ist eine Programmiersprache Ilkay Baytekin Douglas Crockford http://media.smashingmagazine.com/wp-content/uploads/2012/04/doug-crockford-image.jpg
MehrWeitere Decision-Support Anfrage- Typen
Big Data Top-k / Ranking / Skyline Semantic Web: RDF Information Retrieval PageRank / HITS Map Reduce: Massiv parallele Verarbeitung Datenströme Peer to Peer Informationssysteme No SQL Systeme Multi-Tenancy/Cloud-Datenbanken
MehrRavenDB, schnell und skalierbar
RavenDB, schnell und skalierbar Big Data & NoSQL, Aydin Mir Mohammadi bluehands GmbH & Co.mmunication KG am@bluehands.de Immer mehr Mehr Performance Mehr Menge Mehr Verfügbarkeit Skalierung http://www.flickr.com/photos/39901968@n04/4864698533/
Mehr7. Datenbankdefinitionssprachen
7. Datenbankdefinitionssprachen SQL-DDL Teil der Standardsprache für relationale Datenbanksysteme: SQL ODL (Object Definition Language) für objektorientierte Datenbanksysteme nach dem ODMG-Standard VL
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.
MehrSQL (Structured Query Language) Schemata Datentypen
2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente
MehrDatenbanken (Übung 12)
Datenbanken (Übung 12) Prof. Dr.-Ing. Norbert Fuhr Dipl.-Inform. Thomas Beckers (tbeckers@is.inf.uni-due.de) Universität Duisburg-Essen Fachgebiet Informationssysteme 1. 2. Februar 2012 Dipl.-Inform. Thomas
MehrSoziotechnische Informationssysteme
Soziotechnische Informationssysteme 8. NoSQL Relationale Datenbank NoSQL Datenbank Relationale Datenbank? NoSQL Datenbank RDBM 2 Warum? Skalierbarkeit Riesige Datenmengen Performanz und Elastizität Auslastung
MehrDatenintegrität. Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Statische vs. dynamische Integritätsbedingungen Statische Integritätsbedingungen Bedingungen
MehrDatenmodellierung VU Einführung SS 2016
184.685 Datenmodellierung VU Einführung SS 2016 Nysret Musliu, Sebastian Skritek Institut für Informationssysteme Technische Universität Wien Nysret Musliu, Sebastian Skritek Seite 1 1. Motivation Motivation
MehrSODA. Die Datenbank als Document Store. Rainer Willems. Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG
SODA Die Datenbank als Document Store Rainer Willems Master Principal Sales Consultant Oracle Deutschland B.V. & Co. KG vs No Anforderungskonflikte Agile Entwicklung Häufige Schema-Änderungen Relationales
Mehr6 Implementierung komplexer Systeme. 6.2 Datenbank-Anbindung
6 Implementierung komplexer Systeme 6.2 Datenbank-Anbindung Analyse Entwurf Implementierung Test, Integration Wartung Literatur: Balzert LE 24-26, 31 Ambler Kap. 10 Einsatz von Datenbanksystemen Persistente
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3)
Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der
MehrISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de
08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren
MehrNoSQL Andere Wege in der Speicherung von Geodaten?
NoSQL Andere Wege in der Speicherung von Geodaten? Holger Baumann, Agenda Status Quo Speicherung von Geodaten in SQL-Datenbanken Datenbanken im Web Umfeld Verteilte Datenbanken Begriff und Klassifizierung
MehrWie definieren wir das Relationen-
Wie definieren wir das Relationen- schema für eine Datenbank? Professoren PersNr Name Rang Raum 2125 Sokrates C4 226 2126 Russel C4 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134 Augustinus C3 309 2136
MehrAnfragebearbeitung. Anfrage. Übersetzer. Ausführungsplan. Laufzeitsystem. Ergebnis
Anfragebearbeitung Anfrage Übersetzer Ausführungsplan Laufzeitsystem Ergebnis Übersetzung SQL ist deklarativ, Übersetzung für Laufzeitsystem in etwas prozedurales DBMS übersetzt SQL in eine interne Darstellung
Mehr6SHLFKHUXQJYRQ5')LQ'DWHQEDQNHQ
RDF in wissenschaftlichen Bibliotheken 6SHLFKHUXQJYRQ5')LQ'DWHQEDQNHQ Um die spezielle Problematik, die RDF im Zusammenhang mit der Speicherung in Datenbanken verursacht, zu diskutieren, sollen zunächst
MehrKapitel 3: Datenbanksysteme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur : Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2009 Kapitel 3: Datenbanksysteme : PDDr. Peer
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
MehrObjektorientierte Datenbanksysteme (OODBS)
Objektorientierte Datenbanksysteme (OODBS) Motivation: siehe Postrelationale System + Kompatibilität mit OOPS OODBMS Manifesto 1989: The golden rules: Komplexe Objekte Objektidentität Datenabstraktion
MehrNoSQL-Datenbanken. Kapitel 1: Einführung. Dr. Anika Groß Sommersemester Universität Leipzig 1-1
NoSQL-Datenbanken Kapitel 1: Einführung Dr. Anika Groß Sommersemester 2017 Universität Leipzig http://dbs.uni-leipzig.de 1-1 Inhaltsverzeichnis NoSQL-Datenbanken Motivation und Definition Kategorisierung,
MehrVorlesung. Grundlagen betrieblicher Informationssysteme. Prof. Dr. Hans Czap. Email: Hans.Czap@uni-trier.de. Lehrstuhl für Wirtschaftsinformatik I
Vorlesung Grundlagen betrieblicher Informationssysteme Prof. Dr. Hans Czap Email: Hans.Czap@uni-trier.de - II - 1 - Inhalt Kap. 1 Ziele der Datenbanktheorie Kap. 2 Datenmodellierung und Datenbankentwurf
MehrDatenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken
Datenbanken Unit 9: OLAP, OLTP und objektrelationale Datenbanken 31. V. 2016 Outline 1 Organisatorisches 2 SQL 3 OLTP, OLAP, SAP, and Data Warehouse OLTP and OLAP SAP 4 Objekt-relationale Datenbanken Beispiel
MehrOR-Mapping. WS2008/2009 DBIS/Dr. Karsten Tolle
OR-Mapping Zwei Paradigmen treffen aufeinander Gegensätze OO vs. Relational: Stichwort: O/R Impedance Mismatch Person Tabellen mit Schlüssel und Fremdschlusselbeziehungen. Abt-Nr. beschäftigt Pk-Nr Name
MehrKapitel 3: Datenbanksysteme
LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2008 Kapitel 3: Datenbanksysteme Vorlesung:
MehrDatenbanken. Grundlagen
Datenbanken Grundlagen Dozent: Diana Troancă E-mail: dianat [at] cs.ubbcluj.ro Website: www.cs.ubbcluj.ro/~dianat/ Fragen und Feedback sind immer erwünscht: per e-mail oder per persönlichem Gespräch Anonymes
MehrInformatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne
Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten
MehrObjektorientierte Datenbanken
Objektorientierte Datenbanken die nächste Generation der Datenbanktechnologie? A. Kemper, G. Moerkotte Object-Oriented Database Management: Applications in Engineering and Computer Science, Prentice Hall,
MehrOracle native json Support. Erste Schritte
Oracle native json Support Erste Schritte 1 Ausgangslage Als erster Schritt erstellen wir eine Tabelle, die wir für den weiteren Verlauf brauchen werden. Die Felder Id, Created und Username sind normale
MehrO/R Mapper. O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010
O/R Mapper O/R Mapper anhand von NHibernate & Entity Framework Thomas Mentzel März 2010 Agenda Object-relational impedance mismatch Mapping Session Abfragen No. 2 Object-relational impedance mismatch Object-relational
MehrVO Datenmodellierung. Katrin Seyr
Datenintegrität Datenintegrität VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenintegrität 1. Überblick Überblick 1 Überblick 2 Integritätsbedingungen
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 8 Hausaufgabe 1 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de)
MehrDatenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann
Datenbanksysteme I Datenbankprogrammierung 15.6.2009 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,
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
MehrDatenbankprogrammierung 1
Datenbankprogrammierung 1 Die Folien basieren auf: Datenbanken: Konzepte und Sprachen, Andreas Heuer und Gunter Saake, mitp-verlag, 2. Auflage, 2000, http://wwwiti.cs.uni-magdeburg.de/biber/ Datenbanken
MehrSQL structured query language
Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query
MehrNoSQL. Prof. Dr. Ingo Claßen. Einführung. Kategorisierung von NoSQL-Systemen. Verteilung. Konsistenz. Literatur
NoSQL Prof. Dr. Ingo Claßen Hochschule für Technik und Wirtschaft Berlin Einführung Kategorisierung von NoSQL-Systemen Verteilung Konsistenz Literatur Einführung Warum NoSQL Unterstützung großer Datenmengen
MehrKlausur Objektorientierte Datenbanken SS 2004 Iwanowski
Klausur Objektorientierte Datenbanken SS 2004 Iwanowski 25.08.2004 Hinweise: Bearbeitungszeit: 60 Minuten (DI: 75 Minuten inkl. der Aufgabe zu Datenbanken 1) Erlaubte Hilfsmittel: im Anhang, sonst keine
MehrDaten Bank. 6. Vorlesung
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
MehrGarten - Daten Bank. - survival pack -
Garten - Daten Bank - survival pack - Dr. Karsten Tolle PRG2 SS 2017 Inhalt heute Kurz: Motivation und Begriffe SQL (survival pack) create table (Tabelle erzeugen) insert into (Einfügen) select (Anfragen)
MehrMedizininformatik Software Engineering
Vorlesung Software Engineering Inhaltsverzeichnis 1. Einleitung 2. Software und Medizinprodukt 3. Vorgehensmodelle 4. Strukturierter Entwurf von Echtzeitsystemen 4.1 Echzeit, was ist das? 4.2 Einführung
MehrDatenmodelle und Datenbanken 2
Datenmodelle und Datenbanken 2 Prof. N. Fuhr Institut für Informatik und Interaktive Systeme Arbeitsgruppe Informationssysteme 24. Februar 2005 Hinweise zur Bearbeitung Die Zeit läuft erst, wenn Sie alle
MehrKapitel 1: Einführung 1.1 Datenbanken?
1. Einführung 1.1. Datenbanken? Seite 1 Kapitel 1: Einführung 1.1 Datenbanken? 1. Einführung 1.1. Datenbanken? Seite 2 Willkommen! Studierenden-Datenbank Hans Eifrig hat die Matrikelnummer 1223. Seine
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
MehrObjekt-relationales Mapping und Performance-Tuning
Objekt-relationales Mapping und Performance-Tuning Thomas Krüger tkrueger@vanatec.com Agenda Wege um Daten zu lesen Wege um Daten zu modellieren Wege um Datenbanken effizient zu nutzen 2 2 Wege, Daten
MehrVorlesung Informatik II
Vorlesung Informatik II Universität Augsburg Wintersemester 2011/2012 Prof. Dr. Bernhard Bauer Folien von: Prof. Dr. Robert Lorenz Lehrprofessur für Informatik 08. Exkurs: Datenbanken 1 Motivation Datenbanksysteme
MehrDie Anweisung create table
SQL-Datendefinition Die Anweisung create table create table basisrelationenname ( spaltenname 1 wertebereich 1 [not null],... spaltenname k wertebereich k [not null]) Wirkung dieses Kommandos ist sowohl
MehrKapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 9 Embedded SQL Vorlesung Datenbanken 1 Embedded SQL (siehe auch [Date00]) Arbeitsweise ähnlich PL/SQL, allerdings: Normale Programmiersprache mit eingestreuten SQL-Befehlen und anderen Befehlen
MehrEinführung in die Informatik II
Einführung in die Informatik II Relationale Datenbanken und SQL Theorie und Anwendung Prof. Dr. Nikolaus Wulff Gründe für eine Datenbank Meist werden Daten nicht in XML-Dokumenten, sondern innerhalb einer
MehrDatenmodell Entity-Attribute-Value
Datenmodell Entity-Attribute-Value Holger Jakobs holger@jakobs.com 2017-03-22 Inhaltsverzeichnis 1 Was ist EAV? 1 2 Umsetzungsmöglichkeiten in PostgreSQL 2 2.1 Tabellenlösung.................................
MehrSQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.
SQL Lehr- und Forschungseinheit Datenbanken und Informationssysteme Ziele Grundlagen von SQL Beziehung zur relationalen Algebra SELECT, FROM, WHERE Joins ORDER BY Aggregatfunktionen Lehr- und Forschungseinheit
MehrDatenbanksysteme Kapitel 6: Neue Konzepte der Datenbanktechnologie
Datenbanksysteme Kapitel 6: Neue Konzepte der Datenbanktechnologie Prof. Dr. Peter Chamoni Mercator School of Management Lehrstuhl für Wirtschaftsinformatik, insb. Business Intelligence Prof. Dr. Peter
MehrObjektorientierte Datenbanken
Objektorientierte Datenbanken Ein Kompaß für die Praxis rsl dpunkt.verlag 1 Der Weg zur Objektorientierung bei Datenbanksystemen 1 1.1 Zum Einsatz von Datenbanksystemen 1 1.2 Was sind Objekte? 3 1.3 Eigenschaften
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)
MehrHadoop. Eine Open-Source-Implementierung von MapReduce und BigTable. von Philipp Kemkes
Hadoop Eine Open-Source-Implementierung von MapReduce und BigTable von Philipp Kemkes Hadoop Framework für skalierbare, verteilt arbeitende Software Zur Verarbeitung großer Datenmengen (Terra- bis Petabyte)
MehrWide Column Stores. Felix Bruckner Mannheim, 15.06.2012
Wide Column Stores Felix Bruckner Mannheim, 15.06.2012 Agenda Einführung Motivation Grundlagen NoSQL Grundlagen Wide Column Stores Anwendungsfälle Datenmodell Technik Wide Column Stores & Cloud Computing
MehrDatenbanken (WS 2015/2016)
Datenbanken (WS 2015/2016) Klaus Berberich (klaus.berberich@htwsaar.de) Wolfgang Braun (wolfgang.braun@htwsaar.de) 0. Organisatorisches Dozenten Klaus Berberich (klaus.berberich@htwsaar.de) Sprechstunde
MehrDatenbanken Datenbanken 1 Belegnummer Belegnummer
Datenbanken Datenbanken 1 Belegnummer 30.7302 Belegnummer 30.7312 Blockkurs 31.08. 11.09.2015 Wintersemester 2015/16 (Bachelor) Materialien zur Vorlesung Michael Roth Inge Hochschule Darmstadt Fachbereich
MehrDatenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen
Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1 Andreas Heß Hochschule Furtwangen Inhalte heute Einführung ins Entity-Relationship-Modell Einführung ins relationale Modell Umsetzung vom E/R-
Mehr10. Datenbank Design 1
1 Die Hauptaufgabe einer Datenbank besteht darin, Daten so lange zu speichern bis diese explizit überschrieben oder gelöscht werden. Also auch über das Ende (ev. sogar der Lebenszeit) einer Applikation
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
MehrEvaluation verschiedener Triple-Stores zum Speichern von Metadaten im Kontext des Forschungsdatenmanagements
Evaluation verschiedener Triple-Stores zum Speichern von Metadaten im Kontext des Forschungsdatenmanagements Sarah Bensberg - Seminarvortrag - 08.02.2017 Inhaltsverzeichnis Motivation - Forschungsdatenmanagement
MehrEinführung, Entity-Relationship Modell 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL
Einführung, Entity-Relationship Modell 9. DATENBANKSYSTEME: DAS ENTITY RELATIONSHIP MODELL 304 Literatur, Quellen Literatur: Kemper, Eickler: Datenbanksysteme: Eine Einführung. Oldenbourg Verlag, 9. Auflage,
Mehr7. XML-Datenbanksysteme und SQL/XML
7. XML-Datenbanksysteme und SQL/XML Native XML-DBS vs. XML-Erweiterungen von ORDBS Speicherung von XML-Dokumenten Speicherung von XML-Dokumenten als Ganzes Generische Dekomposition von XML-Dokumenten Schemabasierte
Mehr