Database. Creates. -- Kunde(knr, nname, vname, adresse:adresse.aid) CREATE TABLE Kunde ( NUMERIC(13) PRIMARY KEY,
|
|
- Christel Solberg
- vor 6 Jahren
- Abrufe
Transkript
1 Database Creates -- Adresse (aid, plz, ort, strasse, nummer) CREATE TABLE Adresse ( aid SERIAL PRIMARY KEY, plz SMALLINT NOT NULL, ort VARCHAR(40) NOT NULL, strasse VARCHAR(70) NOT NULL, nummer VARCHAR(20) NOT NULL, UNIQUE (plz,ort,strasse,nummer) -- Standort(sid, bezeichnung, adresse:adresse.aid, leiter:angestellter.svnr) CREATE TABLE Standort ( sid SERIAL PRIMARY KEY, bezeichnung TEXT NOT NULL, adresse INTEGER REFERENCES Adresse(aid), leiter NUMERIC(12) --REFERENCES Angestellter(svnr) -- Angestellter(svnr, nname, vname, gebdat, gehalt, adresse:adresse.aid, arbeitet:standort.sid) CREATE TABLE Angestellter ( svnr NUMERIC(12) PRIMARY KEY, nname VARCHAR(20) NOT NULL, vname VARCHAR(20) NOT NULL, gebdat DATE NOT NULL, gehalt NUMERIC(7,2) NOT NULL, adresse INTEGER REFERENCES Adresse(aid), arbeitet INTEGER REFERENCES Standort(sid) DEFERRABLE INITIALLY DEFERRED ALTER TABLE Standort ADD CONSTRAINT standort_leiter FOREIGN KEY (leiter) REFERENCES Angestellter(svnr) DEFERRABLE INITIALLY DEFERRED; -- Manager(svnr:Angestellter.svnr, bonus) CREATE TABLE Manager ( svnr NUMERIC(12) PRIMARY KEY REFERENCES Angestellter, bonus NUMERIC(7,2) NOT NULL -- Kunde(knr, nname, vname, adresse:adresse.aid) CREATE TABLE Kunde ( knr NUMERIC(7) PRIMARY KEY, nname VARCHAR(20) NOT NULL, vname VARCHAR(20) NOT NULL, adresse INTEGER REFERENCES Adresse(aid) -- Artikel(ean, bezeichnung, typ CREATE TABLE Artikel ( ean NUMERIC(13) PRIMARY KEY, bezeichnung TEXT NOT NULL, typ TEXT NOT NULL
2 -- serie(vorgaenger:artikel.ean, nachfolger:artikel.ean) CREATE TABLE serie ( vorgaenger NUMERIC(13) REFERENCES Artikel(ean), nachfolger NUMERIC(13) REFERENCES Artikel(ean), PRIMARY KEY (vorgaenger, nachfolger) -- Land(code, name, kontinent) CREATE TABLE Land ( code CHAR(3) PRIMARY KEY, -- ISO name VARCHAR(50) NOT NULL, kontinent VARCHAR(15) NOT NULL, CHECK (kontinent IN ('Afrika', 'Asien', 'Australien', 'Europa', 'Nordamerika', 'Südamerika')) -- Preis(datum, artikel:artikel.ean, land:land.code, wert, steuer) CREATE TABLE Preis ( datum DATE, artikel NUMERIC(13) REFERENCES Artikel(ean), land CHAR(3) REFERENCES Land(code), wert NUMERIC(7,2) NOT NULL, steuer NUMERIC(3) NOT NULL, -- prozent CHECK (steuer BETWEEN 0 AND 100), PRIMARY KEY (datum, artikel, land) -- Bestellung(bid, zeitpunkt, bezahlt, datum, knr:kunde.knr) CREATE TABLE Bestellung ( bid NUMERIC(10) PRIMARY KEY, zeitpunkt TIMESTAMP NOT NULL, bezahlt VARCHAR(4) NOT NULL, datum DATE NOT NULL, knr NUMERIC(7) REFERENCES Kunde, CHECK (bezahlt IN ('JA', 'NEIN')) -- umfasst(bid:bestellung.bid, artikel:preis.artikel, land:preis.land, datum:preis.datum, anzahl) CREATE TABLE umfasst ( bid NUMERIC(10) REFERENCES Bestellung, datum DATE, artikel NUMERIC(13), land CHAR(3), anzahl SMALLINT NOT NULL, PRIMARY KEY (bid, datum, artikel, land), FOREIGN KEY (datum, artikel, land) REFERENCES Preis
3 -- sequences CREATE SEQUENCE kunde_knr_seq START INCREMENT 10 MINVALUE NO MAXVALUE; CREATE SEQUENCE bestellung_bid_seq START INCREMENT 10 MINVALUE NO MAXVALUE; -- extensions for task 3 ALTER TABLE Kunde ADD COLUMN tpunkte integer NOT NULL DEFAULT 0; CREATE TABLE lagerstand ( standort INT REFERENCES Standort(sid), artikel NUMERIC(13) REFERENCES Artikel(ean), anzahl INT NOT NULL, PRIMARY KEY (standort, artikel) Deletes DROP TABLE IF EXISTS Adresse CASCADE; DROP TABLE IF EXISTS Standort CASCADE; DROP TABLE IF EXISTS Angestellter CASCADE; DROP TABLE IF EXISTS Manager CASCADE; DROP TABLE IF EXISTS Kunde CASCADE; DROP TABLE IF EXISTS Artikel CASCADE; DROP TABLE IF EXISTS serie CASCADE; DROP TABLE IF EXISTS Land CASCADE; DROP TABLE IF EXISTS Preis CASCADE; DROP TABLE IF EXISTS Bestellung CASCADE; DROP TABLE IF EXISTS umfasst CASCADE; DROP TABLE IF EXISTS lagerstand CASCADE; DROP SEQUENCE IF EXISTS kunde_knr_seq; DROP SEQUENCE IF EXISTS bestellung_bid_seq; DROP FUNCTION IF EXISTS t_before_bestellen( DROP FUNCTION IF EXISTS f_bestellwert(numeric DROP FUNCTION IF EXISTS f_treuepunkte(numeric DROP FUNCTION IF EXISTS f_treuepunkte_eintragen(numeric DROP FUNCTION IF EXISTS f_alte_bestellungen_entfernen(
4 SQL Teil 1.1. (Standorte): Geben Sie alle Standorte ("sid" und "bezeichnung") zusammen mit ihren Angestellten ("svnr, "vname" und "nname") aus. Vermerken Sie in einer zusätzlichen Spalte, ob es sich bei dem Angestellten um den Leiter des Standortes handelt. Benennen Sie diese neue Spalte mit "position". Sortieren Sie die Ausgabe nach dem Standort und, falls dieser gleich ist, nach dem Namen des Angestellten. SELECT sid, bezeichnung, svnr, vname, nname (CASE WHEN leiter=svnr THEN 'Leiter' END) AS position FROM Standort, Angestellter WHERE sid=arbeitet; 1.2. (bester Kunde): Geben Sie den Kunden aus, deren Bestellungen in Summe am teuersten gekommen sind. Beachten Sie dabei, dass Sie nur Bestellungen berückstichtigen, die bereits bezahlt wurde. Die Abfrage soll neben der Kundennummer ("knr") auch den Namen des Kunden ("vname", "nname") sowie die Gesamtsumme aller bisher bestellten und bezahlten Artikel ("gesamtbestellsumme") zurückliefern. SELECT knr, vname, nname, round(total, 2) gesamtbestellwert FROM ( SELECT knr, sum(wert*(1+steuer/100)*anzahl) total FROM umfasst NATURAL JOIN Preis JOIN Bestellung USING (bid) WHERE bezahlt='ja' GROUP BY knr ) tempa JOIN Kunde USING (knr) WHERE total >= ( SELECT max(total) FROM ( SELECT sum(wert*(1+steuer/100)*anzahl) total FROM umfasst NATURAL JOIN Preis JOIN Bestellung USING (bid) WHERE bezahlt='ja' GROUP BY knr ) tempb ) ; 1.3. (Standort Ranking) Geben Sie für jeden Standort ("sid" und "bezeichnung") die Anzahl der Mitarbeiter ("mitarbeiter"), die dort arbeiten aus, und ordnen Sie die Liste absteigend nach der Anzahl der Mitarbeiter. Sollten zwei Standorte gleich viele Mitarbeiter beschäftigen, so soriteren Sie die Stanodrte alphabetisch nach ihrere Bezeichnung. SELECT sid, bezeichnung, mitarbeiter FROM ( SELECT arbeitet, count(*) AS mitarbeiter FROM Angestellter GROUP BY arbeitet ) AS anz JOIN Standort ON (sid=arbeitet) ORDER BY mitarbeiter DESC, bezeichnung ASC;
5 2. (Rekursion) Wählen Sie per Hand einen Artikel aus dem Sortiment aus, der Teil einer Serie ist. Schreiben Sie eine Query, die diesen Artikel ("ean") ausgibt sowie rekursiv alle Nachfolger in dieser Serie. WITH RECURSIVE serrec(vorgaenger, nachfolger) AS ( SELECT vorgaenger, nachfolger FROM serie WHERE vorgaenger=' ' UNION ALL SELECT s.vorgaenger, s.nachfolger FROM serrec sr, serie s WHERE s.vorgaenger = sr.nachfolger ) SELECT * FROM serrec; 3.1. Wählen Sie per Hand einen Kunden aus und geben Sie alle Artikel ("ean", "bezeichnung") aus, die dieser Kunde bisher noch nicht bestellt hat. SELECT ean, bezeichnung FROM Artikel WHERE ean NOT IN ( SELECT DISTINCT artikel FROM bestellung JOIN umfasst USING (bid) WHERE knr= Schreiben Sie eine Query, die alle Kunden ("knr", "vname", "nname") zurückgibt, die alle erfassten Artikel mindestens einmal bestellt haben. SELECT knr, vname, nname FROM ( SELECT DISTINCT artikel, knr FROM bestellung JOIN umfasst USING(bid) ORDER BY knr ) tmp JOIN Kunde USING (knr) GROUP BY knr, vname, nname HAVING count(artikel) = (SELECT count(*) FROM Artikel 4. Schreiben Sie Befehle zum Erzeugen und Löschen einer View ("tagespreise_view"), welche zu einem Artikel alle Tagespreise und in welchen Ländern diese gelten, selektiert. Die View soll folgende Informationen enthalten: ean, bezeichnung, typ, datum, preis, steuer, code, name, kontinent. CREATE VIEW tagespreise_view AS SELECT Artikel.*, datum, wert, steuer, code, name, kontinent FROM Preis JOIN Artikel ON ean=artikel JOIN Land on code=land; DROP VIEW tagespreise_view;
6 PL/pgSQL Teil 5. Trigger Schreiben Sie einen BEFORE INSERT ON Trigger ("t_before_bestellen"), welcher vor einem Insert in die Tabelle "bestellen" überprüft, ob überhaupt genug Stück eines Artikels lagernd sind. Ein Datenbankeintrag soll nur erfolgen, falls in Summe an allen Standorten mindestens so viele Stück des Artikels lagernd sind wie der Kunde bestellt. Sollte der gewünschte Artikel an gar keinem Standort verfügbar sein, so soll eine Exception "artikel_ausverkauft" geworfen werden. Gibt es zu wenig Stück des Artikels, so soll die Exception "zu_wenig_stueck" geworfen werden. Verzichten Sie auf eine Fehlerbehandlung innerhalb des Triggers (da ansonsten ein fehlerhaftes INSERT-Kommand als erfolgreich angesehen würde). CREATE OR REPLACE FUNCTION t_before_bestellen() RETURNS TRIGGER AS $$ DECLARE stand INT; BEGIN SELECT sum(anzahl) INTO stand FROM Lagerstand WHERE artikel=new.artikel; IF stand = 0 THEN RAISE EXCEPTION 'artikel_ausverkauft'; ELSEIF stand IS NULL THEN RAISE EXCEPTION 'artikel_ausverkauft'; ELSEIF stand < NEW.anzahl THEN RAISE EXCEPTION 'zu_wenig_stueck'; RETURN NEW; END; $$ LANGUAGE plpgsql; CREATE TRIGGER t_before_bestellen BEFORE INSERT ON umfasst FOR EACH ROW EXECUTE PROCEDURE t_before_bestellen( 6. Funktionen 6.1 f_bestellwert Schreiben Sie eine Funktion ("f_bestellwert"), die für eine Bestellung den Gesamtpreis aller in dieser Bestellung zusammengefassten Waren berechnet. Die Funktion erhält als Eingabeparameter "bestellnr" ("bid" der Bestellung). Beachten Sie, dass von jedem Artikel mehrere Stück pro Bestellung bestellt werden können ("anzahl" von bestellen). CREATE OR REPLACE FUNCTION f_bestellwert(bestellnr NUMERIC(10)) RETURNS NUMERIC(7,2) AS $$ DECLARE total NUMERIC(7,2 BEGIN total = (SELECT sum(wert*(1+steuer/100)*anzahl) FROM umfasst NATURAL JOIN Preis WHERE bid = bestellnr RETURN total; EXCEPTION WHEN OTHERS THEN RAISE NOTICE '%, %', SQLERRM, SQLSTATE; RETURN -1; END; $$ LANGUAGE plpgsql;
7 6.2 f_treuepunkte Schreiben Sie eine Funktion ("f_treuepunkte"), die für eine übergebene Bestellung die, dem Kunden zustehenden Treuepunkte berechnet. Der Kunde erhält Pro 10,- Bestellwert einen Treuepunkt, d.h. für Bestellungen mit einem Wert ab 10,- einen Punkt, ab 20,- zwei Punkte usw. Hat ein Kunde bereits mehr als 10 bezahlte Bestellungen mit einem Wert jeweils über 50,- Euro getätigt, so erhält der Kunde dafür 5 Extrapunkte. Verwenden Sie dabei die im vorigen Punkt erstelle Funktion "f_bestellwert". Werfen Sie eine Expcetion "bestellwert_zu_gering", sollte der Gesamtwert der betrachteten Bestellung kleiner als 10,- sein. CREATE OR REPLACE FUNCTION f_treuepunkte(bestellnr NUMERIC(10)) RETURNS INTEGER AS $$ DECLARE trpnkt INTEGER; bstwrt NUMERIC(7,2 bstcnt INTEGER; bst Bestellung%ROWTYPE; kdnr Kunde.knr%TYPE; BEGIN bstwrt = f_bestellwert(bestellnr IF bstwrt < 10 THEN RAISE EXCEPTION 'bestellwert_zu_gering'; trpnkt = round(bstwrt/10 -- kundennummer holen von dem kunden der bestellung SELECT knr INTO kdnr FROM Bestellung WHERE bid=bestellnr; bstcnt = 0; -- bezahlte bestellungen des kunden durchlaufen FOR bst IN (SELECT bid FROM Bestellung WHERE knr=kdnr AND Bezahlt='JA') LOOP IF bstcnt > 10 THEN EXIT; IF f_bestellwert(bst.bid) > 50 THEN bstcnt = bstcnt + 1; END LOOP; IF bstcnt > 10 THEN trpnkt = trpnkt + 5; RETURN trpnkt; EXCEPTION WHEN OTHERS THEN RAISE NOTICE '%, %', SQLERRM, SQLSTATE; RETURN -1; END; $$ LANGUAGE plpgsql; 3. f_treuepunkte_eintragen Schreiben Sie eine Prozedur ("f_treuepunkte_eintragen"), die die für eine Bestellung anfallenden Treuepunkte einem Kunden gutschreibt. Die Prozedur hat als Eingabeparameter bestellnr ("bid" von Bestellungen) und gibt nichts zurück (Rückgabetyp void). Verwenden Sie zur Berechnung der gutzuschreibenden Treuepunkte die im vorigen Punkt erstellte Funktion "f_treuepunkte". CREATE OR REPLACE FUNCTION f_treuepunkte_eintragen(bestellnr NUMERIC(10)) RETURNS VOID AS $$ DECLARE trpnkt Kunde.tpunkte%TYPE; kdnr Kunde.knr%TYPE;
8 BEGIN trpnkt = f_treuepunkte(bestellnr IF trpnkt = -1 THEN RAISE EXCEPTION 'treuepunkte konnten nicht ermittelt werden'; ELSEIF trpnkt IS NULL THEN RAISE EXCEPTION 'bestellung % konnte nicht gefunden werden', bestellnr; ELSE SELECT knr INTO kdnr FROM Bestellung WHERE bid=bestellnr; IF kdnr IS NULL THEN RAISE EXCEPTION 'kunde % konnte nicht gefunden werden', kdnr; ELSE -- input okay, jetzt können wir das updaten! UPDATE Kunde SET tpunkte = tpunkte + trpnkt WHERE knr=kdnr; EXCEPTION WHEN OTHERS THEN RAISE EXCEPTION '%, %', SQLERRM, SQLSTATE; END; $$ LANGUAGE plpgsql; 6.4 f_alte_bestellungen_entfernen Schreiben Sie eine Prozedur ("f_alte_bestellungen_entfernen), die alle Bestellungen aus der Datenbank entfernt, für die nach mehr als 14 Tagen immer noch keine Bezahlt eingegangen ist. Bedenken Sie, dass sie auch in der Tabelle "bestellen" alle Datensätze löschen müssen, die zu den betroffenen Bestellungen gehören. Die Prozedur soll am Ende einen Hinweis ausgeben, wie viele Bestellungen dabei entfernt wurden. CREATE OR REPLACE FUNCTION f_alte_bestellungen_entfernen() RETURNS VOID AS $$ DECLARE todel Bestellung.bid%TYPE; deled INTEGER = 0; BEGIN FOR todel IN SELECT bid FROM Bestellung WHERE bezahlt = 'NEIN' AND (age(zeitpunkt)) > '14 days' LOOP DELETE FROM umfasst WHERE bid=todel; DELETE FROM Bestellung WHERE bid=todel; deled = deled + 1; END LOOP; -- und alles nur fuer grammatikalisch richtigen output! IF deled = 0 THEN RAISE NOTICE 'Keine Bestellungen geloescht'; ELSEIF deled = 1 THEN RAISE NOTICE 'Eine Bestellung geloescht'; ELSE RAISE NOTICE '% Bestellungen geloescht', deled; EXCEPTION WHEN OTHERS THEN RAISE EXCEPTION '%, %', SQLERRM, SQLSTATE; END; $$ LANGUAGE plpgsql;
9 Java Teil 7.1 dbconnect() Stellt eine JDBC-Verbindung zur Datenbank her und stellt AUTOCOMMIT aus. public void dbconnect() { String driver = "jdbc:postgresql"; String host = "bordo.dbai.tuwien.ac.at"; String port = "5432"; String database = "database"; String username = "username"; String password = "password"; String dbconnectionstring = driver + "://" + host + ":" + port + "/" + database; Class.forName("org.postgresql.Driver" conn = DriverManager.getConnection(dbConnectionString, username, password conn.setautocommit(false catch (Exception e) { System.out.println(e.toString() 7.2 dboutputkunden() Gibt alle Kunden (Kundennummer, Vor- und Nachname, Treuepunkte), die Anzahl aller bisher abgewickelten Bestellungen, den Gesamtwert aller Bestellungen sowie den durchschnittlichen Wert der Bestellungen aus. Berücksichtigen Sie dabei ausschließlich Bestellungen, für die bereits die Bezahltung erfolgt ist. Vergessen Sie nicht auf jene Kunden, für die noch keine derartige Bestellung erfasst ist! Verwenden Sie dabei die Funktion "f_bestellwert", die Sie in Punkt 6a erstellt haben. Die Ausgabe soll als Comma-Separated List erfolgen. public void dboutputkunden() { Statement stmt = null; ResultSet rs = null; stmt = conn.createstatement( rs = stmt.executequery("select k.knr, " + "k.vname, " + "k.nname, " + "k.tpunkte, " + "COUNT(b.bid) AS anz, " + "SUM(f_bestellwert(b.bid)) AS gesamtwert, " + "round(avg(f_bestellwert(b.bid)), 2) AS durchschn " + "FROM Kunden k " + "LEFT OUTER JOIN (Bestellungen b JOIN Bezahlung bez ON (b.bid = bez.bestellung)) ON (k.knr = b.kunde) " + "GROUP BY k.knr, k.vname, k.nname, k.tpunkte " + "ORDER BY gesamtwert DESC, k.knr" while (rs.next()) { System.out.print(rs.getString("knr") + ", " System.out.print(rs.getString("vname") + ", " System.out.print(rs.getString("nname") + ", " System.out.print(rs.getString("tpunkte") + ", " System.out.print(rs.getString("anz") + ", " System.out.print(rs.getString("gesamtwert") + ", " System.out.println(rs.getString("durchschn") rs.close( stmt.close( catch (Exception e) { System.out.println(e.toString()
10 if (rs!= null) rs.close( if (stmt!= null) stmt.close( catch (SQLException ex) { ex.printstacktrace( 7.3 edittreuepunkte() Soll die Funktionalität der PL/pgSQL-Prozedur aus 6.3 bereitstellen. public void edittreuepunkte(int bestellnr) { Statement stmt = null; CallableStatement cstmttreuepunkte = null; stmt = conn.createstatement( /* Kunden zur Bestellung herausfinden. */ ResultSet rs = stmt.executequery( "SELECT kunde "+ "FROM Bestellungen " + "WHERE bid = '" + bestellnr + "'" rs.next( int kunde = rs.getint("kunde" /* Zugehörige Treuepunkte berechnen. */ cstmttreuepunkte = conn.preparecall("{? = call f_treuepunkte(?) " cstmttreuepunkte.registeroutparameter(1, Types.INTEGER cstmttreuepunkte.setint(2, bestellnr cstmttreuepunkte.executequery( int treuepunkte = cstmttreuepunkte.getint(1 rs = stmt.executequery("select f_treuepunkte('" + bestellnr + "') AS tp" rs.next( int treuepunkte = rs.getint("tp" /* Treuepunkte eintragen */ stmt.executeupdate( "UPDATE Kunden "+ "SET tpunkte = tpunkte + " + treuepunkte + " " + "WHERE knr = '" + kunde + "'" conn.commit( /* Statements und ResultSets schließen */ cstmttreuepunkte.close( rs.close( stmt.close( catch (SQLException e) { e.printstacktrace( if (conn!= null) conn.rollback( if (stmt!= null) stmt.close( if (cstmttreuepunkte!= null) cstmttreuepunkte.close( catch (SQLException ex) { ex.printstacktrace( 7.4 resettreuepunkte() Setzt alle Treuepunkte der Tabelle "Kunden" auf 0.
11 public void resettreuepunkte() { Statement stmt = null; int updatedrows = 0; stmt = conn.createstatement( updatedrows = stmt.executeupdate( "UPDATE Kunden " + "SET tpunkte = 0 " + "WHERE tpunkte!= 0" conn.commit( stmt.close( catch (Exception e) { System.out.println(e.toString() if (conn!= null) conn.rollback( if (stmt!= null) stmt.close( catch (SQLException ex) { ex.printstacktrace( finally { System.out.println("Anzahl aktualisierter Tupel: " + updatedrows 7.5 dbdisconnect() public void dbdisconnect() { conn.close( catch (SQLException e) { //System.out.println(e.toString() while (e!= null) { System.out.print("Code: " + e.geterrorcode() System.out.print("Message: " + e.getmessage() System.out.print("State: " + e.getsqlstate() e = e.getnextexception(
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
MehrEinführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten
Einführung in SQL Die Sprache SQL (Structured Query Language) ist eine Programmiersprache für relationale Datenbanksysteme, die auf dem ANSI-SQL-Standard beruht. SQL wird heute von fast jedem Datenbanksystem
MehrÜbungsblatt 8- Lösungsvorschlag
Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)
MehrEntwicklungsumgebung 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
MehrLösungen der Übungsaufgaben von Kapitel 10
Lösungen der Übungsaufgaben von Kapitel 10 1. Legen Sie mit einem SQL - Befehl eine neue Tabelle PERSON_KURZ mit den Feldern Kurz_Id, Kurz_Name an. Machen Sie das so, dass Kurz_Id der Primärschlüssel wird
MehrSQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software
SQL Tutorial SQL - Tutorial SS 06 Hubert Baumgartner INSO - Industrial Software Institut für Rechnergestützte Automation Fakultät für Informatik Technische Universität Wien Inhalt des Tutorials 1 2 3 4
MehrEinführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)
Einführung in SQL 1. Grundlagen Structured Query Language Viele Dialekte Unterteilung: i. DDL (Data Definition Language) ii. iii. DML (Data Modifing Language) DRL (Data Retrival Language) 1/12 2. DDL Data
MehrDatenbank- und Informationssysteme. Lösungsvorschläge zu Übungsblatt 2. Sommersemester 1999. CREATE DOMAIN KennzeichenDomain AS VARCHAR(9);
Institut für Angewandte Informatik AIFB und Formale Beschreibungsverfahren Universität Karlsruhe (TH) Prof. Dr. W. Stucky U. Schmidle Tel.: 0721 / 608-3812, 3509 Fax.: 0721 / 693717 e-mail: stucky schmidle
MehrDatenbanksysteme. Dominic Pacher. Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck. dbis-informatik.uibk.ac.
Datenbanksysteme Dominic Pacher Datenbanken und Informationssysteme (DBIS) Institut für Informatik Universität Innsbruck dbis-informatik.uibk.ac.at 1 Übersicht Was passiert in den kommenden 90 Minuten?
MehrMySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.
MySQL-Befehle 1. Einleitung In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben. 2. Arbeiten mit Datenbanken 2.1 Datenbank anlegen Eine Datenbank kann man wie folgt
MehrACCESS SQL ACCESS SQL
ACCESS SQL Datenbankabfragen mit der Query-Language ACCESS SQL Datenbankpraxis mit Access 34 Was ist SQL Structured Query Language Bestehend aus Datendefinitionssprache (DDL) Datenmanipulationssprache
MehrSQL-Vertiefung. VU Datenbanksysteme. Reinhard Pichler
SQL-Vertiefung VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung
Mehr3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java)
3. Datenbankzugriff (JDBC) Grundlagen der Programmierung II (Java) Prof. Dr. Bernhard Humm Hochschule Darmstadt University of Applied Sciences Sommersemester 2006 Übersicht Grundlagen der Programmierung
MehrHochschule Karlsruhe Technik und Wirtschaft- 10.7.2013. Anhänge: Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Prof. Schmidt.
Fakultät für Informatik und Wirtschaftsinformatik SS 2013 Datenbanken und Informationssysteme II Szenario: Projektverwaltung. Es gibt Projekte, Projektleiter, Mitarbeiter und ihre Zuordnung zu Projekten.
MehrSET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
phpmyadmin SQL Dump version 3.2.4 http://www.phpmyadmin.net Host: localhost Erstellungszeit: 13. April 2011 um 18:44 Server Version: 5.1.41 PHP-Version: 5.3.1 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; /*!40101
MehrBitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis
Gruppe A Bitte tragen Sie sofort und leserlich Namen, Studienkennzahl und Matrikelnummer ein und legen Sie Ihren Studentenausweis bereit. PRÜFUNG AUS DATENBANKSYSTEME VU 184.686 7. 5. 2014 Kennnr. Matrikelnr.
MehrObjektrelationale, erweiterbare Datenbanken WS 04/05
Eidgenössische Technische Hochschule Zürich Swiss Federal Institute of Technology Zurich Institut für Informationssysteme Dr.C.Türker Objektrelationale, erweiterbare Datenbanken WS 0405 Übung 8 Aufgabe
Mehr5.8 Bibliotheken für PostgreSQL
5.8 Bibliotheken für PostgreSQL Haskell/WASH: Modul Dbconnect PHP: pqsql-funktionen Java/JSP: JDBC Perl: DBI database interface modul Vorläufige Version 80 c 2004 Peter Thiemann, Matthias Neubauer 5.9
MehrKapitel 10. JDBC und SQLJ. Prof. Dr. Wolfgang Weber Vorlesung Datenbanken 1
Kapitel 10 JDBC und SQLJ 1 JDBC und SQLJ Bisher: Einbettung von SQL (statisch bzw. dynamisch) in C, C++, COBOL, ADA (embedded SQL) bzw. prozedurale Erweiterungen für SQL in Oracle (PL/SQL) Was ist mit
MehrWS 2010/11 Datenbanksysteme Fr 15:15 16:45 R 1.008. Vorlesung #6. SQL (Teil 4)
Vorlesung #6 SQL (Teil 4) Fahrplan Besprechung der Übungsaufgaben Einschub: Self Joins (relevant fürs Praktikum) Dynamische Intergritätsbedingungen, das Trigger - Konzept von Oracle Prozedurale Erweiterungen,
MehrModifikation der Datenbank
Modifikation der Datenbank Löschen Einfügen Änderungen Änderungen von Sichten 71 Löschen Wir haben bereits gesehen, dass wir den gesamten Inhalt einer Tabelle r löschen können durch das Kommando: delete
MehrAbfragen (Queries, Subqueries)
Abfragen (Queries, Subqueries) Grundstruktur einer SQL-Abfrage (reine Projektion) SELECT [DISTINCT] {* Spaltenname [[AS] Aliasname ] Ausdruck} * ; Beispiele 1. Auswahl aller Spalten SELECT * ; 2. Auswahl
MehrSQL structured query language
Umfangreiche Datenmengen werden üblicherweise in relationalen Datenbank-Systemen (RDBMS) gespeichert Logische Struktur der Datenbank wird mittels Entity/Realtionship-Diagrammen dargestellt structured query
Mehr7.5.3. CREATE TABLE-Syntax
7.5.3. CREATE TABLE-Syntax 7.5.3.1. Stille Spaltentyp-Änderungen CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tabelle [(create_definition,...)] [tabellen_optionen] [select_statement] create_definition: spalten_name
MehrDieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.
Thomas Studer Relationale Datenbanken: Von den theoretischen Grundlagen zu Anwendungen mit PostgreSQL Springer, 2016 ISBN 978-3-662-46570-7 Dieser Foliensatz darf frei verwendet werden unter der Bedingung,
MehrSQL 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-
MehrJDBC. Es kann z.b. eine ODBC-Treiberverbindung eingerichtet werden, damit das JAVA-Programm auf eine ACCESS-DB zugreifen kann.
JDBC in 5 Schritten JDBC (Java Database Connectivity) ist eine Sammlung von Klassen und Schnittstellen, mit deren Hilfe man Verbindungen zwischen Javaprogrammen und Datenbanken herstellen kann. 1 Einrichten
MehrÜ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
MehrSQL-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
Mehr6. Datenintegrität. Integritätsbedingungen
6. Integritätsbedingungen dienen zur Einschränkung der Datenbankzustände auf diejenigen, die es in der realen Welt tatsächlich gibt. sind aus dem erstellten Datenmodell ableitbar (semantisch) und können
MehrReferentielle 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
Mehr1 Hartmann Anna Cäcilienstr Köln (0221) Behrens-Hoffmeister Heidi Lindenweg Köln (0221)
Erstellen einer Mitarbeiter-Datenbank 1 Erstellen einer Mitarbeiter-Datenbank Arbeitsauftrag Ziel der Übung Erstellen von Datenbanken mit Hilfe von SQL-Abfragen Aufgabe (1.) Erstellen Sie eine neue Datenbank
MehrVO Datenmodellierung. Katrin Seyr
Datenintegrität Datenintegrität VO Datenmodellierung Katrin Seyr Institut für Informationssysteme Technische Universität Wien Katrin Seyr Seite 1 Datenintegrität 1. Überblick Überblick 1 Überblick 2 Integritätsbedingungen
MehrDipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009
Hochschule Darmstadt DATENBANKEN Fachbereich Informatik Praktikum 3 Dipl. Inf. Dipl. Math. Y. Orkunoglu Datum: 11.09.2009 PL/SQL Programmierung Anwendung des Cursor Konzepts und Stored Procedures Und Trigger
MehrNoSQL mit Postgres 15. Juni 2015
Tag der Datenbanken 15. Juni 2015 Dipl.-Wirt.-Inform. Agenda l Vorstellung l Marktübersicht l Warum PostgreSQL? l Warum NoSQL? l Beispielanwendung Seite: 2 Vorstellung Dipl.-Wirt.-Inform. [1990] Erste
MehrKonstante Relationen
Konstante Relationen values-syntax erzeugt konstante Relation values ( [, Konstante] * )[, ( [, Konstante] * )]* Beispiel values (1, eins ), (2, zwei ), (3, drei ); Resultat ist eine
Mehr7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken
Mehr4.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
MehrDatenbanksysteme I. Klausur zum Praktikum. Mehrere Professoren prüfen mit genau einem Beisitzer genau einen Studenten.
Lehrstuhl für Datenbanken und Informationssysteme Wintersemester 1999/2000 Universität Augsburg, Institut für Informatik 25. Februar 2000 Prof. Dr. Werner Kießling A. Leubner, M. Wagner Datenbanksysteme
MehrPostgreSQL unter Debian Linux
Einführung für PostgreSQL 7.4 unter Debian Linux (Stand 30.04.2008) von Moczon T. und Schönfeld A. Inhalt 1. Installation... 2 2. Anmelden als Benutzer postgres... 2 2.1 Anlegen eines neuen Benutzers...
MehrReferentielle 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
Mehr4. Datenbanksprache SQL
4. Datenbanksprache SQL Standard-Sprache für das Arbeiten mit relationalen Datenbanken: Structured Query Language Datendefinition: Anlegen, Ändern und Löschen von Datenbankstrukturen Datenmanipulation:
MehrFunktion definieren Gibt Summe der Gehälter zurück. Aufruf in einem SQL-Statement
Funktion definieren Gibt Summe der Gehälter zurück Aufruf in einem SQL-Statement Dr. Christian Senger Einführung PL/SQL 1 Procedures & Transaktionen CREATE OR REPLACE PROCEDURE write_log ( log_code IN
MehrGrundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn
Grundlagen von Datenbanken SS 2010 Kapitel 8: Datenbank-Einbettung in Programmiersprachen Prof. Dr. Stefan Böttcher Universität Paderborn Grundlagen von Datenbanken - SS 2010 - Prof. Dr. Stefan Böttcher
MehrWeb-Technologien. Prof. Dr. rer. nat. Nane Kratzke SQL. Praktische Informatik und betriebliche Informationssysteme
Handout zur Unit Web-Technologien SQL 1 Prof. Dr. rer. nat. Nane Kratzke Praktische Informatik und betriebliche Informationssysteme Raum: 17-0.10 Tel.: 0451 300 5549 Email: nane.kratzke@fh-luebeck.de (Praktische
MehrSeite1 / Aufgabe 2: SQL. Lösungsvorschlag für die zusätzlichen Übungsaufgaben. Seite 2 / Aufgabe 1. Seite1 / Aufgabe 2: SQL. Warengruppe.
Seite / Aufgabe 2: SQL Lösugsvorschlag für die zusätzliche Übugsaufgabe a SELECT SUM(e.stimmezahl FROM Kadidat k, Ergebis e WHERE e.kadidatid = p.kadidatid AND p.ame = 'Republikaer' AND e.budesstaat ='
MehrOracle: 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
MehrSQL: 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
MehrSQL und MySQL. Kristian Köhntopp
SQL und MySQL Kristian Köhntopp Wieso SQL? Datenbanken seit den frühen 1950er Jahren: Hierarchische Datenbanken Netzwerkdatenbanken Relationale Datenbanken = SQL Relational? 10 9 8 7 6 f(y) := y = x r(y)
MehrSemantische 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
MehrWS 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
MehrInhalt. Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle. Daten und Tabellen - ein Beispiel. Daten und Tabellen - Normalisierung
Inhalt Ein Einführung in die Nutzung von SQL-Datenbanken am Beispiel Oracle Daten und Tabellen Normalisierung, Beziehungen, Datenmodell SQL - Structured Query Language Anlegen von Tabellen Datentypen (Spalten,
MehrAdvanced SQL verstehen und einsetzen 10.06.2009. SQL-Implementierungen kennen und bewerten
1/47 PHP-User-Group Stuttgart 10.06.2009 Aktuelle Datenbank-Features verstehen und nutzen SQL-Power aktivieren anstatt Arrays sortieren Valide Daten garantieren und performante DB-Zugriffe sicherstellen
MehrSQL. Fortgeschrittene Konzepte Auszug
SQL Fortgeschrittene Konzepte Auszug Levels SQL92 Unterteilung in 3 Levels Entry Level (i.w. SQL89) wird von nahezu allen DBS Herstellern unterstützt Intermediate Level Full Level SQL DML 2-2 SQL92 behebt
MehrDatenbanken: Prozedurales SQL
Datenbanken: Prozedurales SQL Anwendungsentwicklung für relationale Datenbanken setzt voraus, dass prozedurale Abläufe programmiert werden können! (Endanwendern ist nicht zuzumuten, SQL zu lernen und selbst
MehrDipl. Inf. Eric Winter. PostgreSQLals HugeData Storage Ein Erfahrungsbericht
Dipl. Inf. Eric Winter Entwicklungsleiter PTC GPS-Services GmbH PostgreSQLals HugeData Storage Ein Erfahrungsbericht Inhalt 1. Problembeschreibung 2. Partielle Indexierung 3. Partitionierung 1. Vererbung
Mehrselect DISTINCT Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf - DISTINCT steht dass keine Zeile mehrfach vorkommt
Some SQL Queries % you can use them with the project Buch/Verlag select Name, ort From Verkauf; selektiert Name und Ort von Tabelle Verkauf select DISTINCT Name, ort From Verkauf; selektiert Name und Ort
MehrViews in SQL. 2 Anlegen und Verwenden von Views 2
Views in SQL Holger Jakobs bibjah@bg.bib.de, holger@jakobs.com 2010-07-15 Inhaltsverzeichnis 1 Wozu dienen Views? 1 2 Anlegen und Verwenden von Views 2 3 Schreibfähigkeit von Views 3 3.1 Views schreibfähig
MehrDATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER
DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER INHALTSVERZEICHNIS 1. Datenbanken 2. SQL 1.1 Sinn und Zweck 1.2 Definition 1.3 Modelle 1.4 Relationales Datenbankmodell 2.1 Definition 2.2 Befehle 3.
MehrDatenintegritä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
MehrAufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.
Datenbankabfragen (Query) mit SQL (Structured Query Language) 1 Aufbau des SELECT-Befehls Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen. SQL-Syntax: SELECT spaltenliste FROM tabellenname
MehrMengenvergleiche: Alle Konten außer das, mit dem größten Saldo.
Mengenvergleiche: Mehr Möglichkeiten als der in-operator bietet der θany und der θall-operator, also der Vergleich mit irgendeinem oder jedem Tupel der Unteranfrage. Alle Konten außer das, mit dem größten
MehrJava Application 1 Java Application 2. JDBC DriverManager. JDBC-ODBC Br idge. ODBC Driver Manager. Dr iver C. Dr iver D.
1 Copyright 1996-1997 by Axel T. Schreiner. All Rights Reserved. 7 Datenbankzugriff Prinzip Dieser Abschnitt beschäftigt sich mit dem Paket java.sql, das eine SQL-Schnittstelle für Java verkapselt. Java-Programme
MehrBibliografische Informationen digitalisiert durch http://d-nb.info/995021198
Auf einen Blick 1 Einleitung 15 2 Datenbankentwurf 23 3 Datenbankdefinition 43 4 Datensätze einfügen (INSERT INTO) 95 5 Daten abfragen (SELECT) 99 6 Daten aus mehreren Tabellen abfragen (JOIN) 143 7 Unterabfragen
MehrClient/Server-Programmierung
Client/Server-Programmierung WS 2014/2015 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 20. November 2015 Betriebssysteme / verteilte
MehrU 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:
U 8 SQL = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN: - Abfragesprache für relationale Datenbanken, die plattformübergreifend verwendet wird - Vereinfachte Verwendung über
MehrInformatik 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
Mehr11 Anwendungsprogrammierung
11 11 11.1 Programmiersprachenanbindung 11.2 11.3 183 11 Programmiersprachenanbindung Programmiersprachenanbindung Kopplungsarten: prozedurale oder CALL-Schnittstellen (call level interface) Beispiele:
MehrLabor 3 - Datenbank mit MySQL
Labor 3 - Datenbank mit MySQL Hinweis: Dieses Labor entstand z.t. aus Scripten von Prof. Dr. U. Bannier. 1. Starten des MySQL-Systems MySQL ist ein unter www.mysql.com kostenlos erhältliches Datenbankmanagementsystem.
MehrKlausur PI Datenbanken II vom Name: Praktische Informatik (Krägeloh)
Versehen Sie jedes Aufgabenblatt/-blätter mit Ihrem Namen und geben es mit ab! Seite 1 Aufgabe 1: ( 30 Punkte) 1) Ein Entity-Set E1 wird in die Subklassen S1 und S2 spezialisiert. Was bedeutet die Aussage:
MehrÜbung Datenbanksysteme I JDBC. Thorsten Papenbrock
Übung Datenbanksysteme I JDBC Thorsten Papenbrock Motivation: Grenzen von SQL 2 1. Bedingte Anweisungen Erhöhe das Gehalt eines Arbeitsnehmers um 2%, falls er eine Belobigung erhalten hat 2. Darstellung
MehrProzedurale Datenbank- Anwendungsprogrammierung
Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.
MehrPL/pgSQL. VU Datenbanksysteme. Reinhard Pichler
PL/pgSQL VU Datenbanksysteme Reinhard Pichler Arbeitsbereich Datenbanken und Artificial Intelligence Institut für Informationssysteme Technische Universität Wien Wintersemester 2015/16 Gliederung Einführung
MehrSQL: Weitere Funktionen
Vergleich auf Zeichenketten SQL: Weitere Funktionen LIKE ist ein Operator mit dem in Zeichenketten andere Zeichenketten gesucht werden; zwei reservierte Zeichen mit besonderer Bedeutung sind hier % (manchmal
MehrWhitepaper. Produkt: combit Relationship Manager. Datensatzhistorie mit dem SQL Server 2000 und 2005. combit GmbH Untere Laube 30 78462 Konstanz
combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager Datensatzhistorie mit dem SQL Server 2000 und 2005 Datensatzhistorie mit dem SQL Server 2000 und 2005-2 - Inhalt
MehrEinstieg in das SQL- und Datenbanktuning 14.01.2009. Loblied auf den Tabellen-Index!
1/40 PHP-User-Group Stuttgart 14.01.2009 Warum Datenbanken einen Hals bekommen und was sich dagegen tun lässt. Tuning und Performancesteigerung ohne zusätzliche Hardware. Ein. Loblied auf den Tabellen-Index!
MehrDatenbankanwendungen (JDBC)
Datenbankanwendungen (JDBC) Hierarchie: Connection Transaction Statement Connection Aufbau (klassisch): Registrierung des JDBC Driver beim DriverManager: Class.forName(JDBC Driver); Eigentlicher Verbindungsaufbau
MehrProgrammieren II. Beispiele für RDBMS. Relationale Datenbanken. Datenbanken SQL. Dr. Klaus Höppner JDBC. Hochschule Darmstadt SS 2008
Programmieren II Datenbanken Dr. Klaus Höppner SQL Hochschule Darmstadt SS 2008 JDBC 1 / 20 2 / 20 Relationale Datenbanken Beispiele für RDBMS Ein Datenbanksystem ist ein System zur Speicherung von (großen)
MehrWeb Technologien Klassische Datenbanken am Beispiel von MySQL
Web Technologien Klassische Datenbanken am Beispiel von MySQL Univ.-Prof. Dr.-Ing. Wolfgang Maass Chair in Information and Service Systems Department of Law and Economics WS 2011/2012 Wednesdays, 8:00
MehrEinführung in JDBC. IFIS Universität zu Lübeck 18.04.2007
Einführung in JDBC IFIS Universität zu Lübeck 18.04.2007 1 Was ist JDBC Standard für relationale DB: SQL Vor JDBC: Open Database Connectivity (ODBC), uniforme Schnittstelle für Zugriff JDBC: Programmierschnittstelle
MehrSQL-Anweisungen. SELECT (SQL Data Query Language)
SQL-Anweisungen SELECT (SQL Data Query Language) SELECT * SELECT * FROM "meine Tabelle"; SELECT feldname1, feldname2 SELECT feldname1, feldname2 FROM meinetabelle ORDER BY feldname2, feldname1 DESC; WHERE
MehrDatenbanksysteme I Datenbankprogrammierung. 15.6.2009 Felix Naumann
Datenbanksysteme I Datenbankprogrammierung 15.6.2009 Felix Naumann SQL mit einer Programmiersprache verbinden 2 Embedded SQL Kombiniert SQL mit 7 Programmiersprachen ADA, C, Cobol, Fortran, M, Pascal,
MehrRelationales 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
Mehr7. Datenbank-Zugriff. Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn. Zum Beispiel aus PHP-Skripten: Client 7-2
5 Vorlesung und Übung Dr. Peter Pfahler Institut für Informatik Universität Paderborn 7 7. Datenbank-Zugriff Zum Beispiel aus PHP-Skripten: Client 7-2 Struktur einer Datenbank 7-3 Erzeugen von Datenbanken
MehrDatenbanken SQL. Insert, Update, Delete, Drop. Krebs
Datenbanken SQL Insert, Update, Delete, Drop Krebs Inhalt 1. Datensätze einfügen: INSERT 2. Datensätze verändern: UPDATE 3. Datensätze löschen: DROP vs. DELETE Beispiel Datenbank Schule Klasse P_Klasse
MehrObject Relational Mapping Layer
Object Relational Mapping Layer Views Controlers Business logic GUI OO-application logic Object-relational-Mapping Relational DBMS PHP (propel) 1/18 Propel - Persistance Layer OR-Mapper für PHP Portierung
MehrSQL. 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:
MehrNeugestaltung der Datenbank des Chemnitzer Studentennetzes
12.12.2012 Neugestaltung der Datenbank des Chemnitzer Studentennetzes Verteidigung Bachelorarbeit Morris Jobke Prüfer: Dr. Frank Seifert Betreuer: Dipl.-Inf. Johannes Fliege Neugestaltung der Datenbank
MehrPowerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel
Powerful PL/SQL: Collections indizieren mit VARCHAR2- Indizes ein Praxisbeispiel Schlagworte Autor: Klaus Friemelt, MT AG dynamisches BULK SQL, VARCHAR2-indizierte PL/SQL-Tabellen Einleitung Mit den letzten
MehrDB1 Abgabe 1 14.4.09. Umsetzung der Callcenter Datenbank nach SQL von Daniel Häfliger, Dominik Süsstrunk und Reto Brühwiler
DB1 Abgabe1 14.4.09 Abgabe2DML UmsetzungderCallcenter DatenbanknachSQLvonDanielHäfliger,DominikSüsstrunkundReto Brühwiler Tabellenerstellen(callcenter_tables.sql) DieTabellenwerdenzuerstgelöscht,sofernsieexistieren(ohneaufdieFremdschlüsselzu
MehrUniversität Augsburg, Institut für Informatik WS 2014/2015 Prof. Dr. W. Kießling 28. Nov. 2014 F. Wenzel, L. Rudenko Lösungsblatt 6
Universität Augsburg, Institut für Informatik WS 2014/2015 Prof. Dr. W. Kießling 28. Nov. 2014 F. Wenzel, L. Rudenko Lösungsblatt 6 Aufgabe 1: SQL: DDL und DML a) DDL: Datenbanksysteme I CREATE TABLE Bundeslaender
MehrDynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München
Kapitel 4 Dynamisches SQL Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München 2008 Thomas Bernecker, Tobias Emrich unter Verwendung der Folien des Datenbankpraktikums aus dem Wintersemester
MehrDatenbanksysteme I Integrität und Trigger Felix Naumann
Datenbanksysteme I Integrität und Trigger 9.5.2011 Felix Naumann Motivation Aktive Datenbanken 2 Einzufügende Daten können fehlerhaft sein Typographische Fehler, logische Fehler Lösung 1: Bessere Anwendung
MehrWebbasierte Informationssysteme
SS 2004 Prof. Dr. Stefan Böttcher Universität Paderborn - SS 2004 - Prof. Dr. Stefan Böttcher Folie 1 Was ist eine relationale Datenbank? Menge von Relationen (=Tabellen) und Constraints (=Integritätsbedingungen)
MehrDaten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL
Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell Jetzt: -> Formulierung in DDL Daten-Definitionssprache (DDL) DDL ist Teil von SQL (Structured
MehrStructuredQueryLanguage(SQL)
StructuredQueryLanguage(SQL) Themen: ErstelenundÄndernvonTabelen AbfragenvonDaten Einfügen,ÄndernundLöschenvonDaten Erstelennutzerde niertersichten(views) 2012Claßen,Kempa,Morcinek 1/23 SQL Historie System
MehrNachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)
Nachtrag: Farben Farbblindheit (Light und Bartlein 2004) 1 Vorgeschlagene Farbskalen (Light and Bartlein 2004) Farbkodierung metrisch skalierter Daten Unterscheide: 1. Sequential Data (ohne Betonung der
MehrKlausur zur Vorlesung Datenbanksysteme I
Prof. Dr. W. Kießling 30.01.2002 Lehrstuhl für Datenbanken und Informationssysteme Universität Augsburg Klausur zur Vorlesung Datenbanksysteme I Wintersemester 2001/2002 Name Vorname Matrikelnummer Aufgabe
MehrKapitel 3 Datenintegrität
Kapitel 3 Datenintegrität Flien zum Datenbankpraktikum Wintersemester 2012/13 LMU München 2008 Thmas Bernecker, Tbias Emrich 2010 Tbias Emrich, Erich Schubert unter Verwendung der Flien des Datenbankpraktikums
MehrMySQL: Einfaches Rechnen. www.informatikzentrale.de
MySQL: Einfaches Rechnen Vorweg: Der Merksatz Warum geht Herbert oft laufen? Vorweg: Der Merksatz Warum geht Herbert oft laufen?...... WHERE... GROUP BY... HAVING... ORDER BY... LIMIT Beispieldatenbank
Mehr