Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik

Größe: px
Ab Seite anzeigen:

Download "Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik"

Transkript

1 Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik Michael Rist, M.Sc. Darina Benikova, M.A. Nikolas Gur, B.Sc. Wintersemester 2016/2017 Datum Team (Account) Passwort Aktuelle Informationen, Ansprechpartner, Materialien und Uploads unter: v1.1 1

2 Inhaltsverzeichnis 0 Block 0: Einführung in Linux 3 1 Block 1: Modellierung einer Datenbank für eine Game of Thrones-Informations-Website (10 Punkte) 4 2 Block 2: SQL mit DB2 (15 Punkte) 5 3 Block 3: Implementierung einer GoT-Informations-Website (20 Punkte) 8 A Spezikation der Website 9 A.1 Beschreibung der Mini-Welt A.2 Beschreibung der zu erstellenden Website A.2.1 Die Hauptseite A.2.2 Detailseite für Personen A.2.3 Detailseite für Tiere A.2.4 Detailseite für Häuser A.2.5 Detailseite für Orte A.2.6 Detailseite für Episoden A.2.7 Detailseite für Staeln A.2.8 Bewertungen für Detailseiten A.2.9 Komplette Listen A.2.10 Playlist A.2.11 Neue Playlist anlegen B Beschreibung der Geodatenbank 24 B.1 Auistung sämtlicher Tabellen B.2 Relationales Schema der Datenbank B.3 Darstellung von Verknüpfungen zwischen einzelnen Tabellen

3 0 Block 0: Einführung in Linux keine Abgabe 1: Einrichten der Arbeitsumgebung (0 Punkte) Bereitet zunächst Eure Arbeitsumgebung vor, so dass Ihr in den nächsten Wochen damit komfortabel arbeiten könnt. Die meisten Einstellungen können direkt über das Menü in der rechten oberen Ecke (eine Sprechblase mit Eurem Login-Namen) und dann Systemeinstellungen vorgenommen werden. Abgabe: ˆ Keine. 2: Linux-Umgebung (0 Punkte) Zur Eingewöhnung in die Arbeitsumgebung werden einige vom Praktikumsleiter vorgegebene, einfache Aufgaben bearbeitet. Am Ende der Aufgabe solltet Ihr in der Lage sein, mit der Linux-Shell Verzeichnisse zu navigieren, Verzeichnisse anzuzeigen und Dateien anzusehen. Ihr solltet wissen, wo Ihr einen Text-Editor, Dateibrowser oder Webbrowser aufrufen könnt und wie Ihr aus einer Textdatei ein PDF erzeugt. Abgabe: ˆ Keine. 3

4 1 Block 1: Modellierung einer Datenbank für eine Game of Thrones-Informations-Website (10 Punkte) Abgabe bis , 23:59 Uhr 3: Datenbank-Modellierung (6 Punkte) In diesem Semester soll eine Website für Informationen zu der Serie Game of Thrones entwickelt werden. Dazu sollte als erstes die entsprechende Datenbank modelliert werden. Im Anhang dieses Dokuments (siehe Anhang A.1 auf Seite 9) wird die generelle Funktionsweise der zu erstellenden Website vorgestellt. Es ist dringend anzuraten, vor dem Entwurf neben der Beschreibung der Miniwelt auch die vollständige Spezikation (siehe Anhang A.2 auf Seite 10) zu lesen und zu verstehen. Abgabe: ˆ ER-Diagramm 4: CREATE TABLE- und Trigger-Statements (4 Punkte) Gebt für die in Aufgabe 3 entworfene Datenbank entsprechende CREATE TABLE-Statements an, die die Datenbank-Tabellen in der DB2 anlegen. Enthalten sein sollen darin ˆ sinnvolle Integritätsbedingungen für alle Attribute ˆ ein Trigger, der bei Anlegen einer neuen Playlist automatisch alle Trailer in die Playlist hinzufügt. Also alle Episoden mit der Nummer 0. Abgabe: ˆ CREATE TABLE-Statements und Trigger-Statement als txt-datei 4

5 2 Block 2: SQL mit DB2 (15 Punkte) Abgabe bis , Uhr Für die folgenden Aufgaben steht eine Beschreibung der verwendeten Datenbank im Anhang B zur Verfügung. 5: Katalogisieren (1 Punkt) In diesem Praktikum werden wir die DB2 aus der Kommandozeile heraus ansprechen. Es gibt auch grasche, Java-basierte Werkzeuge, auf die wir jedoch hier verzichten. Die Datenbank mit der wir arbeiten werden bendet sich auf einem entfernten Rechner und muss daher in Eurem Rechner importiert werden. Macht Euch kurz mit den unterschiedlichen Modi vertraut, die in den Unterlagen beschrieben werden. Katalogisiert dann die Instanz dbmaster auf dem Rechner bijou.is.inf.uni-due.de mit Server-Port Katalogisiert die Datenbank mondial lokal unter einem Alias. Lasst Euch das Node Directory und das Database Directory anzeigen. Abgabe: ˆ Einträge für Instanz (node) und Datenbank (database) 6: Sichten (1 Punkt) (a) Erstellt eine Sicht dbpxxx 1.waters aller Gewässer (Seen und Flüsse) mit ihrem Typ (sea, river) und den Ländern, in denen sie sich benden. Die Sicht soll die drei Attribute, type und country enthalten. Dabei soll in der Name des Gewässers und in country der Name des Landes (nicht das Kürzel!) enthalten sein. (b) Erstellt aus der Tabelle borders eine Sicht, die eine symmetrische Grenzrelation enthält. D.h. zu Ländern A und B, die aneinander grenzen, soll die Tabelle zwei Tupel (A,B,Länge) und (B,A,Länge) enthalten. A und B sind dabei die Kürzel (Schlüssel) der Länder. Abgabe: ˆ SQL-Befehle 7: Verwendung von Sichten (2 Punkte) (a) Benutzt die Sicht dbpxxx.waters, um zu jedem Land die Anzahl der Gewässer auszugeben. (b) Benutzt die Sicht dbpxxx.borders, um für alle Länder die Gesamtlänge ihrer Grenzen auszugeben. Abgabe: ˆ SQL-Befehle 1 Dabei steht XXX für Eure Gruppenummer 5

