SQL. Kapitel SQL-Server
|
|
|
- Chantal Gerhardt
- vor 10 Jahren
- Abrufe
Transkript
1 Kapitel 7 SQL 7.1 SQL-Server Stellvertretend für die zahlreichen am Markt befindlichen relationalen Datenbanksysteme wird in diesem Kapitel das System Microsoft SQL-Server 2000 verwendet. Als Vorbereitungen zum Zugriff sind erforderlich: Server : Nach dem Installieren des Microsoft SQL-Servers muß vom DBA (Data Base Administrator) jeder User mit User-Name, Passwort und Zugriffsrechten eingerichtet werden. Client : In jeder Windows-NT-Station wird die Klienten-Software SQL Query Analyzer installiert. Diese stellt (neben weiteren Funktionalitäten) eine ASCII-Schnittstelle zur Verfügung, auf der SQL- Statements abgesetzt werden können. Diese werden dann per TCP/IP an den SQL-Server übertragen, dort ausgeführt und das Ergebnis zurückgeschickt. Es folgen einige Screenshots vom Installationsvorgang des Query-Analyzers und von der Konfiguration von Putty zum Tunneling zum Rechner arnold. Datenbankserver installieren Server oder Clienttools installieren 81
2 82 KAPITEL 7. SQL arnold.informatik.uni-osnabrueck.de Destination :1433 Einstellungen abspeichern mit localhost verbinden 7.2 Sprachphilosophie Die Relationale Algebra und der Relationenkalkül bilden die Grundlage für die Anfragesprache SQL. Zusätzlich zur Manipulation von Tabellen sind Möglichkeiten zur Definition des relationalen Schemas, zur Formulierung von Integritätsbedingungen, zur Vergabe von Zugriffsrechten und zur Transaktionskontrolle vorgesehen. Relationale Datenbanksysteme realisieren keine Relationen im mathematischen Sinne, sondern Tabellen, die durchaus doppelte Einträge enthalten können. Bei Bedarf müssen die Duplikate explizit entfernt werden. SQL geht zurück auf den von IBM Anfang der 70er Jahre entwickelten Prototyp System R mit der Anfragesprache Sequel. Der zur Zeit aktuelle Standard lautet SQL-92, auch SQL 2 genannt. Er wird weitgehend vom relationalen Datenbanksystem SQL-Server unterstützt.
3 7.3. DATENTYPEN Datentypen Microsoft SQL-Server verwendet folgende Datentypen: Typ Bytes Wertebereich bigint 8 ganze Zahlen von 2 63 bis int 4 ganze Zahlen von 2 31 bis smallint 2 ganze Zahlen von 2 15 bis tinyint 1 ganze Zahlen von 0 bis 255 bit 1 ganze Zahlen von 0 bis 1 decimal(n,m) n numerische Daten mit fester Genauigkeit von bis numeric(n,m) n entspricht decimal money 8 Währungsdatenwerte von 2 63 bis smallmoney 2 Währungsdatenwerte von 2 15 bis real 4 Gleitkommazahlen von bis float 8 Gleitkommazahlen von bis datetime 8 Zeitangaben von bis smalldatetime 4 Zeitangaben von bis char(n) n String fester Länge mit maximal Zeichen varchar(n) String variabler Länge mit maximal Zeichen text String variabler Länge mit maximal 2 31 Zeichen nchar(n) 2n Unicode-Daten fester Länge mit maximal Zeichen nvarchar(n) Unicode-Daten variabler Länge mit maximal Zeichen ntext Unicode-Daten variabler Länge mit maximal 2 30 Zeichen binary Binärdaten fester Länge mit maximal Bytes nbinary Binärdaten variabler Länge mit maximal Bytes image Binärdaten variabler Länge mit maximal 2 31 Bytes rowversion 8 Datenbank-eindeutiger Wert uniqueidentifier 16 weltweit eindeutiger Wert NULL bezeichnet nicht besetzte Attributwerte default bezeichnet vorbesetzte Attributwerte. numeric(n,m)-werte werden mit n Dezimalstellen angezeigt, davon m Nachkommastellen. int, smallint, tinyint und numeric können durch den Zusatz identity(i,j) automatisch initialisert werden mit Startwert i und Schrittweite j. Typ money-werte werden mit 4 Nachkommastellen angezeigt. datetime-werte bestehen aus zwei 4-Byte-Worten: die Anzahl der Tage vor oder nach dem Basisdatum sowie die Anzahl der Millisekunden seit Mitternacht. smalldatetime-werte bestehen aus zwei 2-Byte-Werten: die Anzahl der Tage seit dem sowie die Anzahl der Minuten seit Mitternacht. Spalten vom Typ binary oder image speichern umfangreiche Binärdaten innerhalb eines Zeilentupels und erfordern zusätzliche Zugriffstechniken, um die Daten einzufügen oder auszulesen. Spalten vom Typ rowversion (früher: timestamp) sind innerhalb einer Datenbank eindeutig.
4 84 KAPITEL 7. SQL Sie werden automatisch für die betreffende Zeile bei einer INSERT- oder UPDATE-Operation zugewiesen. Spalten vom Typ uniqueidentifier können durch die Funktion newid() einen (hoffentlich) weltweit eindeutigen Identifier erhalten. 7.4 SQL-Statements zur Schemadefinition SQL-Statements zum Anlegen, Erweitern, Verkürzen und Entfernen einer Tabelle: 1. Tabelle anlegen: create table Person ( PersNr int identity(100000,1), -- ganze Zahl, automatisch vergeben Name varchar(15) not null, -- max. 15 Zeichen langer Wert Geschlecht bit default 0, -- boolscher Wert, vorbesetzt mit 0 Note numeric (5,2), -- 5 Gesamt-, 2 Nachkommastellen Groesse real, -- einfache Genauigket Gewicht float, -- doppelte Genauigkeit Gehalt money, -- Waehrungswert GebDatum datetime, -- Uhrzeit- und Datumsangabe Bemerkung text, -- laengerer Text Photo image, -- Binaerdaten Termin rowversion, -- Zeitstempel fuer Zeilenzugriff Kennung uniqueidentifier -- global eindeutiger Wert default newid(), -- vorbesetzt durch newid() ) 2. Tabelle um eine Spalte erweitern: alter table Person add Vorname varchar(15) 3. Tabellenspalte ändern: alter table Person modify (Vorname varchar(20) 4. Tabelle um eine Spalte verkürzen: alter table Person drop column Vorname 5. Tabelle entfernen: drop table Person
5 7.5. AUFBAU EINER SQL-QUERY ZUM ANFRAGEN Aufbau einer SQL-Query zum Anfragen Eine SQL-Query zum Abfragen von Relationen hat den folgenden generischen Aufbau: SELECT Spalten-1 FROM Tabellen WHERE Bedingung-1 GROUP BY Spalten-2 HAVING Bedingung-2 ORDER BY Spalten-3 Nur die Klauseln SELECT und FROM sind erforderlich, der Rest ist optional. Es bedeuten... Spalten-1 Tabellen Bedingung-1 Spalten-2 Bedingung-2 Spalten-3 Bezeichnungen der Spalten, die ausgegeben werden Bezeichnungen der verwendeten Tabellen Auswahlbedingung für die auszugebenden Zeilen; verwendet werden AND OR NOT = > <!= <= >= IS NULL BETWEEN IN LIKE Bezeichnungen der Spalten, die eine Gruppe definieren. Eine Gruppe bzgl. Spalte x sind diejenigen Zeilen, die bzgl. x identische Werte haben. Bedingung zur Auswahl einer Gruppe Ordnungsreihenfolge für <Spalten-1> Vor <Spalten-1> kann das Schlüsselwort DISTINCT stehen, welches identische Ausgabezeilen unterdrückt. Sogenannte Aggregate Functions fassen die Werte einer Spalte oder Gruppe zusammen. Es liefert... COUNT (*) COUNT (DISTINCT x) SUM (x) SUM (DISTINCT x) AVG (x) AVG (DISTINCT x) MAX (x) MIN (x) Anzahl der Zeilen Anzahl der verschiedenen Werte in Spalte x Summe der Werte in Spalte x Summe der verschiedenen Werte in Spalte x Durchschnitt der Werte in Spalte x Durchschnitt der verschiedenen Werte in Spalte x Maximum der Werte in Spalte x Minimum der Werte in Spalte x jeweils bezogen auf solche Zeilen, welche die WHERE-Bedingung erfüllen. Null-Einträge werden bei AVG, MIN, MAX und SUM ignoriert. Spalten der Ergebnisrelation können umbenannt werden mit Hilfe der AS-Klausel.
6 86 KAPITEL 7. SQL 7.6 SQL-Queries zum Anfragen Folgende Beispiele beziehen sich auf die Universitätsdatenbank, wobei die Relationen Professoren, Assistenten und Studenten jeweils um ein Attribut GebDatum vom Typ Datetime erweitert worden sind. 1. Liste alle Studenten: select * from studenten 2. Liste Personalnummer und Name der C4-Professoren: select PersNr, Name from Professoren where Rang= C4 3. Zähle alle Studenten: select count(*) from Studenten 4. Liste Namen und Studiendauer in Jahren von allen Studenten, select Name, Semester/2 as Studienjahr from Studenten where Semester is not null 5. Liste alle Studenten mit Semesterzahlen zwischen 1 und 4: select * from Studenten where Semester >= 1 and Semester <= 4 alternativ select * from Studenten where Semester between 1 and 4 alternativ select * from Studenten where Semester in (1,2,3,4) 6. Liste alle Vorlesungen, die im Titel den String Ethik enthalten, klein oder groß geschrieben: select * from Vorlesungen where upper(titel) like %ETHIK 7. Liste Personalnummer, Name und Rang aller Professoren, absteigend sortiert nach Rang, innerhalb des Rangs aufsteigend sortiert nach Name:
7 7.6. SQL-QUERIES ZUM ANFRAGEN 87 select PersNr, Name, Rang from Professoren order by Rang desc, Name asc 8. Liste alle verschiedenen Einträge in der Spalte Rang der Relation Professoren: select distinct Rang from Professoren 9. Liste alle Geburtstage mit ausgeschriebenem Monatsnamen: select from Name, Datename(Day, Gebdatum) as Tag, Datename(Month, GebDatum) as Monat, Datename(Year, GebDatum) as Jahr studenten 10. Liste das Alter der Studenten in Jahren: select Name, datediff(year,gebdatum, getdate()) as Jahre from studenten 11. Liste die Wochentage der Geburtsdaten der Studenten: select Name, datename(weekday,gebdatum) as Wochentag from studenten 12. Liste die Kalenderwochen der Geburtsdaten der Studenten: select Name, datename(week,gebdatum) as Kalenderwoche from studenten 13. Liste den Dozenten der Vorlesung Logik: select Name, Titel from Professoren, Vorlesungen where PersNr = gelesenvon and Titel = Logik 14. Liste die Namen der Studenten mit ihren Vorlesungstiteln: select Name, Titel from Studenten, hoeren, Vorlesungen where Studenten.MatrNr = hoeren.matrnr and hoeren.vorlnr = Vorlesungen.VorlNr alternativ: select s.name, v.titel from Studenten s, hoeren h, Vorlesungen v where s.matrnr = h.matrnr and h.vorlnr = v.vorlnr
8 88 KAPITEL 7. SQL 15. Liste die Namen der Assistenten, die für denselben Professor arbeiten, für den Aristoteles arbeitet: select a2.name from Assistenten a1, Assistenten a2 where a2.boss = a1.boss and a1.name = Aristoteles and a2.name!= Aristoteles 16. Liste die durchschnittliche Semesterzahl: select from avg(semester) Studenten 17. Liste Geburtstage der Gehaltsklassenältesten (ohne Namen!): select Rang, min(gebdatum) as Aeltester from Professoren group by Rang 18. Liste Summe der SWS pro Professor: select gelesenvon as PersNr, sum(sws) as Lehrbelastung from Vorlesungen group by gelesenvon 19. Liste Summe der SWS pro Professor, sofern seine Durchschnitts-SWS größer als 3 ist: select gelesenvon as PersNr, sum(sws) as Lehrbelastung from Vorlesungen group by gelesenvon having avg(sws) > 3 alternativ unter Verwendung von Gleichkommadurchschnitt: select gelesenvon as PersNr, sum (SWS) as Lehrbelastung from Vorlesungen group by gelesenvon having avg(cast(sws as float)) > Liste Summe der SWS pro C4-Professor, sofern seine Durchschnitts-SWS größer als 3 ist: select Name, sum(sws) from Vorlesungen, Professoren where gelesenvon = PersNr and Rang= C4 group by gelesenvon, Name having avg(cast(sws as float)) > Liste alle Prüfungen, die als Ergebnis die schlechteste Note haben: select * from pruefen where Note = (select max(note) from pruefen) 22. Liste alle Professoren zusammen mit ihrer Lehrbelastung:
9 7.6. SQL-QUERIES ZUM ANFRAGEN 89 select PersNr, Name, (select sum(sws) from Vorlesungen where gelesenvon = PersNr) as Lehrbelastung from Professoren 23. Liste alle Studenten, die älter sind als der jüngste Professor: select s.* from Studenten s where exists (select p.* from Professoren p where p.gebdatum > s.gebdatum) Alternativ: select s.* from Studenten s where s.gebdatum < (select max(p.gebdatum) from Professoren p ) 24. Liste alle Assistenten, die für einen jüngeren Professor arbeiten: select a.* from Assistenten a, Professoren p where a.boss = p.persnr and p.gebdatum > a.gebdatum 25. Liste alle Studenten mit der Zahl ihrer Vorlesungen, sofern diese Zahl größer als 2 ist: select tmp.matrnr, tmp.name, tmp.vorlanzahl from (select s.matrnr, s.name, count(*) as VorlAnzahl from Studenten s, hoeren h where s.matrnr = h.matrnr group by s.matrnr, s.name) tmp where tmp.vorlanzahl > Liste die Namen und Geburtstage der Gehaltsklassenältesten: select p.rang, p.name, p.gebdatum from Professoren p, (select Rang, min(gebdatum) as maximum from Professoren group by Rang) tmp where p.rang = tmp.rang and p.gebdatum = tmp.maximum 27. Liste Vorlesungen zusammen mit Marktanteil, definiert als = Hörerzahl/Gesamtzahl: select h.vorlnr, h.anzprovorl, g.gesamtanz, cast(h.anzprovorl as float)/g.gesamtanz as Marktanteil from (select VorlNr, count(*) as AnzProVorl from hoeren group by VorlNr) h, (select count(*) as GesamtAnz from Studenten) g 28. Liste die Vereinigung von Professoren- und Assistenten-Namen:
10 90 KAPITEL 7. SQL (select Name from Assistenten) union (select Name from Professoren) 29. Liste die Differenz von Professoren- und Assistenten-Namen (nur SQL-92): (select Name from Assistenten) minus (select Name from Professoren) 30. Liste den Durchschnitt von Professoren- und Assistenten-Namen (nur SQL-92): (select Name from Assistenten) intersect (select Name from Professoren) 31. Liste alle Professoren, die keine Vorlesung halten: select Name from Professoren where PersNr not in ( select gelesenvon from Vorlesungen ) Alternativ: select Name from Professoren where not exists ( select * from Vorlesungen where gelesenvon = PersNr ) 32. Liste Studenten mit größter Semesterzahl: select Name from Studenten where Semester >= all ( select Semester from Studenten ) 33. Liste Studenten, die nicht die größte Semesterzahl haben: select Name from Studenten where Semester < some ( select Semester from Studenten ) 34. Liste solche Studenten, die alle 4-stündigen Vorlesungen hören: select s.* from Studenten s where not exists (select * from Vorlesungen v where v.sws = 4 and not exists (select * from hoeren h where h.vorlnr = v.vorlnr and h.matrnr = s.matrnr ) )
11 7.7. SQL-STATEMENTS ZUM EINFÜGEN, MODIFIZIEREN UND LÖSCHEN Berechnung der transitiven Hülle einer rekursiven Relation (nur in Oracle): Liste alle Voraussetzungen für die Vorlesung Der Wiener Kreis : select Titel from Vorlesungen where VorlNr in ( select Vorgaenger from voraussetzen connect by Nachfolger = prior Vorgaenger start with Nachfolger = ( select VorlNr from Vorlesungen where Titel = Der Wiener Kreis ) ) 7.7 SQL-Statements zum Einfügen, Modifizieren und Löschen 1. Füge neue Vorlesung mit einigen Angaben ein: insert into Vorlesungen (VorlNr, Titel, gelesenvon) values (4711, Selber Atmen, 2125) 2. Schicke alle Studenten in die Vorlesung Selber Atmen: insert into hoeren select MatrNr, VorlNr from Studenten, Vorlesungen where Titel = Selber Atmen 3. Erweitere die neue Vorlesung um ihre Semesterwochenstundenzahl: update vorlesungen set SWS=6 where Titel= Selber Atmen 4. Entferne alle Studenten aus der Vorlesung Selber Atmen: delete from hoeren where vorlnr = (select VorlNr from Vorlesungen where Titel = Selber Atmen ) 5. Entferne die Vorlesung Selber Atmen: delete from Vorlesungen where titel = Selber Atmen
12 92 KAPITEL 7. SQL 7.8 SQL-Statements zum Anlegen von Sichten Die mangelnden Modellierungsmöglichkeiten des relationalen Modells in Bezug auf Generalisierung und Spezialisierung können teilweise kompensiert werden durch die Verwendung von Sichten. Nicht alle Sichten sind update-fähig, da sich eine Änderung ihrer Daten nicht immer auf die Originaltabellen zurückpropagieren läßt 1. Lege Sicht an für Prüfungen ohne Note: create view pruefensicht as select MatrNr, VorlNr, PersNr from pruefen 2. Lege Sicht an für Studenten mit ihren Professoren: create view StudProf (Sname, Semester, Titel, PName) as select s.name, s.semester, v.titel, p.name from Studenten s, hoeren h, Vorlesungen v, Professoren p where s.matrnr = h.matrnr and h.vorlnr = v.vorlnr and v.gelesenvon = p.persnr 3. Lege Sicht an mit Professoren und ihren Durchschnittsnoten: create view ProfNote (PersNr, Durchschnittsnote) as select PersNr, avg (Note) from pruefen group by PersNr 4. Entferne die Sichten wieder: drop view PruefenSicht drop view StudProf drop view ProfNote 5. Lege Untertyp als Verbund von Obertyp und Erweiterung an: create table Angestellte (PersNr integer not null, Name varchar(30) not null) create table ProfDaten (PersNr integer not null, Rang character(2), Raum integer) create table AssiDaten (PersNr integer not null, Fachgebiet varchar(30), Boss integer) GO create view Profs as select a.persnr, a.name, d.rang, d.raum from Angestellte a, ProfDaten d where a.persnr = d.persnr GO create view Assis as select a.persnr, a.name, d.fachgebiet, d.boss from Angestellte a, AssiDaten d where a.persnr = d.persnr
13 7.9. SQL-STATEMENTS ZUM ANLEGEN VON INDIZES 93 Entferne die Tabellen und Sichten wieder: drop table Angestellte drop table AssiDaten drop table ProfDaten drop view Profs drop view Assis 6. Lege Obertyp als Vereinigung von Untertypen an (zwei der drei Untertypen sind schon vorhanden): create table AndereAngestellte (PersNr integer not null, Name varchar(30) not null) GO create view Angestellte as (select PersNr, Name from Professoren) union (select PersNr, Name from Assistenten) union (select PersNr, Name from AndereAngestellte) Entferne die Tabelle und die Sichten wieder: drop table andereangestellte drop view Angestellte 7.9 SQL-Statements zum Anlegen von Indizes 1. Lege einen Index an für die aufsteigend sortierten Titel der Tabelle Vorlesung: create index hilfetitel on vorlesungen(titel asc) 2. Lege einen eindeutigen Index an für die Personalnummern der Tabelle Vorlesung: create unique index hilfepersnr on professoren(persnr) 3. Entferne die Indizes titel und persnr: drop index vorlesungen.titel drop index professoren.persnr
14 94 KAPITEL 7. SQL 7.10 Text Einen Wert vom Typ text schreiben: binary(16) = TEXTPTR(Bemerkung) FROM Person WHERE Name= Erika WRITETEXT Dies ist ein Satz Einen Teil eines Textes ändern (3 Zeichen ab Position 5): binary(16) = TEXTPTR(Bemerkung) FROM Person WHERE Name= Erika UPDATETEXT 5 3 war Einen Teil eines Textes lesen (3 Zeichen ab Position 5): varbinary(16) = TEXTPTR(Bemerkung) FROM Person where Name= Erika READTEXT Image Einen Wert vom Typ image schreiben (hexadezimal kodiert, je 2 Buchstaben bezeichnen ein Byte): binary(16) = TEXTPTR(Photo) FROM Person WHERE Name= Erika WRITETEXT 0x ABCDEF Einen Teil eines Image ändern (3 Bytes ab Position 5): binary(16) = TEXTPTR(Photo) FROM Person WHERE Name= Erika UPDATETEXT 5 3 0xFFFFFF Einen Teil eines Image lesen (3 Bytes ab Position 5): varbinary(16) = TEXTPTR(Photo) FROM Person where Name= Erika READTEXT 5 3
15 7.12. BULK INSERT Bulk insert Gegeben sei eine tabellenartig strukturierte Textdatei auf dem Rechner des Datenbankservers: 4711;Willi;C4;339; ;Erika;C3;222; Durch den Befehl bulkinsert kann der Inhalt einer Datei komplett in eine SQL-Server-Tabelle eingefügt werden, wobei das Trennzeichen zwischen Feldern und Zeilen angegeben werden muß: BULK INSERT Professoren FROM K:\DatenbankSysteme\professoren.txt WITH ( FIELDTERMINATOR = ;, ROWTERMINATOR = \n ) 7.13 SQL-Scripte Microsoft SQL-Server 2000 bietet eine prozedurale Erweiterung von SQL an, genannt SQL-Scripte oder auch Stored Procedures. Hiermit können SQL-Statements zu namenlosen Blöcken, Prozeduren oder Funktionen zusammengefasst und ihr Ablauf durch Kontrollstrukturen gesteuert werden. Sei eine Tabelle konto mit Kontonummern und Kontoständen angelegt durch create table konto (nr int, stand money) Listing 7.1 zeigt eine while-schleife, die 50 Konten mit durchlaufender Numerierung einrichtet und alle Kontostände bis auf das Konto 42 mit 0.0 initialisiert. int -- lokale = 1 -- auf 1 < < 50 begin if (@i=42) insert into konto values (@i,200) -- fuege 200 Euro ein else insert into konto values (@i, 0) -- fuege 0 Euro ein -- end Listing 7.1: namenloses SQL-Script Listing 7.2 zeigt eine benannte Stored Procedure, welche versucht, innerhalb der Tabelle konto eine Überweisung durchzuführen und danach das Ergebnis in zwei Tabellen festhält: create table gebucht (datum DATE, nr_1 int, nr_2 int, betrag money) create table abgelehnt (datum DATE, nr_1 int, nr_2 int, betrag money)
16 96 KAPITEL 7. SQL create procedure ueberweisen money) as money = stand FROM konto WHERE nr BEGIN INSERT INTO abgelehnt @betrag) END ELSE BEGIN UPDATE konto SET stand = stand-@betrag WHERE nr UPDATE konto SET stand = stand+@betrag WHERE nr INSERT INTO gebucht @betrag) END -- lege Prozedur an -- Konto-Nr. zum Belasten -- Konto-Nr. fuer Gutschrift -- Ueberweisungsbetrag -- lokale Variable -- hole Kontostand nach s -- von Konto-Nr. x -- falls Konto ueberzogen -- notiere den Fehlschlag -- in der Tabelle abgelehnt -- setze in der Tabelle konto -- neuen Betrag ein -- fuer -- setze in der Tabelle konto -- neuen Betrag ein -- fuer -- notiere die Ueberweisung -- in der Tabelle gebucht Listing 7.2: stored procedure ueberweisung Im Gegensatz zu einem konventionellen Benutzerprogramm wird eine stored procedure in der Datenbank gespeichert. Sie wird aufgerufen und (später) wieder entfernt durch execute ueberweisung 42,37,50 drop procedure ueberweisung In Listing 7.3 wird eine Funktion f2c definiert, die eine übergebene Zahl als Temperatur in Fahrenheit auffaßt und den Wert nach Celsius umrechnet. create function f2c (@fahrenheit int) returns int as begin int end -- definiere eine Funktion f2c -- Eingangsparameter vom Typ int -- Ausgangsparameter vom Typ int -- lokale Variable -- Umrechnung nach Celsius -- Rueckgabe des Funktionswertes -- Ende der Funktion Listing 7.3: stored function f2c Der Aufruf der Funktion erfolgt innerhalb einer SQL-Abfrage unter Angabe des Besitzers (hier: dbo): select temperatur, dbo.f2c(temperatur) from daten
17 7.13. SQL-SCRIPTE 97 Oft besteht das Ergebnis eines Select-Statements aus einer variablen Anzahl von Tupeln. Diese können nacheinander verarbeitet werden mit Hilfe eines sogenannten Cursor. Listing 7.4 zeigt den typischen Einsatz. Zunächst wird der Cursor durch declare mit einer SQL-Query assoziiert, welche die Professorennamen mit ihren Vorlesungstiteln ermittelt. Dann wird er mit open für die Abarbeitung geöffnet. Mittels fetch wird das nächste Tupel aus der Trefferliste geholt und mit into in lokalen Variablen abgespeichert. Falls das geklappt hat (fetch status = 0) kann durch print der Inhalt der Variablen ausgegeben werden. Zum Abschluss wird der Cursor geschlossen und deallokiert. varchar(20) varchar(20) declare prof_cursor cursor for select p.name, v.titel from professoren p, vorlesungen v where p.persnr=v.gelesenvon open prof_cursor fetch next from + = 0 begin fetch next from + end close prof_cursor deallocate prof_cursor Listing 7.4: Umgang mit einem Cursor
Datenbanksysteme 2009. Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück
Datenbanksysteme 2009 Kapitel 7: SQL Oliver Vornberger Institut für Informatik Universität Osnabrück SQL 1970 Edgar Codd: A relational model for large shared data banks 1975 SEQUEL für System R von IBM
Datenbanksysteme Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück
Datenbanksysteme 2013 Kapitel 7: SQL Vorlesung vom 6.05.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle SQL 1970 Edgar Codd: A relational model for large shared
Datenbanksysteme Vorlesung vom noch Kapitel 7: SQL. Oliver Vornberger. Institut für Informatik Universität Osnabrück
Datenbanksysteme 2009 Vorlesung vom 19.05.2009 noch Kapitel 7: SQL Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Self Join 15.) Liste die Namen der Assistenten, die für denselben
Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück
Datenbanksysteme 2015 noch Kapitel 7: SQL Vorlesung vom 12.05.2015 Oliver Vornberger Institut für Informatik Universität Osnabrück SQL: Schlüsselworte select from where order by asc desc as like upper
Datenbanksysteme noch Kapitel 7: SQL Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück
Datenbanksysteme 2013 noch Kapitel 7: SQL Vorlesung vom 7.5.2013 Oliver Vornberger Institut für Informatik Universität Osnabrück Sprung Transititve Hülle SQL: avg, group by 16.) Liste die durchschnittliche
Aufgabensammlung SQL SW4 1. Einfache Anfragen
Aufgabensammlung SQL SW4 1. Einfache Anfragen Buch: Kapitel 4.6 und 4.7. Datenbank: Die folgenden Anfragen beziehen sich auf die Universitätsdatenbank des Buches. Alle Umlaute werden umschrieben (hören
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:
mit 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
Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
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
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-
Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2008/2009 Prof. Dr. W. Kießling 23. Nov. 2007 Dr. A. Huhn, M. Endres, T. Preisinger Lösungsblatt 5 Aufgabe 1: SQL-Queries Datenbanksysteme I a) Geben Sie
WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)
Vorlesung #3 SQL (Teil 1) Fahrplan Wiederholung/Zusammenfassung Relationales Modell Relationale Algebra Relationenkalkül Geschichte der Sprache SQL SQL DDL (CREATE TABLE...) SQL DML (INSERT, UPDATE, DELETE)
Prozedurale 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.
Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien
Kapitel 5 Dr. Jérôme Kunegis SQL: Grundlagen WeST Institut für Web Science & Technologien Lernziele Kenntnis der Grundkonzepte von SQL Fähigkeit zur praktischen Anwendung von einfachen SQL-Anweisungen
Datenbanksysteme SS 2007
Datenbanksysteme SS 2007 Frank Köster (Oliver Vornberger) Institut für Informatik Universität Osnabrück Kapitel 6b: Das relationale Modell Das Relationale Modell (vgl. Lerneinheit 6a) Wertebereiche (Domänen):
Objektrelationale Datenbanken
Vorlesung Datenbanksysteme vom 26.11.2008 Objektrelationale Datenbanken Konzepte objektrelationaler DBs SQL:1999 OO vs. OR Konzepte objektrelationaler Datenbanken Große Objekte (LOBs: Large Objects) Mengenwertige
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.
TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. Blatt Nr. 7 Übung zur Vorlesung Grundlagen: Datenbanken im WS13/14 Henrik Mühe ([email protected]) http://www-db.in.tum.de/teaching/ws1314/dbsys/exercises/
Datenintegrität. Arten von Integritätsbedingungen. Statische Integritätsbedingungen. Referentielle Integrität. Integritätsbedingungen in SQL.
Datenintegrität Arten von Integritätsbedingungen Statische Integritätsbedingungen Referentielle Integrität Integritätsbedingungen in SQL Trigger 1 Datenintegrität Einschränkung der möglichen Datenbankzustände
Datenintegrität. Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen ist die wichtigste Aufgabe des DB-Administrators!
Informatik 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
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
Übungen zu Datenbanksysteme
Institut für Informatik Universität Osnabrück, 19.05.2009 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/ dbs Dipl.-Math. Patrick Fox Abgabe bis 02.06.2009, 12:00 Uhr Übungen zu Datenbanksysteme
SQL 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
Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL
Relationales Modell: SQLDDL SQL als Definitionssprache SQLDDL umfaßt alle Klauseln von SQL, die mit Definition von Typen Wertebereichen Relationenschemata Integritätsbedingungen zu tun haben Externe Ebene
7. 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
Referentielle Integrität
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
SQL. 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
Referentielle Integrität
Datenintegrität Integitätsbedingungen Schlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Integritätsbedingungen Bedingungen an den Zustand der Datenbasis dynamische
Informatik für Ökonomen II: Datenintegrität. Prof. Dr. Carl-Christian Kanne
Informatik für Ökonomen II: Datenintegrität Prof. Dr. Carl-Christian Kanne 1 Konsistenzbedingungen DBMS soll logische Datenintegrität gewährleisten Beispiele für Integritätsbedingungen Schlüssel Beziehungskardinalitäten
Fortsetzung: Projektion Selektion. NULL Werte
Fortsetzung: Anfragen mit SQL Bisher: Projektion Selektion Duplikatbehandlung NULL Werte Professoren PersNr Name Rang Raum 2125 Sokrates 226 2126 Russel 232 2127 Kopernikus C3 310 2133 Popper C3 52 2134
Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung
6. Datenintegrität Motivation Semantische Integrität (auch: Konsistenz) der in einer Datenbank gespeicherten Daten als wichtige Anforderung nur sinnvolle Attributwerte (z.b. keine negativen Semester) Abhängigkeiten
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.
IV. 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.
Ü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
Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
Datenintegrität. Bisherige Integritätsbedingungen
Datenintegrität Integitätsbedingungen chlüssel Beziehungskardinalitäten Attributdomänen Inklusion bei Generalisierung statische Bedingungen an den Zustand der Datenbasis dynamische Bedingungen an Zustandsübergänge
Whitepaper. 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
SQL (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
SQL: statische Integrität
SQL: statische Integrität.1 SQL: statische Integrität Im allgemeinen sind nur solche Instanzen einer Datenbank erlaubt, deren Relationen die der Datenbank bekannten Integritätsbedingungen erfüllen. Integritätsbedingungen
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin
Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin PhpMyAdmin = grafsches Tool zur Verwaltung von MySQL-Datenbanken Datenbanken erzeugen und löschen Tabellen und Spalten einfügen,
SQL - Übungen Bearbeitung der Datenbank Personal (1)
Bearbeitung der Datenbank Personal (1) 1. Abfragen einer einzigen Tabelle 1.1. Zeigen Sie alle Informationen an, die über die Kinder der Mitarbeiter gespeichert sind. 1.2. Zeigen Sie aus der Tabelle stelle
Dynamisches 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
Wiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VL Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
Datenbanksysteme 2015
Datenbanksysteme 2015 Kapitel 09: Datenbankapplikationen Oliver Vornberger Institut für Informatik Universität Osnabrück Datenbankapplikationen ODBC MS Visio MS Access Embedded SQL JDBC Application SQLJ
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
DATENBANKSYSTEME: SQL
Datendefinitions-, Manipulations- und Anfrage-Sprache SQL, Datendefinition, Veränderung am Datenbestand, Einfache SQL Abfrage, Anfragen über mehrere Relationen, Mengenfunktionen, Aggregatfunktion und Gruppierung,
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
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 [email protected]
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.
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5
Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5 Aufgabe 1: Projektion Datenbanksysteme I π A1,...,A n (π B1,...,B
Wiederholung VU Datenmodellierung
Wiederholung VU Datenmodellierung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
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
WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)
Vorlesung #4 SQL (Teil 2) Fahrplan Eine weitere Aggregation: median Geschachtelte Anfragen in SQL Korrelierte vs. Unkorrelierte Anfragen Entschachtelung der Anfragen Operationen der Mengenlehre Spezielle
17.2 MS-Access Projekte
964 Von MS-Access 2000 zum SQL-Server 17.2 MS-Access Projekte MS-Access-Projekte, die die Dateiendung adp besitzen, werden als Front-End-Anwendung verwendet. Für die Back-End-Seite gibt es mehrere Möglichkeiten.
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
Information zum SQL Server: Installieren und deinstallieren. (Stand: September 2012)
Information zum SQL Server: Installieren und deinstallieren (Stand: September 2012) Um pulsmagic nutzen zu können, wird eine SQL-Server-Datenbank benötigt. Im Rahmen der Installation von pulsmagic wird
Ü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
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)
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:
Erweiterung 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
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
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
Datumsangaben, enthält mindestens Jahr, Monat, Tag
Datenbanken mit SQL Informatik - Sprenger Häufig wird mit Tabellenkalkulationen gearbeitet, obwohl der Einsatz von Datenbanken sinnvoller ist. Tabellenkalkulationen wie Microsoft Excel oder LibreOffice
WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #5. SQL (Teil 3)
Vorlesung #5 SQL (Teil 3) Fahrplan Besprechung der Übungsaufgaben Rekursion Rekursion in SQL-92 Rekursion in DBMS- Dialekten (Oracle und DB2) Views (Sichten) - gespeicherte Abfragen Gewährleistung der
Das SQL-Schlüsselwort ALL entspricht dem Allquantor der Prädikatenlogik
Beispielaufgaben Informationssysteme erstellt von Fabian Rump zur IS Vorlesung 2009/10 1 Multiple Choice Aussage richtig falsch Eine SQL-Abfrage beginnt immer mit dem Schlüsselwort SELECT Eine Datenbank
desk.modul : WaWi- Export
desk.modul : WaWi- Export Die Schnittstelle besteht aus einem Programm, welches die Daten aus der OfficeLine ausliest und in eine XML-Datei exportiert. Die Schnittstelle ist als ein eigenständiges Programm
MySQL: 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
5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1
Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------
Datenbanken 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
mysql - 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
MIN oder MAX Bildung per B*Tree Index Hint
E-Mail: [email protected] 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
Beispiel 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,
Objektrelationale und erweiterbare Datenbanksysteme
Objektrelationale und erweiterbare Datenbanksysteme Erweiterbarkeit SQL:1999 (Objekt-relationale Modellierung) In der Vorlesung werden nur die Folien 1-12 behandelt. Kapitel 14 1 Konzepte objekt-relationaler
Binä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
OP-LOG www.op-log.de
Verwendung von Microsoft SQL Server, Seite 1/18 OP-LOG www.op-log.de Anleitung: Verwendung von Microsoft SQL Server 2005 Stand Mai 2010 1 Ich-lese-keine-Anleitungen 'Verwendung von Microsoft SQL Server
105.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
Abfragen: Grundbausteine
Abfragen: Grundbausteine Abfragen sollen gezielt Teile der Information wiedergeben. Das Ergebnis einer solchen Operation ist eine. Der Aufbau der Ergebnistabelle wird durch zwei Grundverfahren festgelegt:
Fortsetzung: Kreuzprodukt, Inner Join. Sortierung. Existenzquantor, Mengenvergleich Gruppierung, Aggregate Cast-Operator
Fortsetzung: Anfragen mit SQL Bisher: Projektion, Selektion, Duplikatbehandlung, NULL Werte Kreuzprodukt, Inner Join Mengenoperationen Sortierung Geschachtelte Anfragen Existenzquantor, Mengenvergleich
Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)
Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der
Entwicklungsumgebung für die Laborübung
Entwicklungsumgebung für die Laborübung VU Datenbanksysteme Wolfgang Fischl Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester
Sructred 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
Hilfedatei der Oden$-Börse Stand Juni 2014
Hilfedatei der Oden$-Börse Stand Juni 2014 Inhalt 1. Einleitung... 2 2. Die Anmeldung... 2 2.1 Die Erstregistrierung... 3 2.2 Die Mitgliedsnummer anfordern... 4 3. Die Funktionen für Nutzer... 5 3.1 Arbeiten
Kapitel 33. Der xml-datentyp. In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023
Kapitel 33 Der xml-datentyp In diesem Kapitel: Der xml-datentyp 996 Abfragen aus xml-datentypen 1001 XML-Indizierung 1017 Zusammenfassung 1023 995 996 Kapitel 33: Der xml-datentyp Eine der wichtigsten
