Datnbank

A **Datenbank** is a rechnergstützte Sammlung vo Daten vaschiedensta Art. Bei Datenbankn gehds hauptsächli darum, große Mengen vo Informationen strukturiad zum Speichern. Wichtig is, das ma de Daten guad auswertn ko, zum Beispui, dass ma bestimmte Datensätz leicht findt.

Mit **Datenbank** moana de meistn a Datenbanksystem. Fachlich korrekt is de Datenbank (DB) nur a Teil vo am Datenbanksystem (DBS), nämlich der eingliche Datenbstand. A Datenbanksystem bsteht oiso aus da Datenbank und Programme zua Vawaltung vo dea Datenbank, des is dann as Datenbankmanagementsystem (DBMS).

*Access* vo Microsoft is a bekannts Beispui fia a Datenbankmanagementsystem fia eha kloane Datenbanken. 
*Oracle* is a namhafts Beispui fia a groß Datenbankmanagementsystem, de warn a recht stark an da Entwicklung vo de grundlegendn Ideen in da Ofangszeit vo de Datenbankn beteiligt.
*MySQL* is a erfolgreichs Open-Source-Datenbankmanagementsystem. Es is a de Grundlog fia MediaWiki, de Software, mit der unter andrem Wikipedia betriebn wead.

## Relationale Datenbankn
S' relationale Datenbankmodell is am weitestn vabreitet, des hod sein Nama vo dem Wort Relation, womit oba oafach nua a Taboin gmoand is. In da Theorie, wo de Taboina Relation gnennt wern, hoaßn de Datensätze Tupel, de Fejder Attribute.
Wei relationale Datnbankn zua Zeit de greßte Bedeitung hom beziogt se da Rest vom Artikl hauptsächle dodraf.

A relationale Datnbank bsteht aus mehrere Taboin. De Zeilen in dene Taboin nennd ma Datnsetz. Oa Datnsatz bsteht aus mehrere Fejder. In da Taboin stenga de Fejder dann untranand in oana Spoitn.

### A Beispui

Des is absichtlich a Beispui fia a schlecht entworfne Tabelln. A guada Teil vo de Datensätz is redundant, wei se da Albumnama, Künstler unds Erscheinungsjohr ollawei wiederholn. Da Nama ois Schlissl (siag weida unt) is zwar erlaubt, aba ned zwingend oadeitig, a han Schlissl aus mea ois oam Wort unpraktisch und via Datenbankn ungwöhnlich. Außadem hod de Tabelln koan Bezug zua andane Tabelln. S sogd zwar koana, dass ma ned a alloanstehade Tabelln oleng derf, aba de Vorteile vo na Datenbank kimma eascht aus da Vaknüpfung vo Daten in vaschiedne Tabelln.

## Owendunga
Datenbankn findt ma fui in da Vawoidung und Buchhaltung. Aba a fui Programme fia'n privatn Gebrauch nutzn Datenbankn, meistns so, dass da Bnutza des gor ned merkt. Zur Zeit gwinna grod Datnbankn ois Grundlog fia Web-Anwendunga immer mehra an Bedeitung. A boar Beispui waradn:
* Vawoidung
** De Daten im Einwohnermeldeamt
** Lagervawoidung usw. in Warenwirtschaftssysteme
** Kontoführung bei de Bankn
* Programme fia'n Hausgebrauch
** Abspui-Programme fia digitale Musik, wia z. B. Amarok nutzn Datenbankn zum katalogisiern und schnejn Findn vo de Musikstickl auf da Festplattn. Do wern dann a zusätzliche Informationa wia z. B. Beliabtheit gspeichert.
** Vawoidungs-Programme fia Photosammlunga, wia z. B. Digikam speichern in Datenbankn zusätzliche Informationa zua de Photos, z. B. Orts- und Zeitangaben, Stichwörter, Bewertung.
* Internetbasiade Anwendunga
** Internet-Gschäfta wia z. B. Amazon oda Ebay, des iabaschneidt se dann a weng mit de Warenwirtschaftssysteme
** Suachmaschina hom de Stichwörter zua de erfasstn Internetseitn natirle a in Datenbankn gspeichert
** Olle Web-2.0-Owendunga bei dene de Bsucha Inhoide sejba oleng und ändern kenna nutzn Datenbankn. Im naheliegndstn Beispui bfind ma uns grod und de meistn merkans ned amoi: WikiMedia ois Grundlog fia Wikipedia und ihre Schwesterprojekte is a Datenbank-Owendung. Aber a MySpace, de Lokalisten, de fotocommunity, youtube usw. zoang de Inhoide vo Datenbankn. Des is dann ebn schee bunt und graphisch und schaugt ned so seriös nach na Datenbank aus wia z. B. in am Warenwirtschaftssystem. In Fachkreisn nend ma de scheene Aufbereitung vo de Daten dann as Frontend oda a a *View* (ausm Englischn via Ansicht)

