Datenbanken in Theorie und Praxis
Martin Schulze
ffis e.V.
<joey@ffis.de>
ffis e.V.
<joey@ffis.de>
Allgemeines
- Was sind Datenbanken?
- Wieso braucht man sie?
- Wo werden sie verwendet?
Beispiele
- Internet-Suchmaschine
- Terminplaner
- Karteikasten
- Adreßliste
- Telefonbuch
- DNS
- BOOTP/DHCP
- Auftragsverwaltung (FiBu, WaWi)
Definition
"System zur Beschreibung, Speicherung und Wiedergewinnung von umfangreichen Datenmengen, die von mehreren Anwendungsprogrammen benutzt werden."Quelle: "Datenbanken mit Linux":
"Eine Datenbank ist eine Sammlung von nicht-redundanten Daten, die von mehreren Anwendungen gleichzeitig genuzt werden."
Vorteile von Datenbanken
- Suchfunktion
- Reports
- Verknüpfungen
- Wissensaufbereitung
- Arbeitserleichterung
- Schnittstellen
- Trennung von Programm u. Daten
- Arbeitsbeschaffungsmaßnahme
Aufbau von Datenbanken
- einfache Flache Struktur
- BOOTP
- Telefonbuch
- ...
- relational
- Auftragsverwaltung
- Adreßverwaltung
- ...
- objektorientiert
Structured Query Language
- Standardisiert, ANSI
- daher relativ einheitlich
- Mehr als 20 Engines
- Zahlreiche Frontends
Hilfreiche Links
http://www.jcc.com/sql_stnd.html
http://www.contrib.andrew.cmu.edu/~shadow/sql.html
http://ftp.digital.com/pub/DEC/SRC/technical-notes/SRC-1997-018-html/sqlr95.html
http://www.symbolstone.org/technology/perl/DBI/
SQL -- CREATE
CREATE TABLE <table_name> (
<col> <type> [ <attributes> ]
[ , <col> <type> [ <attributes> ]]**
)
SQL -- DROP
DROP TABLE <table_name>
SQL -- INSERT
INSERT INTO <table_name>
[( <column> [ , <column> ]** )]
VALUES ( <value> [ , <value> ]** )
SQL -- UPDATE
UPDATE <table_name> SET <column>=<value>
[ , <column>=<value> ]**
[ WHERE ]
SQL -- DELETE
DELETE FROM <table_name>
[ WHERE <expr> ]
SQL -- SELECT
SELECT [DISTINCT] [<table_name>.]<column>
[ , [<table_name>.]<column>]**
FROM <table_name> [ , <table_name> ]**
[ WHERE <expr> ]
[ ORDER BY [<table_name>.]<column> [DESC]
[ , [<table_name>.]<column> [DESC]]**
SQL -- WHERE
- Vergleichsoperatoren: =, <>, <, >, >=, <=
- Boole'sche Verknüpfungen: AND, OR, NOT
- Reguläre Ausdrücke, ~*, LIKE, ILIKE, CLIKE, REGEXP
- etc.