Einführung in PROC SQL
|
|
- Ulrike Kaufman
- vor 8 Jahren
- Abrufe
Transkript
1 Einführung in PROC SQL Einführung in PROC SQL Page Überblick Was ist SQL und PROC SQL? PROC SQL und SAS DATA Step Data Definition Language: Erstellen/Löschen von Tabellen/Views/Indizes (CREATE, DROP) : Struktur von SQL Abfragen (SELECT) Einfügen/Ändern/Löschen (INSERT, UPDATE, DELETE) Verknüpfen von Tabellen (JOIN) Geschachtelte Abfragen (Subqueries) Verknüpfen von Abfragen (Set Operatoren) Performanz und PROC SQL SAS und relationale Datenbanken (SAS/ACCESS Software) SAS-Treff am URZ Heidelberg
2 Einführung in PROC SQL Page Was ist SQL und PROC SQL? Structured Query Language (SQL): Standardisiert, weit verbreitet in relationalen Datenbanken (zb Oracle, MySQL, Access etc) Relationale Datenbank: Datenbank mit Tabellen und Relationen (EFCodd) Fourth-Generation Language ISO- und ANSI-Standard Datenbankhersteller mit eigenen SQL-Erweiterungen PROC SQL: SAS Implementierung von SQL Teil der SAS-Base Software SAS unterstützt viele Features des SQL Standards (SQL-9) Page PROC SQL und SAS DATA Step Terminologie SQL Term Tabelle Zeile Spalte Datenbank SAS Term SAS data file Beobachtung Variable Bibliothek Syntax proc sql <option(s)>; / anfang / create table ; / sql befehle/ select ; drop table ; / ende / SAS-Treff am URZ Heidelberg
3 Einführung in PROC SQL Page 5 PROC SQL und SAS DATA Step Kategorien von Befehlen in SQL Data Definition Language (DDL) Definition des Datenbankschemas (DML) Datenmanipulation Data Control Language (DCL) Rechteverwaltung Page 6 PROC SQL und SAS DATA Step Kategorien von Befehlen in SQL Data Definition Language (DDL) Definition des Datenbankschemas (DML) Datenmanipulation Data Control Language (DCL) Rechteverwaltung SAS-Treff am URZ Heidelberg
4 Einführung in PROC SQL Page 7 Beispieldatensätze Relation Page 8 Beispieldatensätze my_dbpatients ID SEX PRIMMD BIRTHDTE LASTNAME FIRSTNAME 97 0AUG98 Bauer Jürgen 97 7MAR95 Betz Stefan 989 0JUL98 Casper Martha 00 5MAY96 Hemmingw Greg 5 97 AUG97 Humboldt Karla my_dbadmits PT_ID ADMDATE DISDATE MD_ID HOSP_ID DEST BP_SYS BP_DIA PRIMDX 07FEB999 08FEB APR999 5APR SEP999 9SEP JUN998 JUN MAR998 5MAR SAS-Treff am URZ Heidelberg
5 Einführung in PROC SQL Page 9 Beispieldatensätze my_dbhospital HOSP_ID HOSPNAME TOWN NBEDS TYPE Big University Hospital NewMitfo 8 Our Lady of Charity NorthMit 65 Veteran s Administration WestMitf 76 Community Hospital Derbyvil 8 5 City Hospital NewMitfo 05 my_dbdoctors MD_ID LASTNAME Fitzhugh Fitzhugh Mac Arthur Mac Arthur Rosenberg HOSPADM Page 0 Data Definition Language Erstellen von Tabellen (CREATE) ) aus Spaltenbeschreibungen create table my_dbdoctors / leere tabelle erstellt / ( MD_ID num, LASTNAME char(8), HOSPADM num ); describe table my_dbdoctors; SAS-Treff am URZ Heidelberg 5
6 Einführung in PROC SQL Page Data Definition Language ) anlog einer existierenden Tabelle / leere tabelle erstellt / create table my_dbdoctors_kopie like my_dbdoctors; ) aus einer Abfrage create table my_dbdoctors_kopie as / tabelle mit inhalt / select from my_dbdoctors; Page Data Definition Language Erstellen von Views (CREATE) - eine View ist eine gespeicherte Abfrage - speichersparend - virtuelle Tabelle, die uu mehrere Tabellen zusammenführt - versteckt komplizierte Abfragen, oder auch Zeilen create view my_dbdiagnosis_view as select from my_dbadmits where primdx like '0%'; / primary diagnosis / select from my_dbdiagnosis_view; SAS-Treff am URZ Heidelberg 6
7 Einführung in PROC SQL Page Data Definition Language describe view my_dbdiagnosis_view; Im Log Fenster: NOTE: SQL view MY_DBDIAGNOSIS_VIEW is defined as: select from MY_DBADMITS where primdx like '0%'; Page Data Definition Language PROC SQL Tabellen und Views Input für weitere SAS Prozeduren Vermeiden von order by innerhalb einer View Daten werden bei jeder Referenzierung auf die View sortiert wenn eine View oft referenziert wird Tabelle erstellen wenn sich die Struktur von Tabellen ändert besser keine Views benutzen SAS-Treff am URZ Heidelberg 7
8 Einführung in PROC SQL Page 5 Data Definition Language Erstellen von Indizes (CREATE) - einfacher Index (simpler index) über eine einzige Spalte create index id / indexname = spaltenname! / on my_dbpatients(id); NOTE: Simple index id has been defined - zusammengesetzter Index (composite index) über mehrere Spalten create index name on my_dbpatients(lastname,firstname); NOTE: Composite index name has been defined Page 6 Data Definition Language SAS-Treff am URZ Heidelberg 8
9 Einführung in PROC SQL Page 7 Data Definition Language Index erstellen mit SAS ) mit PROC DATASETS proc datasets library = my_db; modify patients; index delete id; / index löschen / index create id; / simpler index / index create name = (lastname firstname); / composite index / run; ) mit DATA Set Option data my_dbpatients(index = (lastname)); set my_dbpatients; run; Page 8 Data Definition Language Löschen von Tabellen/Views/Indizes (DROP) drop table my_dbpatients; drop view diagnosis_view; drop index name on my_dbpatients; drop index id on my_dbpatients; SAS-Treff am URZ Heidelberg 9
10 Einführung in PROC SQL Page 9 Struktur von SQL Abfragen (SELECT) select from where group by 5 having 6 order by optional Page 0 - alle Spalten auswählen: select from my_dbpatients; proc sql outobs = 5; / nur 5 beobachtungen / select from my_dbpatients; SAS-Treff am URZ Heidelberg 0
11 Einführung in PROC SQL Page - Spalten auswählen: select firstname,lastname from my_dbpatients; / ausgabereihenfolge wie angegeben / select from my_dbdoctors(drop = HOSPADM); / DATA step option / Page - Duplikate eliminieren: select distinct / verschieden in ALLEN spalten / from my_dbpatients; oder mit SAS: proc sort data = my_dbpatients out = my_dbpatients_nodup noduplicates; by lastname; run; SAS-Treff am URZ Heidelberg
12 Einführung in PROC SQL Page - Duplikate eliminieren: select distinct lastname / verschieden in nur einer spalte / from my_dbpatients; LASTNAME Bauer Betz Casper Hemmingw Humboldt Kampinsk Lessing Mayer Page oder mit SAS: proc sort data = my_dbpatients out = my_dbpatients_nodup nodupkey; by lastname; run; zusätzliche Spalten Obs ID SEX PRIMMD BIRTHDTE LASTNAME FIRSTNAME 0 Jan965 Bauer Jürgen 97 OCT9 Betz Stefan 6 APR95 Casper Martha 80 MAY9 Hemmingw Greg DEC9 Humboldt Karla 6 00 JAN9 Kampinsk Igor FEB96 Lessing Katrin SAS-Treff am URZ Heidelberg
13 Einführung in PROC SQL Page 5 - Anlegen von neuen Spalten (CASE Anweisung): create table my_dbbp as select pt_id, bp_sys label = 'Blutdruck systolisch (mmhg)', bp_dia label = 'Blutdruck diastolisch (mmhg)', case when (bp_sys >= 0) and (bp_dia >= 90) then 'hoch' else 'normal' end as Blutdruck / weitere case anweisungen / from my_dbadmits; PT_ID Blutdruck systolisch (mmhg) Blutdruck diastolisch (mmhg) Blutdruck normal 0 0 Hoch Page 6 - Auswahl von Beobachtungen (WHERE): select from my_dbbp where blutdruck = 'hoch'; - einige Operatoren: SAS-Treff am URZ Heidelberg
14 Einführung in PROC SQL Page 7 - Duplikate ausgeben (GROUP BY, HAVING): create table my_dbdoctors_dup as select md_id, lastname, hospadm as hospital, count() as anzahl from my_dbdoctors group by md_id having count() >= MD_ID LASTNAME Avitable Avitable Fitzhugh Fitzhugh Hanratty Hanratty hospital anzahl order by lastname; 7 Hanratty Page 8 oder mit SAS: proc sort data = my_dbdoctors; by md_id; run; data my_dbdoctors_dup; set my_dbdoctors (rename = (hospadm=hospital)); by md_id; if not (firstmd_id and lastmd_id); run; proc sort data = my_dbdoctors_dup; by lastname; run; SAS-Treff am URZ Heidelberg
15 Einführung in PROC SQL Page 9 Einfügen von Beobachtungen (INSERT) ) mit values statement insert into my_dbdoctors values (, 'Harald', ) values (, 'Harald', ); Page 0 ) mit set statement insert into my_dbdoctors set md_id =, lastname = 'Harald', hospadm = set md_id =, lastname = 'Harald', hospadm = ; ) aus einer Abfrage: insert into my_dbdoctors_new select from my_dbdoctors; / werden angehangen / SAS-Treff am URZ Heidelberg 5
16 Einführung in PROC SQL Page Ändern von Beobachtungen (UPDATE) update my_dbhospital set nbeds = nbeds 0; / ALLE einträge geändert! / einschränken mit where Page Löschen von Beobachtungen (DELETE) delete from my_dbdoctors; / ALLE einträge gelöscht! / einschränken mit where delete from my_dbdoctors where md_id = ; SAS-Treff am URZ Heidelberg 6
17 Einführung in PROC SQL SAS-Treff am URZ Heidelberg 7 Page Verknüpfen von mehreren Tabellen (JOIN) - vergleichbar zu merge - Daten werden horizontal miteinander verknüpft 9 Z Y X Tabelle One B A Tabelle Two Bespieldaten: Page select from my_dbone, my_dbtwo; / keine where-bedingung angegeben / B A Z Y X x5 Einträge Kartesisches Produkt
18 Einführung in PROC SQL Page 5 Kartesisches Produkt: vollständige Kombination von Datensätzen miteinander sehr rechenintensiv Im SAS Log Fenster: select 978 from my_dbone, my_dbtwo; NOTE: The execution of this query involves performing one or more Cartesian product joins that can not be optimized 979 NOTE: PROCEDURE SQL used (Total process time): real time 00 seconds cpu time 000 seconds Page 6 (Fast) immer will man nur eine Untermenge des kartesischen Produktes Inner Join Right Join Left Join Full Join Outer Joins SAS-Treff am URZ Heidelberg 8
19 Einführung in PROC SQL Page 7 Inner Join - Schnittmenge select from my_dbone as a, my_dbtwo as b where ax = ba; oder select from my_dbone as a inner join my_dbtwo as b on ax = ba; X Y Z A B Page 8 oder mit SAS: proc sort data = my_dbone; by X; run; proc sort data = my_dbtwo; by A; run; data my_dbinner_join; merge my_dbone (in = one) my_dbtwo (in = two rename = (A = X)); by X; if one and two; run; SAS-Treff am URZ Heidelberg 9
20 Einführung in PROC SQL Page 9 Outer Joins Als Ergebnis wird eine Tabelle ausgegeben, die - alle gemeinsamen Beobachtungen enthält und - zusätzlich die restlichen Zeilen der linken (left join) bzw der rechten Tabelle (right join) Page 0 Left Join linke Tabelle ist Mastertabelle (dh alle Zeilen der linken Tabelle mit den entsprechenden Zeilen der rechten Tabelle) select from my_dbone as a left join my_dbtwo as b on ax = ba; X Y Z A B in linker und rechter Tabelle 9 nur in linker Tabelle SAS-Treff am URZ Heidelberg 0
21 Einführung in PROC SQL Page oder mit SAS: / left join / data my_dbleft_join; merge my_dbone (in = one) my_dbtwo (rename = (A = X)); by X; if one; run; Page Right Join rechte Tabelle ist Mastertabelle (dh alle Zeilen der rechten Tabelle mit den entsprechenden Zeilen der linken Tabelle) select from my_dbone as a right join my_dbtwo as b on ax = ba; X Y Z A B SAS-Treff am URZ Heidelberg
22 Einführung in PROC SQL Page oder mit SAS: / right join / data my_dbright_join; merge my_dbone my_dbtwo (in = two rename = (A = X)); by X; if two; run; Page Full Join Kombination aus left join und right join select from my_dbone as a full join my_dbtwo as b on ax = ba; X Y Z A B 5 6 aus rechter Tabelle aus linker Tabelle SAS-Treff am URZ Heidelberg
23 Einführung in PROC SQL Page 5 oder mit SAS: / full join / data my_dbfull_join; merge my_dbone my_dbtwo (rename = (A = X)); by X; run; Bemerkungen: - mit PROC SQL kein sortieren vorher notwenig - Variablen können unterschiedliche Namen haben (kein rename notwendig) Page 6 Geschachtelte Abfragen (Subqueries) Eine Tabelle in einem Join kann wiederum eine SQL Abfrage sein Beispiel: Wir wollen den Namen von jedem Patienten der eingeliefert wurde select id, lastname, firstname from my_dbpatients where id in (select distinct pt_id from my_dbadmits); diese Abfrage wäre auch mit einem inner join möglich SAS-Treff am URZ Heidelberg
24 Einführung in PROC SQL Page 7 Beispiel: Wir wollen zu jedem Patient alle Aufnahmen herausfinden, die von seinem Hausarzt durchgeführt wurden Dabei interessiert uns der Patientenname, Patientenid, Aufnahmedatum, Arztname Wir brauchen Informationen aus Tabellen: my_dbadmits, my_dbpatients, my_dbdoctors Page 8 my_dbadmits: Daraus bekommen wir alle Patienten, die eingeliefert wurden (nicht jeder der 5 Patienten wurde eingeliefert) und den Arzt, der eingeliefert hat PT_ID ADMDATE DISDATE MD_ID HOSP_ID DEST BP_SYS BP_DIA PRIMDX my_dbpatients: Daraus bekommen wir Patientennamen und ids und die Hausarztid ID SEX PRIMMD BIRTHDTE LASTNAME FIRSTNAME my_dbdoctors: Daraus bekommen wir die Arztid und den Arztnamen MD_ID LASTNAME HOSPADM SAS-Treff am URZ Heidelberg
25 Einführung in PROC SQL Page 9 create table my_dbadm_prim as select pt_id, admdate, patlastname as patname, docmd_id, doclastname as doclastname from my_dbadmits as adm inner join my_dbpatients as pat on (admpt_id = patid) and (admmd_id = patprimmd) inner join (select distinct md_id, lastname from my_dbdoctors) as doc on (admmd_id = docmd_id) order by admpt_id, admdate; Page 50 create table my_dbadm_prim as select pt_id, admdate, patlastname as patname, docmd_id, doclastname as doclastname from my_dbadmits as adm inner join my_dbpatients as pat on (admpt_id = patid) and (admmd_id = patprimmd) inner join (select distinct md_id, lastname from my_dbdoctors) as doc on (admmd_id = docmd_id) order by admpt_id, admdate; Erste Abfrage liefert nur Einträge für Patienten, die eingeliefert worden sind und der Einweisungsarzt der Hausarzt des Patienten ist SAS-Treff am URZ Heidelberg 5
26 Einführung in PROC SQL Page 5 create table my_dbadm_prim as select pt_id, admdate, patlastname as patname, docmd_id, doclastname as doclastname from my_dbadmits as adm inner join my_dbpatients as pat on (admpt_id = patid) and (admmd_id = patprimmd) inner join (select distinct md_id, lastname from my_dbdoctors) as doc on (admmd_id = docmd_id) order by admpt_id, admdate; Zweite Abfrage liefert nur unterschiedliche Einträge für jeden Arzt, der Einlieferungsarzt ist und gleichzeitig Hausarzt Page 5 PT_ID ADMDATE patname MD_ID doclastname APR999 Betz 97 Fitzhugh 5 0APR999 Lessing 97 Fitzhugh 5 0MAR999 Lessing 97 Fitzhugh 5 9JAN999 Lessing 97 Fitzhugh 7 08SEP996 Schreibe 7 Hanratty 7 8JUL996 Schreibe 7 Hanratty 0 0NOV998 Bauer MacArthu 5 7AUG997 Humboldt 00 Colanton 5 5MAY997 Humboldt 00 Colanton SAS-Treff am URZ Heidelberg 6
27 Einführung in PROC SQL Page 5 In SAS: data my_dbadm_prim (drop = primmd); merge my_dbadmits (in = adm keep = pt_id admdate md_id) my_dbpatients (in = pat keep = id lastname primmd rename = (id = pt_id)); by pt_id; if adm and pat and (md_id = primmd); run; proc sort data = my_dbdoctors; by md_id; run; data my_dbdoctors_nodup; set my_dbdoctors(keep = md_id lastname); by md_id; if firstmd_id; run; proc sort data = my_dbadm_prim; by md_id; run; data my_dbadm_prim; merge my_dbadm_prim (in = prim rename = (lastname = patname)) my_dbdoctors_nodup (rename = (lastname = docname)); by md_id; if prim; run; Page 5 Verknüpfung von mehreren Abfragen (Set Operatoren) - vergleichbar mit set - Daten werden vertikal miteinander verknüpft - grundsätzlich Verknüpfung nach Spaltenposition - zt kein direktes Gegenstück in SAS Bespieldaten: Tabelle One Tabelle Two Y 9 A A 5 B SAS-Treff am URZ Heidelberg 7
28 Einführung in PROC SQL Page 55 UNION EXCEPT INTERSECT OUTER UNION Modifikation durch: Spaltenreihenfolge uu wichtig ALL - Doppelte Zeilen werden nicht unterdrückt nicht mit OUTER UNION verwendbar, da hier bereits alle Zeilen ausgegeben werden CORRESPONDING (CORR) - Spalten mit gleichem Namen werden überlagert (gleiche Spaltennamen erkannt) Page 56 Union - Alle Zeilen aus Tabellen ausgegeben ohne doppelte Zeilen ( sonst ALL) - Verknüpfung der Spalten entsprechend der Position, dh Variablen gleichen Namens nicht erkannt ( sonst CORR) - resultierenden Spalten erhalten die Namen der ersten Tabelle select from my_dbone union select from my_dbtwo; A Y SAS-Treff am URZ Heidelberg 8
29 Einführung in PROC SQL Page 57 select from my_dbone union corr / verknüpfung über gl spaltennamen / select from my_dbtwo; A 5 7 select from my_dbone union all / doppelte Zeilen ausgeben / select from my_dbtwo; Y 9 A Page 58 Except - Ergebnisse aus one, jedoch nicht in two - für doppelte Zeilen ALL verwenden - Vergleich anhand gemeinsamer Variablen mit CORR select from my_dbone except select from my_dbtwo; Y 9 A SAS-Treff am URZ Heidelberg 9
30 Einführung in PROC SQL Page 59 Intersect nur Beobachtungen, die in beiden Dateien die gleichen Ausprägungen in den angegebenen Spalten haben select from my_dbone intersect select from my_dbtwo; Y A Page 60 Outer Union select from my_dbone outer union select from my_dbtwo; Y 9 A A B SAS-Treff am URZ Heidelberg 0
31 Einführung in PROC SQL Page 6 select from my_dbone outer union corr / gl spaltennamen erkannt / select from my_dbtwo; Y 9 A B Page 6 Performanz und PROC SQL Tipps für performante SQL Abfragen: - where Bedingung spezifizieren - eher join als eine subquery verwenden - auf order by in Views verzichten - Indexieren SAS-Treff am URZ Heidelberg
32 Einführung in PROC SQL Page 6 Performanz und PROC SQL Der Index - Ohne Index wird eine Tabelle sequentiell gelesen - ein Index ist eine geordnete Struktur (zb Baum) mit Verweis auf Einträge Ordnung verkürzt also die Suche nach einem bestimmten Datensatz - ein Index kann die Verknüpfung von Tabellen (joins) beschleunigen Sinnvoll einen Index zu erstellen: - bestimmte Spalten immer wieder in joins genutzt - Spaltenwerte viele untersch Werte besitzen (einzelne Datensätze gut diskriminieren) (zb patienten id geschlecht) - Teilmenge der gesamten Daten benötigt wird Page 6 Performanz und PROC SQL Beispiel: Indexstruktur - binärer Baum record identifier 00 lastname Betz firstname Stefan - zyklenfreie Graphstruktur - besteht aus Knoten verbunden durch gerichtete Kanten Polak Kampinski Mayer Edgar Igor Karl 005 Lessing Katrin 006 Casper Martha 007 Schreiber Tobias 008 Schwartkopf Walter 009 Naipaul Victor 00 Bauer Jürgen 0 Voltus Jean 0 Bauer Alberta 0 Shakes William 0 Hemmingway Greg 05 Humboldt Karla SAS-Treff am URZ Heidelberg
33 Einführung in PROC SQL Page 65 Performanz und PROC SQL Abfrage: select name, vorname from my_dbpatient where lastname = 'Humboldt' and firstname = 'Karla'; Ohne Index sequentielle Suche in der ungeordneten Tabelle 5 Schritte zum Finden Index über die Spalten Name und Vorname binärer Baum wird angelegt Page 66 Shakes William, 0 Voltus Jean, 0 Schwartzkopf Walter, 008 Schreiber Tobias, 007 Polak Edgar, 00 Naipaul Victor, 009 Mayer Karl, 00 Lessing Katrin, 005 Kampinski Iger, 00 Humboldt Karla, 05 Hemmingway Greg, 0 Casper Martha, 006 Betz Stefan, 00 Bauer Jürgen, 00 Bauer Alberta, 0 SAS-Treff am URZ Heidelberg
34 Einführung in PROC SQL Page 67 Shakes William, 0 Voltus Jean, 0 Schwartzkopf Walter, 008 Schreiber Tobias, 007 Polak Edgar, 00 Naipaul Victor, 009 Mayer Karl, 00 Lessing Katrin, 005 Kampinski Iger, 00 Humboldt Karla, 05 Hemmingway Greg, 0 Casper Martha, 006 Betz Stefan, 00 Bauer Jürgen, 00 Bauer Alberta, 0 Page 68 Shakes William, 0 Voltus Jean, 0 Schwartzkopf Walter, 008 Schreiber Tobias, 007 Polak Edgar, 00 Naipaul Victor, 009 Mayer Karl, 00 Lessing Katrin, 005 Kampinski Iger, 00 Humboldt Karla, 05 Hemmingway Greg, 0 Casper Martha, 006 Betz Stefan, 00 Bauer Jürgen, 00 Bauer Alberta, 0 SAS-Treff am URZ Heidelberg
35 Einführung in PROC SQL Page 69 Shakes William, 0 Voltus Jean, 0 Schwartzkopf Walter, 008 Schreiber Tobias, 007 Polak Edgar, 00 Naipaul Victor, 009 Mayer Karl, 00 Lessing Katrin, 005 Kampinski Iger, 00 Humboldt Karla, 05 Hemmingway Greg, 0 Casper Martha, 006 Betz Stefan, 00 Bauer Jürgen, 00 Bauer Alberta, 0 Schritte zum Finden der internen Adresse und Schritt zum Nachschauen des Datensatzes in der Tabelle Page 70 Performanz und PROC SQL Manche Knoten sind durch das Umorganisieren schlechter als vorher platziert (zb Betz Stefan ) Im Durchschnitt verringert sich aber die Anzahl der Vergleiche Blattknoten möglichst die gleiche Distanz zum Wurzelknoten balancierter Baum nach Hinzufügen/Löschen Baum wieder ausbalancieren B-Bäume in DB (balancierte Bäume weniger Zugriffe) zusätzlicher Speicherverbrauch für einen Index jedoch werden die meisten Datenbanken viel häufiger gelesen als geschrieben Indexierte Daten müssen vor einer by Verarbeitung nicht mehr sortiert werden Indizes werden beim nachfolgenden sortieren ungültig (force Option setzen) proc sort data = my_dbtwo force; by A; run; SAS-Treff am URZ Heidelberg 5
36 Einführung in PROC SQL Page 7 Performanz und PROC SQL Beispiel: select id, sex, couple_id from spousescouples_0 where id not in (select id from spousesall); Ohne Index: NOTE: PROCEDURE SQL used (Total process time): real time 6:95 cpu time 5:06 Mit Index (id): 76 create index id 77 on spousescouples_0(id); real time :5975 cpu time 9 seconds create index id 80 on spousesall; real time 5:88 cpu time 09 seconds NOTE: SQL Statement used (Total process time): real time :08 cpu time 5 seconds Page 7 SAS und relationale Datenbanken SAS/ACCESS Software: Schnittstelle zwischen SAS SW und einem anderen DB Management System Zugriffsmöglichkeiten: libname Anweisung - einer Datenbank eine SAS library zuweisen - Zugriff auf DB mit DATA Step Programmierung - Optimierung von joins und anderen Funktionen (Indizes der Datenbank genutzt) libname my_lib mysql user = testuser password = testpass database = mysqldb server = mysqlserv port = 9876; proc print data = my_libemployees; where dept = 'CSR00';run; PROC SQL Pass-Through Facility - SQL Erweiterungen der jeweiligen DB können genutzt werden - Optimierung von joins und anderen Funktionen (Indizes der Datenbank genutzt) connect to mysql (user = ); select from connection to mysql (select from customers); disconnect from mysql; SAS-Treff am URZ Heidelberg 6
37 Einführung in PROC SQL Page 7 Zusammenfassung Nicht behandelt: - Aggregierungsfunktionen - Makrovariablen und SQL Fazit: - Kompaktere Anweisungen mit PROC SQL - Set Operatoren kein direktes Gegenstück für UNION, EXCEPT, INTERSECT in SAS - Keine statistischen Auswertungen mit PROC SQL - SQL ist DER Standard für relationale Datenbanksysteme Page 7 Literaturliste DATA Step vs PROC SQL: What s a neophyte to do? Craig Dickstein, (Paper 6-6) An Introduction to PROC SQL, Rosalind K Gusinow and J Michael Miscisin (Handson Workshops) SAS Institute Inc, 00 SAS/ACCESS 9 Supplement for MySQL SAS Institute Inc, 00 SAS9 SQL Procedure User s Guide PROC SQL for DATA Step Die-Hards, Williams, CS (manche Beispiele) Creating and Exploiting SAS Indexes Michael A Raithel (Paper -9) Proceedings of the th Annual NorthEast SAS Users Group Conference, Washington, DC, 999 Undocumented and Hard-to-find SQL Features Kirk Paul Lafler (Paper 9-8) Frequently Asked Questions about SAS Indexes (Paper 008-0) An Introduction to SQL in SAS Pete Lund (Paper 57-0) SQL SET OPERATORS: SO HANDY VENN YOU NEED THEM, Howard Schreier (PAPER -) Top Ten Reasons to Use PROC SQL Weiming Hu (Paper 0-9) SAS-Treff am URZ Heidelberg 7
38 Einführung in PROC SQL Page 75 Einführung in PROC SQL Vielen Dank für die Aufmerksamkeit! Bei weiteren Fragen: SAS-Treff am URZ Heidelberg 8
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-
MehrDATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
MehrDatenbanken 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,
MehrDer 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:
MehrMengenvergleiche: 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
MehrNachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)
Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der
MehrSructred Query Language
Sructred Query Language Michael Dienert 11. November 2010 Inhaltsverzeichnis 1 Ein kurzer Versionsüberblick 1 2 SQL-1 mit einigen Erweiterungen aus SQL-92 2 3 Eine Sprache zur Beschreibung anderer Sprachen
MehrInformatik 12 Datenbanken SQL-Einführung
Informatik 12 Datenbanken SQL-Einführung Gierhardt Vorbemerkungen Bisher haben wir Datenbanken nur über einzelne Tabellen kennen gelernt. Stehen mehrere Tabellen in gewissen Beziehungen zur Beschreibung
MehrEinfü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
MehrAnwendungsentwicklung 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
MehrWhitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt
MehrLabor 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Ü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
MehrMySQL Installation. AnPr
Name Klasse Datum 1 Allgemeiner Aufbau Relationale Datenbank Management Systeme (RDBMS) werden im Regelfall als Service installiert. Der Zugriff kann über mehrere Kanäle durchgeführt werden, wobei im Regelfall
MehrMySQL 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
MehrIV. Datenbankmanagement
Wirtschaftsinformatik 2 (PWIN) IV. Datenbankmanagement Kapitel 2: Datenmanipulationssprache SQL Wirtschaftsinformatik 2 (PWIN) SS 2009, Professur für Mobile Business & Multilateral Security 1 Agenda 1.
Mehr105.3 SQL-Datenverwaltung
LPI-Zertifizierung 105.3 SQL-Datenverwaltung Copyright ( ) 2009 by Dr. W. Kicherer. This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 2.0 Germany License. To view a
MehrFachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1
Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------
MehrArbeiten mit einem lokalen PostgreSQL-Server
Arbeiten mit einem lokalen PostgreSQL-Server Download für das Betriebssystem Windows PostgreSQL-Server und pgadmin: http://www.enterprisedb.com/products-servicestraining/pgdownload#windows pgadmin: http://www.pgadmin.org/download/windows.php
MehrDatumsangaben, 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
MehrSQL. Fortgeschrittene Konzepte Auszug
SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt
Mehr6. Sichten, Integrität und Zugriffskontrolle. Vorlesung "Informa=onssysteme" Sommersemester 2015
6. Sichten, Integrität und Zugriffskontrolle Vorlesung "Informa=onssysteme" Sommersemester 2015 Überblick Sichten Integritätsbedingungen Zugriffsrechte SQL- Schema und SQL- Katalog Das Informa=onsschema
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrOPERATIONEN AUF EINER DATENBANK
Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:
MehrSQL (Structured Query Language) Schemata Datentypen
2 SQL Sprachelemente Grundlegende Sprachelemente von SQL. 2.1 Übersicht Themen des Kapitels SQL Sprachelemente Themen des Kapitels SQL (Structured Query Language) Schemata Datentypen Im Kapitel SQL Sprachelemente
MehrEinfü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
MehrBibliografische 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
MehrAufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.
Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname
MehrUniversitä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
MehrDatenbanken für Online Untersuchungen
Datenbanken für Online Untersuchungen Im vorliegenden Text wird die Verwendung einer MySQL Datenbank für Online Untersuchungen beschrieben. Es wird davon ausgegangen, dass die Untersuchung aus mehreren
MehrEinführung in SQL Datenbanken bearbeiten
Einführung in SQL Datenbanken bearbeiten Jürgen Thomas Entstanden als Wiki-Buch Bibliografische Information Diese Publikation ist bei der Deutschen Nationalbibliothek registriert. Detaillierte Angaben
MehrSQL 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
MehrTU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe (muehe@in.tum.de) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/
MehrSQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:
SQL Structured Query Language: strukturierte Datenbankabfragesprache eine Datenbanksprache zur Definition, Abfrage und Manipulation von Daten in relationalen Datenbanken In der SQL-Ansicht arbeiten In
MehrXAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL
XAMPP-Systeme Teil 3: My SQL Daten Eine Wesenseigenschaft von Menschen ist es, Informationen, in welcher Form sie auch immer auftreten, zu ordnen, zu klassifizieren und in strukturierter Form abzulegen.
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
Mehr7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken
MehrSEMINAR Modifikation für die Nutzung des Community Builders
20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen
MehrDatenbanktechnologie mit praktischen Übungen in MySQL und PHP
Datenbanktechnologie mit praktischen Übungen in MySQL und PHP Übung, Sommersemester 2013 22. April 2013 - MySQL Sebastian Cuy sebastian.cuy@uni-koeln.de Datenbanken Was sind eigentlich Datenbanken? Eine
MehrViews in SQL. 2 Anlegen und Verwenden von Views 2
Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig
MehrProgrammieren für mobile Endgeräte SS 2013/2014. Dozenten: Patrick Förster, Michael Hasseler
Programmieren für mobile Endgeräte SS 2013/2014 Programmieren für mobile Endgeräte 2 Informationen aus der Datenbank lesen Klasse SQLiteDatabase enthält die Methode query(..) 1. Parameter: Tabellenname
MehrProjektbericht Gruppe 12. Datenbanksysteme WS 05/ 06. Gruppe 12. Martin Tintel Tatjana Triebl. Seite 1 von 11
Datenbanksysteme WS 05/ 06 Gruppe 12 Martin Tintel Tatjana Triebl Seite 1 von 11 Inhaltsverzeichnis Inhaltsverzeichnis... 2 1. Einleitung... 3 2. Datenbanken... 4 2.1. Oracle... 4 2.2. MySQL... 5 2.3 MS
MehrHandbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken
Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken Dateiname: ecdl5_01_00_documentation_standard.doc Speicherdatum: 14.02.2005 ECDL 2003 Basic Modul 5 Datenbank - Grundlagen
MehrDie bisher bereits bekannten Aggregatsfunktionen MIN, MAX, SUM, AVG, COUNT, VARIANCE und STDDEV wurden um FIRST und LAST erweitert.
Betrifft Autor FIRST, LAST Markus Jägle (markus.jaegle@trivadis.com) Art der Info Technische Background Info (April 2002) Quelle Aus dem NF9i-Kurs, NF9i-Techno-Circle der Trivadis und Oracle9i Data Warehousing
MehrSQL structured query language
Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query
MehrOracle 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
MehrMySQL: Einfaches Rechnen. www.informatikzentrale.de
MySQL: Einfaches Rechnen Vorweg: Der Merksatz Warum geht Herbert oft laufen? Vorweg: Der Merksatz Warum geht Herbert oft laufen?...... WHERE... GROUP BY... HAVING... ORDER BY... LIMIT Beispieldatenbank
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrHandbuch zur Anlage von Turnieren auf der NÖEV-Homepage
Handbuch zur Anlage von Turnieren auf der NÖEV-Homepage Inhaltsverzeichnis 1. Anmeldung... 2 1.1 Startbildschirm... 3 2. Die PDF-Dateien hochladen... 4 2.1 Neue PDF-Datei erstellen... 5 3. Obelix-Datei
MehrFachhochschule Deggendorf Platzziffer:...
Sommersemester 2008 Zahl der Blätter: 9 Fachbereich: Betriebswirtschaft WI Bachelor Hilfsmittel: alles ohne Computer Zeit: 90 Minuten 1 Betrachten Sie die drei markierten Zeilen. 1. Angenommen Sie hätten
MehrMySQL-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
MehrIBM Informix SQL. Seminarunterlage. Version 11.04 vom
Seminarunterlage Version: 11.04 Version 11.04 vom 27. April 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen sind Warenzeichen
MehrÜbersicht über Datenbanken
Übersicht über Datenbanken Vergleich zwischen normaler Datenorganisation und Datenbanken Definition einer Datenbank Beispiel (inkl. Zugriff) Der Datenbankadministrator Relationale Datenbanken Transaktionen
MehrUniversität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL
Betreuer: Sascha Kriewel, Tobias Tuttas Raum: LF 230 Bearbeitung: 26., 27. und 29. Juni 2006 Datum Team (Account) Vorbereitung Präsenz Aktuelle Informationen, Ansprechpartner und Material unter: http://www.is.inf.uni-due.de/courses/dbp_ss07/index.html
Mehr5.3 Datenänderung/-zugriff mit SQL (DML)
5.3 Datenänderung/-zugriff mit SQL (DML) Hinweis: - DML-Anweisungen sind mengenorientiert - Mit einer Anweisungen kann mehr als ein Tupel eingefügt, geändert, gelöscht oder gelesen werden Benutzungs- und
MehrDatenstrukturen & Algorithmen
Datenstrukturen & Algorithmen Matthias Zwicker Universität Bern Frühling 2010 Übersicht Binäre Suchbäume Einführung und Begriffe Binäre Suchbäume 2 Binäre Suchbäume Datenstruktur für dynamische Mengen
MehrSQL Performance - Tips Do's & Don'ts
SQL Performance - Tips Do's & Don'ts S.K. Consulting GmbH, München DB2_SQL_PERF - 1 - Inhaltsverzeichnis I. Richtlinien bei der Verwendung von SQL 1.1. In Programmen "verbotene" SQL- Anweisungen 1.2 SQL
MehrOracle 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
MehrE-Commerce: IT-Werkzeuge. Web-Programmierung. Kapitel 6: Datenbankabfragen mit SQL und PHP. Stand: 24.11.2014. Übung WS 2014/2015
Übung WS 2014/2015 E-Commerce: IT-Werkzeuge Web-Programmierung Kapitel 6: Datenbankabfragen mit SQL und PHP Stand: 24.11.2014 Benedikt Schumm M.Sc. Lehrstuhl für ABWL und Wirtschaftsinformatik Katholische
MehrLeseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB. Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.
Leseprobe: SQL mit MySQL - Band 4 Kompendium mit Online-Übungs-DB Kompendium zur schnellen Kurzinformation der Datenbanksprache SQL/MySQL 5.1 im Internet: www.datenbanken-programmierung.de... 3.0 SQL nach
MehrErstellen einer Datenbank. Datenbankabfragen
Erstellen einer Datenbank Datenbankabfragen Überblick Die fünf Stationen Semantisches Modell Logisches Modell Prüfung auf Redundanz Abfragen Softwaremäßige Implementierung Zur Erinnerung: Semantisches
MehrSQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I
SQL SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R VII-1 Beispielrelationen Filiale ( Name Leiter Stadt Einlagen ) Konto ( KontoNr KundenNr FilialName Saldo ) Kredit
MehrDipl. 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
MehrBeispiel 1: Filmdatenbank
Beispiel 1: Filmdatenbank Die Filmdatenbank hat drei Tabellen (ACTOR, MOVIE, PLAYED) Aufgabe 1: Erstelle mit Hilfe der SQL-DDL die drei Tabellen und die Datenbank (MOVIEDB) ACTOR (ActorID, Name, Birthday,
MehrDetails zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.
SELECT - Der Grundbefehl zur Auswahl von Daten Die SELECT-Anweisung fragt Daten aus einer Datenbank ab und stellt diese in einer virtuellen Tabelle zur Verfügung. Diese virtuelle Tabelle, eine Menge von
MehrEine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.
Einführung SQL 2010 Niko Becker Mit unseren Übungen zu ACCESS können Sie Aufbau und Struktur einer relationalen Datenbank kennenlernen. Wir zeigen Ihnen wie Sie Tabellen, Formulare und Berichte erstellen
MehrBinäre Bäume Darstellung und Traversierung
Binäre Bäume Darstellung und Traversierung Name Frank Bollwig Matrikel-Nr. 2770085 E-Mail fb641378@inf.tu-dresden.de Datum 15. November 2001 0. Vorbemerkungen... 3 1. Terminologie binärer Bäume... 4 2.
MehrMultimedia im Netz. Übung zur Vorlesung. Ludwig-Maximilians-Universität Wintersemester 2010/2011
Übung zur Vorlesung Multimedia im Netz Ludwig-Maximilians-Universität Wintersemester 2010/2011 Ludwig-Maximilians-Universität München Multimedia im Netz - Übung - 2-1 Übungsblatt - 2 Thema: HTML, PHP und
Mehrmysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank
mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank In den ersten beiden Abschnitten (rbanken1.pdf und rbanken2.pdf) haben wir uns mit am Ende mysql beschäftigt und kennengelernt, wie man
Mehr2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)
1. Einführung: Über den ODBC-Zugriff können Sie bestimmte Daten aus Ihren orgamax-mandanten in anderen Anwendungen (beispielsweise Microsoft Excel oder Microsoft Access) einlesen. Dies bietet sich beispielsweise
MehrCarl-Engler-Schule Karlsruhe Datenbank 1 (5)
Carl-Engler-Schule Karlsruhe Datenbank 1 (5) Informationen zur Datenbank 1. Definition 1.1 Datenbank-Basis Eine Datenbank-Basis ist eine Sammlung von Informationen über Objekte (z.b Musikstücke, Einwohner,
MehrPraktische 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/
MehrSQL-Injection. Seite 1 / 16
SQL-Injection Seite 1 / 16 Allgemein: SQL (Structured Query Language) Datenbanksprache zur Definition von Datenstrukturen in Datenbanken Bearbeiten und Abfragen von Datensätzen Definition: SQL-Injection
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrPostgreSQL 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...
MehrORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel
ORM & OLAP Object-oriented Enterprise Application Programming Model for In-Memory Databases Sebastian Oergel Probleme 2 Datenbanken sind elementar für Business-Anwendungen Gängiges Datenbankparadigma:
MehrAbfragen (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
Mehr7. Übung - Datenbanken
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
MehrUrs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Aus unserer Projekterfahrung und Forschung
Betrifft Optimizer Autor Urs Meier (urs.meier@trivadis.com) Art der Info Technical Info (Februar 2002) Quelle Aus unserer Projekterfahrung und Forschung Einführung Mit jedem Oracle Release nimmt die Anzahl
MehrSQL 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)
MehrHinweise zur Installation von MySQL
Hinweise zur Installation von MySQL Im Folgenden werden einige Hinweise gegeben, die die Einrichtung einer MySQL-Lernumgebung am eigenen Windows-Rechner erleichtern sollen. Der Text ist vor allem für diejenigen
MehrEinführung in die Informatik II
Einführung in die Informatik II Die Structured Query Language SQL Prof. Dr. Nikolaus Wulff SQL Das E/R-Modell lässt sich eins zu eins auf ein Tabellenschema abbilden. Benötigt wird eine Syntax, um Tabellen
MehrBerechnungen in Access Teil I
in Access Teil I Viele Daten müssen in eine Datenbank nicht eingetragen werden, weil sie sich aus anderen Daten berechnen lassen. Zum Beispiel lässt sich die Mehrwertsteuer oder der Bruttopreis in einer
MehrUnterabfragen (Subqueries)
Unterabfragen (Subqueries) Die kürzeste Formulierung ist folgende: SELECT Felderliste FROM Tabelle1 WHERE Tabelle1.Feldname Operator (SELECT Feldname FROM Tabelle2 WHERE Bedingung); wobei Tabelle1 und
MehrInhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung
Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,
MehrProfessionelle Seminare im Bereich MS-Office
Der Name BEREICH.VERSCHIEBEN() ist etwas unglücklich gewählt. Man kann mit der Funktion Bereiche zwar verschieben, man kann Bereiche aber auch verkleinern oder vergrößern. Besser wäre es, die Funktion
Mehrphp Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...
php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick...2 2.Parameterübergabe...7 3.Zugriff auf mysql Daten...11 Verteilte Systeme: php.sxw Prof.
MehrSQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck
SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Fahren fort mit SQL Befehlen. Bilden Relationenalgebra auf SQL ab. So Umsetzung von Anfragen an die DB (bzw. Tabellen) möglich. SELECT
Mehrmit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007
6. Übung zur Vorlesung Datenbanken im Sommersemester 2007 mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007 Aufgabe 1: Rekursion Betrachten Sie die folgende Tabelle
Mehr3 Richtlinienbasierte Verwaltung und Multi-Server- Administration
Richtlinienbasierte Verwaltung und Multi-Server-Administration 3 Richtlinienbasierte Verwaltung und Multi-Server- Administration SQL Server Management Studio bietet eine Reihe von Unterstützungsmöglichkeiten,
MehrEin Ausflug zu ACCESS
Ein Ausflug zu ACCESS Die folgenden Folien zeigen beispielhaft, wie man sein DB- Wissen auf ACCESS übertragen kann betrachtet wird ACCESS 2002, da gerade im Bereich der Nutzung von SQL hier einiges nachgearbeitet
MehrAlgorithmik II. a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge 20, 28, 35, 31, 9, 4, 13, 17, 37, 25 ein.
Aufgabe 10 Binäre Bäume a) Fügen Sie in einen anfangs leeren binären Baum die Schlüsselfolge, 28, 35, 31, 9, 4,, 17, 37, 25 ein. 1. Einfügen von : 3. Einfugen von 35: 2. Einfügen von 28: 28 28 10. Einfügen
MehrLaufzeitoptimierung bei der Verknüpfung großer Datenmengen Ein Vergleich zwischen MERGE und JOIN
Poster Laufzeitoptimierung bei der Verknüpfung großer Datenmengen Ein Vergleich zwischen MERGE und JOIN Cerstin Erler Institut für Arbeitsmarkt- und Berufsforschung der Bundesagentur für Arbeit (IAB) Regensburger
MehrMIN oder MAX Bildung per B*Tree Index Hint
E-Mail: rainer@lambertz-c.de Internet: http://www.lambertz-c.de MIN oder MAX Bildung per B*Tree Index Hint Zugegeben, der Trick Min- oder Maximalwerte per Index Hint zu ermitteln ist nicht neu. Gewöhnlich
MehrKurzanleitung für Umsteiger von DataEase. www.datacool.net
DataCool Kurzanleitung für Umsteiger von DataEase www.datacool.net Copyright 2009 Ingenieurbüro Neuhahn GmbH Tengstr. 3 85055 Ingolstadt DataCool ist ein eingetragenes Warenzeichen (Registernummer 30239297)
MehrVielen Dank an Dennis Riehle für die Bereitstellung dieser Folien
Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien 1.1 Definition Datenbank Ein Datenbanksystem (DBS) ist ein System zur elektronischen Datenverwaltung. Die wesentliche Aufgabe eines DBS
Mehr