6 8: SQL-Anfragen (8 Punkte) Formuliert folgende Anfragen in SQL: (a) Ermittelt zu allen Provinzen die durchschnittliche Höhe aller Berge, die in der jeweiligen Provinz liegen. (b) Ermittelt zu jedem Land die dort am häugsten vertretene Religion und gebt Landes (nicht Kürzel!), Religion und Prozentanteil der Religion aus. (c) Ermittelt alle Länder, in denen alle Hauptstädte der Provinzen des Landes an einem Fluss liegen. (d) Ermittelt alle Paare von Ländern, die die gleiche Anzahl an Nachbarländer haben, also Grenzen zu anderen Ländern. Ermittelt nur die Länderpaare die mindestens 7 Nachbarländer haben. Jedes Länderpaar soll nur einmal ausgegeben werden und keine Sichten verwendet werden. (e) Ermittelt zu jedem Land in Europa die ächenmäÿig gröÿte Insel des Landes (wenn überhaupt eine Insel existiert/vermerkt ist). Die Ausgabe soll nach Fläche der Insel sortiert werden. (f) Berechnet für jede Sprache wie viel Prozent der Weltbevölkerung diese sprechen. Tip: Wenn man zwei Ganzzahlen (Integer) durcheinander teilt, so erhält man als Ergebnis eine Ganzzahl, daher sollten die Operanden für die Berechnung von Prozentanteilen zunächst in einen anderen Datentyp gewandelt werden. Tip: Beim Aufsummieren oder Durchschnittbilden von groÿen Ganzzahlen kann es leicht zum Überlauf kommen. Daher gegebenfalls vorher in einen anderen Datentyp wandeln. (g) Angenommen die Datenbank enthält alle Städte eines Landes. Berechnet den Anteil der städtischen Bevölkerung an der Gesamtbevölkerung des jeweiligen Landes, für alle Länder in Asien. (h) Bestimme alle Sprachen, die auf jedem Kontinent in mindestens einem Land gesprochen wird. Der prozentuelle Anteil der Sprache in den Ländern spielt keine Rolle. Abgabe: ˆ SQL-Befehle 9: rekursive Anfragen (1 Punkt) (a) Ermittelt mit Hilfe einer rekursiven Anfrage die Gesamtlänge der Zufüsse und deren Zuüsse in das Kaspische Meer. Gesucht ist also eine einzige SQL-Abfrage, die die Gesamtlänge des Flussnetzes wie oben beschrieben ausgibt. Hinweis: Das Kaspische Meer ist kein Ozean/Meer. Abgabe: ˆ SQL-Befehl 6

7 10: Trigger (2 Punkte) Erstellt und füllt zunächst eine Tabelle dbpxxx.orgacount (ersetzt XXX wieder durch Eure Gruppennummer): CREATE TABLE dbpxxx.orgacount ( orga VARCHAR(20), countrycount INTEGER ) INSERT INTO dbpxxx.orgacount SELECT o.abbreviation, COUNT(m.organization) FROM organization o JOIN ismember m ON o.abbreviation=m.organization GROUP BY o.abbreviation Schreibt nun zwei Trigger mit dem Namen dbpxxx.trigger1 und dbpxxx.trigger2, die folgendes leisten: ˆ wenn neue Mitgliedschaften in die Tabelle dbpxxx.ismember eingefügt werden, soll das Attribut countrycount für entsprechenden Organisationen erhöht werden ˆ wenn Mitgliedschaften aus der Tabelle dbpxxx.ismember gelöscht werden, soll das Attribut countrycount für die entsprechenden Organisationen gesenkt werden Hinweis: Die Tabellen dbpxxx.city und dbpxxx.ismember müssen vorher aus dem Schema dbmaster in das eigene Schema kopiert werden. Abgabe: ˆ SQL-Befehle 7

8 3 Block 3: Implementierung einer GoT- Informations-Website (20 Punkte) Fertigstellung bis zum Abnahmetermin ( ) 11: Korrektur des Entwurfs (0 Punkte) Wenn Ihr die Korrekturen zu Eurem ER-Modell erhalten habt, überarbeitet Euren Entwurf und beseitigt evtl. Fehler und Probleme. Alternativ könnt Ihr auch die Musterlösung benutzen, die auf Bijou bereitgestellt wurde. Abgabe: ˆ Keine. 12: Implementierung (20 Punkte) Wenn Ihr ggf. Euer ER-Modell korrigiert habt, entwickelt eine Web-Anwendung (Website) in Java, die die beschriebenen Anforderungen (siehe Beschreibung A.2 im Anhang A) umsetzt. Die Struktur der Daten (und eventuelle Integritätsbedingungen) ist bereits aus der Beschreibung der Miniwelt (siehe Anhang A.1) bekannt. Folgende Anforderungen sind dabei zu beachten: ˆ Verwendung der DB2 2 ˆ Korrekte Verwendung von Transaktionen ˆ Schlieÿen von DB-Ressourcen an sinnvollen Stellen ˆ Verhinderung von SQL-Injection ˆ Befüllen relevanter Tabellen mit einigen Beispieldaten, um die Website testen zu können Abgabe: ˆ Keine. Die Web-Anwendung wird bei einem separaten Abnahmetermin zusammen mit den Veranstaltern vorgestellt und überprüft. Beim Abnahmetermin gibt es zwei Möglichkeiten: (a) Ihr könnt Eure Lösung abnehmen lassen, indem Ihr sie auf Eurem eigenen Laptop etc. vorführt. Dazu bringt Ihr das Gerät zum Termin mit und denkt bitte an Netzteil und/oder an genug Akkuladung. Testet die Vorführung bitte vorher. Zur Not sollte sich im Workspace Eures dbp-accounts eine Kopie Eures Endprojekts benden. (b) Ihr könnt Eure Lösung auch auf einem Rechner im Computerpool vorführen. Dazu sollte sich die Endversion Eures Projekts im Workspace Eures dbp-accounts benden. In beiden Fällen werden wir uns sowohl die Funktionalität des Programms als auch den Quellcode anschauen! Für jedes Feature, was korrekt implementiert wurde, werden Teilpunkte vergeben. Daher lohnt sich eine Anmeldung für die Abnahme in jedem Fall. 8

9 Anhang A Spezikation der Website A.1 Beschreibung der Mini-Welt ˆ Alle Figuren haben einen Namen und Herkunftsort. ˆ Alle Figuren sind entweder Personen oder Tiere. Für Personen kann der Titel und eine Biograe hinterlegt werden. ˆ Personen können einem oder mehrern Häusern angehören. (Durch Heirat etc.) ˆ Personen können in einem Zeitraum (von Episoden x... bis Episoden y) Mitglied eines Hauses sein. Eine Person die nicht mehr Mitglied eines Hauses ist kann diesem nicht wieder angehören. Zudem ist es nicht verpichtend eine Realtion zu der Tabelle Episoden zu erstellen; der Zeitraum kann als einfaches Attribut gesehen werden ohne direkte Verbindung zu einer Episode. ˆ Figuren Personen können in Beziehung zueinander Stehen z.b. Schwester, Ehemann, Feind, etc. ˆ Häuser haben einen Name, Motto, Wappen und einen Sitz (Burg). ˆ Häuser haben mehrere Orte für einen gewissen Zeitraum (von Episoden x... bis Episoden y) unter ihrer Herrschaft. ˆ Alle Burgen haben einen Namen und einen Standort. ˆ Es kann nicht sein das ein Ort der Standort für mehrere Burgen ist. ˆ Burgen können von verschiedenen Häusern als Sitz angesehen werden. ˆ Ein Herkunfts- oder Standort hat einen Namen. Es wird keine Unterscheidung gemacht zwischen einem Stand-, Herkunfts- oder Handlungsort. ˆ Jedes Tier kann maximal einen Besitzer (Person) haben. ˆ Episoden haben einen Titel, Nummer, Erstausstrahlungsdatum und eine Inhaltsangabe. ˆ Jede Episode hat Figuren, die in ihr vorkommen. ˆ Jede Episode hat Handlungsorte, die in ihr vorkommen. ˆ Jede Episode muss zu einer Stael gehören. ˆ Eine Stael hat mehrere Episoden. ˆ Jede Stael hat eine Nummer, Startdatum und Episodenanzahl. ˆ Für jede Stael gibt es einen Trailer der als Episode 0 gespeichert wird. ˆ Playlisten enthalten Episoden. ˆ Benutzer haben einen Namen, eine Login-Kennung und ein Passwort. 9

