7. Übung - Datenbanken



Ähnliche Dokumente
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Michaela Weiss 01. April Lerneinheit 4: Relationale Datenbanken am Beispiel von MySQL

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Informatik 12 Datenbanken SQL-Einführung

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Datenbanken I - Übung 1

Tag 4 Inhaltsverzeichnis

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

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

SQL - Übungen Bearbeitung der Datenbank Personal (1)

Tag 4 Inhaltsverzeichnis

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

3. Übung. Einführung MS Access. TU Dresden - Institut für Bauinformatik Folie-Nr.: 1

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

Normalformen. Datenmodellierung, Datenbanksysteme. Ingo Claÿen, Martin Kempa, Peter Morcinek. Hochschule für Technik und Wirtschaft Berlin

Datenbanken: Relationales Datenbankmodell RDM

Probeklausur im Modul Informationstechnik 1, WS 2003/04. Studiengang IWD 1. Semester Seite 1 von 5

Ein Beispiel: Tabelle DICHTER

Aufgaben zur fachwissenschaftlichen Prüfung Modul 3 Daten erfassen, ordnen, verarbeiten und austauschen: Schwerpunkt Datenbanken

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

Relationale Datenbanken Datenbankgrundlagen

Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage

Sie sollen eine Datenbank für Befragungen mittels Online-Fragebögen zu unterschiedlichen Themen erstellen:

Fachhochschule Deggendorf Platzziffer:...

Ein Ausflug zu ACCESS

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Was meinen die Leute eigentlich mit: Grexit?

DV-Organisation und Anwendungsentwicklung. 4. Klausur

WS 2002/03. Prof. Dr. Rainer Manthey. Institut für Informatik III Universität Bonn. Informationssysteme. Kapitel 1. Informationssysteme

Fachbereich Wirtschaftswissenschaften Campus Sankt Augustin

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Professionelle Seminare im Bereich MS-Office

3. Neuen Newsbeitrag erstellen Klicken Sie auf das Datensatzsymbol mit dem +, damit Sie einen neuen Newsbeitrag erstellen können.

Ein Schlüssel ist eine Menge von Attributen (also eines oder mehrere), die eine Datenzeile (Tupel) einer Tabelle eindeutig identifiziert

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

VPN-Verbindung zur Hochschule Hof Mac OS

Datenbanken. Ein DBS besteht aus zwei Teilen:

How-to: Webserver NAT. Securepoint Security System Version 2007nx

SharePoint Demonstration

ACCESS das Datenbankprogramm. (Einführung) DI (FH) Levent Öztürk

Software-Engineering Einführung

Einführung Datenbanken: Normalisierung

Österreichische Trachtenjugend

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Nicht über uns ohne uns

Klausur zur Vorlesung Datenbanken I im Wintersemester 2011/12

DB2 Kurzeinführung (Windows)

Allgemeines zu Datenbanken

Schlüssel bei temporalen Daten im relationalen Modell

Praktikum Datenbanken. 1. Erstellen Sie eine Abfrage, die die gesamte Tabelle PC ausgibt

Abfragen: Grundbausteine

Übungsblatt 4. Aufgabe 7: Datensicht Fachkonzept (Klausur SS 2002, 1. Termin)

Datenbanken. Prof. Dr. Bernhard Schiefer.

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

SEMINAR Modifikation für die Nutzung des Community Builders

IT-Unternehmensarchitektur Übung 01: IT-Strategie

SWOT Analyse zur Unterstützung des Projektmonitorings

CVR Seniorentreff vom 04. und Serienbriefe/Seriendruck. Serienbriefe / Seriendruck

Erstellen und Bearbeiten von Inhalten (Assets)

Anleitung OpenCms 8 Webformular Auswertung

Programmieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler

Relationale Datenbanken in der Praxis

Schulberichtssystem. Inhaltsverzeichnis

Oracle SQL Tutorium - Wiederholung DB I -

Kapitel 06 Normalisierung von Relationen. 6 Die Normalisierung von Relationen

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

RFID Lösungen Fragebogen über Ihr RFID Projekt

Data Cube. Aggregation in SQL. Beispiel: Autoverkäufe. On-line Analytical Processing (OLAP) 1. Einführung. 2. Aggregation in SQL, GROUP BY

