SQL Data Definition Language Datenbank Idee: Datenbehälter, für eine übergeordnete organisatorische Einheit, z.B. für Benutzer, Gebiet Syntax: CREATE DATABASE db_name DROP DATABASE db_name1 db_name Name einer Datenbank Beispiel: (mit Meldungstext) Tabelle Idee: Datenbehälter für ein Anwendungsobjekt, z.B. für Artikel mit Spalten (Attribute des Objekts) und Zeilen (Exemplare des Objekts) (1) Grundform: create table artikel ( anr aname apreis amaterial alagermenge integer, char(12), decimal (5,2), char(15), integer) (2) Datentypen: integer, char(n) etc. (3) einfache Spaltenbeschränkungen: unique, mandatory, optional, primary key (4) Wertebeschränkungen: check (S.143) (5) Beschränkungen durch andere Tabellen, referentielle Integrität kunde create table tabname … alter table tabname … drop table tab_name TFH Berlin/Steyer kauft artikel SQL Sicht Idee: Benutzerdatenausschnitt entsprechend den Benutzeranforderungen aus dem Datenmodell Enthält nur die Definition, die Date werden bei Bedarf aus der Tabelle abgeleitet 3 Funktionen: Namenänderungen Verdeckungen Virtuelle Werte create view view_name… drop view view_name Index Idee: Hilfsdatei zum schnelleren Durchsuchen der Haupttabelle vergleichbar mit dem Register von Stichwörtern in einem Buch create index index_name drop index index_name materialisierte Sicht Der Grund ist die manchmal lange Aufbauzeit einer normalen View. Der Aufbau geschieht durch Speichern in eine Tabelle (create table + insert-select). Nötig ist ein periodischer Update. Beispiel Tabelle artikel (anr, aname, apreis, amaterial, alagermenge) 1 2 3 Ergänzung wäre: TFH Berlin/Steyer Hammer Zange Zollstock 10 12 8 Eisen Eisen Holz Tabelle kauft (anr, knr) Tabelle kunde (knr, kname) 25 13 10