10 ˆ Benutzer können Bewertungen/Notizen schreiben zu Episoden, Staeln, Figuren und Häusern. ˆ Bewertungen enthalten einen Text und ein numerisches Rating (im Bereich von 0 bis 5). ˆ Playlisten sind an Benutzer gebunden; eine Playlist gehört genau einem Benutzer. ˆ Playlisten haben die gleiche Reihenfolge wie in den Staeln. A.2 Beschreibung der zu erstellenden Website Zu erstellen ist also eine Website für Game of Thrones-Metainformationen. In den hier aufgeführten Mockups (Wireframes) ist das Rechteck oben im jeweiligen Mockup das Seiten-Logo, das wir Euch im Eclipse-Workspace mitliefern. Hinweis: Zum Testen der Website sowie für die Abnahme, sollten einige Beispieldaten in die Tabellen eingefügt werden. An einigen Stellen im Programmcode sind DB-Transaktionen erforderlich, um eventuelle Anomalien zu vermeiden. Identiziert sinnvolle Stellen und implementiert anschlieÿend das Konzept an diesen Stellen. Die zu erstellende Website soll folgendermaÿen aufgebaut sein: A.2.1 Die Hauptseite Der Einstieg soll über die Hauptseite (siehe Abbildung 1) beginnen, die eine Übersicht über die verfügbaren Daten liefert. Bei den anzuzeigenden Playlisten handelt es sich um diejenigen, die dem aktuell angemeldeten Benutzer gehören. Aus der Beschreibung geht hervor, daÿ eine Playlist genau einem Benutzer gehört. Hinweis: Eine Anmeldefunktion (Login) ist nicht notwendig! Im Programmcode soll ein Standardbenutzer fest vorgegeben (hartkodiert) sein. Alle benutzerspezischen Lese- und Schreiboperationen auf der Datenbank (z.b. das Anlegen einer Playlist) sollen mit diesem Benutzer durchgeführt werden. Zu den Haupt-Informationstypen sollen jeweils maximal fünf gelistet werden wir schlagen vor, die letzten eingefügten Einträge aufzulisten. Ein Klick auf einen Eintrag soll zur jeweiligen Detailseite führen. Da eine Figur entweder eine Person oder Tier sein kann, sollen die Links bei einer Person auf die jeweilige Detailseite führen. Es soll möglich sein, Figuren anhand ihres Namens, Hauses und Titels suchen zu können. Dazu sollte das LIKE-Prädikat verwendet werden. Die Ergebniÿeite der Suche kann jeweils genau so dargestellt werden, wie die Liste aller entsprechenden Einträge (siehe Abbildung 1), nur, daÿ eben die angezeigten Elemente der Suche entsprechen müÿen. Um die Usability der Website zu verbeÿern, sollte auf jeder Unterseite ein Link auftauchen, der auf die Hauptseite führt. 10

11 alle max. 5 max. 5 max. 5 Figuren Figur A Tier B... Alle Häuser Name Haus 1 Name Haus 2... Alle Staffeln Titel Staffeln X Titel Staffeln Y... Alle Playlisten Titel Playliste 1 Titel Playliste 2... Titel Playliste n Neue Playlist Suchen Zur Liste aller Figuren Suchen Suchen Zur Personen- oder Tier-Seite Zur Ergebnisseite Zu den Häusern Zur Liste aller Häuser Zur Staffel Zur Liste aller Staffeln Zu "Neue Playlist" Zur Playlist Abbildung 1: Die Hauptseite 11

12 A.2.2 Detailseite für Personen Hier (siehe Abbildung 2) soll neben dem Namen, Herkunftsort und der Biographie angezeigt werden, welchem/n Haus/Häusern eine Person angegehört, welche Beziehungen sie hat und, falls vorhanden, welche Tiere zu ihr gehören. Die Verlinkungen sind angegeben. A.2.3 Detailseite für Tiere Tiere haben keine Biographie, Beziehungen oder Häuser. Es soll lediglich der Herkunftsort und der Besitzer angegeben werden 3). Der Namen des Besitzers soll auf die jeweilige Personen-Seiten verlinken. 12

13 Abbildung 2: Die Personen-Detailseite 13

14 Ghost Herkunftsort: Winterfell Zum Ort Besitzer: Ghost Zur Tierseite Abbildung 3: Die Tier-Detailseite 14

15 A.2.4 Detailseite für Häuser Auf der Haus-Detailseite (siehe Abbildung 4) sollen der Name des Hauses sowie deren Sitz angegeben werden. Darüber hinaus soll aufgelistet werden welche Personen zum Haus gehören und welche Orte im Besitz des Hauses sind. Die Verlinkungen sind angegeben. Stark Sitz: Burg(Ort) Zum Ort Personen: Arya Stark John Snow... Zur Person Besitzt: (Ort) Winterfell Hornwood... Zum Ort Abbildung 4: Die Detailseite für ein Haus 15

16 A.2.5 Detailseite für Orte Auf der Ort-Detailseite (siehe Abbildung 5) steht zu welchem Haus der Ort aktuell gehört und wenn eine Burg existiert wird diese angegeben. Des Weiteren wird aufgelistet welche Figuren dort herkommen und welche Episoden dort spielen. Winterfell aktuell in Besitz von: Stark Zum Haus Burg: Winterfell Personen: (Herkunfsort) Arya Stark Zur Person John Snow... Episoden: (Handlungsort) S01E02 Zur Episode S06E05... Abbildung 5: Die Detailseite für ein Ort 16

17 Episode (Titel - Nummer) Staffel Handlung Zur Staffel Figuren: Arya Stark Zur Person/Tier Orte: Winterfell Zum Ort Abbildung 6: Detailseite für eine Episode A.2.6 Detailseite für Episoden Die Details für eine Episode sollen aufgeführt werden wie in Abbildung 6 gezeigt wird. Neben Titel, Nummer, Stael und Handlung sollen auch die Figuren und Orte aufgelistet werden, die in dieser Episode vorkommen. A.2.7 Detailseite für Staeln Staeln (siehe Abbildung 7) haben eine Nummer und es werden alle Episoden der Stael angezeigt. Jede Episode führt zu ihrer jeweiligen Detailseite. 17

18 Staffel 1 Titel Titel Zur Episode Abbildung 7: Detailseite für eine Kollektion 18

