Zugang zu einer Datenbank
Seitdem Software komplexer geworden ist und entsprechende verarbeitende Systeme größer
sind, versucht man Software modul- und komponentenorientiert zu gestalten.
Die Idee dahinter ist, dass sich die einzelnen Komponenten leichter austauschen
lassen ohne das Gesamtkonzept zu beeinflussen. Dazu müssen vor allem die
Schnittstellen zwischen den Komponenten festgelegt sein. Will man Komponente A
verändern, so muss gesichert sein, dass Komponente B nach der Änderung von A
immer noch eine Komponente A mit gleicher Funktion "sieht":
Bei einer Neuprogrammierung müssen also insbesondere alle Schnittstellen überprüft
werden. Deshalb bietet es sich an, die Schnittstellen zwischen Komponenten
möglichst einfach zu halten.
Unter bestimmten Bedingungen ist es möglich textbasierte Schnittstellen zu verwenden.
Dabei werden Daten nur als Folge von Buchstaben und Worten übertragen, meist sogar
direkt für den Menschen lesbar.
Dies hat mehrere Vorteile:
- Man kann leichter überprüfen, welche Daten zwischen den Modulen ausgetauscht
wurden (da sie textbasiert sind, sind sie auch direkt lesbar).
- Das Format ist bekannt (ASCII).
- Die Formulierung der Schnittstelle kann an den Menschen angepasst und
somit leicht verständlich sein.
Datenbanksysteme werden häufig von verschiedener Benutzersoftware oder wurden
früher direkt über Terminals (textbasierte Eingabegeräte) angesprochen und
besitzen deshalb im allgemeinen eine textbasierte Schnittstelle.
Als Sprache dafür hat sich SQL (structured Query Language) durchgesetzt.
- CREATE TABLE
Erzeugt eine neue Tabelle in der Datenbank.
Beispiele:
-
CREATE TABLE PizzaTyp(
Name VARCHAR(20) PRIMARY KEY,
Preis FLOAT
);
-
CREATE TABLE Angestellter(
ID INTEGER PRIMARY KEY,
Name VARCHAR(20),
Adresse VARCHAR(60),
Telefon VARCHAR(12),
Gehalt FLOAT
);
-
CREATE TABLE Bestellung(
Datum DATE,
Uhrzeit TIME,
Angestellter INTEGER REFERENCES Angestellter(ID),
Kunde INTEGER REFERENCES Kunde(ID),
PRIMARY KEY( Datum, Uhrzeit )
);
Primärschlüssel lassen sich also entweder (wenn sie nur aus einem Attribut bestehen)
direkt hinter der Angabe des Attributes bestimmen oder durch ein separates
Statement am Schluss.
Fremdschlüssel benötigen den Tabellen- und den Attributnamen, beides wird
nach dem Schlüsselwort "REFERENCES" angegeben.
- DROP TABLE
Löscht eine Tabelle in der Datenbank. Dies funktioniert natürlich nur
dann, wenn keine Referenz mehr auf die Tabelle existiert (referentielle
Integrität!)
Beispiele:
-
DROP TABLE Pizzatyp
-
DROP TABLE Angestellter
-
DROP TABLE Bestellung
- ALTER TABLE
Fügt Spalten (Attribute) hinzu ("add"), oder löscht sie ("drop").
Beispiele:
-
ALTER TABLE Pizzatyp
ADD durchmesser INTEGER
-
ALTER TABLE Pizzatyp
DROP durchmesser
- INSERT INTO
Fügt einen neuen Datensatz in die Tabelle ein.
Beispiele:
-
INSERT INTO Pizzatyp
VALUES ('Jumbo', 7.80);
-
INSERT INTO Angestellter
VALUES (27, 'Stiermeyer', 'Wegestr. 3 82217 Gemershausen', '0174/34281', 1300);
- DELETE FROM
Löscht einen Datensatz aus einer Tabelle.
Beispiele:
-
DELETE FROM Pizzatyp
-
DELETE FROM Angestellter
WHERE Name = 'Stiermeyer';
Während im ersten Fall alle Pizzen gelöscht werden, sind nach dem zweiten
Befehl alle Angestellten mit dem Namen "Stiermeyer" aus der Tabelle verschwunden.
Zu den Bedingungen die hinter "WHERE" gelten wird in den nächsten Kapiteln
mehr beschrieben.
- UPDATE
Ändert bestimmte Daten eines Datensatzes.
Beispiele:
-
UPDATE Kunde
SET Name = 'Müller'
WHERE ID = 34
-
UPDATE Pizzatyp
SET Name = 'Vulcano'
WHERE Name = 'Diavolo';