Tipps & Tricks: Umkodieren von ICD-9-Daten Daten zu ICD-10 in SAS mittels PROC SQL

Größe: px
Ab Seite anzeigen:

Download "Tipps & Tricks: Umkodieren von ICD-9-Daten Daten zu ICD-10 in SAS mittels PROC SQL"

Transkript

1 Tipps & Tricks: Umkodieren von ICD-9-Daten Daten zu ICD-10 in SAS mittels PROC SQL Andreas Deckert Institute of Public Health, Universität Heidelberg

2 Problemstellung Mortalitäts-Follow-Up einer Kohorte von 1990 bis 2010

3 Problemstellung Mortalitäts-Follow-Up einer Kohorte von 1990 bis 2010 Kategorisierung der Todesursachen entsprechend ICD-10 (International Statistical Classification of Diseases and Related Health Problems)

4 Problemstellung Mortalitäts-Follow-Up einer Kohorte von 1990 bis 2010 Kategorisierung der Todesursachen entsprechend ICD-10 (International Statistical Classification of Diseases and Related Health Problems) 1998 Wechsel von ICD-9 zu ICD-10; dabei z.b. Einführung einer alpha-numerischen Notation mit stärkerer Differenzierung keine direkte Übertragung möglich

5 Problemstellung Mortalitäts-Follow-Up einer Kohorte von 1990 bis 2010 Kategorisierung der Todesursachen entsprechend ICD-10 (International Statistical Classification of Diseases and Related Health Problems) 1998 Wechsel von ICD-9 zu ICD-10; dabei z.b. Einführung einer alpha-numerischen Notation mit stärkerer Differenzierung keine direkte Übertragung möglich Umsteigertabelle von ICD-9 zu ICD-10 vorhanden

6 ICD-Daten ICD-9 Tabelle (Textfile vom DIMDI): ; Ischämische Herzkrankheiten 410; Akuter Myokardinfarkt ; Sonstige Formen von chronischen ischämischen Herzkrankheiten 414.0; Koronararteriosklerose 414.1; Herzwandaneurysma ICD-10 Tabelle: I21; Akuter Myokardinfarkt I21.0; Akuter transmuraler Myokardinfarkt der Vorderwand... I22; Rezidivierender Myokardinfarkt I22.0; Rezidivierender Myokardinfarkt der Vorderwand Umsteiger-Tabelle: ICD-10 ICD-9 ICD-9(dreistellig) 1:1 I21.0; 410; 410; A I23.3; 429.8; 429; A I24.0; 410; 410;

7 Aufbau einer relationalen Datenbank PROC SQL; CREATE TABLE ICD10 (Code10 CHAR(7), Titel10 CHAR(255), CONSTRAINT Code10X PRIMARY KEY(Code10)); INSERT INTO ICD10 SELECT * FROM import_icd10 WHERE Code10 > ""; CREATE TABLE ICD9 (Code9 CHAR(7), Titel9 CHAR(255), CONSTRAINT Code9X PRIMARY KEY(Code9)); INSERT INTO ICD9 SELECT * FROM import_icd9 WHERE Code9 > ""; CREATE TABLE Umsteiger (Code10 CHAR(7), Code9 CHAR(7), Automatik CHAR1), CONSTRAINT UICD10 FOREIGN KEY(Code10) REFERENCES ICD10, CONSTRAINT UICD9 FOREIGN KEY(Code9) REFERENCES ICD9); INSERT INTO Umsteiger SELECT * FROM import_umsteiger WHERE Code10 > ""; quit;

8 Verknüpfungsschema ICD9 Umsteiger ICD10 Code9 Titel Text Text Text Text text5 Code9 Code10 Automatik A A A A A A A A A A Code10 Titel10 A01.4 Text11 A02.0 Text12 A04.1 Text13 A04.2 Text14 A04.8 text n 0..n 1

9 Wichtige Verknüpfungen INNER-Join A B

10 Wichtige Verknüpfungen INNER-Join A B LEFT-Join A B

11 Wichtige Verknüpfungen INNER-Join A B LEFT-Join A B FULL-Join A B

12 Kombination mit Daten /*Umkodieren von Daten in ICD9 in ICD10 mithilfe der DB*/ PROC SQL; CREATE UNIQUE INDEX _id ON mortality_icd9 (_id); CREATE TABLE results AS SELECT B.*, U.code10, I10.titel10 FROM mortality_icd9 AS B LEFT JOIN (Umsteiger AS U INNER JOIN ICD10 AS I ON U.code10=I.code10) ON B.cause=U.code9 quit;