19 A.2.8 Bewertungen für Detailseiten Benutzer können Bewertungen schreiben zu Figuren, Häusern, Staeln und Episoden. Diese bestehen aus einem numerischen Rating (im Bereich von 0 5) und einem Text. Auf den entsprechenden Detailseiten (zu Figur, Haus, Stael und Episode) soll im unteren Bereich der Seite das Bewertungÿystem eingebaut werden (siehe Abbildung 8). Ein Benutzer kann über den Button Bewerten pro Eintrag maximal eine Bewertung abgeben. Dies soll im Programmcode explizit überprüft werden. Bewertet der Benutzer einen Eintrag erneut, obwohl er diesen bereits bewertet hat, soll die alte Bewertung gelöscht und die neue Bewertung übernommen werden. Anschlieÿend soll die Detailseite aktualisiert werden. Die Durchschnittsbewertung für einen Eintrag setzt sich aus dem arithmetischen Mittel über alle Bewertungen zusammen. Darüber hinaus sollen sämtliche Bewertungen (jeweils Benutzer, Rating und Text) für diesen Eintrag angezeigt werden. A.2.9 Komplette Listen Einige Seiten (siehe Abbildungen 9) sollen alle Entitäten eines Typs auisten: alle Figuren, Häuser oder Staeln. Auch hier führen die Einträge wieder zu den entsprechenden Detailseiten. A.2.10 Playlist Eine Playlist-Seite (siehe Abbildung 10) soll die Episodem der jeweiligen Playlist auisten (sortiert anhand der Reihenfolge der Staeln). Pro Episode soll ein Link zur Detailseite der Episode angegeben werden. A.2.11 Neue Playlist anlegen Das Anlegen einer neuen Playlist (siehe Abbildung 11) ist sehr einfach gehalten: der Name soll in die Textbox eingegeben werden und nach Klick auf Anlegen soll die Liste angelegt und der Benutzer auf die (aktualisierte) Hauptseite geleitet werden. Wenn eine Playlist schon existiert, soll dieser Fehler still ignoriert werden. 19

20 Abbildung 8: Bewertungen für Detailseiten 20

21 Alle [Figuren, Häuser, Staffeln] Name Name... Zum/zur [Figur, Haus, Staffel] Abbildung 9: Auistungÿeiten 21

22 Diverse 1. S01E01 Play 2. S03E04 Play... Zur Episode Anzahl: 2 Abbildung 10: Die Detailseite für eine Playlist 22

23 Abbildung 11: Erstellen einer neuen Playlist 23

24 B Beschreibung der Geodatenbank Für die SQL-Aufgaben ist eine Beispieldatenbank mit geographischen Daten vorgegeben. Diese Datenbank mondial solltet Ihr in der ersten Woche unter einem lokalen Alias katalogisiert haben. Der relevante Ausschnitt des Schemas der Datenbank ist im Anschluss beschrieben. Ihr könnt den Aufbau der Tabellen auch direkt von der Datenbank erfragen. Die Daten der Tabellen geben teilweise kein vollständiges Bild der Welt wieder, sollen aber für unsere Zwecke genügen. B.1 Auistung sämtlicher Tabellen 24

25 The relational schema of the Mondial database Country: the countries (and similar areas) of the world with some data. : the country code: the car code capital: the of the capital province: the province where the capital belongs to area: the total area population: the population number Economy: economical information about the countries. country: the country code GDP: gross domestic product (in million $) agriculture: percentage of agriculture of the GDP service: percentage of services of the GDP industry: percentage of industry of the GDP inflation: inflation rate (per annum) Population: information about the population of the countries. country: the country code population growth: population growth rate (per annum) infant mortality: infant mortality (per thousand) Politics: political information about the countries. country: the country code independence: date of independence (if independent) wasdependent: the plotical body where the area was dependent of; usually a country (but not always). dependent: the country code where the area belongs to government: type of government Language: infomation about the languages spoken in a country country: the country code : of the languange percentage: percentage of the language in this country Religion: information about the religions in a country country: the country code : of the religion percentage: percentage of the language in this country EthnicGroup: information about the ethnic groups in a country country: the country code : of the religion percentage: percentage of the language in this country borders: informations about neighboring countries. Note that in this relation, for every pair of neighboring countries (A,B), only one tuple is given thus, the relation is not symmetric. country1: a country code country2: a country code length: length of the border between country1 and country2 Continent: Information about continents. : of the continent area: total area of the continent encompasses: information to which continents a country belongs.

26 country: the country code continent: the continent percentage: percentage, how much of the area of a country belongs to the continent City: information about cities. : the of the city country: the country code where it belongs to province: the of the province where it belongs to population: population of the city elevation: the elevation (above sea level) of the city longitude: geographic longitude latitude: geographic latitude Province: information about administrative divisions. : the of the administrative division country: the country code where it belongs to area: the total area of the province population: the population of the province capital: the of the capital capprov: the of the province where the capital belongs to note that capprov is not necessarily equal to. E.g., the municipality of Bogota (Columbia) is a province of its own, and Bogota is the capital of the surrounding province Cudinamarca. Organization: information about political and economical organizations. : the full of the organization abbreviation: its abbreviation city: the city where the headquarter is located country: the country code where the headquarter is located province: the province where the headquarter is located established: date of establishment ismember: memberships in political and economical organizations. organization: the abbreviation of the organization country: the code of the member country type: the type of membership Lake: information about lakes. : the of the lake area: the total area of the lake depth: the depth of the lake elevation: the elevation (above sea level) of the lake river: the river that flows out of the lake (may be null) type: the type of the lake, e.g., salt, caldera,... coordinates: its geographical coordinates as (longitude, latitude) Sea: information about seas. : the of the sea depth: the maximal depth of the sea River: information about rivers. : the of the river length: the length of the river river: the river where it finally flows to lake: the lake where it finally flows to 2

27 sea: the sea where it finally flows to; (note that at most one out of {river,lake,sea} can be non-null) source: the coordinates of its source sourceelevation: the elevation (above sea level) of its source mountains: the montains where its source is located estuary: the coordinates of its estuary RiverThrough: information about rivers flowing through lakes. river: the of the river lake: the lake where it flows through Mountain: information about mountains : the of the mountain mountains: the montains where the it belongs to elevation: the maximal elevation of the summit of the mountain type: the type of the mountain, e.g. volcanic, (active) volcano,... coordinates: its geographical coordinates as (longitude, latitude) Island: information about islands : the of the island islands: the group of islands where it belongs to area: the area of the island elevation: the maximal elevation of the island type: the type of the island, e.g. volcanic, coral, atoll,... coordinates: its geographical coordinates as (longitude, latitude) Desert: information about deserts. : the of the desert area: the total area of the desert coordinates: its geographical coordinates as (longitude, latitude) geo Mountain: geographical information about mountains mountain: the of the mountain country: the country code where it is located province: the province of this country Note that for a country there can be several provinces where the mountain is located in. analogous for geo island, geo desert, geo river, geo lake, geo sea. Analogously, there are also geo source and geo estuary. mergeswith: information about neighboring seas. Note that in this relation, for every pair of neighboring seas (A,B), only one tuple is given thus, the relation is not symmetric. sea1: a sea sea2: a sea located: information about cities located at rivers, lakes, and seas. city: the of the city country: the country code where the city belongs to province: the province where the city belongs to river: the river where it is located at lake: the lake where it is located at sea: the sea where it is located at Note that for a given city, there can be several lakes/seas/rivers where it is located at. locatedon: information about cities located in islands. city: the of the city 3

28 country: the country code where the city belongs to province: the province where the city belongs to island: the island it is (maybe only partially) located on Note that for a given city, there can be several islands where it is located on. islandin: information the waters where the islands are located in. island: the of the island sea: the sea where the island is located in lake: the sea where the island is located in river: the sea where the island is located in Note that an island can have coasts to several seas. MountainOnIsland: information which mountains are located in islands. mountain: the of the mountain island: the of the island Incrementally extended version: Mondial-II,

