Structured Query Language SQL

Größe: px
Ab Seite anzeigen:

Download "Structured Query Language SQL"

Transkript

1 K.-H. Krötzsch Structured Query Language SQL Wichtige Konventionen Zeichenketten, Kommentare, Befehlsende 2. Einfache Abfragen SELECT DISTINCT AS FROM LIMIT oder TOP ORDER BY; ASC oder DESC WHERE AND, OR, NOT BETWEEN IN NULL [NOT] LIKE % _ [^Aa] 3. Datenbankobjekte erstellen 3.1. Datenbank erstellen CREATE DATABASE 3.2. Datanbank löschen DROP DATABASE 3.3. Tabellen erstellen CREATE TABLE 3.4. Tabelle löschen DROP TABLE 3.5. Tabellenentwurf ändern ALTER TABLE Tabelle umbenennen SP_RENAME a. Autowerte Identity - Eigenschaft Uniqueidentifier und NEWID() 3.7. Constraints Datenintegrität DEFAULT-Klausel UNIQUE-Klausel PRIMARY KEY-Klausel Referentielle Integrität CHECK-Bedingung 3.8. Anzeige der Objekte SP_HELP 4. Daten erfassen und ändern 4.1. Daten in Tabellen einfügen INSERT INTO 4.2. Datensätze ändern UPDATE 4.3. Datensatz löschen DELETE FROM 4.4. SELECT INTO 5. Aggregatfunktion WHERE... GROUP BY HAVING COUNT(), MAX(), MIN(), SUM(), AVG() 6. Abfragen aus verknüpften Tabellen 6.1. INNER JOIN 6.2. OUTER JOIN 6.3. Verknüpfung von mehr als 2 Tabellen 6.4. Unterabfragen Unterabfragen mit genau einem Ergebniswert Unterabfragen mit IN-Operator Unterabfragen mit EXISTS 6.5. UNION und UNION ALL 7. VIEWS 8. Indizes 9. Anweisungs- und Zugriffsberechtigungen Anhang Datentypen von Transact-SQL (Abreitsblatt) Übungen

2 K.-H. Krötzsch Structured Query Language SQL SQL ist eine strukturierte Abfragesprache und wurde ursprünglich 1970 von IBM entwickelt. Es wurde später vom American National Standard Institute (ANSI) standardisiert. - Versionen SQL-89, SQL-92, SQL-93 (auch als SQL-3 bekannt) Diese Versionen unterscheiden sich durch den Sprachumfang und die Leistung. Die DBMS-Hersteller (Datenbank Management System) setzen meist den SQL-92-Standard um, erweitern ihn jedoch um eigene Befehle. Außerdem gibt es oft Abweichungen im Syntax. Herstellereigene Erweiterungen erhöhen die Leistungsfähigkeit der Abfragesprache, erschweren aber die Portierbarkeit einer Datenbanklösung auf andere DBMS. Beispiel: MS Access 2000 unterstützt SQL-89 und SQL-92 bei Programmierung mit VBA (DAO+ADO) Im Gegensatz zu prozeduralen Sprachen (Pascal, C...), die eine Anweisung erwarten (was ist der Reihe nach zu tun), benötigt SQL nur die Angabe, welches Ergebnis wir erwarten (Bsp. Wähle alle Datensätze, die als Ort Plauen enthalten). Sprachumfang von SQL: Data Definition Language (DDL) erstellen der Datenbank-Objekte (Tabellen) Data Manipulation Language (DML) bearbeiten von Daten 1. Wichtige Konventionen Zeichenketten werden in Apostrophe gefasst (SQL-92): Das ist ein Satz Kommentare werden mit 2 Bindestrichen eingeleitet, einzeilig MS SQL-Server verwendet Transact-SQL, Kommentare auch mehrzeilig /*...*/ Namen dürfen bis 128 Zeichen enthalten, keine Leerzeichen zulässig Vorsicht bei Sonderzeichen und länderspezifischen Zeichen, Unterstrich ist erlaubt _ Punkt trennt Namensbestandteile [tabellenname].[feldname] (Bsp. kunden.nname) Oder selten [datenbankname].[tabellenname].[feldname] Meist reicht die Angabe des Feldnamens. Der Tabellennname ist nur nötig, wenn die verwendeten Tabellen gleiche Feldnamen enthalten Die SQL-Befehle können sowohl klein als auch groß geschrieben werden. Die verwendeten Datentypen sind abhängig vom DMBS (Bsp. int, char, binary, bit...). Kommas generell als Punkt Das Befehlsende wird durch Semikolon gekennzeichnet. ; -- Transact-SQL kein Semikolon, Befehle werden mit dem Befehl GO ausgeführt Damit man mit einer bestimmten Datenbank arbeiten kann, ist diese mit USE [db_name] zu öffnen. 2. Einfache Abfragen Abfragen Anzeige von Tabelleninhalten (die bestimmten Kriterien genügen) Vorerst Beschränkung auf eine Tabelle Befehl: SELECT * FROM [tbl_kunden] wähle aus alle Felder aus Tabelle tbl_kunden Sollen nicht alle Datenfelder angezeigt werden, sind die gewünschten Feldnamen, durch Komma getrennt, anzugeben. (Bsp. SELECT nname, vname FROM tbl_kunden)

3 Ausblenden gleicher Datenwerte: SELECT DISTINCT [spaltenliste] FROM [tabellenname] Beispiel: tbl_kunden nname Mueller Mueller Beyer vname Rainer Bernd Andreas SELECT nname FROM tbl_kunden nname Mueller Mueller Beyer SELECT DISTINCT nname FROM tbl_kunden nname Mueller Beyer SELECT DISTINCT nname, vname FROM tbl_kunden nname vname Mueller Rainer Mueller Bernd Beyer Andreas Spaltenliste: alle Datenfelder * Feldliste die Feldnamen sind durch Komma + Leerzeichen zu trennen Nname, Vname, Ort oder Tbl_kunden.Nname, tbl_kunden.vname, tbl_kunden.ort Soll eine Spalte anders bezeichnet werden als der Feldname der Tabelle: [spaltenname] AS [wunschname]. Begrenzung der Anzahl angezeigter Datensätze: nn = gewünschte Anzahl LIMIT [nn] oder LIMIT TO [nn] Bsp. SELECT * FROM tbl_cocktail LIMIT 5 zeigt die ersten 5 Datensätze an Bei Access und SQL-Server: TOP [nn] SELECT TOP 5 * FROM tbl_cocktail Sortieren der Datensätze bei der Ausgabe: Sortierrichtung: Schlüssel gehört hinter den Feldnamen. ORDER BY [feldname] ASC = aufsteigend (Voreinstellung) DESC = fallend Bsp. SELECT [kundenname] FROM [tbl_kunden] ORDER BY [umsatz] ASC Das Datenfeld, nach dem sortiert wird, muss nicht angezeigt werden. Die 3 Cocktails mit dem höchsten Alkoholgehalt ermitteln. SELECT TOP 3 cocktail, alkoholgehalt FROM tblcocktail ORDER BY alkoholgehalt DESC Auswahl von Datensätzen Mit Hilfe des Schlüsselwortes WHERE lassen sich Datensätze nach bestimmten Kriterien auswählen. Die WHERE-Klausel muss einen boolschen Wert ergeben (Ja/Nein). Die verwendeten Spalten müssen nicht angezeigt werden. Bsp. SELECT [kundenname] FROM [tbl_kunden] WHERE [kundenname] = Mueller Wird für jeden DS geprüft, muß WAHR oder FALSCH sein. (boolsche Abfrage) SELECT cocktail AS Drinks FROM tblcocktail WHERE alkoholgehalt <= 0.3 ORDER BY cocktail Mehrere WHERE-Bedingungen lassen sich mit AND, OR, NOT verknüpfen. SELECT cocktail FROM tblcocktail WHERE alkoholgehalt <= 0.3 AND alkoholgehalt >= 0.2. WHERE date >= TT.MM.JJJJ Diese Abfrage kann durch den Befehl BETWEEN ersetzt werden Alkoholgehalt BETWEEN 0.2 AND WHERE alkoholgehalt BETWEEN 0.2 AND 0.3 heißt -->... alk.. >= 0.2 und alk.. <= 0.3) IN wählt Datensätze deren Feldinhalte mit einem Wert der übergebenen Liste übereinstimmt. OR-Operator Beispiel: SELECT cocktail FROM tblcocktail WHERE cocktail IN ( Acapulco, Zoom, B und P )