13 Kombination mit Daten /*Umkodieren von Daten in ICD9 in ICD10 mithilfe der DB*/ PROC SQL; CREATE UNIQUE INDEX _id ON mortality_icd9 (_id); CREATE TABLE results AS SELECT B.*, U.code10, I.titel10 FROM mortality_icd9 AS B LEFT JOIN (Umsteiger AS U INNER JOIN ICD10 AS I ON U.code10=I.code10) ON B.cause=U.code9 quit; Pat_ID Code9 Code10 Titel K75.2 Unspez. reaktive Hepatitis K75.3 Granulomatöse Hepatitis K76.1 Chronische Stauungsleber K76.1 Chronische Stauungsleber

14 Bereinigen der Ergebnisse Zu manchen ICD9-Codes gibt es mehrere ICD10-Einträge, da der ICD10 differenzierter ist!

15 Bereinigen der Ergebnisse Zu manchen ICD9-Codes gibt es mehrere ICD10-Einträge, da der ICD10 differenzierter ist! Über den vorher generierten Index können nun die mehrdeutigen Zuordnungen selektiert werden /*Filtern der multiplen ICD10-Einträge*/ PROC SQL; CREATE TABLE multiple_results AS SELECT * FROM results WHERE _id IN (SELECT _id FROM results GROUP BY _id HAVING count(_id > 1)) quit;

16 Bereinigen der Ergebnisse Zu manchen ICD9-Codes gibt es mehrere ICD10-Einträge, da der ICD10 differenzierter ist! Über den vorher generierten Index können nun in gleichen Datensätzen relativ einfach dieselben ICD-Codes selektiert werden. /*Filtern der multiplen ICD10-Einträge*/ PROC SQL; CREATE TABLE multiple_results AS SELECT * FROM results WHERE _id IN (SELECT _id FROM results GROUP BY _id HAVING count(_id > 1)) quit; Je nach Tiefe der ICD10-Auswertung nur die ICD10-Obergruppe bzw. aus multiplen ICD10 den passenden Code auswählen.

17 Löschen der Datenbank /*Anzeigen der Integritätsbedingungen in einer Tabelle:*/ PROC SQL; DESCRIBE TABLE CONSTRAINTS Umsteiger; quit;

18 Löschen der Datenbank /*Anzeigen der Integritätsbedingungen in einer Tabelle:*/ PROC SQL; DESCRIBE TABLE CONSTRAINTS Umsteiger; quit; /*Löschen von mit Integritätsbedingungen verknüpften Tabellen; Fremdschlüssel müssen zuerst gelöscht werden!*/ PROC SQL; ALTER TABLE Umsteiger DROP CONSTRAINT UICD10, UICD9; ALTER TABLE ICD9 DROP CONSTRAINT Code9X; ALTER TABLE ICD10 DROP CONSTRAINT Code10X; DROP TABLE ICD9, ICD10, Umsteiger; quit;

19 Links zu ICD9-ICD10 3. Find x. Homepage des Deutschen Instituts für Medizinsiche Dokumentation und Information (DIMDI): ICD9-ICD10-Überleitungstabelle von 2001: klassi/downloadcenter/icd-10-who/vorgaenger/version10/ueberleitung/ (neuere Versionen sind kostenpflichtig!)

20 Tipps & Tricks: Anwendung von (Perl) Regular Expressions für r die Mustersuche in Strings Andreas Deckert Institute of Public Health, Universität Heidelberg

21 Einfache Problemstellung Beispiel: $ soll aus Dies ist ein Bei$spiel entfernt werden Lösungsmöglichkeit in SAS: DATA Beispiel; text = "Dies ist ein Bei$spiel"; pos = index(text,"$"); l_total = length(text); l_part = l_total - pos; _text = substr(text,1,pos-1) substr(text,pos+1,l_part); RUN;

22 Einfache Problemstellung Beispiel: $ soll aus Dies ist ein Bei$spiel entfernt werden Lösungsmöglichkeit in SAS: DATA Beispiel; text = "Dies ist ein Bei$spiel"; pos = index(text,"$"); l_total = length(text); l_part = l_total - pos; _text = substr(text,1,pos-1) substr(text,pos+1,l_part); RUN; Lösung mit Regular Expressions : DATA Beispiel; LENGTH _text $ 25; text = "Dies ist ein Bei$spiel"; rx = rxparse("'$' to ''"); CALL rxchange(rx,1,text,_text); RUN;

23 (Perl) Regular Expressions? Begriff aus der (theoretischen) Informatik

24 (Perl) Regular Expressions? Begriff aus der (theoretischen) Informatik [ ] Zeichenkette die der Beschreibung einer Menge bzw. Untermengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient. (wikipedia)