29 B.2 Relationales Schema der Datenbank 29

30 ER-Diagram of the Mondial Database Language Ethnic Grp Religion Continent City Organization Country coordinates: Province coordinates Lake Source River Estuary Sea Island Mountain Desert Mondial-II, 2012 longitude latitude capital in capital is member headq encompasses borders wasdependent territory from dependent territory from of in in in in in in at at at on on out island in island in island in has has to to to in in merges belong believe speak pop. coordinates elevation abbrev establ. type length code pop area inf.mort pop.grw governm. indep.date gdp.ind infl. gdp.serv gdp gdp.agr area percent percent percent percent pop. area area coordinates elevation depth type length elevation coordinates mountains coordinates depth mountains elevation type coordinates islands area type elevation coordinates area coordinates

31 B.3 Darstellung von Verknüpfungen zwischen einzelnen Tabellen 31

32 Referential Dependencies of the Mondial Database Organization abbreviation city country province established ismember organization type Country code capital province area population borders 1 2 length Country.code Economy GDP agriculture service industry inflation Population population growth infant mortality Politics dependent independence wasdependent government City country province population elevation longitude latitude Province area population capital capprov Continent area encompasses continent percentage City Language percentage Religion percentage City EthnicGroup percentage Transitive dependencies are omitted. Incrementally extended version: Mondial-II, 2012 geo lake lake province geo river river province geo source river province geo estuary river province geo sea sea province located city province river lake sea geo island island province locatedon city province island geo mountain mountain province Lake area depth elevation river type coordinates riverthrough river lake River river lake sea length source mountains elevation estuary Sea depth mergeswith sea1 sea2 islandin island sea Island islands area elevation type coordinates mountainonisl. island mountain Mountain mountains elevation type coordinates geo desert desert province Desert area coordinates

Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik

Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik Ioannis Karatassis, M.Sc. Henning Schumann, B.Sc. Nikolas Gur, B.Sc. Wintersemester 2015/2016

Mehr

Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik

Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik Dipl.-Inform. Vu Tran, Ioannis Karatassis, B.Sc., Matthias Brzezinksi Wintersemester 2014/2015

Mehr

Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik

Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik Praktikum zur Vorlesung Datenbanken BAI, Komedia, ISE CSCE/CE, Mathematik/Technomathematik und Lehramt Informatik Ioannis Karatassis, M.Sc. Dipl.-Inform. Vu Tran Firas Sabbah, B.Sc. Nikolas Gur, B.Sc.

Mehr

Praktikum Datenbanken

Praktikum Datenbanken Wintersemester 2017/18 Firas Sabbah M.Sc. Ioannis Karatassis M.Sc. Nikolas Gur, B.Sc. Dipl.-Inform. Vu Tran Fachgebiet Informationssysteme Universität Duisburg-Essen 20. 23.11.2017 Kommunikation Firas

Mehr

Übungen zu Datenbanken

Übungen zu Datenbanken zu WS 2016/2017 Darina Benikova M.A. Michael Rist M.Sc. 26.+27. Oktober 2016 Kommunikation & Darina Benikova, LE 426, benikova@is.inf.uni-due.de Michael Rist, LE 423, rist@is.inf.uni-due.de Regelmäßig

Mehr

Praktikum Datenbanken

Praktikum Datenbanken Wintersemester 2015/16 Ioannis Karatassis, M.Sc. Henning Schumann, B.Sc. Nikolas Gur, B.Sc. Fachgebiet Informationssysteme Universität Duisburg-Essen 16. 20.11.2015 Kommunikation Ioannis Karatassis, LE

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung

Mehr

Oracle SQL Tutorium - Wiederholung DB I -

Oracle 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

Mehr

Praktikum Datenbanken

Praktikum Datenbanken Wintersemester 2010/11 Matthias Jordan, Thomas Beckers, Markus Franitza, Jarek Gustak 22.-26.11.2010 Zum Praktikum Ablauf der heutigen Sitzung Wiederholung: Einführung in das Praktikum Praktischer Teil

Mehr

Übungen zu Datenbanken

Übungen zu Datenbanken zu WS 2013/2014 Dipl.-Inform. 23./24. Oktober 2013 Kommunikation, LF 136, mjordan@is.inf.uni-due.de, LF 136, mjordan@is.inf.uni-due.de Thomas Beckers, LF 138, tbeckers@is.inf.uni-due.de Regelmäßig Webseite

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

TU 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. 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)

Mehr

Aufgabe 1: Integrität

Aufgabe 1: Integrität Aufgabe 1: Integrität Gegeben sei das folgende Schema: Personal: (PNR, Name, Gehalt, Abt, Vorges) a) Geben Sie das CREATE TABLE Statement an, um die Tabelle Personal zu erzeugen. Folgende Integritätsbedingungen

Mehr

Datenbanken. Seminararbeit. Einführung in das wissenschaftliche Arbeiten

Datenbanken. 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....................................

Mehr

Entwicklungsumgebung für die Laborübung

Entwicklungsumgebung für die Laborübung Entwicklungsumgebung für die Laborübung VU Datenbanksysteme Wolfgang Fischl Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP

SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP SQL,Teil 1: CREATE, INSERT, UPDATE, DELETE, DROP W. Spiegel Übersicht DDL & DML Relationen definieren: CREATE Primärschlüssel setzen mit primary key Tabellen löschen: DROP Daten speichern: INSERT Daten

Mehr

Datenbank und Tabelle mit SQL erstellen

Datenbank und Tabelle mit SQL erstellen Datenbank und Tabelle mit SQL erstellen 1) Übung stat Mit dem folgenden Befehlen legt man die Datenbank stat an und in dieser die Tabelle data1 : CREATE DATABASE stat; USE stat; CREATE TABLE data1 ( `id`

Mehr

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Einführung in SQL insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle Quelle Wikipedia, 3.9.2015 SQL zur Kommunikation mit dem DBMS SQL ist

Mehr

Übungen zu Datenbanken

Übungen zu Datenbanken zu WS 2014/2015 Dipl.-Inform. 16. Oktober 2014 Kommunikation &, LF 139, vtran@is.inf.uni-due.de Regelmäßig Webseite besuchen! http://www.is.inf.uni-due.de/courses/db_ws14/ Kommunikation Korrektur der Übungsabgaben

Mehr

TU 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. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 10 Übung zur Vorlesung Grundlagen: Datenbanken im WS16/17 Harald Lang, Linnea Passing (gdb@in.tum.de)

Mehr

TU 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. 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)

Mehr

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

Mehr

Wiederholung VU Datenmodellierung

Wiederholung VU Datenmodellierung Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester

Mehr

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Introduction to Data and Knowledge Engineering. 6. Übung SQL Introduction to Data and Knowledge Engineering 6. Übung SQL Aufgabe 6.1 Datenbank-Schema Buch PK FK Autor PK FK ISBN Titel Preis x ID Vorname Nachname x BuchAutor ISBN ID PK x x FK Buch.ISBN Autor.ID FB

Mehr

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.

Datenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten. Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme

Mehr

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage Zusammenfassung Dieses Dokument beschreibt die Unterschiede zwischen CHAR und VARCHAR Datentyp sowie die Behandlung im SQL Michael Tiefenbacher

Mehr

