Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia)

Ähnliche Dokumente
Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - SS Metadaten

Oracle SQL Tutorium - Wiederholung DB I -

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

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

Datenbank und Tabelle mit SQL erstellen

Übung PL/SQL Trigger Lösungen

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

Datenbanken. Zusammenfassung. Datenbanksysteme

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

Oracle 10g Einführung

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221)

Labor 3 - Datenbank mit MySQL

Inhaltsverzeichnis. Vorwort Kapitel 1 Einleitung... 15

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

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Funktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

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

MySQL, phpmyadmin & SQL. Kurzübersicht

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

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

Erzeugung und Veränderung von Tabellen

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

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

Wirtschaftsinformatik 7a: Datenbanken. Hochschule für Wirtschaft und Recht SS 16 Dozent: R. Witte

Relationales Datenbanksystem Oracle

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

Inhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";

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

SQL structured query language

SQL (Structured Query Language) Schemata Datentypen

Wiederholung VU Datenmodellierung

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Übersicht der wichtigsten MySQL-Befehle

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

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach)

IV. Datenbankmanagement

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

SQL und MySQL. Kristian Köhntopp

Entwicklungsumgebung für die Laborübung

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

SQL. Datenmanipulation. Datenmanipulationssprache. Ein neues Tupel hinzufügen. Das INSERT Statement

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Microsoft Access 2010 SQL nutzen

Erzeugen von Constraints

ACCESS SQL ACCESS SQL

5. SQL: Erstellen von Tabellen. Erzeugen und Löschen von Tabellen. Umgang mit Bedingungen (Constraints) Einfügen und Löschen von Daten

Datenbanksysteme 2013

Tag 2 Inhaltsverzeichnis

SQL-Anweisungen. SELECT (SQL Data Query Language)

Übungsblatt 8- Lösungsvorschlag

105.3 SQL-Datenverwaltung

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Historisierung und Versionierung

Management of Information Systems. Tutorat: Session 3 Einführung in SQL

Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

dbis Praktikum DBS I SQL Teil 2

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Es geht also um die sogenannte SQL- Data Definition Language.

DB2 SQL, der Systemkatalog & Aktive Datenbanken

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

Die Anweisung create table

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