25 (Perl) Regular Expressions? Begriff aus der (theoretischen) Informatik [ ] Zeichenkette die der Beschreibung einer Menge bzw. Untermengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient. (wikipedia) Filter für den Abgleich von Texten mit bestimmten Mustern

26 (Perl) Regular Expressions? Begriff aus der (theoretischen) Informatik [ ] Zeichenkette die der Beschreibung einer Menge bzw. Untermengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient. (wikipedia) Filter für den Abgleich von Texten mit bestimmten Mustern Vorgegebenes Alphabet; Operationen

27 (Perl) Regular Expressions? Begriff aus der (theoretischen) Informatik [ ] Zeichenkette die der Beschreibung einer Menge bzw. Untermengen von Zeichenketten mit Hilfe bestimmter syntaktischer Regeln dient. (wikipedia) Filter für den Abgleich von Texten mit bestimmten Mustern Vorgegebenes Alphabet; Operationen Perl Regular Expressions: Syntax der Programmiersprache Perl

28 Perl Regular Expressions Lösung mit Perl regular expressions: DATA Beispiel; LENGTH _text $ 25; text = "Dies ist ein Bei$spiel"; pattern = prxparse('s/\$//'); CALL prxchange(pattern,-1,text,_text); RUN;

29 Perl Regular Expressions Lösung mit Perl regular expressions: DATA Beispiel; LENGTH _text $ 25; text = "Dies ist ein Bei$spiel"; pattern = prxparse('s/\$//'); CALL prxchange(pattern,-1,text,_text); RUN; Kurzversion: DATA Beispiel; text = "Dies ist ein Bei$spiel"; text = prxchange('s/\$//',-1,text); RUN;

30 Perl Regular Expressions Lösung mit Perl regular expressions: DATA Beispiel; LENGTH _text $ 25; text = "Dies ist ein Bei$spiel"; pattern = prxparse('s/\$//'); CALL prxchange(pattern,-1,text,_text); RUN; Kurzversion: DATA Beispiel; text = "Dies ist ein Bei$spiel"; text = prxchange('s/\$//',-1,text); RUN; Damit Di$es is$$t ein Bei$spiel ebenfalls problemlos handhabbar!

31 Steuerzeichen (Auszug) Muster Bedeutung / Beginn und Ende der Regular Expression \w Abgleichen von Buchstaben \d Abgleichen von Ziffern? Falls nicht oder 1x vorhanden + Falls 1x oder beliebig oft vorhanden * Falls nicht oder beliebig oft vorhanden (Muster) Gruppierung und Speicherung $1 Abruf des ersten Speichereintrages s/muster/ausgabe/ Einsetzen bzw. Ersetzen von Textteilen

32 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt

33 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt

34 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern

35 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

36 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

37 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

38 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard $1: Schmidt? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

39 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard $1: Schmidt? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

40 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard $1: Schmidt? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

41 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard $1: Schmidt? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

42 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard $1: Schmidt? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

43 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard $1: Schmidt? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

44 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard $1: Schmidt? _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

45 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard? $1: Schmidt $2: Hans-Peter _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

46 Komplexe Problemstellung Geforderte Transformation: ErsterVorname Nachname Name Bauer, Peter Sailer, Karl-Heinz Müller, Eva Maria Schmidt, Hans-Peter Matthias Frau Dr. Weber, Karin Prof. Dr. Stern, Anton Richard? $1: Schmidt $2: Hans-Peter _Name Peter Bauer Karl-Heinz Sailer Eva Müller Hans-Peter Schmidt Karin Weber Anton Stern DATA Namen; SET Namen; pattern = prxparse("s/(\w+), +(\w+-?\w+)/$2 $1/"); call prxsubstr(pattern, Name, Position, Laenge); match = substr(name,position,laenge); _Name = prxchange(pattern,-1,match); RUN;

47 Anwendungen Datenvalidierung

48 Anwendungen Datenvalidierung Textmuster suchen

49 Anwendungen Datenvalidierung Textmuster suchen Textteile ersetzen

50 Anwendungen Datenvalidierung Textmuster suchen Textteile ersetzen Datenextraktion in Freitexten

51 Anwendungen Datenvalidierung Textmuster suchen Textteile ersetzen Datenextraktion in Freitexten Bearbeitung von Textvariablen mit langem ungeordneten Inhalten

52 Vielen Dank für Ihre Aufmerksamkeit!

53 Weiteres komplexes Beispiel Adress-Datensatz text Landratsamt Altötting Telefon Gesundheitsamt Amberg Hockermühlstr. 53 Tel Landratsamt Hof Fax.: Tel.: Gesundheitsamt Hamburg Hamburg Tel.: Fax.: Stadt Ingolstadt Telefon: Ingolstadt