TECHNISCHE UNIVERSITÄT DRESDEN Fakultät Wirtschaftswissenschaften Prof. Dr. W. Esswein Lehrstuhl Wirtschaftsinformatik, insbesondere Systementwicklung

Bedienungsanleitung. Matthias Haasler. Version 0.4. für die Arbeit mit der Gemeinde-Homepage der Paulus-Kirchengemeinde Tempelhof

Typo3 - Inhalte. 1. Gestaltung des Inhaltsbereichs. 2. Seitenunterteilung einfügen

Einführung in Datenbanksysteme. H. Wünsch

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Mit dem Tool Stundenverwaltung von Hanno Kniebel erhalten Sie die Möglichkeit zur effizienten Verwaltung von Montagezeiten Ihrer Mitarbeiter.

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Netzwerkeinstellungen unter Mac OS X

Datenbanken Microsoft Access 2010

Vorlesung Dokumentation und Datenbanken Klausur

Referenzielle Integrität SQL

SQL structured query language

Typo3: Nachrichten verfassen

Business Intelligence Praktikum 1

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Institut für Informatik

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Navigationsübungen in Microsoft Access

Definition Informationssystem

Business Intelligence Praktikum 1

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Transkript:

7. Übung - Datenbanken Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen 1. Aufgabe: DBS a Was ist die Kernaufgabe von Datenbanksystemen? b Beschreiben Sie kurz die Abstraktionsebenen der 3-Schema-Architektur. c Aus welchen Komponenten besteht ein Datenbanksystem? Was sind ihre Aufgaben? a Datenbanksysteme dienen dazu, große Datenmengen effizient, widerspruchsfrei und dauerhaft zu speichern und zu verwalten. b interne Ebene: Beschreibung der physischen Abspeicherung der Daten konzeptuelle Ebene: Beschreibung der Strukturierung der Daten in der Datenbank (z.b. Tabellen) externe Ebene: Definition von Sichten für externe Nutzer und Anwendungen c Ein Datenbanksystem (DBS) besteht aus einem Datenbankmanagementsystem (DBMS) und der eigentlichen Datenbank (bzw. mehreren Datenbanken). In der Datenbank sind die Daten sowie Metainformationen persistent gespeichert. Das DBMS umfasst alle Programme zur Erzeugung, Verwaltung und Manipulation einer Datenbank. Es behandelt die Anfragen an das System, wie das Auslesen von Datensätzen und das Einfügen neuer Daten, erstellt verschiedene Sichten für unterschiedliche Aufgaben und kümmert sich um die Konsistenz der Daten innerhalb der Datenbank. 2. Aufgabe: Schlüssel Was sind Schlüssel? Welche Arten gibt es? Schlüsselarten jeweils ein geeignetes Beispiel. Überlegen Sie sich für die verschiedenen Ein Schlüssel dient in der Datenbank dazu, Datensätze in einer Tabelle eindeutig zu identifizieren. Primärschlüssel Der Primärschlüssel dient der eindeutigen Identifikation eines Datensatzes und besteht aus möglichst wenigen Attributen. Benutzt man beispielsweise den Namen und das Geburtsdatum einer Person als Primärschlüssel, würde man hier annehmen, dass es keine zwei Personen gibt, bei denen diese Daten übereinstimmen. Um Eindeutigkeit zu gewährleisten, wird oft auch ein künstliches neues Attribut eingeführt (Surrogatschlüssel, z.b. Personennummer). 1

Sekundärschlüssel dienen dazu, die Suche nach weiteren Attributen effizienter zu machen (Index). So könnte man in einer Personendatenbank das Geburtsjahr als Sekundärschlüssel einführen. Fremdschlüssel Ein Fremdschlüssel verweist auf den Primärschlüssel in einer anderen Tabelle. So kann man zum Beispiel eine Tabelle mit Studenten anlegen und den Schlüssel ID einführen. In einer weiteren Tabelle zur Verwaltung von Prüfungsanmeldungen könnte das Attribut ID als Fremdschlüssel verwendet werden. 3. Aufgabe: Normalformen a Was sind die drei Normalformen für Relationen? b Überführen Sie die Tabelle nacheinander in die drei Normalformen! (Annahmen: n:m- Beziehung zwischen Mitarbeitern und Aufträgen; pro Abteilung gibt es ein Faxgerät.) Benennen Sie jeweils die vorhandenen Schlüssel! ID Name Vorname Abteilung Fax Aufträge 123456 Müller Martin A01 3765 1255, 7543 387645 Schmidt Jana A03 8865 8966 723999 Schulze Stephan A01 3765 3378, 1255 a 1. Normalform (1NF) Alle Attribute sind atomar. 2. Normalform (2NF) Die Relation befindet sich in 1NF und alle Nichtschlüsselattribute sind voll funktional abhängig vom Primärschlüssel. 3. Normalform (3NF) Die Relation befindet sich in 2NF und Nichtschlüsselattribut ist transitiv vom Primärschlüssel abhängig. b Primärschlüssel: ID; 1NF verletzt, denn das Attribut Aufträge enthält nicht nur atomare Inhalte Umformung: pro Wert eine Zeile (neuer Primärschlüssel notwendig, z.b. ID+Auftrag) 2