PHP und MySQL. Integration von MySQL in PHP. Zellescher Weg 12 Willers-Bau A109 Tel Michael Kluge (michael.kluge@tu-dresden.

MySQL Installation. AnPr

Es geht also im die SQL Data Manipulation Language.

Neuerungen in Marco Patzwahl MuniQSoft GmbH Unterhaching

SQL. Allgemeines CREATE TABLE DROP TABLE ALTER TABLE INSERT INTO UPADTE DELETE SELECT

7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2

Datenbanken Entity-Relationship-Modell und Datenbankentwurf 1. Andreas Heß Hochschule Furtwangen

Chancen und Wachstumsfelder für PostgreSQL

Entwicklungsumgebung für die Laborübung

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Fakultät für Informatik & Wirtschaftsinformatik DB & IS II - WS 2016 SQLX. Andreas Schmidt Oracle und XML (SQLX) 1/15

Software-Engineering Einführung

Finalklausur zur Vorlesung Datenbanksysteme I Wintersemester 2003/2004 Prüfer: Prof. R. Bayer, Ph.D. Datum: Zeit: 16.

Visualisierung in Informatik und Naturwissenschaften

Oracle Database 12c Was Sie immer schon über Indexe wissen wollten

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

Oracle 9i Einführung Performance Tuning

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Datumsangaben, enthält mindestens Jahr, Monat, Tag

Folien php/mysql Kurs der Informatikdienste

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

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr

Variable. Interaktive Skripte

Lösungen der Übungsaufgaben von Kapitel 10

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

Datenschutz: Zugriffsrechte in SQL

5.8 Bibliotheken für PostgreSQL

Integritätsbedingungen Eindeutige Identifikation (1)

Whitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und combit GmbH Untere Laube Konstanz

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

Transkript:

Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst (Wikipedia) Dr. Christian Senger Metadaten 1

Vorgehen bei ER Modellierung und Normalisierung 1. Dokumentiere die Anforderungen aus Sicht der Anwender. 2. Dokumentiere die Attribute in Form eines Datenwörterbuchs. 3. Setze die Anforderungen in Relationen um (Primärschlüssel festlegen!) 4. Fasse Relationen mit identischen Primärschlüsselattributen zusammen. 5. Analysiere die funktionalen Abhängigkeiten. 6. Eliminiere nicht voll funktionale Abhängigkeiten. 7. Eliminiere ggf. auftretende transitive Abhängigkeiten. 8. Ggf. erneute Zusammenfassung von Relationen mit identische Primärschlüsseln. Dr. Christian Senger Metadaten 2

Beispiel: Datenwörterbuch schlafplatz_nummer: eindeutige Nummer für einen Schlafplatz name: Name des Anbieters oder Nutzers (vorname, nachname) datum: Tag, Monat, Jahr: DD.MM.JJJJ alter: aktuelles Alter von Anbieter/Nutzer telefon: Telefonnummer - +[Ländercode ohne führende 0] [Vorwahl ohne führende 0] [Ortsanschluss] bewertung: Bewertung durch den Nutzer von 1(schlecht) 10 (super) für den Schlafplatz Dr. Christian Senger Metadaten 3

DML DDL TCL DCL Dr. Christian Senger Metadaten 4

Data Dictionary Data-Dictionary speichert Informationen über die Struktur der Daten, z.b.: Tabellen, Spalten, Datentypen Primär- und Fremdschlüssel, Konsistenzbedingungen Zugriffsberechtigungen, Benutzer Quellcode zu Stored Procedures, Trigger... Dr. Christian Senger Metadaten 5

Einsatz z.b. im Rahmen von Fakultät für Informatik & Wirtschaftsinformatik Data Dictionary IDEs wie SQLDeveloper, Hora, Toad,... generative Programmierung (Generierung von Oberflächen,...) SQL 2 generate SQL Reverse Engineering Dr. Christian Senger Metadaten 6

Übersicht über Data-Dictionary ist die Tabelle DICTIONARY Beispiel: SELECT * FROM dictionary Data Dictionary von Oracle WHERE lower(comments) like '%column%' AND lower(comments) like '%table% Dr. Christian Senger Metadaten 7

Übersicht Data Dictionary von Oracle Welche Tabellen/Views gibt es denn? Welche Spalten hat eine Tabelle/View? Welche Constraints gibt es? Auf welchen Spalten sind Constraints definiert? Quellcode... USER_<x> entspricht ALL_<x> mit Ausnahme, dass die Spalte OWNER fehlt und nur die Informationen für den aktuell angemeldeten User angezeigt werden. Dr. Christian Senger Metadaten 8

Data Dictionary Beispiel Mondial Tabellen und Spalten des Users Mondial Dr. Christian Senger Metadaten 9

Data Dictionary Beispiel Mondial Constraints Country, City Province Dr. Christian Senger Metadaten 10

Data Dictionary Beispiel Mondial Fremdschlüssel, detailliert (all_cons_columns) Dr. Christian Senger Metadaten 11

SQL 2 generate SQL Für den User sech0004 soll der lesende Zugriff auf die Tabellen der Mondial Datenbank erlaubt werden DCL-Statements (ca. 28 Stück): grant select on BORDER to sech0004; grant select on COUNTRY to sech0004;... grant select on ORGANISATION to sech0004; Statements sind bis auf Tabellenname identisch, Namen der Tabellen stehen im Data-Dictionary Dr. Christian Senger Metadaten 12

SQL 2 generate SQL SQLPlus Frontend kann mittels SPOOL-Kommando Ausgaben in Dateien umlenken Beispiel: spool c:/sonstwohin/hauptstaedte.txt select capital from mondial.country order by capital; spool off Dr. Christian Senger Metadaten 13

SQL 2 generate SQL SQLPlus kann mittels @-Kommando Dateien laden und die darin befindlichen SQL-Kommandos ausführen Beispiel: SQL > @ delete-tables.sql Dr. Christian Senger Metadaten 14

SQL 2 generate SQL String Concatenation, Gewünschte Ausgabe: <current user> sagt am <current date> Dr. Christian Senger Metadaten 15

SQL 2 generate SQL Die Tabellen im Schema MONDIAL sollen von allen Studenten gelesen werden können: select 'grant select on ' table_name ' to student;' generated_sql from all_tables where owner='mondial'; GENERATED_SQL ---------------------------------------------------------- grant select on COUNTRY to student; grant select on CITY to student;... grant select on BORDERS to student; GENERATED_SQL ---------------------------------------------------------- grant select on ENCOMPASSES to student; grant select on ISLAND to student; 28 rows selected. Dr. Christian Senger Metadaten 16

SQL 2 generate SQL alles störende raus... set feedback off set pagesize 0 set feedback off set pagesize 0 spool tmp/grant-mondial.sql select 'grant select on ' table_name ' to student;' generated_sql from user_tables; spool off -------------------------- SQL > @ tmp/grant-mondial.sql host rm tmp/grant-mondial.sql quit Dr. Christian Senger Metadaten 17

SQL 2 generate SQL MySQL auto_increment Mechanismus mittels Trigger simulieren create table AI_Test ( value varchar2(40) ); create sequence SEQ_AI_Test; alter table AI_Test add id number(10) primary key; create or replace trigger TRG_AI_Test Wie sieht der Trigger aus? show errors ---------------------------------- insert into AI_Test(value) values( ein Test ); Dr. Christian Senger Metadaten 18

SQL 2 generate SQL Automatisierung Anfrage an Data-Dictionary: Gib die Namen aller Tabellen zurück, die mit dem Präfix AI_ beginnen und keinen Primärschlüssel haben select table_name -- alle Tabellen deren Name mit AI_ anfängt from user_tables where table_name like 'AI#_%' escape # minus select table_name -- alle Tabellen mit Primärschlüssel from user_constraints where constraint_type='p'); Dr. Christian Senger Metadaten 19

SQL 2 generate SQL Automatisierung SQL 2 generate SQL Dr. Christian Senger Metadaten 20

SQL 2 generate SQL Automatisierung SQL 2 generate SQL Dr. Christian Senger Metadaten 21

Übung Schau dir die Dictionary-Tabelle user_objects an und schreib ein Skript, das dein Schema komplett leert(*). (*) Wenn du noch Interesse an deinen bisherigen Tabellen/Prozeduren/... hast, dann solltest du diese vorher sichern (mittels Oracle Tool exp.exe), das geht so: prompt> exp euer-account-name@oracledbwi file=ein-beliebiger-dateiname zurückspielen mittels imp.exe (ins leere Schema): prompt> imp euer-account-name@oracledbwi full=y file=ein-beliebigerdateiname Dr. Christian Senger Metadaten 22