54 Weiteres komplexes Beispiel Adress-Datensatz Keine Ordnung erkennbar text Landratsamt Altötting Telefon Gesundheitsamt Amberg Hockermühlstr. 53 Tel Landratsamt Hof Fax.: Tel.: Gesundheitsamt Hamburg Hamburg Tel.: Fax.: Stadt Ingolstadt Telefon: Ingolstadt

55 Weiteres komplexes Beispiel Adress-Datensatz Keine Ordnung erkennbar Gesucht: Telefonnummern text Landratsamt Altötting Telefon Gesundheitsamt Amberg Hockermühlstr. 53 Tel Landratsamt Hof Fax.: Tel.: Gesundheitsamt Hamburg Hamburg Tel.: Fax.: Stadt Ingolstadt Telefon: Ingolstadt

56 Weiteres komplexes Beispiel Adress-Datensatz Keine Ordnung erkennbar Gesucht: Telefonnummern Beschränkung: Vorwahl text Landratsamt Altötting Telefon Gesundheitsamt Amberg Hockermühlstr. 53 Tel Landratsamt Hof Fax.: Tel.: Gesundheitsamt Hamburg Hamburg Tel.: Fax.: Stadt Ingolstadt Telefon: Ingolstadt

57 Weiteres komplexes Beispiel Adress-Datensatz Keine Ordnung erkennbar Gesucht: Telefonnummern Beschränkung: Vorwahl Machbar mit Standard-Code? text Landratsamt Altötting Telefon Gesundheitsamt Amberg Hockermühlstr. 53 Tel Landratsamt Hof Fax.: Tel.: Gesundheitsamt Hamburg Hamburg Tel.: Fax.: Stadt Ingolstadt Telefon: Ingolstadt

58 Weiteres komplexes Beispiel Adress-Datensatz Keine Ordnung erkennbar Gesucht: Telefonnummern Beschränkung: Vorwahl Machbar mit Standard-Code? text Landratsamt Altötting Telefon Gesundheitsamt Amberg Hockermühlstr. 53 Tel Landratsamt Hof Fax.: Tel.: Gesundheitsamt Hamburg Hamburg Tel.: Fax.: Stadt Ingolstadt Telefon: Ingolstadt

59 Weiteres komplexes Beispiel Adress-Datensatz Keine Ordnung erkennbar Gesucht: Telefonnummern Beschränkung: Vorwahl Machbar mit Standard-Code? text Landratsamt Altötting Telefon Gesundheitsamt Amberg Hockermühlstr. 53 Tel Landratsamt Hof Fax.: Tel.: Gesundheitsamt Hamburg Hamburg Tel.: Fax.: Stadt Ingolstadt Telefon: Ingolstadt

60 Lösung mit Perl reg. expressions DATA Ergebnis; SET Liste; _Telefon = "s/[tel]\w+\.*:* +([0][6-9]\d\d\d-\d+)/Tel.: $1/"; pattern = prxparse(_telefon); IF prxmatch(pattern,text) THEN DO; Ergebnis = prxchange(pattern,-1,text); END; RUN;

61 Ergebnis text Ergebnis Landratsamt Altötting Telefon Tel.: Gesundheitsamt Amberg Hockermühlstr. 53 Tel Tel.: Landratsamt Hof Fax.: Tel.: Tel.: Gesundheitsamt Hamburg Hamburg Tel.: Fax.: Stadt Ingolstadt Tel.: Tel.: Ingolstadt

Tipps & Tricks: Umkodieren von ICD-9-Daten Daten zu ICD-10 in SAS mittels PROC SQL

Tipps & Tricks: Umkodieren von ICD-9-Daten Daten zu ICD-10 in SAS mittels PROC SQL Tipps & Tricks: Umkodieren von ICD-9-Daten Daten zu ICD-10 in SAS mittels PROC SQL Andreas Deckert Institute of Public Health, Universität Heidelberg Problemstellung Mortalitäts-Follow-Up einer Kohorte

Mehr

Anwendung von (Perl) Regular Expressions für die Mustersuche in Strings

Anwendung von (Perl) Regular Expressions für die Mustersuche in Strings Anwendung von (Perl) Regular Expressions für die Mustersuche in Strings Tipps und Tricks Andreas Deckert Heiko Zimmermann Institute of Public Health Institute of Public Health INF 324 INF 324 69120 Heidelberg

Mehr

Umkodieren von ICD-9-Daten zu ICD-10 in SAS mittels einer relationalen Datenbank und PROC SQL