Prüfung Informatik für Ökonomen II. 14. Januar Teil 1: Datenbanktechnik Musterlösungen

Prüfung Informatik für Ökonomen II. 14. Januar Teil 1: Datenbanktechnik Musterlösungen Name Vorname Matrikelnummer DB Prüfung Informatik für Ökonomen II 14. Januar 2009 Teil 1: Datenbanktechnik Musterlösungen Bitte freilassen! 1.1 1.2 1.3 Summe Aufgabe 1.1 Gegenstand-Beziehungs-Modell (Total:

Mehr

A Datenbanken. A.1 Firebird. A.1.1 Installation des Servers. A.1.2 Installation der Beispieldatenbanken. Datenbanken 1

A Datenbanken. A.1 Firebird. A.1.1 Installation des Servers. A.1.2 Installation der Beispieldatenbanken. Datenbanken 1 Datenbanken 1 A Datenbanken A.1 Firebird Firebird ist als Datenbank konzipiert, die hauptsächlich in andere Anwendungsprogramme integriert wird. Die hier verwendete Oberfläche ist also eher untypisch für

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbanken 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,

Mehr

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

Nachtrag: 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

Mehr

Relationales Datenbankpraktikum 2016ss

Relationales Datenbankpraktikum 2016ss Relationales Datenbankpraktikum 2016ss 3 Teile 1) Datenbankentwurf, Datenimport 2) Formulierung von SQL-Anfragen V. Christen, Dr. A. Groß, M. Junghanns, Z. Sehili 3) Entwicklung einer Middleware für eine

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger

Mehr

How to create a Gift Certificate Wie man ein Gift Certificate (Gutschein) erstellt

How to create a Gift Certificate Wie man ein Gift Certificate (Gutschein) erstellt 1) Login www.lopoca.com Username, Password 2) Click My Finances Gift Certificates Summary: Overview of your Gift Certificates Übersicht Ihrer Gift Certificates Create new: Create new Gift Certificate Neues

Mehr

Probeklausur mit Musterlösung

Probeklausur mit Musterlösung Carl-Schurz-Schule 07.03.2012 Informatik, Q2 Victor Hahn Probeklausur mit Musterlösung Ihr Name: Maximal erreichbare Anzahl Verrechnungspunkte (VP): 64 Einziges zugelassenes Hilfsmittel: Ein Blatt DIN

Mehr

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

SQL. SQL: Structured Query Language. Früherer Name: SEQUEL. Standardisierte Anfragesprache für relationale DBMS: SQL-89, SQL-92, SQL-99

SQL. 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:

Mehr

SQL structured query language

SQL 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

Mehr

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie

Inhaltsverzeichnis. Inhalt. 1 Einführung in die Datenbanktechnologie 3 Inhaltsverzeichnis 1 Einführung in die Datenbanktechnologie 1.1 Einleitung... 8 1.1.1 Zielsetzung... 8 1.1.2 Aufbau des Studienbuches... 9 1.1.3 Abgrenzung... 10 1.2 Grundbegriffe... 10 1.3 Datenbanksysteme...

Mehr

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar

SQL 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-

Mehr

SAP HANA Multitenant Database Container

SAP HANA Multitenant Database Container Stefan Kühnlein, Holger Seubert SAP HANA Multitenant Database Container Zusatzinformationen zu»native Anwendungsentwicklung mit SAP HANA«Rheinwerk Verlag GmbH, Bonn 2016 ISBN 978-3-8362-3867-0 Kapitel

Mehr

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS 2015. Metadaten Fakultät für Informatik & Wirtschaftsinformatik Metadaten Metadaten sind Daten über Daten Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär-

Mehr

Übung 1: SQL. Übungen finden bei Bedarf anstelle der Vorlesungen statt Fragen? sautter@ira.uka.de. Vorlesung Datenbankeinsatz WS 04/05 IPD

Übung 1: SQL. Übungen finden bei Bedarf anstelle der Vorlesungen statt Fragen? sautter@ira.uka.de. Vorlesung Datenbankeinsatz WS 04/05 IPD Übungen finden bei Bedarf anstelle der Vorlesungen statt Fragen? sautter@ira.uka.de Fragen aus der Vorlesung Wie sieht eine äquivalente Anfrage zu select Titel from Bücher where ISBN in (select ISBN from

Mehr

Handbuch oasebw Seite 1 von 11

Handbuch oasebw Seite 1 von 11 Seite 1 von 11 Seite 2 von 11 Inhaltsverzeichnis BESCHREIBUNG 4 STARTSEITE 5 ANTRAG ZUR JUGENDERHOLUNG FÜR FINANZIELL SCHWÄCHER GESTELLTE (A1) 5 REGISTRIEREN 5 ANMELDEN 5 PASSWORT VERGESSEN 5 VORLAGEN

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN 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.

Mehr

PostgreSQL unter Debian Linux

PostgreSQL unter Debian Linux Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...

Mehr

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.

Hochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt. Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 2. Juli 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Visualisierung in Informatik und Naturwissenschaften

Visualisierung in Informatik und Naturwissenschaften Visualisierung in Informatik und Naturwissenschaften Datenbankvisualisierung Sven Bernhard 12.06.1999 Datenbankvisualisierung Datenbanktheorie in 5 Minuten Visualisierung vs. Datenbanken Visualisierung

Mehr

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

Exercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part II) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

Inhaltsverzeichnis. Vorwort... 11

Inhaltsverzeichnis. Vorwort... 11 Vorwort.................................................. 11 1 Das Problem mit dem Problem.............................. 13 1.1 SQL Die Sprache des Orakels.............................. 14 1.2 Die ersten

Mehr

Isolationsstufen für Transaktionen. Dr. Karsten Tolle

Isolationsstufen für Transaktionen. Dr. Karsten Tolle Isolationsstufen für Transaktionen Dr. Karsten Tolle Probleme bei Transaktionen Gewährleistung der Isolation Sperren kein Lost Update Read 1 (Accounts[13]) Read 2 (Accounts[13]) Write 2 (Accounts[13],101.000)

Mehr

MySQL Queries on "Nmap Results"

MySQL Queries on Nmap Results MySQL Queries on "Nmap Results" SQL Abfragen auf Nmap Ergebnisse Ivan Bütler 31. August 2009 Wer den Portscanner "NMAP" häufig benutzt weiss, dass die Auswertung von grossen Scans mit vielen C- oder sogar

Mehr

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis Daniel Warner SQL Das Praxisbuch Mit 119 Abbildungen Franzis Inhaltsverzeichnis Teil I - Einleitung 15 1 Einleitung 17 1.1 Zum Aufbau des Buchs 17 1.2 Hinweise zur Buch-CD 18 1.3 Typografische Konventionen

Mehr

Praktikum zur Vorlesung Datenbanken BAI und ISE

Praktikum zur Vorlesung Datenbanken BAI und ISE Praktikum zur Vorlesung Datenbanken BAI und ISE Dipl.-Inform. Matthias Jordan Dipl.-Inform. Thomas Beckers Ioannis Karatassis Jens Landmann Wintersemester 2011/2012 Datum Team (Account) Passwort Aktuelle

Mehr

Kommunikation und Datenhaltung. Übungsblatt D1. (Relationale Algebra & SQL)