## Untascheidung zua Tabellnkalkulation
Do in de meistn Fäll de Daten in na Datenbank in Tabelln ogordnet han ko ma se scho frong, warum ma des ned mit na Tabellnkalkulation macht. Fui Leid vawendn a a Tabellnkalkulation obwoi a Datenbanksystem gschickter war, oafach weis des bessa kenna.
* A oafache Datenbanksystem han drauf ausglegt, recht vui Datensätz zum speichern. Tabellnkalkulationsprogramme kennan mit recht große Tabelln meist ned so effektiv umgeh.
* Datenbanksysteme han normalaweis fia MehrNutza-Vawoidung ausglegt, des hoasd, dass mehra Leid gleichzeitig in da sejbn Tabell Datensätz vaändern kinna. Des is mit Tabellnkalkulationsprogramme nua eigschränkt mäglich.
* A Datenbanksystem wead heagnumma, wenn ma recht vui vaschiedne Tabelln hod, de aba mitnand vaknüpft han. A des is mit Tabellnkalkulationsprogramme nua eigschränkt meglich.
* Bei Datenbanksysteme untascheid ma strenga zwischn Administratorn und Nutzan, a wei as Erstelln vo de Datenbankn, de Abfragn usw. fachlich schwara is, ois as Erstelln vo na Tabelln mit am Tabellnkalkulationsprogramm. Fia fui Anwendunga is des a sehr gwünscht, dass de normaln Nutza nua Daten ändern kenna, aba an da Struktur vo da Datenbank nix vaändern derfn.

## Zugriff auf Datenbankn
Fui Nutza vo Rechner findn as Umgeh mit Datenbankn im Vagleich zu andre Anwendunga eascht amoi ungwohnt. Wei bei de meistn andern Anwendunga hod ma an starkn Bezug zua Dateien, de da Nutza mit am Dateivawaltungsprogramm wia am Windows Explorer oda Dolphin unter Linux sejba ordnen und organisiern ko. A ko ma z. B. a Photo mit vaschiedne Programme bearban, de Datei is oiso a ohne a bstimmts Programm was wert. Bei am Datenbanksystem is da Zugriff auf de Daten ausschließlich iaba des Datenbankmanagementsystem erlaubt. Dem Datenbankmanagementsystem wead a Speicherplotz zuagwiesn, wia und wo genau do des seine Daten speichert bleibt am Anwender vaborgen und is a am Datenbank-Administrator im Oidog recht wurscht. Je nach eigsetztem Datenbankmanagementsystem, de Eistellunga, der Art der Datenbank usw. kenna so mehrare Tabelln in oana oanzign Datei stecka, oda oanzlne Tabelln auf mehra Dateien aufteilt sei. Des is aba eingle nur a Thema fia de Programmierer vo dem Datenbankmanagementsystem.

