Durchschnittlicher Fortschritt
Gewusst0
Nicht gewusst0
Noch nicht gestartet31

Empfohlene Karteikarten-Sets

Karteikarten im Karteikarten-Set

Noch nicht gestartet (31)

Grundform einer Anfrage

SELECT FROM WHERE

SELECT-Klausel

entspricht der Projektion der relationalen Algebra → aber: Duplikatelimination nur, wenn nach select DISTINCT steht

FROM-Klausel

Angabe der Relation(en)

mehrere Einträge: kartesisches Produkt wird gebildet

WHERE-Klausel

entspricht der Selektion der relationalen Algebra

Verknüpfung von zwei Blöcken

UNION (Vereinigung) INTERSECT (Durchschnitt) EXCEPT (Differenz)

Änderungsoperationen

  • UPDATE ... set -> Attribute der Tupel ändern
  • DELETE from -> Tupel löschen
  • INSERT into ... values-> Tupel einfügen

Subqueries

(select...from...where)

-> steht meist hinter IN bzw. NOT IN

Existenz-Quantor

where exists (Subquery)

Allquantor

where not exists (select..from..where not..)

Sortieren

order by -> ASC oder DESC

Aggregationen (stehen nur in SELECT-Klausel)

  • count(*) -> zählt Tupel
  • sum
  • avg
  • max
  • min

-> Aggregationen beziehen sich immer auf Spalten -> ggf. GROUP BY notwendig

View (Sicht)

virtuelle Relation (Relation existiert eig. nicht)

Viewerzeugung

create [or replace] view Vname as select...from...[where...]

View löschen

drop view VName

Integritätsbedingungen: wo stehen sie?

stehen hinter dem Attribut bei der Erstellung der Relation

Integritätsbedingung: Attribut darf nicht undefiniert sein

NOT NULL

Integritätsbedingung: Primärschlüssel aus 1 Attribut

PRIMARY KEY

Integritätsbedingung: Formel f wird bei jeder Einfügung überprüft

CHECK f

Integritätsbedingung: Verweis auf Attribut a von Tabelle t

references t(a)

Integritätsbedingung: Default-Wert falls unbesetzt

DEFAULT w

zusammengesetzter Primärschlüssel

PRIMARY KEY (s1, s2,...)

Verweis auf zusammengesetzten Schlüssel in t

FOREIGN KEY (s1, s2,...) references t(...)

WHERE-Klausel: Vergleichsoperatoren

=, <, <=, >, >=, <>

WHERE-Klausel: Alternative zu A >= x AND A <= y

A BETWEEEN x AND y

WHERE-Klausel: Wert definiert/undefiniert

A IS NULL / IS NOT NULL

WHERE-Klausel: schauen ob (Teil)string enthalten ist

A LIKE 'ver%'

WHERE-Klausel: schauen, ob Wert in Liste vorkommt

A IN (2,8,9,15)

WHERE-Klausel: und, oder, nicht

AND, OR, NOT

Relation (Tabelle) erzeugen

CREATE TABLE bestellung ( bestellnr integer primary key, notizen varchar(50)
);

Attribute hinzufügen (Spalten)

ALTER TABLE … ADD COLUMN …

→ ! Name + Datentyp hinschreiben

Tabelle löschen

DROP TABLE

-> ! zuerst Tabellen löschen, von der Fremdschlüssel-Beziehungen ausgehen