Kommunikation und Datenhaltung. Übungsblatt D1. (Relationale Algebra & SQL) Kommunikation und Datenhaltung Übungsblatt D1 (Relationale Algebra & SQL) Ausgabe: 18.05.2009 Besprechung: 25.05.2009 Alle Aufgaben auf diesem Übungsblatt beziehen sich auf ein leicht abgewandeltes Datenbankschema

Mehr

6.2 Datenbanken SQL - Einführung

6.2 Datenbanken SQL - Einführung Fakultät Informatik Institut Systemarchitektur Professur Rechnernetze WS 2012 LV Informatik-I für Verkehrsingenieure 6.2 Datenbanken SQL - Einführung Dr. rer.nat. D. Gütter Mail: WWW: Dietbert.Guetter@tu-dresden.de

Mehr

Oracle 10g Einführung

Oracle 10g Einführung Kurs Oracle 10g Einführung Teil 5 Einführung Timo Meyer Administration von Oracle-Datenbanken Timo Meyer Sommersemester 2006 Seite 1 von 16 Seite 1 von 16 Agenda 1 Tabellen und Views erstellen 2 Indizes

Mehr

How to access licensed products from providers who are already operating productively in. General Information... 2. Shibboleth login...

How to access licensed products from providers who are already operating productively in. General Information... 2. Shibboleth login... Shibboleth Tutorial How to access licensed products from providers who are already operating productively in the SWITCHaai federation. General Information... 2 Shibboleth login... 2 Separate registration

Mehr

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo. Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten

Mehr

Datenmodelle und Datenbanken 2

Datenmodelle 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

Mehr

MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5)

MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5) MaxDB Einführung in die Installation und Nutzung von MaxDB (Version 7.5.0.5) Hinweise: Diese Installation bezieht sich auf die Version 7.5.0.5, bei Nachfolgern kann sich einiges ändern Herunter geladen

Mehr

Ablauf des Praktikums

Ablauf des Praktikums Raum: LF 230 Bearbeitung: 08.-11 Mai 2006 Datum Team (Account) Passwort Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss06/index.html

Mehr

Abbildung 6-8: Abfolge beim doppelten Abschicken von Formularen

Abbildung 6-8: Abfolge beim doppelten Abschicken von Formularen HACK #55 Hack Doppeltes Abschicken von Formularen verhindern Durch die Verwendung einer Transaktionstabelle in Ihrer Datenbank können Sie das klassische Problem der doppelt abgeschickten Formulare verhindern.

Mehr

Erstellen und Verwalten von Tabellen

Erstellen und Verwalten von Tabellen Erstellen und Verwalten von Tabellen Als nächstes müssen die Tabellen der Datenbank Personalwesen erzeugt werden. Die Syntax dazu lautet: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(TABELLENDEFINITION,

Mehr

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP.

Datenbank - Teil 3. Ziele: Eine Datenbank anlegen mit SQL. Daten eingeben mit SQL. Abfragen stellen mit SQL und PHP. Ziele: Eine Datenbank anlegen mit SQL Daten eingeben mit SQL Abfragen stellen mit SQL und PHP 1 Datenbankserver Entwickelt von der schwedischen Aktiengesellschaft MySQL Unter GNU General Public License

Mehr

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT 1 Metadaten a) Wozu werden Metadaten im Umfeld von DBMS benötigt? b) Nennen Sie mindestens zwei weitere Anwendungsfelder, in denen Metadaten zum Einsatz kommen.

Mehr

Fachbereich Informatik Praktikum 1

Fachbereich Informatik Praktikum 1 Hochschule Darmstadt DATA WAREHOUSE SS2015 Fachbereich Informatik Praktikum 1 Prof. Dr. S. Karczewski Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 14.April.2015 1. Kurzbeschreibung In diesem Praktikum geht

Mehr

Customizing Datensicht erstellen. Erweiterung der Baumstruktur um eigene Sichten

Customizing Datensicht erstellen. Erweiterung der Baumstruktur um eigene Sichten Customizing Datensicht erstellen Erweiterung der Baumstruktur um eigene Sichten TITEL Customizing Datensicht erstellen AUTOR Docusnap Consulting DATUM 26.04.2017 Die Weitergabe, sowie Vervielfältigung

Mehr

Aufbau und Bestandteile von Formularen. Oracle Forms. Erstellen eines neuen Blocks (1) Starten von Oracle Forms

Aufbau und Bestandteile von Formularen. Oracle Forms. Erstellen eines neuen Blocks (1) Starten von Oracle Forms Oracle Forms Oracle Forms ist eine Applikation für den Entwurf und die Erstellung Forms-basierender Anwendungen. Diese Forms umfassen Dateneingabe-Formulare Datenabfrage-Formulare Browser-Formulare Oracle

Mehr

5.8 Bibliotheken für PostgreSQL

5.8 Bibliotheken für PostgreSQL 5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9

Mehr

Microsoft Access 2010 SQL nutzen

Microsoft Access 2010 SQL nutzen Microsoft Access 2010 SQL nutzen Welche Bestellungen hat Kunde x aufgegeben? Welche Kunden haben noch nie bestellt? Wer hat welche Bestellungen von welchen Kunden aufgenommen? S(tructured)Q(uery)L(anguage)

Mehr

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe

Datenbanken erstellen Liste von Datenbanken anzeigen Datenbanken löschen. MySQL 4, 5. Kapitel 06: Datenbanken. Marcel Noe MySQL 4, 5 Kapitel 06: Datenbanken Gliederung 1 Datenbanken erstellen 2 3 Datenbanken erstellen CREATE DATABASE erstellt. Optional kann der Parameter IF NOT EXISTS die Datenbank bereits existiert.

Mehr

Übung PL/SQL Trigger Lösungen

Übung PL/SQL Trigger Lösungen Übung PL/SQL Trigger Lösungen 1) Gebe das aktuelle Datum aus. Wofür steht dual? Ändere das Datum für Deine aktuelle Session auf das Format Jahr (4 Stellen) Monat (2 Stellen) Tag (2 Stellen)[Leerzeichen]Stunde

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Datumsangaben, enthält mindestens Jahr, Monat, Tag Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice

Mehr

Semantic Web. RDF, RDFS, OWL, and Ontology Engineering. F. Abel, N. Henze, and D. Krause 17.12.2009. IVS Semantic Web Group

Semantic Web. RDF, RDFS, OWL, and Ontology Engineering. F. Abel, N. Henze, and D. Krause 17.12.2009. IVS Semantic Web Group Semantic Web RDF, RDFS, OWL, and Ontology Engineering F. Abel, N. Henze, and D. Krause IVS Semantic Web Group 17.12.2009 Exercise 1: RDFS OWL Erstellen Sie mit Hilfe von RDF Schema und OWL eine Ontologie

Mehr

Dr. Christian Senger DB & IS II, SS15 09.05.2015

Dr. Christian Senger DB & IS II, SS15 09.05.2015 Übung MVC Dr. Christian Senger DB & IS II, SS15 09.05.2015 0) Allgemeine Hinweise: In den folgenden Lektionen soll die Realisierung einer objektrelationalen Abbildungsschicht gezeigt werden. Die Realisierung

Mehr

Dynamischer Listengenerator für FDISK