A Datenbankmanagementsystem gibt am Nutza vaschiedne Mäglichkeitn, auf de Daten zuzumgreifn:
### Bildschirmmasken bzw. Formulare
Da Begriff Bildschirmmasken is langsam vaaltet, wead aba vor oim in seina Kurzform Maske imma no fui in Literatua und Handbiacha heagnumma. Da Begriff Formular triffts wahrscheinle bessa. A Formular in na Datenbank zoagt ollawei nua oan oanzign Datensatz vo oana Tabelln. In am MehrNutzasystem wead vom Datenbankadministrator bestimmt, wer wejchane Fejder in seine Formulare zum seng kriagt, und wejchane a ändern derf. Zmindest da Datenbankadministrator hod a Formular, in dem olle Fejder ozoagt wern.
### Kurziabasicht
De Kurziabasicht erinnert stark an Tabelln wias de meistn aus Tabellnkalkulationa kenna. Den Nama hods, weis normalaweis nua an Teil vo de Spoidn aus da Datenbank-Tabelle ozoagt. Tabelln in Datenbankn hom recht oft recht vui Fejder/Spoidn, in da Kurziabasicht wern dann nua de wichtigstn ozoagt. Kurziabasichtn ko ma nach bestimmte Spaltn sortiern, und in de Spoidn nach bestimmte Werte suacha. Wenn ma an gewünschtn Datensatz gfundn hod, lost ma se denn dann iablichaweis in am Formular ozoang.
### Abfragn
Mit Abfragn wead a Datenbank nach bestimmte Kriterien durchsucht und as Ergebnis fian Nutza aufbereitet dargstellt. A Beispui warad in am Warenwirtschaftssystem a Listn mit olle Kundn aus am bestimmtn Land, de in am bestimmtn Joar an bestimmtn Artikl kaaft hom. In dem Beispui kunnt da Nutza in am Dialog des Land, des Joar und den Artikl ogem, fia wos a si intressiad. Abfragn kennan z. B. in am Warenwirtschaftssystem vom Heasteja fest vorgem sei, oda vo am Datenbankadministrator in ana Skript-Sproch formuliad wern. De Nutza kennan im normalfoi koane eigna Abfragn erstelln sondern nua de vorhandnen ausführn losn.
### Skripte
A Quasi-Standard fia Datenbanksysteme is SQL (*Structured Query Language* ausm englischn). Query bedeit Abfrage. SQL ko aba mehra ois nua Abfragn formuliern. Mit SQL ko ma a de Struktur vo neichn Tabelln festleng und vorhanden Daten ändern, löschn und neie Daten eifügn. Do soichane Skripte recht mächtig han und dadurch a fui Schadn orrichtn kenna und a an Lesezugriff auf olle Daten hom is as Schreibn vo Skripte am Datenbankadministrator vorbhoidn. Vo dem wead dann wiada festglegt, wer wejchane Skripte ausfiarn derf.
### Reporte
Mit am Report weadn Datn zua Druckausgabe aufbereitet. Mit am Report kunnt z. B. a Rechnung zua am Aufdrog ausdruckt wern.
### Datenexport
S' Ergebnis vo na Abfrag, aba a ganze Tabelln kenna in andre Formate exportiad weadn. Recht naheliegnd is z. B. da Export in a Datei, de vo am Tabellenkalkulationsprogramm glesn wern ko.
### Datenimbort
Iaba entsprechende Schnittstelln kenna strukturiad vorliagende Daten aus Dateien in Tabelln in da Datenbank eigfügt wern.

### Schnittstelln zua andre Programme
Programme de ned zum Datenbankmanagementsystem ghearn kenna trotzdem auf de Datenbankn zuagreifn. Dazua miassns aba a Schnittstelle vawendn, de mit dem Datenbankmanagementsystem kompatibl is. Wei a do guid, das nemads direkt auf de Datenbankn zuagreifn derf, de fremdn Programme se oiso iaba a Schnittstelle mit dem Datenbankmanagementsystem vaständign miasn, welche Daten s' gern lesn mächtn, oda wejchane Daten as Datenbankmanagementsystem fia se ändern soi. ODBC is so a Schnittstelln. Programmiersprochn liefern oft Schnittstelln zua de wichtigstn Datenbankmanagementsysteme mit. Angeblich is deswzweng a Turbo Pascal vo Borland irgndwann in Delphi umbnannt worn. Zua dea Zeit war *Oracle* a bekannts Datenbanksystem. Und wenn ma mim Orakl ren mächt mußt ma in da griechischn Mythologie in de Stod Delphi geh.

## Datenbankschlissl
Da Schlissl is in na Datenbank a recht wichtiga Begriff. Iaba an Schlissl ko ma de Datensätz in na Tabeejn sortian und suacha. A Schlissl ko aus oam Fejd bsteh, aba a a Kombination vo mehra Fejder sei. S' muaß mindestens oan Schlissl gem, de an Datensatz oadeitig identifizieren ko. Des bedeit a, dass in oana Tabelln koane zwoa Datensätz mim gleichn Inhoid gem derf. Wei dann warad ja a Schlüssel iaba olle Fejder fia beide Datensätz gleich.
Beim Erstelln vo na neichn Tabelln muaß da Datenbank-Administrator mindestens an Primär-Schlissl ogem. Dea Primär-Schlissl muaß oadeitig sei. Er ko aba a no zusätzliche Sekundär-Schlissl ogem. Fia de festglegtn Schlissl erstellt as DBMS Vazeichnisse, mit dene a Datensatz in da Tabelln schnej gfundn wern ko. A Tabelln mit fui Sekundär-Schlissln vaursacht a groß Vazeichnis und an hohn Aufwand fia des DBMS, wei bei jedem Eifügn, Ändern und Löschn vo am Datensatz des Vazeichnis in Bezug auf olle Schlissl aktualisiad wern muaß. Auf da andern Seitn han Abfragen, fia des koan passndn Schlissl im Vazeichnis gibt zwar meglich, aba dauern fui länger. Da muaß dann nämli vom Abfrage-Skript a jeder Datensatz glesn und ausgwert wern.

