Datenbanksysteme: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Omega (Diskussion | Beiträge) K (→INSERT: rest kommt nicht im Script vor) |
Pegro (Diskussion | Beiträge) |
||
(20 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
* [[Datenbanksysteme:Prüfungsschwerpunkte|Prüfungsschwerpunkte]] | * [[Datenbanksysteme:Prüfungsschwerpunkte|Prüfungsschwerpunkte]] | ||
+ | |||
+ | == Relationale Datenbanken == | ||
+ | |||
+ | === Relationenalgebra === | ||
+ | |||
+ | ==== Selection ==== | ||
+ | |||
+ | <math>\sigma_{Bedingung}(Relation)</math> | ||
+ | |||
+ | <math>\sigma_{Ort='Berlin'}(Kunden)</math> | ||
+ | |||
+ | ==== Projektion ==== | ||
+ | |||
+ | <math>\pi_{Attributliste}(Relation)</math> | ||
+ | |||
+ | <math>\pi_{Ort,Name}(Kunden)</math> | ||
+ | |||
+ | ==== Natürlicher Verbund ==== | ||
+ | |||
+ | <math>R \triangleright\!\!\triangleleft\, R</math> | ||
+ | |||
+ | ==== Umbenennung ==== | ||
+ | |||
+ | <math>\beta_{neu \leftarrow alt}(Relation)</math> | ||
+ | |||
+ | <math>\beta_{(KundenID \leftarrow Kundennummer)}(Kunden)</math> | ||
+ | |||
+ | ==== Vereinigung ==== | ||
+ | |||
+ | [...] | ||
+ | |||
+ | ==== Differenz ==== | ||
+ | |||
+ | [...] | ||
+ | |||
+ | ====Durchschnitt ==== | ||
+ | |||
+ | [...] | ||
+ | |||
+ | === SQL-Formulierung === | ||
==== CREATE TABLE ==== | ==== CREATE TABLE ==== | ||
Zeile 6: | Zeile 46: | ||
CREATE TABLE tbl_name | CREATE TABLE tbl_name | ||
( | ( | ||
− | [ col_name type [NOT NULL | NULL] [DEFAULT default_value] [AUTO_INCREMENT] [ UNIQUE [KEY] | [PRIMARY] KEY] | + | [ col_name type |
− | | PRIMARY KEY | + | [NOT NULL | NULL] |
− | | FOREIGN KEY (index_col_name,...) | + | [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,...)]] | ||
+ | ],... | ||
+ | ); | ||
+ | </pre> | ||
+ | |||
+ | ''Beispiel:'' | ||
+ | |||
+ | <pre> | ||
+ | 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) | ||
); | ); | ||
</pre> | </pre> | ||
* [http://dev.mysql.com/doc/refman/5.0/en/create-table.html Soure(gekürzt)] | * [http://dev.mysql.com/doc/refman/5.0/en/create-table.html Soure(gekürzt)] | ||
+ | |||
+ | ==== INSERT ==== | ||
+ | |||
+ | <pre> | ||
+ | INSERT INTO tbl_name [(col_name,...)] | ||
+ | VALUES ({expr | DEFAULT},...),(...),... | ||
+ | </pre> | ||
+ | |||
+ | * [http://dev.mysql.com/doc/refman/5.0/en/insert.html Source(gekürzt)] | ||
+ | |||
+ | ==== UPDATE ==== | ||
+ | |||
+ | <pre> | ||
+ | UPDATE table_references | ||
+ | SET col_name1=expr1 [, col_name2=expr2 ...] | ||
+ | [WHERE where_condition] | ||
+ | </pre> | ||
+ | |||
+ | * [http://dev.mysql.com/doc/refman/5.0/en/update.html Source(gekürzt)] | ||
+ | |||
+ | ==== DELETE ==== | ||
+ | |||
+ | <pre> | ||
+ | DELETE FROM tbl_name | ||
+ | [WHERE where_condition] | ||
+ | </pre> | ||
+ | |||
+ | * [http://dev.mysql.com/doc/refman/5.0/en/delete.html Source(gekürzt)] | ||
==== SELECT ==== | ==== SELECT ==== | ||
Zeile 38: | Zeile 122: | ||
</pre> | </pre> | ||
− | + | '''Agregatfunktionen:''' | |
− | + | count, sum, avg, min, max | |
− | + | * [http://dev.mysql.com/doc/refman/5.0/en/select.html Soure(gekürzt)] | |
− | |||
− | |||
− | |||
− | + | === Zusammenhänge === | |
− | + | Eine Relationsalgebranfrage kann in ein SQL-Anfrage überfürt werden und umgekert. | |
+ | <math>\pi_{Vorname, Name}(\sigma_{Ort='Berlin'}(Kunden))</math> | ||
<pre> | <pre> | ||
− | + | SELECT Vorname, Name | |
− | + | FROM Kunde | |
− | + | WHERE Ort = ’Berlin’ | |
</pre> | </pre> | ||
− | + | == ER-Modell == | |
− | + | [[Kategorie:Studium]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Version vom 2. April 2006, 18:51 Uhr
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’