4 Der NULL-Wert Hat ein Attribut den Wert NULL, dann ist dieses Feld nicht belegt absolut leer. Nicht verwechseln mit 0,, (Zahl null, leere Zeichenkette, Leerzeichen) Bsp. SELECT nname FROM tblkunden WHERE telnr = NULL F A L S C H SELECT nname FROM tblkunden WHERE telnr IS NULL R I C H T I G (auch IS NOT) WHERE feld LIKE-Operator Erlaubt einen Mustervergleich und die Verwendung von Jokerzeichen (Wildcards) ANSI-SQL verwendet folgende Platzhalter für LIKE... % prozent für beliebige Zeichen (wie * ) LIKE %e alle die mit e enden _ unterstrich für genau ein Zeichen (wie? ) LIKE _a% alle wo 2. Buchstabe a haben [A-F] alle Buchstaben A bis F, Unterscheidung Groß-/Kleinschreibung hängt v. DBMS ab [^A-F] alle Zeichen außer A bis F LIKE [a-c]% - alle die mit a bis c beginnen [AF] alle mit A oder alle mit F LIKE [a-cf-m]% - alle a bis c oder f bis m LIKE % % - alle mit mind. einem Leerzeichen LIKE %[%]% - alle wo % enthalten wähle [feld] von [tabelle] wo ([feld] mit a beginnt oder [feld] mit a endet) und [feld] nicht dazwischen enthält a select cocktail from tblcocktail where (cocktail like 'a%' or cocktail like '%a') and cocktail not like '_%a%_' Anzeige alle die kein a enthalten: select cocktail from tblcocktail where cocktail not like '%a%' Anzeige Meyer Maier Mayer Meier Maler... WHERE name LIKE M[ae][iy]er OR Maler 3. Datenbankobjekte erstellen Mit der Datenbankerstellung reserviert das DBMS Speicherplatz auf der Festplatte. Je nach System gibt es unterschiedliche Vorzugswerte (z.b. 10MB), so daß eine manuelle Angabe der Dateigröße nicht erforderlich ist. Bei leistungsfähigen DBMS wird außerdem eine Protokolldatei erzeugt. In der Protokolldatei werden Änderungen an den Daten vor ihrer Ausführung protokolliert. Ebenfalls protokolliert wird, wenn die Änderung erfolgreich war. Im Falle eines Systemabsturzes kann man deshalb jederzeit ein konsistenter (in sich stimmig, einheitlich) Datenbestand wiederhergestellt werden Datenbank erstellen mit: CREATE DATABASE datenbankname Je nach DBMS sind weitere Befehlsbestandteile möglich die Dateinamen und Dateigrößen angeben. Der Datenbankersteller ist deren Besitzer (dbo data base owner). Der dbo hat alle Rechte auf die Datenbank. Syntax unter Transact SQL, MS SQL-Server CEATE DATABASE db_name ON (name=test, filename= c:\daten\test.mdf, size=10, maxsize=100, filegrowth=5 Und Protokolldatei dazu erstellen: CEATE DATABASE db_name LOG ON (name=test.log, filename= c:\daten\test.ldf, size=5, maxsize=50, filegrowth=2 Size in MB, Maximalgröße in MB, filegrowth Dateiwachstum in MB-Schritten 3.2. Datanbank löschen mit: DROP DATABASE datenbankname 3.3. Tabellen erstellen mit: CREATE TABLE tabellenname (feldname datentyp [{,feldname datentyp}]); Beispiel: oder CREATE TABLE tbl_zahl (lfdnr int,nname char(20)); CREATE TABLE tbl_zahl (lfdnr int,nname char(20) NOT NULL); Feld darf nicht leer bleiben create table tbl_name und mind. ein Feld benennen und deklarieren, max 1024 Spalten möglich Tabelle löschen mit: DROP TABLE tabellenname (Achtung! - Alle Dateiinhalte sind endgültig weg.)

5 3.5. Tabellenentwurf ändern ALTER TABLE tabellenname ADD feldname datentyp fügt Spalte hinzu ALTER TABLE tabellenname DROP COLUMN feldname entfernt eine Tabellenspalte ALTER TABLE tabellenname ALTER COLUMN feldname datentyp Datentyp ändern ALTER TABLE tbl_abteilung ALTER COLUMN MNr smallint Microsoft: ALTER TABLE tbl_name ALTER COLUMN geänderte spaltendefinition; MySQL, Oracle: ALTER TABLE tbl_name MODIFY geänderte spaltendefinition; Tabelle, Spalten oder DB umbenennen SP_RENAME dient der Umbenennung aller DB-Objekte, außer der Datenbank selbst. Eine Datenbank lässt sich umbenennen mit dem Befehl SP_RENAMEDB. SQL-Server: SP_RENAME tbl_name_alt, tbl_name_neu; -- Tabelle umbenennen SP_RENAME tbl_name.spaltename_alt, spaltename_neu; -- Spalte umbenennen MySQL: ALTER TABLE tblname_alt RENAME TO tblname_neu 3.6. Autowerte Identity - Eigenschaft ermöglicht die automatische Zuweisung ganzzahliger Werte zum Datenfeld CREATE TABLE tab_name (feldname datentyp IDENTITY (init_wert, intr)) Startwert Inkrement(Schritttweite) Nur eine Spalte der Tabelle darf die Identity-Eigenschaft besitzen und darf keine NULL-Werte enthalten. Verwendung bei CREATE TABLE und ALTER TABLE. Datentypen hierbei sind Integer, Smallint, tinyint, decimal, numeric -> keine Kommastellen erlaubt. Bei decimal(p[,q]) decimal(7,0) = decimal(7) Dezimalwert mit 7 Stellen ohne Nachkommastelle. Anzeige von Datenbank-Objekten: SP_HELP Uniqueidentifier und NEWID() Uniqueidentifier ist ein 16 Bit Datentyp und dient als eindeutige Identifikationsnummer für einen Datensatz. NEWID() erzeugt eine eindeutige Identifikationssummer. Beispiel: CREATE TABLE kunde (Kd_Nr uniqueidentifier NOT NULL DEFAULT NEWID(), Kname char(20) NOT NULL); 3.7. Constraints Datenintegrität (in sich schlüssige Daten) Das DBMS muss widersprüchliche oder unsinnige Daten erkennen und verhindern. Datenintegritätsregeln sollten immer über das DBMS umgesetzt werden. Die Umsetzung im Anwendungsprogramm kann nur die Ausnahme sein, wenn das DBMS keine entsprechende Möglichkeit bietet. Datenintegrität kann wie folgt gesichert werden: Spaltenbezogen nur gültige Einträge in den Spalten Reihenbezogen Eindeutigkeit jeder Reihe Zwischen Tabellen referentielle Integrität - Integritätsregeln lassen sich deklarativ festlegen, über Datentyp und Wertebereich. Kriterien sind Bestandteile der Objektdefinition, das DMBS setzt diese Regeln automatisch um. - Weiter lassen sie sich prozedural festlegen, über eine prüfende Abfrage. Kriterien werden in Scripten festgelegt. Diese werden bei entsprechenden Ereignissen aufgerufen. Unter SQL-Server sind das Trigger und gespeicherte Prozeduren. Deklarative Regeln sollten bevorzugt werden, da diese bereits im DBMS integriert sind. Deklarative Regeln bekommen einen Namen. Dieser kann vom Ersteller festgelegt oder vom System vorgegeben werden. Die vom SYSTEM angelegten Namen lassen sich abfragen (bei SQL-SERVER mit SP_HELPCONSTRAINT constaint_name (oder nur SP_HELP).

6 Innerhalb einer Datenbank darf ein Constraint-Name nur einmal verwendet werden. Contraints können mit CREATE / ALTER TABLE angewendet werden. ADD / DROP CONSTRAINT auch bei Tabellen möglich, die bereits Daten enthalten. Enthält eine Tabelle bereits Daten, kann mit der Klausel WITH NOCHECK eine Überprüfung der bestehenden Daten verhindert werden DEFAULT-Klausel DEFAULT legt einen Vorgabewert für eine Spalte fest. Kann sein: ein konstanter Ausdruck, zb. Auerbach oder 0815 Parameterloser Funktionsaufruf, zb. NEWID(), CURRENT_USER() der NULL-Wert ALTER TABLE kunden ADD CONSTRAINT std_vname DEFAULT unbekannt for vname ändere Tabelle Tabellenname addiere Regel Regelname Vorgabe Vorgabewert für vorh.feldname UNIQUE-Klausel Sichert, dass innerhalb der Spalte keine Werte doppelt vorkommen. CONSTRAINT regelname UNIQUE (spaltenname1[,spaltenname2]) Mehrere Spalten werden als Gruppe betrachtet (max.16 Spalten). ALTER TABLE kunden ADD CONSTRAINT std_vname UNIQUE (vname) PRIMARY KEY-Klausel legt den Primärschlüssel der Tabelle fest. Spalte muss NOT NULL-Angabe enthalten. Sonst wie UNIQUE-Klausel Bsp. CREATE TABLE tbl_kunde (KNr int NOT NULL, vname char(10), nname char(10), CONSTRAINT prim_kunden PRIMARY KEY(KNr)); Oder Schreibweise: CREATE TABLE tbl_kunde (KNr int NOT NULL CONSTRAINT PRIMARY KEY, vname char(10), nname char(10)); FOREIGN KEY-Klausel legt den Fremdschlüssel der Tabelle fest. Müssen den Werten im Primärschlüssel entsprechen. Bsp. CREATE TABLE tbl_bestellung (BNr int, KNr int, CONSTRAINT fk_bestell FOREIGN KEY(KNr) REFERENCES tbl_kunde(knr)); Oder Schreibweise: CREATE TABLE tbl_bestellung (KNr int NOT NULL CONSTRAINT PRIMARY KEY, vname char(10), nname char(10));

7 Referentielle Integrität Die Einhaltung der referentiellen Integrität wird durch Primärschlüssel und Fremdschlüsselfestlegung gesichert. Das DBMS verhindert folgende Fälle: 1. Löschen eines Datensatzes der Mastertabelle, zu dem in der Datenbank noch Einträge existieren. 2. Aufnahme von Einträgen in die Detailtabelle, für die in der Mastertabelle keine DS vorhanden sind. 3. Änderung von Primärschlüsselwerten der Mastertabelle, die es in der Detailtabelle noch gibt. 4. Änderung von Fremdschlüsselwerten der Detailtabelle, in Werte die es in der Mastertabelle nicht gibt. Eine Lösch- oder Aktualisierungsweitergabe erfolgt nicht. Diese beiden Aktionen lassen sich unter SQL- Server über Trigger realisieren. Trigger sind gespeicherte Prozeduren, die beim Eintreten bestimmter Ereignisse ausgeführt werden. Mastertabelle Detailtabelle Kunde 1 Bestellungen KNr n BestNr KNr Primärschlüssel Fremdschlüssel: Attribut, das in einer anderen Tabelle Primärschlüssel ist CHECK-Bedingung legt Regeln für den Inhalt von Datenfeldern fest. Die CHECK-Bedingung kann nur Spalten der angegebenen Tabelle enthalten. ALTER TABLE tbl_kunde ADD CONSTRAINT chk_kunde CHECK (KNr >= 100 ADD KNr < 1000); (Es können nur Kundennnummern von 100 bis 999 eingegeben werden.) Wie WHERE-Bedingung 3.8. Anzeige der Objekte sp_help; -- Anzeige aller Tabellen der Datenbank sp_helpdb; -- Anzeige aller Datenbanken sp_help tbl_name; -- Anzeige Tabellninformationen sp_helpdb db_name; -- Anzeige Datenbankinformationen 4. Daten erfassen und ändern 4.1. Daten in Tabellen einfügen Eingabe der Werte je nach Datentyp nacheinander durch Komma getrennt (char in Hochkomma und Komma in Zahl als Punkt). Die Spaltenliste nach dem Tabellennamen muss angegeben werden, wenn nicht alle Tabellenspalten ausgefüllt werden sollen oder die Daten in anderer Reihenfolge eingegeben werden. Mit INSERT INTO kann immer nur ein Datensatz erfasst werden. Ausnahme bei MySQL: Hier sind mehrere VALUES-Klauseln möglich. Felder müssen vorhanden sein, und Datentyp muss in beiden Tabellen übereinstimmen. kurz INSERT INTO tabellenname (feldname, feldname [,feldname]) VALUES (wert, wert [, wert]); INSERT INTO tbl_name[(spaltenliste)] VALUES (werteliste); INSERT INTO tbl_mitarbeiter (MNr, Nname, Vname) VALUES (15, Bauer, Renate ); Sollen Daten aus einer anderen Tabelle/Tabellen übernommen werden, kann die VALUES-Klausel auch durch eine SELECT-Anweisung ersetzt werden. INSERT INTO tbl_plauenkunden (KNr, Nname, Vname) SELECT KuNr, NaName, VoName FROM tbl_kunden WHERE ort = Plauen ; Übernahme aus anderer Datenbank: INSERT INTO tbl_name (feldname1[,feldname2]) SELECT (feldname1[,feldname2]) FROM [db_name.dbo_name.]tbl_name [WHERE vergleich]; -- db_name..tbl_name verwendet den aktuell angemeldeten Benutzer Datensätze ändern

8 Ändert den Inhalt eines Datensatzes/-feldes. UPDATE tbl_name SET spaltenname=wert_neu [WHERE vergleich]; UPDATE tbl_kunde SET kundenname= Berger WHERE kundenname= Beeger Die FROM-Klausel stellt eine nicht standardisierte Erweiterung einzelner DBMS (SQL-Server, PostgreS) dar und ermöglicht es in der WHERE-Bedingung auf andere Tabellen Bezug zu nehmen. UPDATE tblkund SET ort= Aue FROM tblkund, tblaltkund WHERE tblkund.knr=tblaltkund.knr 4.3. Datensatz löschen DELETE FROM tabellenname [ALL] oder [WHERE feldname und vergleich] DELETE FROM tbl_abteilung WHERE Anr = SELECT INTO Erzeugt aus den Ergebnissen einer Abfrage eine neue Tabelle. Die Spalten der neuen Tabelle erhalten die gleichen Bezeichnungen und die gleichen Datentypen wie die Ausgangstabelle. SELECT INTO ist eine nicht standardisierte Erweiterung (Bsp.Access, SQL-Server, PostgreS) SELECT spaltenliste INTO tbl_name FROM tbl_name WHERE bedingung; SELECT kname, vname INTO tbl_kunden FROM tbl_allekunden WHERE Ort= Plauen ; 5. Aggregatfunktion Dienen der Datenauswertung. Aggregat ist das Ergebnis der Funktion. Alle Aggregatfunktionen fassen Informationen über mehrere Datensätze zusammen. Zu diesem Zweck können Datensätze gruppiert werden. SELECT knr FROM tbl_bestellungen GROUP BY knr; SELECT KNr, COUNT(*) AS Anzahl FROM tbl_bestellungen GROUP BY KNr; Funktion(argument) Achtung: In der Spaltenliste dürfen außer Aggregatfunktionen nur Spalten und Ausdrücke vorkommen, die auch in der GROUP BY-Klausel enthalten sind. Gruppierung nach binären Inhalten ist nicht möglich. COUNT() zählt die zur Gruppe gehören Datensätze. Als Funktionsargument kann ein beliebiger Ausdruck verwendet werden; meist COUNT(*). Bei Angabe eines Spaltennamens werden nur die von NULL verschiedenen Spaltenwerte gezählt; Bsp. COUNT(spaltenname). Bsp. Zahl -- Feld Funkt(argument) Ergebnis Durchschnitt 3 NULL 8 COUNT(*) = 3 COUNT(zahl) = 2 AVG = sum(zahl)/count(*) AVG = (3 + 8) / 3 MAX() ermittelt den größten Wert der Spalte innerhalb der Gruppe; Bsp. MAX(brutto). MIN() ermittelt den kleinsten Wert der Spalte innerhalb der Gruppe; MIN(spaltenname) SUM() addiert die Werte der Spalte; Bsp. SUM(brutto) AVG() berechnet den Durchschnitt der übergebenen Spalte; AVG(spaltenname) Die Werte einer Zeile der Ergebnistabelle einer gruppierten Abfrage stehen in keinem Verhältnis zueinander und entsprechen der Funktion. Sie sind nur Werte aus der jeweiligen Gruppe Die Gruppierung kann auch nach berechneten Ausdrücken erfolgen. SELECT year(cocktailerfasst), count(*) AS Anzahl FROM tblcocktail GROUP yaer(cocktailerfasst); Die Ausgabe kann auch sortiert erfolgen.

9 SELECT KNr, COUNT(*) AS Anzahl FROM tblbestellung GROUP BY KNr ORDER BY Anzahl DESC; DAY(), MONTH() und YEAR() lösen den Tag, Monat bzw. Jahr aus einer Datumsangabe. year( ) 2002 Die WHERE-Klausel gehört vor die GROUP BY-Klausel. Sie schränkt die Menge der DS ein bevor diese gruppiert werden. Es lassen sich auch die gruppierten Datensätze filtern. Hierzu dient die HAVING-Klausel. Sie kann wie die WHERE-Klausel verwendet werden, jedoch stehen nur die Ausdrücke und Spalten zur Verfügung, die auf Gruppenebene gültig sind. Die HAVING-Klausel wird erst nach der Gruppierung abgearbeitet. Deshalb sollten nur Bedingungen hinein, die erst nach der Gruppierung zur Verfügung stehen. Alle anderen Bedingungen sollten in der WHERE-Klausel getestet werden. weniger DS sind dann zu gruppieren Abfrage wird schneller Einsatz von Bedingungen am Beispiel: siehe Übungsaufgabe SELECT gruppenr, count(*) AS Anzahl SELECT CocktailNr, SUM(Menge) AS Mengensumme FROM tblcocktail FROM tblcocktailzutaten WHERE glasnr=7 WHERE CocktailNr >= 125 GROUP BY gruppenr GROUP BY CocktailNr HAVING count(*) >25 HAVING SUM(Menge) > 10 ORDER BY gruppenr; ORDER BY Mengensumme ASC; NULL-Werte Aggregatfunktionen ignorieren Spalten mit NULL-Wert. Ausnahme ist die Funktion COUNT() die dann alle DS zählt, wenn als Argument eine Konstante übergeben wird; zb. COUNT(*). Aggregatfunktionen liefern nur dann NULL als Ergebnis, wenn entweder kein DS zur Gruppe gehört oder alle betrachteten Spaltenwerte NULL sind. 6. Abfragen aus verknüpften Tabellen Tabelleninhalte müssen zur Auswertung wieder zusammengeführt werden. Die Zusammenführung der Tabellen wird als JOIN (verbinden) bezeichnet. Da die Spaltenbezeichnung oft gleich ist, ist die Angabe des Tabellennamens meist erforderlich. Vereinfachend können für Tabellen auch Alias-Bezeichnungen eingeführt werden. Diese gelten nur für die jeweilige Abfrage. Beispiel SELECT tbl_mitarbeiter.mnr, tbl_funktion.funktion FROM tbl_mitarbeiter, tbl_funktion WHERE tbl_mitarbeiter.fnr = tbl_funktion.fnr; mit Aias SELECT a.mnr, b.funktion FROM tbl_mitarbeiter a, tbl_funktion b WHERE a.fnr = b.fnr; Eine Abfrage nach diesem Muster nennt man INNER JOIN: Alle DS, die in beiden Tabellen einen gleichen Wert in der Verknüpfungsspalte haben, werden angezeigt. Beispiel mit Alias SELECT a.cocktail, b.glas FROM tblcocktail a, tblglas b WHERE a.glasnr = b.glasnr; und mit INNER JOIN SELECT a.cocktail, b.glas FROM tblcocktail a INNER JOIN tblglas b ON a.glasnr = b.glasnr; Ohne die WHERE-Bedingung wird jeder DS der einen Tabelle, mit jedem DS der anderen Tabelle kombiniert kartesischen Produkt. Ist nur in wenigen Fällen sinnvoll. Das kartesische Produkt stellt eine gute Möglichkeit dar, schnell sehr viele Testdatensätze zu erhalten.

10 6.1. INNER JOIN verbinden von Tabellen über ein Feld mit gleichen passenden Inhalten. SELECT a.mnr, b.funktion FROM tbl_mitarbeiter a INNER JOIN tbl_funktion b ON a.fnr = b.fnr; 6.2. OUTER JOIN OUTER JOIN wählt alle DS der einen Tabelle und nur die passenden DS der anderen Tabelle aus. Man unterscheidet LEFT [OUTER] JOIN (es werden alle DS der links von JOIN stehenden Tabelle gezeigt) und RIGHT [OUTER] JOIN (alle DS der rechts von Join stehenden Tabelle) Man kann mit einer Variante beide Ergebnisse erziehlen, indem man die Tabellen tauscht. Das Schlüsselwort OUTER kann entfallen Verknüpfung von mehr als 2 Tabellen Die Verknüpfung von mehr als 2 Tabellen wird relativ häufig benötigt, zb. Bei der Auswertung von (m:n)-beziehungen sind 3 Tabellen nötig. tblcocktail tblcocktailkategorie tblkategorie 1 : n CocktailNr CocktailNr KategorieNr Cocktail KategorieNr Kategorie n a b c SELECT a.cocktail, c.kategorie FROM tblcocktail a INNER JOIN (tblcocktailkategorie b INNER JOIN tblkategorie c ON b.kategorienr = c.kategorienr) ON a.cocktailnr = b.cocktailnr; OUTER und INNER JOIN lassen sich nicht beliebig kombinieren. OUTER JOIN s können innerhalb von INNER JOIN s vorkommen, aber nicht umgekehrt. Je nach DMBS erhält man eine Fehlermeldung, oder der OUTER JOIN wird wie ein INNER JOIN verarbeitet Unterabfragen Unterabfragen verknüpfen Tabellen, indem in der WHERE-Klausel eine weitere SELECT-Anweisung verwendet wird. Dieser Vorgang kann mehrfach wiederholt werden; Access max.50-fach, MySQL unterstützt keine Unterabfragen Unterabfragen mit genau einem Ergebniswert -- Auswahl aller Cocktails, deren Alkoholgehalt kleiner ist als der Durchschnittliche Alkoholgehalt. SELECT Cocktail FROM tblcocktail WHERE Alkoholgehalt < (SELECT AVG(Alkoholgehalt) FROM tblcocktail); muß genau einen Wert ergeben... WHERE Alkoholkgehalt < (SELECT Alkoholgehalt FROM tblcocktail WHERE Cocktail = Tequila Sunrise ) Unterabfragen mit IN-Operator Liefert die Unterabfrage mehrere Ergebnisse, lassen sich diese mit dem IN-Operator in eine WHERE- Klausel einbinden. Sollen diese Ergebnisse zum Ausschluß dieser Ergebnisse führen ist NOT IN zu verwenden. Diese Möglichkeit ist sinnvoll, wenn die Unterabfrage nicht sehr viele Werte liefert und keine Felder der Unterabfrage in der übergeordneten Abfrage benötigt werden. -- Auswahl aller Cocktails, die genau 5 Zutaten haben SELECT Cocktail FROM tblcocktail WHERE tblcocktail.cocktailnr IN (SELECT tblcocktailzutaten.cocktailnr FROM tblcocktailzutaten GROUP BY tblcocktailzutaten.cocktailnr HAVING COUNT(*) = 5); Unterabfragen mit EXISTS

11 Liefert die Unterabfrage sehr viele Werte, dann ist eine Lösung mit EXISTS meist schneller als die Verwendung des IN-Operators. EXISTS testet nur, ob die Unterabfrage überhaupt ein Ergebnis liefert, wertet das Ergebnis also nicht aus. EXISTS liefert nur Wahr oder Falsch. Die Unterabfrage steht in Klammer hinter EXISTS. Bsp. -- Welche Cocktails verwenden die ZuatatNr 33? SELECT Cocktail FROM tblcocktail WHERE EXISTS (SELECT ZutatenNr FROM tblcocktailzutaten WHERE ZutatenNr = 33 AND tblcocktailzutaten.cocktailnr = tblcocktail.cocktailnr); Sollen alle Cocktails gezeigt werden, die nicht die Zutat 33 enthalten, ist die Abfrage mit NO EXISTS auszuführen. Selbstverständlich lassen sich in den Abfragen auch mehrere Tabellen über JOIN verknüpfen. In Unterabfragen mit EXISTS lassen sich alle Tabellen und Felder der übergeordneten Abfragen nutzen. Der Eintrag hinter SELECT der Unterabfrage ist unkritisch (kann sogar eine Konstante sein), weil EXISTS nur auswertet, ob ein Abfrageergebnis vorhanden ist, aber nicht welche Konkreten Ergebnisse vorliegen UNION und UNION ALL Beide vereinigen zwei Abfragen zu einer Ausgabemenge; Verknüpfung zweier Abfragen. Während UNION keine doppelten Datensätze zulässe, zeigt UNION ALL alle Datensätze. Der Aufwand ist bei UNION ALL geringer deshalb wenn möglich verwenden. Die zu vereinigenden Abfragen müssen die gleiche Spaltenzahl und gleiche Datentypen besitzen. UNION/UNION ALL gibt es nicht in MySQL. zwei Abfragen über UNION ALL SELECT Cocktail, GlasNr FROM tblcocktail WHERE GruppeNr = 4 UNION ALL SELECT Cocktail, GlasNr FROM tblcocktail WHERE GruppeNr = 2 bringt das gleiche Ergebnis wie: SELECT Cocktail, GlasNr FROM tblcocktail WHERE GruppeNr = 4 OR GruppeNr = 2; Beispiel: SELECT '0', a.cocktail, b.gruppenr, b.gruppe FROM tblcocktail a INNER JOIN tblgruppe b ON a.gruppenr = b.gruppenr UNION ALL SELECT '1', '*** Anzahl: ***', count(*), b.gruppe FROM tblcocktail a INNER JOIN tblgruppe b ON a.gruppenr = b.gruppenr GROUP BY b.gruppe ORDER BY 4,1; Die UNION-Abfrage zeigt alle Cocktails je Gruppe und die Anzahl der Cocktails je Gruppe. Dazu sind 2 SELECT-Anweisungen zu vereinigen: - Cocktailname + Gruppe - Anzahl je Gruppe GROUP BY Wichtig ist die Anzahl und der Datentyp der Felder hinter SELECT (im Einzelfall probieren). Die Sortierung nach der Gruppe führt die Abfrageergebnisse gruppenweise zusammen. Die erste Spalte ( 0 / 1 ) ermöglicht nachfolgenden Programmen die Unterscheidung zwischen Cocktail- und Auswertungszeile und kann außerdem zur Sortierung verwendet werden.

12 7. VIEWS VIEWS sind gespeicherte Ansichten auf Tabellen. Zeigt die Inhalte der in der VIEW vereinigten Tabellen. Aus Sicht des Anwenders erscheint eine VIEW wie eine Tabelle. MySQL kennt keine VIEWS. CREATE VIEW view_name [spaltenliste] AS SELECT-Anweisung [WITH CHECK Option]; Enthält die SELECT-Anweisung eindeutige Spaltenbezeichnungen, kann auf die Spaltenliste verzichtet werden. WITH CHECK OPTION: neue oder geänderte Daten werden nur hinzugefügt, wenn sie den Bedingungen der SELECT-Anweisung entsprechen. Die SELECT-Anweisung darf keine UNION-Klausel, kein ORDER BY und kein DISTINCT enhalten. Die Definition einer VIEW kann unter SQL-Server mit SP_HELPTEXT view_name angezeigt werden. Ist der VIEW-Name nicht bekannt SP_HELP. Mit dem Befehl ALTER VIEW view_name AS SELECT-Anweisung kann eine VIEW geändert werden. Eigentlich handelt es sich um eine Neudefinition. Vorteil gegenüber dem Löschen und Neuerstellen ist, dass die vergebenen Benutzerrechte erhalten bleiben. Eine VIEW kann mit DROP VIEW view_name gelöscht werden. Anwendungsmöglichkeiten für VIEW s: Zugriffbeschränkung auf Daten - nur ausgewählte Spalten (SELECT...) - nur bestimmte Datensätze (WHERE...) Zusammenführung von Daten mehrerer Tabellen Syntax: USE db_name; CREATE VIEW v_name AS SELECT spalte[, spalten] FROM tbl_name; SELECT * FROM v_name; Einfügen neuer Datensätze in die Basistabelle über die VIEW. Verwendung von INSERT INTO view_name... Da die neuen Datensätze in die Originaltabellen eingetragen werden, gibt es eine Reihe von Einschränkungen: 1. Spalten, die in der VIEW nicht angegeben werden, erhalten entweder den Wert NULL oder einen Default- Wert (Festlegung in Tabellendefinition). Läßt das die Tabellendefinition nicht zu kommt es zur Fehlermeldung. 2. Eine VIEW, die für Dateneingabe erstellt wird darf im CREATE-VIEW-SELECT-Teil keine Spalten aus verschiedenen Tabellen haben. Enthält eine VIEW in der FROM-Klausel mehrere Tabellen, dann dürfen hinter SELECT nur Felder einer Tabelle stehen. 3. Keine Spalte der VIEW darf aus einer Aggregatfunktion bestehen. 4. Keine Spalte darf eine Konstante oder ein berechneter Ausdruck sein. 5. In der VIEW SELECT-Anweisung darf keine GROUP BY oder DISTINCT-Anweisung enthalten. Wenn die o.g. Bedingungen erfüllt sind, lassen sich DS mit UPDATE ändern oder mit DELETE FROM löschen. Die Syntax ist dabei die gleiche wie mit Tabellen. 8. Indizes Beschleunigen die Ausführung von Abfragen. Allerdings verlangsamt sich das Einfügen neuer Daten, da der Index aktualisiert werden muß. Die Wirkung eines Index auf die Leistung der Datenbank kann meist erst durch den Test ermittelt werden. Indizes werden intern in Form von Tabellen verwaltet. Ein anderer Einsatzzweck ist die Sicherung eines eindeutigen Spalteninhalts; UNIQUE INDEX. CREATE INDEX index_name ON tbl_name (spalte[nliste]); CREATE INDEX i_cockt_cockt ON tblcocktail (Cocktail) CREATE UNIQUE i_cocktail ON tblcocktail (Cocktail, GlasNr) Index kombiniert aus 2 Feldern Der Syntax ist identisch bei MySQL, Oracle, SQL-Server, Access, PostgreS. Index löschen: MySQL, Access DROP INDEX index_name ON tbl_name; SQL-Server DROP INDEX tbl_name.index_name; 9. Anweisungs- und Zugriffsberechtigungen Rechtevergabe unterscheidet sich bei den verschiedenen Systemen.

13 SQL-Server Um Zugriff auf den SQL-Server zu erhalten, ist ein Benutzerkonto erforderlich; auch NT-Konten möglich. Das Konto muss dem SQL-Server bekannt gemacht werden. Um auch Zugriff auf eine Datenbank zu haben, muss das Benutzerkonto in die Datenbank aufgenommen werden. Beide Aufgaben lassen sich mit gespeicherten Prozeduren erledigen. Voraussetzung: Benutzerkonto ist der Datenbank bekannt (s.o.) Anweisungsberechtigungen sind die Rechte zur Erstellung von Datenbankobjekten: GRANT ALL oder GRANT anweisungsliste TO benutzerliste; Anweisungsrechte: CREATE DATABASE, CREATE TABLE, CREATE VIEW, CREATE DEFAULT... GRANT CREATE TABLE TO ThomasB; Objektberechtigungen Zugriff auf Tabelleninhalte GRANT ALL / rechteliste ON tbl_name TO benutzerliste Rechteliste: INSERT, UPDATE, DELETE, SELECT... GRANT SELECT, INSERT OB tbl_kunden TO ThomasB; Was noch fehlt: Transaktion Trigger

14 Syntaxbeschreibung: [] Alles in der Klammer kann, aber muß nicht angegeben werden. Die Klammer wird nie eingegeben. {} Alles in dieser Klammer kann einmal oder mehrfach vorkommen Dictionary growth column drop alter constraints join grant Wörterbuch Anwachsen, Wachstum Spalte fallen lassen, tropfen, fallen, sinken ändern Zwang, Einschränkung verbinden, vereinigen übergeben Notizen MS SQL-Datenbank-Server Prozedurale Sprache = erwartet Anweisungen, was soll der Reihe nach ablaufen Ergebnisorientierte Sprache = erwartet Abfrage, welches Ergebnis wird erwartet WHERE-Abfrage liefert genau einen boolschen Wert: wahr oder nicht wahr use datenbank select... from... where in/like order by create database create table tbl_name und mind. ein Feld benennen und deklarieren Argument Ausdruck = Rechenvorschrift; 5 * brutto Aggregat = Ergebnis aus Funktion Kartesisches Produkt jeder Wert mit mit jedem Wert multipliziert INNER JOIN Werte die in beiden Tabellen vorhanden sind OUTER JOIN alle Werte einer Tabelle, auch wenn in der anderen Tabelle keine Werte dafür stehen LEFT alle Werte der Tabelle links vom Befehl, RIGHT alle Werte der Tabelle rechts vom Befehl

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

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

Mehr

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

SQL für Trolle. mag.e. Dienstag, 10.2.2009. Qt-Seminar Qt-Seminar Dienstag, 10.2.2009 SQL ist......die Abkürzung für Structured Query Language (früher sequel für Structured English Query Language )...ein ISO und ANSI Standard (aktuell SQL:2008)...eine Befehls-

Mehr

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

Aufbau 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

Mehr

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

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,

Mehr

Informatik 12 Datenbanken SQL-Einführung

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

Mehr

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

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

Mehr

Übersicht der wichtigsten MySQL-Befehle

Übersicht der wichtigsten MySQL-Befehle Übersicht der wichtigsten MySQL-Befehle 1. Arbeiten mit Datenbanken 1.1 Datenbank anlegen Eine Datenbank kann man wie folgt erstellen. CREATE DATABASE db_namen; 1.2 Existierende Datenbanken anzeigen Mit

Mehr

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

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

Mehr

Sructred Query Language

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

Mehr

Labor 3 - Datenbank mit MySQL

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

Mehr

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.

Mehr

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Eine 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

Mehr

4. BEZIEHUNGEN ZWISCHEN TABELLEN

4. BEZIEHUNGEN ZWISCHEN TABELLEN 4. BEZIEHUNGEN ZWISCHEN TABELLEN Zwischen Tabellen können in MS Access Beziehungen bestehen. Durch das Verwenden von Tabellen, die zueinander in Beziehung stehen, können Sie Folgendes erreichen: Die Größe

Mehr

SQL structured query language

SQL structured query language Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query

Mehr

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Details 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

Mehr

SQL: statische Integrität

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

Mehr

Ein Ausflug zu ACCESS

Ein 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

Mehr

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

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

Mehr

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen Abfragen lassen sich längst nicht nur dazu benutzen, die gewünschten Felder oder Datensätze einer oder mehrerer Tabellen darzustellen. Sie können Daten auch nach bestimmten Kriterien zu Gruppen zusammenfassen

Mehr

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

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt

Mehr

SQL-Befehlsliste. Vereinbarung über die Schreibweise

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

Mehr

Berechnungen in Access Teil I

Berechnungen 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

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

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

Mehr

Übung Datenbanken in der Praxis. Datenmodifikation mit SQL

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

Mehr

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

Handbuch 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

Mehr

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

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

Mehr

Carl-Engler-Schule Karlsruhe Datenbank 1 (5)

Carl-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,

Mehr

Excel Pivot-Tabellen 2010 effektiv

Excel Pivot-Tabellen 2010 effektiv 7.2 Berechnete Felder Falls in der Datenquelle die Zahlen nicht in der Form vorliegen wie Sie diese benötigen, können Sie die gewünschten Ergebnisse mit Formeln berechnen. Dazu erzeugen Sie ein berechnetes

Mehr

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

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

MySQL: Einfaches Rechnen. www.informatikzentrale.de

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

Mehr

Datumsangaben, enthält mindestens Jahr, Monat, Tag

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

Mehr

IV. Datenbankmanagement

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.

Mehr

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

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

Mehr

SQL. Datendefinition

SQL. Datendefinition SQL Datendefinition Die Organisation einer Datenbank basiert auf einer Anzahl verschiedener Objekte. Diese können physikalischer oder logischer Natur sein. Das folgende Kapitel beschäftigt sich mit der

Mehr

SQL (Structured Query Language) Schemata Datentypen

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

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Objekte einer Datenbank Microsoft Access Begriffe Wegen seines Bekanntheitsgrades und der großen Verbreitung auch in Schulen wird im Folgenden eingehend auf das Programm Access von Microsoft Bezug genommen.

Mehr

5.3 Datenänderung/-zugriff mit SQL (DML)

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

Mehr

Access 2000 und MS SQL Server im Teamwork

Access 2000 und MS SQL Server im Teamwork Access 2000 und MS SQL Server im Teamwork von Irene Bauder, Jürgen Bär 1. Auflage Hanser München 2000 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 446 21473 6 Zu Inhaltsverzeichnis schnell und

Mehr

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1

Fachhochschule Kaiserslautern Labor Datenbanken mit MySQL SS2006 Versuch 1 Fachhochschule Kaiserslautern Fachbereiche Elektrotechnik/Informationstechnik und Maschinenbau Labor Datenbanken Versuch 1 : Die Grundlagen von MySQL ------------------------------------------------------------------------------------------------------------

Mehr

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

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

Mehr

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

Mehr

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

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

Mehr

Auswertung erstellen: Liste mit E-Mail-

Auswertung erstellen: Liste mit E-Mail- Anleitung Auswertung erstellen: Liste mit E-Mail-Adressen Auswertung erstellen: Liste mit E-Mail- Adressen Das Beispiel Sie möchten für den Versand eines Newletters per E-Mail eine Liste der in mention

Mehr

OP-LOG www.op-log.de

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

Mehr

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

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

Mehr

105.3 SQL-Datenverwaltung

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

Mehr

Referenzielle Integrität SQL

Referenzielle Integrität SQL Referenzielle Integrität in SQL aus Referential Integrity Is Important For Databases von Michael Blaha (Modelsoft Consulting Corp) VII-45 Referenzielle Integrität Definition: Referenzielle Integrität bedeutet

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr

Arbeiten mit einem lokalen PostgreSQL-Server

Arbeiten 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

Mehr

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

Programmieren 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

Mehr

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013

Access 2013. Grundlagen für Anwender. Susanne Weber. 1. Ausgabe, 1. Aktualisierung, Juni 2013 Access 2013 Susanne Weber 1. Ausgabe, 1. Aktualisierung, Juni 2013 Grundlagen für Anwender ACC2013 2 Access 2013 - Grundlagen für Anwender 2 Mit Datenbanken arbeiten In diesem Kapitel erfahren Sie was

Mehr

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

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle. Seminar 2 SQL - DML(Data Manipulation Language) und DDL(Data Definition Language) Befehle. DML Befehle Aggregatfunktionen - werden auf eine Menge von Tupeln angewendet - Verdichtung einzelner Tupeln yu

Mehr

Unterabfragen (Subqueries)

Unterabfragen (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

Mehr

Datenbanken für Online Untersuchungen

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

Mehr

Schnellübersichten. SQL Grundlagen und Datenbankdesign

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

Mehr

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem Fachbericht zum Thema: Anforderungen an ein Datenbanksystem von André Franken 1 Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 2 Einführung 2 2.1 Gründe für den Einsatz von DB-Systemen 2 2.2 Definition: Datenbank

Mehr

Mediator 9 - Lernprogramm

Mediator 9 - Lernprogramm Mediator 9 - Lernprogramm Ein Lernprogramm mit Mediator erstellen Mediator 9 bietet viele Möglichkeiten, CBT-Module (Computer Based Training = Computerunterstütztes Lernen) zu erstellen, z. B. Drag & Drop

Mehr

Vorlesung Dokumentation und Datenbanken Klausur

Vorlesung Dokumentation und Datenbanken Klausur Dr. Stefan Brass 5. Februar 2002 Institut für Informatik Universität Giessen Vorlesung Dokumentation und Datenbanken Klausur Name: Geburtsdatum: Geburtsort: (Diese Daten werden zur Ausstellung des Leistungsnachweises

Mehr

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Suche schlecht beschriftete Bilder mit Eigenen Abfragen Suche schlecht beschriftete Bilder mit Eigenen Abfragen Ist die Bilderdatenbank über einen längeren Zeitraum in Benutzung, so steigt die Wahrscheinlichkeit für schlecht beschriftete Bilder 1. Insbesondere

Mehr

Datenbanken Microsoft Access 2010

Datenbanken Microsoft Access 2010 Datenbanken Microsoft Access 2010 Abfragen Mithilfe von Abfragen kann ich bestimmte Informationen aus einer/mehrerer Tabellen auswählen und nur diese anzeigen lassen die Daten einer/mehrerer Tabellen sortieren

Mehr

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

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D. 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/

Mehr

Die Excel Schnittstelle - Pro Pack

Die Excel Schnittstelle - Pro Pack Die Excel Schnittstelle - Pro Pack Die Excel Pro Pack ist eine Erweiterung der normalen Excel Schnittstelle, die in der Vollversion von POSWare Bestandteil der normalen Lizenz und somit für alle Lizenznehmer

Mehr

Views in SQL. 2 Anlegen und Verwenden von Views 2

Views 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

Mehr

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

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

Mehr

JooLIMS. Manueller Import

JooLIMS. Manueller Import JooLIMS Manueller Import XAMPP 1.7.3 (nicht 1.7.4!, da Joomla 1.5 nicht unter 1.7.4 läuft) Joomla 1.5 installieren (nicht 1.6!) Download der Komponente Fabrik 2.1 (http://fabrikar.com/downloads/details/36/89)

Mehr

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

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken. In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access Die Grundlagen der Datenbanken kurspc15 Inhaltsverzeichnis Access... Fehler! Textmarke nicht

Mehr

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

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

Mehr

Es geht also im die SQL Data Manipulation Language.

Es geht also im die SQL Data Manipulation Language. 1 In diesem Abschnitt wollen wir uns mit den SQL Befehlen beschäftigen, mit denen wir Inhalte in Tabellen ( Zeilen) einfügen nach Tabelleninhalten suchen die Inhalte ändern und ggf. auch löschen können.

Mehr

Datenbanken: Datenintegrität. www.informatikzentrale.de

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

Mehr

Kurzanleitung für Umsteiger von DataEase. www.datacool.net

Kurzanleitung 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)

Mehr

Relationales Modell: SQL-DDL. SQL als Definitionssprache. 7. Datenbankdefinitionssprachen. Anforderungen an eine relationale DDL

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

Mehr

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

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

Mehr

MS Access 2010 Kompakt

MS Access 2010 Kompakt 2 ABFRAGEN Eine Abfrage ist im Wesentlichen der Filterung eines Datenbestandes sehr ähnlich. Auch hier werden aus einer Menge von Informationen nur jene Datensätze ausgewählt, die einem vorher definierten

Mehr

Oracle: Abstrakte Datentypen:

Oracle: Abstrakte Datentypen: Oracle: Abstrakte Datentypen: Oracle bietet zwei mögliche Arten um abstrakte Datentypen zu implementieren: Varying Array Nested Table Varying Array (kunde) kdnr kdname gekaufteart 1 Mustermann 1 4 5 8

Mehr

Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009

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

Mehr

Bauteilattribute als Sachdaten anzeigen

Bauteilattribute als Sachdaten anzeigen Mit den speedikon Attributfiltern können Sie die speedikon Attribute eines Bauteils als MicroStation Sachdaten an die Elemente anhängen Inhalte Was ist ein speedikon Attribut?... 3 Eigene Attribute vergeben...

Mehr

Leseprobe: 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. 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

Mehr

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

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

Mehr

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

Uni Duisburg-Essen Fachgebiet Informationssysteme Prof. Dr. N. Fuhr Raum: LF 230 Bearbeitung: 9.-11. Mai 2005 Datum Gruppe Vorbereitung Präsenz Aktuelle Informationen unter: http://www.is.informatik.uni-duisburg.de/courses/dbp_ss03/ Tabellen in IBM DB2 Tabellen Eine relationale

Mehr

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

Access 2010. Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012. inkl. zusätzlichem Übungsanhang ACC2010-UA Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli 2012 Access 2010 Grundlagen für Anwender inkl. zusätzlichem Übungsanhang ACC2010-UA 3 Access 2010 - Grundlagen für Anwender 3 Daten in Formularen bearbeiten

Mehr

Inhaltsverzeichnis. Einleitung

Inhaltsverzeichnis. Einleitung vn Inhaltsverzeichnis Einleitung Kapitel 1: Eine Einführung in relationale Datenbanken 7 Was ist eine relationale Datenbank? 9 Verknüpfen der einzelnen Tabellen 10 Die Reihenfolge der Zeilen ist beliebig

Mehr

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Datenbanktechnologie 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

Mehr

Universität Duisburg-Essen Informationssysteme Prof. Dr.-Ing. N. Fuhr. Praktikum Datenbanken / DB2 Woche 8: Trigger, SQL-PL

Universitä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

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren

Whitepaper. Produkt: combit Relationship Manager / address manager. FILESTREAM für Microsoft SQL Server aktivieren combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager FILESTREAM für Microsoft SQL Server aktivieren FILESTREAM für Microsoft SQL Server aktivieren

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Abfragen in Access. Die einfache Auswahlabfrage aus einer einzigen Tabelle

Abfragen in Access. Die einfache Auswahlabfrage aus einer einzigen Tabelle Um gezielte Informationen - auch aus verschiedenen Tabellen einer Datenbank - zu erhalten, benutzt man Abfragen. Man kann dort die Tabellen einer Datenbank miteinander verknüpfen und erhält somit die gewünschten

Mehr

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel

4.14.3 Bedingungen über Werte. 4.14.4 Statische Integrität. CHECK-Klausel 4.14.3 Bedingungen über Werte 4.14.4 Statische Integrität Zu jeder Tabelle werden typischerweise ein Primärschlüssel und möglicherweise weitere Schlüssel festgelegt (UNIQUE-Klausel). In jeder Instanz zu

Mehr

8 Access-Abfragen migrieren

8 Access-Abfragen migrieren Leseprobe aus Access und SQL Server http://www.acciu.de/asqllesen 8 Access-Abfragen migrieren Mit der Migration der Tabellen Ihrer Anwendung zu einer SQL Server-Datenbank und dem Verknüpfen der SQL Server-Tabellen

Mehr

Kurzanleitung. Toolbox. T_xls_Import

Kurzanleitung. Toolbox. T_xls_Import Kurzanleitung Toolbox T_xls_Import März 2007 UP GmbH Anleitung_T_xls_Import_1-0-5.doc Seite 1 Toolbox T_xls_Import Inhaltsverzeichnis Einleitung...2 Software Installation...2 Software Starten...3 Das Excel-Format...4

Mehr

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

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster Es gibt in Excel unter anderem die so genannten Suchfunktionen / Matrixfunktionen Damit können Sie Werte innerhalb eines bestimmten Bereichs suchen. Als Beispiel möchte ich die Funktion Sverweis zeigen.

Mehr

Summenbildung in Bauteiltabellen mit If Then Abfrage

Summenbildung in Bauteiltabellen mit If Then Abfrage Summenbildung in Bauteiltabellen mit If Then Abfrage Die in Bauteiltabellen ausgelesenen Werte lassen sich in jeder Spalte als Summe berechnen. So können selbstverständlich die Flächen der in der Tabelle

Mehr

Abfragen (Queries, Subqueries)

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

Mehr

Access Grundkurs. M. Eng. Robert Maaßen

Access Grundkurs. M. Eng. Robert Maaßen Access Grundkurs M. Eng. Robert Maaßen Wer steht da? M. Eng. Robert Maaßen ich@robertmaassen.de www.robertmaassen.de Studium: Informatik Vertiefungsrichtung Medientechnik, Diplom Ingenieur (FH), HAWK,

Mehr

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

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

Mehr

Datenbanken Kapitel 2

Datenbanken Kapitel 2 Datenbanken Kapitel 2 1 Eine existierende Datenbank öffnen Eine Datenbank, die mit Microsoft Access erschaffen wurde, kann mit dem gleichen Programm auch wieder geladen werden: Die einfachste Methode ist,

Mehr

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt

Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt Hinweise zur Datensicherung für die - Prüfmittelverwaltung - Inhalt 1. Vorbetrachtungen... 2 2. Die Installation... 2 3. Einstellungen - Erstellung der Verknüpfung... 3 3.1 Benutzung des Konfigurationsprogramms

Mehr

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

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

Mehr