De Problematik mit de Schlissl is, oan zum findn, der recht kurz is und fia olle Daten, de vialleicht irawanamoi eigem wern oadeitig is. In na Tabelln mit Nama kunnt ma eascht amoi auf de Idee kemma, an Schlissl aus de Fejder "Vornama" und "Nachnama" zum Bildn. De Woarscheinlichkeit, dass zwoa Leit mit dem sejbn Nama gibt is aba recht hoch. Ma kunnt jetzad no as Geburtsdatum und an Wohnort dazuanehma, dann wead de Wahrscheinlichkeit gringa, aba woi ned Null. Und recht kompliziad wead der Schlissl dann a. De Problematik hod ma natirle ned imma. Fia a Tabelln iaba de chemischn Elemente ko ma ois Primärschlissl de Kiazel oda a de Nama heanemma. Es gibt koane zwoa untaschiedlichen Elemendt mit am gleichn Nama, da Nama is eindeutig.
In de problematischn Fälle vawendt ma an sognanntn *künstlichen Schlissl*. Des is z. B. a laffende Nummer. A iabliche Anwendung is a Kundenummer. Ohne Kundennummer miaßad fia jede Bstellung usw. da Nama, as Geburtsdatum und da Wohnort gspeichert wern. So reicht as Speichern vo da Kundennummer, de voiständign Daten ko as Datenbanksystem in da Kunden-Tabelln nochschlong wenns bracht wern.

### Vaschiedne Begriff zua de Schlissl
* **Supa-Schlissl**: Olle Schlissl, de de Bedingung vo da Oadeitigkeit dafülln han Supa-Schlissl. Do gibts an großn Haffa dafo, a Schlissl aus olle Fejder is auf jedn Foi a Supa-Schlissl, wei koane zwoa Datensätz in olle Fejder gleich sei derfn.
* **Schlissl-Kandidat**: Wenn ma a neie Tabelln erstellt, muaß ma se iabaleng, wejchan Primär-Schlissl ma vawendt. Oiso suacht ma aus olle Supa-Schlissl de Schlissl aus, de recht kurz han. Do gibts a meist mera davo, des han dann de Kandidaten fia an Primär-Schlissl.
* **Primär-Schlissl**: Beim Erstelln vo na Tabelle muaß ma oan Schlissl ois Primär-Schlissl ogem. Der muaß oadeitig sei und soidad aus meglichst wenig Fejder bsteh.
* **Sekundär-Schlissl**: Ma ko fia a Tabelln beliabig fui Sekundär-Schlissl ogem. De miaßn weda oadeitig nu brachans bsundas kuaz zum sei. Ma gibt de o, de fia häufige Abfragn huifreich han. Zvui Sekundär-Schlissl erhöhn an Speicherbedarf und an Vawoidungs-Aufwand.
* **natirliche Schlissl**: Schlissl de im wirklichn Lem a Bedeitung hom. De Elemente-Nama in na Tabelln iaba chemische Eignschaftn waradn a natirlicha Schlissl:
* **künstlicher Schlissl**: A Fejd, des ma nua in a Tabelln eifiagt, domid ma an oafachn Schlissl kriagt nend ma an künstlichen Schlissl. Ois Information is a eingle unnötig. Kundn-Nummern han künstliche Schlissl.
* **Fremd-Schlissl**: Wenn in oana Tabelln auf an Eitrog aus na andarn Tabelln vawiesn wead, dann is des a Fremdschlissl. Des is a da wichtigste Sinn vo am Primär-Schlissl, dass man in na andan Tabelln ois Vaweis heanema ko. Deszweng soi da Primär-Schlissl a so oafach sei, wei ma muaß in jeda Tabelln, wo a ois Fremdschlissl vawendt wead sovui Fejder dafia oleng, wia a in seina eigna Tabelln lang is. Ois Beispui warad des de Kundennummer, de in na Tabelln iaba Bestellvorgäng ogem wead. In na Kundn-Tabelln is des da Primär-Schlissl, in da Bestell-Tabelln is des a Fremdschlissl.