Umkodieren von ICD-9-Daten zu ICD-10 in SAS mittels einer relationalen Datenbank und PROC SQL Umkodieren von ICD-9-Daten zu ICD-10 in SAS mittels einer relationalen Datenbank und PROC SQL Andreas Deckert Institute of Public Health INF 324 69120 Heidelberg a.deckert@uni-heidelberg.de Zusammenfassung

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

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich

Grundlagen von SQL. Informatik 2, FS18. Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Grundlagen von SQL Informatik 2, FS18 Dr. Hermann Lehner (Material von Dr. Markus Dahinden) Departement Informatik, ETH Zürich Markus Dahinden 13.05.18 1 Grundlagen von SQL (Structured Query Language)

Mehr

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp

5/14/18. Grundlagen von SQL. Grundlagen von SQL. Google, Facebook und Co. setzen auf SQL. Whatsapp 5/14/18 Grundlagen von SQL (Structured Query Language) Datenbanksprache Befehle Datenbanken und Tabellen erstellen/verändern Daten manipulieren (eingeben, ändern, löschen) Datenbank durchsuchen (Queries

Mehr

Perl Regular Expressions in Base SAS

Perl Regular Expressions in Base SAS Webinar@Lunchtime Perl Regular Expressions in Base SAS Perl Reguläre Ausdrücke (Perl Regular Expressions) Einleitung Perl Regulare Ausdrücke beschreiben einen Text, der als Muster dient. In einem solchen

Mehr

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

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird. Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,

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

Praktische SQL-Befehle

Praktische SQL-Befehle Praktische SQL-Befehle Datenbanksysteme I WiSe 2018/2019 Todor Ivanov DB1 WS2018 1 Praktische SQL-Befehle Nested Selects Inserts Updates Views Triggers Constraints Functions Voraussetzung: Laptop + MySQL/

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

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

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

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

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

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

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung)

1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Hafen(HNR, Ort, Grundsteinlegung) 1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Hafen(HNR, Ort, Grundsteinlegung) Matrose(MNR, Nachname, Geburtsdatum, Ausbildungsort Hafen.HNR) Schi(SNR, Name, Bruttoregistertonnen,

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

Die Anweisung create table

Die 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

Mehr

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer

DB-Datenbanksysteme. DB SQL-DML 1 Mario Neugebauer DB-Datenbanksysteme DB-13 043-SQL-DML 1 Mario Neugebauer Einführung Informationsmodellierung Relationales Datenbankmodell Datenbanksprache SQL Einführung Daten-Abfrage-Sprache - DQL Daten-Definitions-Sprache

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

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel Anwendungsentwicklung Datenbanken SQL Stefan Goebel SQL Structured Query Language strukturierte Abfragesprache von ANSI und ISO standardisiert deklarativ bedeutet was statt wie SQL beschreibt, welche Daten

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 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

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

Schnellübersichten. SQL Grundlagen und Datenbankdesign

Schnellübersichten. SQL Grundlagen und Datenbankdesign Schnellübersichten SQL Grundlagen und Datenbankdesign 5 Datenbanken 2 6 Tabellen erstellen und verwalten 3 7 Daten einfügen, aktualisieren, löschen 4 8 Einfache Datenabfragen 5 9 Schlüsselfelder und Indizes

Mehr

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

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem

Mehr

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien

3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien CREATE TABLE SPEND_STAT ( S_STATUS VARCHAR2(1), STAT_TXT VARCHAR2(15), PRIMARY KEY (S_STATUS) ENABLE ) ; 3.3. Implementierung in SQL DDL-Grundlagen Constraint-Verzögerung Implementierungs-Strategien DDL:

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

Wiederholung VU Datenmodellierung

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

Mehr

Datenbanken. Zusammenfassung. Datenbanksysteme

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

Mehr

SQL und MySQL. Kristian Köhntopp

SQL und MySQL. Kristian Köhntopp SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)

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

Datenbanksysteme 2013

Datenbanksysteme 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

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. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

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

Mehr

Übung ERM. Beispiel: Erstellung einer relationalen Datenbank

Übung ERM. Beispiel: Erstellung einer relationalen Datenbank LE 9-1 Übung ERM Lernziele: Sie sind in der Lage, Sachverhalte mit Hilfe von ERMs abzubilden. LE 9-2 Beispiel: Erstellung einer relationalen Datenbank Ein Bild ist von einem Künstler gemalt und hängt in

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

C. Ortseifen: Reguläre Ausdrücke

C. Ortseifen: Reguläre Ausdrücke Inhalt Reguläre Ausdrücke mit SAS Einsatz der RX- und PRX-Funktionen Dr. Carina Ortseifen SAS-Treff am URZ 2. Dezember 2005 1. Einleitung 2. Aufbau der regulären Ausdrücke 3. Beispiele 4. Reguläre Ausdrücke

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden fett und in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche

Mehr

Cryptokeeper Dokumentation

Cryptokeeper Dokumentation Cryptokeeper Dokumentation Release 0.1.2 s0556166 Steffen Exler und Alain Ngoufack Nguefack s0557214 21.03.2018 Contents: 1 Beschreibung 1 2 ER-Diagramm 3 3 Implementationsentwurf 5 3.1 Initial-Entwurf..............................................

Mehr

Kapitel 8: Datenintegrität

Kapitel 8: Datenintegrität Kapitel 8: Datenintegrität Datenintegrität Statische Bedingung (jeder Zustand) Dynamische Bedingung (bei Zustandsänderung) Bisher: Definition eines Schlüssels 1:N - Beziehung Angabe einer Domäne Jetzt:

Mehr

Grundlagen von Datenbanken

Grundlagen von Datenbanken Grundlagen von Datenbanken Aufgabenzettel 4 SQL-Anfragen Überblick: DB-Entwurf und Modellierung Konzeptioneller Entwurf Anforderungen Informationsmodell PNr. Vorname Nachname Geb.Datum Person n Datum kaufen

Mehr

NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL

NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL WEBINAR@LUNCHTIME NICHT TRIVIAL: MAKROVARIABLEN - GLOBAL ODER LOKAL FRAGE Antworten EINSTIEGSFRAGE Wie werden die Makrovariablen durch Call Symput erstellt Global, lokal, teils-teils oder gar nicht? %macro

Mehr

ACCESS SQL ACCESS SQL

ACCESS SQL ACCESS SQL ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache

Mehr

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

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4

Mehr

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198

Bibliografische Informationen digitalisiert durch http://d-nb.info/995021198 Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen

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

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

4. Objektrelationales Typsystem Kollektionstypen. Nested Table

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

Mehr

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

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7 1 Data Definition Language (DDL)... 2 1.1 Tabellen erstellen... 2 1.1.1 Datentyp...... 2 1.1.2 Zusätze.... 2 1.2 Tabellen löschen... 2 1.3 Tabellen ändern (Spalten hinzufügen)... 2 1.4 Tabellen ändern

Mehr

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

SQL. DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) SQL DDL (Data Definition Language) Befehle und DML(Data Manipulation Language) DML(Data Manipulation Language) SQL Abfragen Studenten MatrNr Name Vorname Email Age Gruppe 1234 Schmidt Hans schmidt@cs.ro

Mehr

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe

Foreign Keys. MySQL 4, 5. Kapitel 16: Fremdschlüssel. Marcel Noe MySQL 4, 5 Kapitel 16: Fremdschlüssel Gliederung 1 Gliederung 1 Fremdschlüssel sichern die Referenzielle Integrität voneinander abhängiger Tabellen. Um Fremdschlüssel definieren zu können, müssen Sie die

Mehr

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15

Inhaltsverzeichnis. Vorwort 13. Kapitel 1 Einleitung 15 Vorwort 13 Kapitel 1 Einleitung 15 Kapitel 2 SQL-der Standard relationaler Datenbanken... 19 2.1 Die Geschichte 19 2.2 Die Bestandteile 20 2.3 Die Verarbeitung einer SQL-Anweisung 22 2.4 Die Struktur von

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

Eine neue Datenbank erstellen

Eine neue Datenbank erstellen Eine neue Datenbank erstellen Eine neue Datenbank erstellen Eine Tabelle in der Entwurfsansicht erstellen Eine Tabelle in der Entwurfsansicht erstellen Eine Tabelle in der Entwurfsansicht erstellen Das

Mehr

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

1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221) Erstellen einer Mitarbeiter-Datenbank 1 Erstellen einer Mitarbeiter-Datenbank Arbeitsauftrag Ziel der Übung Erstellen von Datenbanken mit Hilfe von SQL-Abfragen Aufgabe (1.) Erstellen Sie eine neue Datenbank

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

DB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.