Dynamischer Listengenerator für FDISK Dynamischer Listengenerator für FDISK Kurzanleitung Version 1.0 vom 05.12.2016 Florianistraße 22 A-8403 Lebring www.lfv.steiermark.at post@lfv.steiermark.at Inhalt 1. Einleitung... 3 2. Einstieg... 3 2.

Mehr

Datenbanken Wintersemester 11/12. Prof. Dr. W. May

Datenbanken Wintersemester 11/12. Prof. Dr. W. May AG Datenbanken und Informationssysteme Institut für Informatik Universität Göttingen Datenbanken Wintersemester 11/12 Prof. Dr. W. May 3. Übungsblatt: SQL Besprechung voraussichtlich am 20/21.12.2011 Aufgabe

Mehr

Vorlesung Datenbank-Entwurf Klausur

Vorlesung Datenbank-Entwurf Klausur Dr. Stefan Brass 3. Juli 2002 Institut für Informatik Universität Giessen Vorlesung Datenbank-Entwurf Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

MySQL 101 Wie man einen MySQL-Server am besten absichert

MySQL 101 Wie man einen MySQL-Server am besten absichert MySQL 101 Wie man einen MySQL-Server am besten absichert Simon Bailey simon.bailey@uibk.ac.at Version 1.1 23. Februar 2003 Change History 21. Jänner 2003: Version 1.0 23. Februar 2002: Version 1.1 Diverse

Mehr

Inventarisierung von Exchange Alternativen für die Exchange-Inventarisierung

Inventarisierung von Exchange Alternativen für die Exchange-Inventarisierung Inventarisierung von Exchange Alternativen für die Exchange-Inventarisierung www.docusnap.com TITEL Inventarisierung von Exchange AUTOR Mohr Carsten DATUM 28.10.2015 VERSION 1.0 Die Weitergabe, sowie Vervielfältigung

Mehr

Quick Start Anleitung

Quick Start Anleitung Quick Start Anleitung SuperOffice Pocket CRM wurde komplett überarbeitet und verfügt über viele neue Funktionen im Vergleich zur Vorgängerversion. Um Ihnen den Start zu vereinfachen, haben wir diese kurze

Mehr

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

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

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13 Auf einen Blick Vorwort... 13 Teil 1 Vorbereitung Kapitel 1 Einleitung... 17 Kapitel 2 SQL der Standard relationaler Datenbanken... 21 Kapitel 3 Die Beispieldatenbanken... 39 Teil 2 Abfrage und Bearbeitung

Mehr

FEBE Die Frontend-Backend-Lösung für Excel

FEBE Die Frontend-Backend-Lösung für Excel FEBE Die Frontend--Lösung für FEBE Die Frontend--Lösung für FEBE.pptx 8.04.206 0:43 FEBE Die Frontend--Lösung für Nutzer A alle_aufträge neuer_auftrag Auftragsänderung Nutzer B alle_aufträge neuer_auftrag

Mehr

Datenbanken. Geografische Koordinaten können in folgender Form als komplexes Attribut modelliert werden:

Datenbanken. Geografische Koordinaten können in folgender Form als komplexes Attribut modelliert werden: 11. ufgabenblatt 1. ufgabe Geografische Koordinaten können in folgender Form als komplexes ttribut modelliert werden: create type geokoord as object (laengengrad number, breitengrad number); / Dieses komplexe

Mehr

Kurzanleitung. Zeiterfassung. Version Datum 01/2017 Log. Adatis GmbH & Co. KG Seite 1 von 7

Kurzanleitung. Zeiterfassung. Version Datum 01/2017 Log. Adatis GmbH & Co. KG Seite 1 von 7 Kurzanleitung Zeiterfassung Version 1.000 Autor Sandra Gilge Datum 01/2017 Log Adatis GmbH & Co. KG Seite 1 von 7 Inhaltsverzeichnis 1. Einleitung 3 2. Mitarbeiter anlegen 3 3. Zeiterfassung aktivieren

Mehr

Die SQL-Schnittstelle

Die SQL-Schnittstelle Die SQL-Schnittstelle Merlin 19 Version: 19.0 Stand: 01.03.2016 Angerland-Data Gesellschaft für Baudatentechnik mbh Am Gierath 28, 40885 Ratingen DEUTSCHLAND Internet: www.angerland-data.de Inhalt Die

Mehr

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15 Vorwort..................................................... 13 Kapitel 1 Einleitung.......................................... 15 Kapitel 2 SQL der Standard relationaler Datenbanken... 19 2.1 Die Geschichte................................

Mehr

Java Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.

Java 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

Mehr

Info für Lehrkräfte. Vorbereitung auf den Kurs: < Datenbanken />

Info für Lehrkräfte. Vorbereitung auf den Kurs: < Datenbanken /> Info für Lehrkräfte Vorbereitung auf den Kurs: < Datenbanken /> < Überblick /> Liebe Lehrkräfte, wir möchten Sie gern auf den Kurs vorbereiten und haben die wichtigsten Informationen nachfolgend für Sie

Mehr

PostgreSQL auf Debian System

PostgreSQL auf Debian System PostgreSQL auf Debian System Inhaltsverzeichnis 1. Installation 1.1 Installation 1.2 Mit postgres anmelden 2. Benutzer anlegen 3. Datenbank anlegen 3.1 Optionen 3.2 Datenbank mydatabase anlegen 4. Datenbank

Mehr

Kapitel 9. Embedded SQL. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1

Kapitel 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

Mehr

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13 Auf einen Blick Vorwort 13 Teil 1 Vorbereitung Kapitel 1 Einleitung 17 Kapitel 2 SQL - der Standard relationaler Datenbanken 21 Kapitel 3 Die Beispieldatenbanken 39 Teil 2 Abfrage und Bearbeitung Kapitel

Mehr

Sonstige Assets. Assets über T-SQL Abfragen anlegen

Sonstige Assets. Assets über T-SQL Abfragen anlegen Sonstige Assets Assets über T-SQL Abfragen anlegen TITEL Sonstige Assets AUTOR Docusnap Consulting DATUM 06.10.2017 VERSION 1.0 Die Weitergabe, sowie Vervielfältigung dieser Unterlage, auch von Teilen,

Mehr

Die SQL-Schnittstelle

Die SQL-Schnittstelle Die SQL-Schnittstelle Merlin 16 Version 16.0 vom 09.10.2012 Inhalt Die SQL-Export-Schnittstelle... 4 Der Menüpunkt Abfrage durchführen... 4 Beschreibung Fenster Abfrage durchführen... 4 Schaltflächen Fenster

Mehr

Datenorientierte Systemanalyse. 07/05/2013 Axel Polleres

Datenorientierte Systemanalyse. 07/05/2013 Axel Polleres Datenorientierte Systemanalyse 07/05/2013 Axel Polleres Datenorientierte Systemanalyse/ Datenanalyse Stundenwiederholung Linux: Verzeichnisse & Dateien anlegen, loeschen, verschieben? Eine einfache Webseite

Mehr

Datenbanken Unit 3: Das relationale Modell

Datenbanken Unit 3: Das relationale Modell Datenbanken Unit 3: Das relationale Modell 7. III. 2017 Outline 1 SQL 2 Das ER Modell Zusammenfassung 3 Das Relationale Modell Termin zweiter Zwischentest UE-Tests (Thema: SQL) zweiter Zwischentest findet

Mehr