### Beispui

Dos leicht sei kunnt, dass mehra Liada mim gleichn Nama gibt, z. B. wei de gleiche Melode mim gleichn Text vo vaschiedne Leid gspuid wead, oda vom gleichn in vaschieden Fassunga auf vaschiedne Alben, oda a a ganz a andas Liad sei kunnt, biet se de Vawendung vo am künstlichn Schlissl o. Beliabt is in so am Foi, dass ma de laffade Numma mit am Buachstamm kennzeichnet, domid ma eha woas was fia Daten se dahinta vastecka. Oiso "L" fia Liad, "A" fia Album usw.

## Datenbank-Entwurf
A Datenbank ko aus mehra tausend Tabelln bsteh. De Tabelln sejba kinna wiadarum schnej amoi mehra hundert Fejder hom. Iaba Fremdschlissl han de Tabelln vuifälltig mitranand vaknüpft. Des hoasd, wenn ma an da Struktur vo oana Tabelln was ändern mächt, kunnt des unibaschaubare Foign fia unzählige andre Tabelln hom. A de Neu-Organisation vo de Daten noch na Änderung kost an Haffa Zeit, fia de koana auf de Datenbank oda mindestens auf de betroffnen Teile zuagreifn ko. Desweng is oa große Schwiarigkeit beim Erstelln vo Datenbankn, dass ma weid in d'Zukunft schaung muaß, wos woi ois an Anforderunga auf de Datenbank zukimma kunnt und scho vo Ofang oh a vanünftige Struktur dadafia aufbaut. Deszweng han a Firmen wia SAP so erfoigreich, wei de oam a vorgfertigte Struktur fia z. B. a Warenwirtschaftssystem liefern und des dann nur no an den spezielln Anwendungsfoi opassn miasn.

### Vameidung vo Redundanz
Oa Zui im Entwurf vo na Datenbank is de Vameidung vo Redundanz. A kurz Beispui:

In dem Beispui vo weida om gibts mehra Liadl vom sejbn Album, de unterscheidn se nua duach an Nama vo dem Liadl, de andan Ogaban han ollawei gleich, oiso redundant. In so am Foi macht ma a zwoate Tabelln ALBUM mit de Nama vo de Alben. Da gibts dann nua oan Eindrog pro Album und do steht dann drin, vo wem des Album is, und aus wejcham Joar. Da Nama vo dem Album warad dann da Primär-Schlissl. In da Tabelln LIADL wead jetzad nua no da Nama vo dem Liadl ogem und ois Fremdschlissel da Nama vo dem Album. Bei na Abfrag kunnt as Datenbanksystem dann iaba de Vaknipfung as Joar rausfindn, in dem des Liadl erschiana is. Dazua muass nua mit dem Nama vom Album in da Tabelln ALBUM nochschlong.
A wichtiga Vorteil vo dem Vafahrn is a, dass Tippfehler vamiedn wern. Wei ma den Album-Titl und olle Zusatzinformationa nua oamoi eigibt, danach suacht ma sis bei da Eigab vo de Liadl nua no aus na Listn vo scho eigemne Alben raus.
A Enderunga han oafacha, wenn ma se beim Joar vadoh hod, bracht mas nua an oana oanzign Stell korrigieren.

### Informationa in meglichst kloane Oanzlteil
Bei dem Beispui häd ma jetzad scho wiada es nächste Problem. Es gibt Alben vo vaschiedne Künstler mit am sejm Nama (z. B. hom de meistn a Album *Live* oda *Best of*). Oiso ko da Nama alloans ned ois Primärschlissl heagnumma wern. Ma kunnt jetzad auf de Idee kemma, dass ma in des Fejd Nama oafach no an Künstler dazuaschreibt. Des is aba a Schmarrn, wei dann ko ma nimma so oafach nach am bstimmtn Künstler suacha und a ned sortiern. Desweng zalegt ma Informationa in meglichst kloane Oanzlteil. An Nama vo na Person speichert ma z. B. in de Fejder Vornama, Nachnama, Anrede, Titl. A Internationale Postleitzzoi teilt ma a auf in as Länderkennzeichn und de eingliche Postleitzoi.
In unsam Beispui bleibt oiso nua a Primärschlissl aus zwoa Fejder, oda wiada a künstlicher Schlissl.