Datenbanksysteme

Aus II-Wiki
Wechseln zu: Navigation, Suche

Relationale Datenbanken

Relationenalgebra

Selection

Projektion

Natürlicher Verbund

Umbenennung

Vereinigung

[...]

Differenz

[...]

Durchschnitt

[...]

SQL-Formulierung

CREATE TABLE

CREATE TABLE tbl_name
(
  [ col_name type 
      [NOT NULL | NULL]
      [DEFAULT default_value]
      [AUTO_INCREMENT]
      [ UNIQUE [KEY] | [PRIMARY] KEY]  // Entweder ist nur eine Spallte Schlüßel
  | PRIMARY KEY (index_col_name,...)   // Oder Mehrere zusammen bilden ihn
  | FOREIGN KEY (index_col_name,...) 
      REFERENCES tbl_name [(index_col_name,...)]]
  ],...
);

Beispiel:

CREATE TABLE Rezept
(
  RezeptNr INTEGER NOT NULL,
  Bezeichnung VARCHAR(32) NOT NULL,
  Bemerkung VARCHAR(256),
  PRIMARY KEY (RezeptNr, Bezeichnung),
  FOREIGN KEY (Bezeichnung) REFERENCES Medikament(Bezeichnung)
);

INSERT

INSERT INTO tbl_name [(col_name,...)]
    VALUES ({expr | DEFAULT},...),(...),...

UPDATE

UPDATE table_references
    SET col_name1=expr1 [, col_name2=expr2 ...]
    [WHERE where_condition]

DELETE

DELETE FROM tbl_name
    [WHERE where_condition]

SELECT

SELECT
    [DISTINCT]
    select_expr, ...
    [FROM table_references
      [WHERE where_condition]
      [GROUP BY {col_name | expr | position}
        [ASC | DESC], ... [WITH ROLLUP]]
    [HAVING where_condition]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ...]

Verschachtelung mit where_condition möglich.

  WHERE [NOT] IN references

Agregatfunktionen:

count, sum, avg, min, max

Zusammenhänge

Eine Relationsalgebranfrage kann in ein SQL-Anfrage überfürt werden und umgekert.

SELECT Vorname, Name
FROM Kunde
WHERE Ort = ’Berlin’

ER-Modell