Tabelle in 1NF: ID Name Vorname Abteilung Fax Auftrag 123456 Müller Martin A01 3765 1255 123456 Müller Martin A01 3765 7543 387645 Schmidt Jana A03 8865 8966 723999 Schulze Stephan A01 3765 3378 723999 Schulze Stephan A01 3765 1255 2NF verletzt, denn die Attribute Name, Vorname, Abteilung und Fax hängen nur von der ID ab Aufspaltung in zwei Tabellen Tabelle 1 (Primarschlüssel: ID): ID Name Vorname Abteilung Fax 123456 Müller Martin A01 3765 387645 Schmidt Jana A03 8865 723999 Schulze Stephan A01 3765 Tabelle 2 (Primärschlüssel: Auftrag+ID, Fremdschlüssel: ID): Auftrag ID 1255 123456 7543 123456 8966 387645 3378 723999 1255 723999 3NF bei Tabelle 1 verletzt, denn die Faxnummer hängt nur von der Abteilung ab Aufspaltung in zwei Tabellen Tabelle 1 (Primarschlüssel: ID, Fremdschlüssel: Abteilung): ID Name Vorname Abteilung 123456 Müller Martin A01 387645 Schmidt Jana A03 723999 Schulze Stephan A01 Tabelle 2 (Primarschlüssel: Abteilung): Abteilung Fax A01 3765 A03 8865 3

4. Aufgabe: SQL Geben Sie die SQL-Anfragen für die folgenden Aufgaben an. Die Aufgaben beziehen sich auf die Geographiedatenbank Mondial (http://www.dbis.informatik.uni-goettingen. de/mondial/). Die SQL-Anfragen können über das Web-Interface der Mondial-Datenbank (http://www.semwebtech.org/sqlfrontend/) getestet werden. Abbildung 1: Ausschnitt aus den Relationen der Mondial-Datenbank. a Lassen Sie sich alle in Tabelle Country gespeicherten Datensätze ausgeben. b Lassen Sie sich die Anzahl der in Tabelle Country gespeicherten Länder ausgeben. c Lassen Sie sich die größte Einwohnerzahl sowie die größte Fläche der in Tabelle Country gespeicherten Länder ausgeben. d Lassen Sie sich von der Tabelle Country die Datensätze für alle Länder ausgeben, die mehr als 100000000 Einwohner haben. Die Ausgabe soll aufsteigend nach den Namen der Länder sortiert sein. e Lassen Sie sich für die Länder mit mehr als 100000000 Einwohnern den Namen des Landes, die Einwohnerzahl und die Hauptstadt mit der zugehörigen Einwohnerzahl anzeigen. Die Ausgabe soll absteigend nach der Einwohnerzahl des Landes erfolgen. (Hinweis: Spalten mit gleichem Namen können mit as einen Aliasnamen zugewiesen bekommen.) f Bestimmen Sie die Stadt mit der größten Einwohnerzahl und lassen Sie sich den Namen der Stadt, den Namen des Landes, in dem sie liegt, und die Einwohnerzahl der Stadt ausgeben. (Hinweis: Die Anfrage erfordert eine verschachtelte SQL-Anweisung.) a select * b select count(*) 4

c select max(population), max(area) d select * where population > 100000000 order by name e select country.name, country.population as populationc, country.capital, city.population,city where country.population > 100000000 and country.capital=city.name order by country.population desc f select city.name as stadt, country.name as land, city.population as einwohner from city,country where city.population = ( select max(population) from city) and city.country=country.code 5