DB I S. 1 Relationenalgebra [8 P.] Gegeben seien die folgenden Relationenschemata: Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort. 1 Relationenalgebra Gegeben seien die folgenden Relationenschemata: [8 P.] Person(PNR, Vorname, Nachname, Geburtsdatum, Wohnort Ort.ONR) Jugendherberge(JNR, Name, Ort Ort.ONR, Manager Person.PNR) Ort(ONR,

Mehr

Zeilen in SAS-Datensatz einfügen

Zeilen in SAS-Datensatz einfügen News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS Zeilen in SAS-Datensatz einfügen 27 June, 2011-16:27 Gordon123 Hallo liebe Forengemeinde,

Mehr

Datenmanagement I SoSe 2006 Aufgabenblatt 4

Datenmanagement I SoSe 2006 Aufgabenblatt 4 Datenmanagement I SoSe 2006 Aufgabenblatt 4 June 11, 2009 Versuchen Sie, einige der Anfragen zu formulieren (ab Punkt 6), die im Tutorium stehen, das hier zu finden ist: http://wwwiti.cs.uni-magdeburg.de/iti_db/lehre/dm/tut/tutorium.html.

Mehr

dbis Praktikum DBS I SQL Teil 2

dbis Praktikum DBS I SQL Teil 2 SQL Teil 2 Übersicht Fortgeschrittene SQL-Konstrukte GROUP BY HAVING UNION / INTERSECT / EXCEPT SOME / ALL / ANY IN / EXISTS CREATE TABLE INSERT / UPDATE / DELETE 2 SELECT Syntax SELECT FROM [WHERE [GROUP

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

Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen

Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen 10. GI-Fachtagung Datenbanksysteme in Büro, Technik und Wissenschaft Integritätsbedingungen für komplexe Objekte in objektrelationalen Datenbanksystemen Friedrich-Schiller-Universität Jena Institut für

Mehr

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press

Marcus Throll, Oliver Bartosch. Einstieg in SQL. Verstehen, einsetzen, nachschlagen. Galileo Press Marcus Throll, Oliver Bartosch Einstieg in SQL Verstehen, einsetzen, nachschlagen Galileo Press Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT

Mehr

Abfragen (Queries, Subqueries)

Abfragen (Queries, Subqueries) Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl

Mehr

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

Multimedia im Netz Wintersemester 2013/14. Übung 03 (Nebenfach) Multimedia im Netz Wintersemester 2013/14 Übung 03 (Nebenfach) Ludwig-Maximilians-Universität München Multimedia im Netz WS 2013/14 - Übung 3-1 Datenbanken und SQL Mit Hilfe von Datenbanken kann man Daten

Mehr

Üben von DDL und DML. Ergebnis:

Üben von DDL und DML.   Ergebnis: SQL DDL Üben von DDL und DML https://www.jdoodle.com/execute-sql-online Ergebnis: Befehlsgruppen in SQL DDL Data Definition Language DML Data Manipulation Language CREATE: Tabellen anlegen DROP: Tabellen

Mehr

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

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language) Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data

Mehr

Beispiel zur referentiellen Integrität

Beispiel zur referentiellen Integrität 3. Der SQL-Standard 3.14. Integrität und Trigger Seite 1 Beispiel zur referentiellen Integrität CREATE TABLE T1( k1 NUMERIC NOT NULL PRIMARY KEY); CREATE TABLE T2( k2 NUMERIC NOT NULL PRIMARY KEY, k1 NUMERIC,

Mehr

Datenbanken im WI-Unterricht mit

Datenbanken im WI-Unterricht mit Datenbanken im WI-Unterricht mit Inhaltsverzeichnis 1 ER-Modell - Entity Relationship Modell 1 1.1 Entitäten................................................. 2 1.2 Relationen................................................

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Vorlesungsprüfung vom 13.06.2008 Gruppe B Lösung Name: Matrikelnummer: Zuerst bitte Name und Matrikelnummer auf das Titelblatt schreiben. Es sind keine Unterlagen und keine Teamarbeit

Mehr

Labor 3 - Datenbank mit MySQL

Labor 3 - Datenbank mit MySQL Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.

Mehr

SQL Data Manipulation Language (DML) und Query Language (QL)

SQL Data Manipulation Language (DML) und Query Language (QL) Innsbruck Information System University of Innsbruck School of Management Information Systems Universitätsstraße 15 6020 Innsbruck SQL Data Manipulation Language (DML) und Query Language (QL) Universität

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL Datenmodifikation mit SQL Folie 45 SQL - Datenmodifikation Einfügen INSERT INTO Relation [(Attribut, Attribut,...)] VALUES (Wert, Wert,...) INSERT INTO Relation [(Attribut, Attribut,...)] SFW-Anfrage Ändern

Mehr

Datenintegrität. Kapitel 5 1

Datenintegrität. Kapitel 5 1 Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer

SQL-Vertiefung. VL Datenbanksysteme. Ingo Feinerer SQL-Vertiefung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Gliederung Einführung SQL-Programmteile

Mehr

Tabellen verknüpfen: Joins

Tabellen verknüpfen: Joins SQL2-1 - Tabellen verknüpfen: Joins Bisher haben wir Tabellen mittels Unterabfragen verknüpft d. h. eine Spalte einer anderen Tabelle kann ein Selektionskriterium liefern. Wie kann man aber eine "echte"

Mehr

Datenintegritä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 Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung Statische vs. dynamische Integritätsbedingungen Statische Integritätsbedingungen Bedingungen

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

Ü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

SQL: Weitere Funktionen

SQL: Weitere Funktionen Vergleich auf Zeichenketten SQL: Weitere Funktionen LIKE ist ein Operator mit dem in Zeichenketten andere Zeichenketten gesucht werden; zwei reservierte Zeichen mit besonderer Bedeutung sind hier % (manchmal

Mehr

Einführung SQL Data Definition Language (DDL)

Einführung SQL Data Definition Language (DDL) Innsbruck Information System University of Innsbruck School of Management Universitätsstraße 15 6020 Innsbruck Einführung SQL Data Definition Language (DDL) Universität Innsbruck Institut für Wirtschaftsinformatik,

Mehr

Einführung in die Spezialisierungsrichtungen

Einführung in die Spezialisierungsrichtungen Einführung in die Spezialisierungsrichtungen SQL Dr. Matthias Baumgart 23. November 2012 Einführung Logische Datenbankorganisation Die logische Datenbankorganisation erfolgt in drei Schritten: 1 Aufstellen

Mehr

MNR NAME VORNAME STRASSE PLZ ORT TELEFON

MNR NAME VORNAME STRASSE PLZ ORT TELEFON Aufgabenstellung: (1.) Erstellen Sie eine neue Datenbank mit dem Dateinamen MITARBEITER. (2.) Legen Sie eine neue Tabelle STAMMDATEN mit den folgenden Feldern an: MNR (Typ integer, Primärschlüssel) NAME

Mehr

Spalten aufsummieren?!

Spalten aufsummieren?! News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Spalten aufsummieren?! 5 July, 2010-11:59 Student- Hallo liebe SAS-Gemeinschaft

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

SQL-Befehlsliste. Vereinbarung über die Schreibweise Vereinbarung über die Schreibweise Schlüsselwort [optionale Elemente] Beschreibung Befehlsworte in SQL-Anweisungen werden in Großbuchstaben geschrieben mögliche, aber nicht zwingend erforderliche Teile

Mehr

SQL als Zugriffssprache

SQL als Zugriffssprache SQL als Zugriffssprache Der Select Befehl: Aufbau Select- und From-Klausel Where-Klausel Group-By- und Having-Klausel Union Join-Verbindung Order-By-Klausel Der Update-Befehl Der Delete-Befehl Der Insert-Befehl

Mehr

Datenbanken. Heute dreht sich alles um SQL-Abfragen mit JOINS

Datenbanken. Heute dreht sich alles um SQL-Abfragen mit JOINS Datenbanken Heute dreht sich alles um SQL-Abfragen mit JOINS Bevor du loslegst...... setze bitte die Datenbank zurück, indem du auf Restore Database klickst. Dann werden alle Änderungen, die du bisher

Mehr

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

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

SQL-Programmteile in der Vorlesung. SQL-Vertiefung. Definition von Constraints. Constraint Typen

SQL-Programmteile in der Vorlesung. SQL-Vertiefung. Definition von Constraints. Constraint Typen SQL-Programmteile in der Vorlesung SQL-Vertiefung VL Datenbanksysteme Ingo Feinerer Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien 12.10.2009

Mehr

Der SAS DataStep und die Prozedur SQL. 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1

Der SAS DataStep und die Prozedur SQL. 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1 Der SAS DataStep und die Prozedur SQL 2014 Cellent Finance Solutions GmbH 05.06.2014 Seite: 1 Zahlen und Fakten auf einen Blick Firmensitz: Geschäftsstellen: Branchenerfahrung: Umsatz: Anzahl Mitarbeiter:

Mehr

Datenintegrität. Kapitel 5 1

Datenintegrität. Kapitel 5 1 Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische

Mehr

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking

Grundlagen von Datenbanken. Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking Grundlagen von Datenbanken Referentielle Aktionen, Sichten, Serialisierbarkeit und Locking SQL DDL: Referentielle Aktionen (1/3) Potentielle Gefährdung der referentiellen Integrität durch Änderungsoperationen

Mehr

Relationales Datenbanksystem Oracle

Relationales Datenbanksystem Oracle Relationales Datenbanksystem Oracle 1 Relationales Modell Im relationalen Modell wird ein relationales Datenbankschema wie folgt beschrieben: RS = R 1 X 1 SC 1... R n X n SC n SC a a : i=1...n X i B Information

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

Datenbanken: Datenintegrität. www.informatikzentrale.de Datenbanken: Datenintegrität Definition "Datenkonsistenz" "in der Datenbankorganisation (...) die Korrektheit der gespeicherten Daten im Sinn einer widerspruchsfreien und vollständigen Abbildung der relevanten

Mehr