Difference between revisions of "Relationales Datenmodell"
From DHVLab
(→SQL-Umgebung (Server) im DHVlab) |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Das relationale Datenmodell organisiert Informationen in Gestalt von einer oder mehreren Tabellen. Die Bezeichnung rührt daher, dass Tabellen in der Fachsprache auch als „Relationen“ bezeichnet werden. Die Zeilen einer Tabelle werden auch "Datensatz" oder "Tupel" genannt, anstatt von Spalten spricht man auch von "Feldern", "Attributen" oder "Eigenschaften". Verknüpfungen/Beziehungen zwischen einzelnen Datensätzen werden über sogenannte "Schlüssel", die den Datensatz eindeutig identifizierbar machen, geschaffen. | Das relationale Datenmodell organisiert Informationen in Gestalt von einer oder mehreren Tabellen. Die Bezeichnung rührt daher, dass Tabellen in der Fachsprache auch als „Relationen“ bezeichnet werden. Die Zeilen einer Tabelle werden auch "Datensatz" oder "Tupel" genannt, anstatt von Spalten spricht man auch von "Feldern", "Attributen" oder "Eigenschaften". Verknüpfungen/Beziehungen zwischen einzelnen Datensätzen werden über sogenannte "Schlüssel", die den Datensatz eindeutig identifizierbar machen, geschaffen. | ||
<br /> | <br /> | ||
− | ( | + | (Stephan Lücke) |
<br /> | <br /> | ||
<br /> | <br /> | ||
===== Datenbanken oder Excel? ===== | ===== Datenbanken oder Excel? ===== | ||
<br /> | <br /> | ||
− | Vermutlich sind Sie bereits mit einem Tabellenkalkulationsprogramm wie Excel vertraut. Letzteres eignet sich für die Verwaltung | + | Vermutlich sind Sie bereits mit einem Tabellenkalkulationsprogramm wie Excel vertraut. Letzteres eignet sich für die Verwaltung von (kleineren) Datensammlungen. Die grafische Benutzeroberfläche ermöglicht eine benutzerfreundliche Bearbeitung. Zeilen und Spalten können grafisch beliebig formatiert werden.<br /> |
+ | Für größere Datensammlungen sollten jedoch Datenbanken Anwendung finden. Die Bedienung erfolgt über '''Datenbanksprachen''' wie '''SQL'''. Die Arbeit mit den Datensätzen erfolgt entweder über '''relationale Datenbankverwaltungssysteme'''<ref group="A">Die OpenSorce-Software MySQL zählt mit rund 50 Millionen Installationen weltweit zu den am meisten verbreiteten Datenbankverwaltungssystemen.</ref> (grafische Bedienoberfläche) wie '''MySQL''' oder unmittelbar über die Befehlzeile der Shell. Der entscheidende Vorteil von Datenbanken gegenüber Excel und Co. ist ihre Funktion als '''Schnittstelle zu Programmiersprachen''' wie JavaScript (via AJAX), PHP oder Python. Ihre Kombination bildet die Grundlage für die Schaffung von komplexen dynamischen Webinterfaces. | ||
<br /> | <br /> | ||
− | ===== | + | |
+ | ===== Steuerung der Datenbank im DHVlab: phpMyAdmin ===== | ||
<br /> | <br /> | ||
− | Die Steuerung der Datenbank erfolgt über | + | Die Steuerung der Datenbank erfolgt über phpMyAdmin, eine freie Webanwendung zur Verwaltung von MySQL-Datenbanken. |
<br /> | <br /> | ||
<nowiki>[Screenshot phpMyAdmin-Startseite]</nowiki> | <nowiki>[Screenshot phpMyAdmin-Startseite]</nowiki> | ||
<br /> | <br /> | ||
− | Entscheidender Unterschied zu Excel: Die Daten werden über die jeweiligen Spaltennamen abgerufen, daher sind die Spaltennamen zur Steuerung der Datenbank von zentraler Bedeutung. | + | Entscheidender Unterschied zu Excel: Die Daten werden über die jeweiligen '''Spaltennamen''' abgerufen, daher sind die Spaltennamen zur Steuerung der Datenbank von zentraler Bedeutung. |
<br /> | <br /> | ||
<nowiki>[Screenshot Tabellenstruktur]</nowiki> | <nowiki>[Screenshot Tabellenstruktur]</nowiki> | ||
<br /> | <br /> | ||
− | Zunächst muss definiert werden, welche Datentypen in einer jeden Spalte enthalten sein dürfen. Es seien an dieser Stelle nur die gängigen Datentypen angeführt: | + | Zunächst muss definiert werden, welche '''Datentypen''' in einer jeden Spalte enthalten sein dürfen. Es seien an dieser Stelle nur die gängigen Datentypen angeführt: |
<br /> | <br /> | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 44: | Line 46: | ||
|- | |- | ||
|} | |} | ||
+ | (Tabelle nach Markus Frank) | ||
<br /> | <br /> | ||
− | Mindestanforderungen an eine relationale Datenbank und die zwölf goldenen Regeln der Relationalität: | + | |
− | [https://www.hdm-stuttgart.de/~riekert/lehre/db-kelz/chap6.htm] | + | ===== Import einer CSV-Datei in die SQL-Umgebung ===== |
+ | <br /> | ||
+ | Durch Ihre [[Anmeldung]] im DHVlab wurde für Sie bereits eine persönliche Datenbank angelegt. Diese können Sie nun, ganz nach Ihren Forschungsinteressen bzw. den Kursvorgaben entsprechend, mit Inhalten füllen. Eine Möglichkeit stellt der Import einer '''CSV-Datei''' (Comma Separated Values) dar. Bei CSV handelt es sich um ein einfaches relationales Dateiformat, bei dem jede Zeile einen Datensatz darstellt. Jeder Datensatz wiederum besteht aus mehreren Spalten, die durch ein Komma getrennt sind. Die Daten jeder Spalte werden durch Anführungszeichen ("...") eingeschlossen. Eine CSV-Datei können Sie aus einer bestehenden Excel-Tabelle erzeugen ("Speichern unter"). | ||
+ | <br /> | ||
+ | Der '''SQL-Befehl''' zum '''Import''' einer CSV-Datei lautet wie folgt: | ||
+ | <br /> | ||
+ | <pre>LOAD DATA LOCAL INFILE '[pfad]/[ergänzen]/dateiname.csv' INTO TABLE `tabellenname` FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;</pre> | ||
+ | Bedeutung der einzelnen '''Bestandteile''': | ||
+ | <br /> | ||
+ | <code>LOAD DATA LOCAL INFILE</code>: Pfad der Datei auf dem lokalen PC angeben<br /> | ||
+ | <code>INTO TABLE</code>: Zieltabelle angeben<br /> | ||
+ | <code>FIELDS TERMINATED BY</code>: Symbol zum Trennen der CSV-Felder<br /> | ||
+ | <code>ENCLOSED BY</code>: Symbol am Anfang und am Ende eines CSV-Feldes<br /> | ||
+ | <code>LINES TERMINATED BY</code>: Symbol am Ende des jeweiligen Datensatzes (\n = New Line)<br /> | ||
+ | <code>IGNORE 1 ROWS</code>: Ignoriert die erste Zeile, weil diese z.B. Metainformationen enthält. | ||
+ | <br /> | ||
+ | <br /> | ||
+ | Sie können eine CSV-Datei auch über die '''MySQL-Benutzeroberfläche''' importieren (siehe Screenshot). | ||
+ | <br /> | ||
+ | <nowiki>[Screenshot phpMyAdmin-Importseite]</nowiki> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | <br /> | ||
+ | '''Mindestanforderungen''' an eine relationale Datenbank und die '''zwölf goldenen Regeln''' der Relationalität: | ||
+ | <br /> | ||
+ | [https://www.hdm-stuttgart.de/~riekert/lehre/db-kelz/chap6.htm Mindestanforderungen und zwölf Regeln] | ||
<br /> | <br /> | ||
[https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_Relationale_Datenbanken Grundlegendes zu Relationalen Datenbanken] | [https://de.wikibooks.org/wiki/Einf%C3%BChrung_in_SQL:_Relationale_Datenbanken Grundlegendes zu Relationalen Datenbanken] | ||
+ | |||
+ | == Anmerkungen == | ||
+ | <references group="A" /> |
Latest revision as of 10:13, 21 July 2016
Das relationale Datenmodell organisiert Informationen in Gestalt von einer oder mehreren Tabellen. Die Bezeichnung rührt daher, dass Tabellen in der Fachsprache auch als „Relationen“ bezeichnet werden. Die Zeilen einer Tabelle werden auch "Datensatz" oder "Tupel" genannt, anstatt von Spalten spricht man auch von "Feldern", "Attributen" oder "Eigenschaften". Verknüpfungen/Beziehungen zwischen einzelnen Datensätzen werden über sogenannte "Schlüssel", die den Datensatz eindeutig identifizierbar machen, geschaffen.
(Stephan Lücke)
Contents
Datenbanken oder Excel?
Vermutlich sind Sie bereits mit einem Tabellenkalkulationsprogramm wie Excel vertraut. Letzteres eignet sich für die Verwaltung von (kleineren) Datensammlungen. Die grafische Benutzeroberfläche ermöglicht eine benutzerfreundliche Bearbeitung. Zeilen und Spalten können grafisch beliebig formatiert werden.
Für größere Datensammlungen sollten jedoch Datenbanken Anwendung finden. Die Bedienung erfolgt über Datenbanksprachen wie SQL. Die Arbeit mit den Datensätzen erfolgt entweder über relationale Datenbankverwaltungssysteme[A 1] (grafische Bedienoberfläche) wie MySQL oder unmittelbar über die Befehlzeile der Shell. Der entscheidende Vorteil von Datenbanken gegenüber Excel und Co. ist ihre Funktion als Schnittstelle zu Programmiersprachen wie JavaScript (via AJAX), PHP oder Python. Ihre Kombination bildet die Grundlage für die Schaffung von komplexen dynamischen Webinterfaces.
Steuerung der Datenbank im DHVlab: phpMyAdmin
Die Steuerung der Datenbank erfolgt über phpMyAdmin, eine freie Webanwendung zur Verwaltung von MySQL-Datenbanken.
[Screenshot phpMyAdmin-Startseite]
Entscheidender Unterschied zu Excel: Die Daten werden über die jeweiligen Spaltennamen abgerufen, daher sind die Spaltennamen zur Steuerung der Datenbank von zentraler Bedeutung.
[Screenshot Tabellenstruktur]
Zunächst muss definiert werden, welche Datentypen in einer jeden Spalte enthalten sein dürfen. Es seien an dieser Stelle nur die gängigen Datentypen angeführt:
Datentyp | Beschreibung |
---|---|
INT | Integer, Ganzzahlen; Länge bestimmt Anzahl der Ziffern |
FLOAT | Floating, Gleitkommazahlen; Länge bestimmt A d. Z. |
VARCHAR | Various Character; Länge bestimmt die Anzahl der Buchstaben |
LONGTEXT | Langtext im Umfang von 4.294.967.295 Buchstaben |
DATE | Feld für Datumseinträge |
PRIMARY(INT) | Primärschlüssel, angelegt über Index, AutoIncrement aktivieren |
(Tabelle nach Markus Frank)
Import einer CSV-Datei in die SQL-Umgebung
Durch Ihre Anmeldung im DHVlab wurde für Sie bereits eine persönliche Datenbank angelegt. Diese können Sie nun, ganz nach Ihren Forschungsinteressen bzw. den Kursvorgaben entsprechend, mit Inhalten füllen. Eine Möglichkeit stellt der Import einer CSV-Datei (Comma Separated Values) dar. Bei CSV handelt es sich um ein einfaches relationales Dateiformat, bei dem jede Zeile einen Datensatz darstellt. Jeder Datensatz wiederum besteht aus mehreren Spalten, die durch ein Komma getrennt sind. Die Daten jeder Spalte werden durch Anführungszeichen ("...") eingeschlossen. Eine CSV-Datei können Sie aus einer bestehenden Excel-Tabelle erzeugen ("Speichern unter").
Der SQL-Befehl zum Import einer CSV-Datei lautet wie folgt:
LOAD DATA LOCAL INFILE '[pfad]/[ergänzen]/dateiname.csv' INTO TABLE `tabellenname` FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' IGNORE 1 ROWS;
Bedeutung der einzelnen Bestandteile:
LOAD DATA LOCAL INFILE
: Pfad der Datei auf dem lokalen PC angeben
INTO TABLE
: Zieltabelle angeben
FIELDS TERMINATED BY
: Symbol zum Trennen der CSV-Felder
ENCLOSED BY
: Symbol am Anfang und am Ende eines CSV-Feldes
LINES TERMINATED BY
: Symbol am Ende des jeweiligen Datensatzes (\n = New Line)
IGNORE 1 ROWS
: Ignoriert die erste Zeile, weil diese z.B. Metainformationen enthält.
Sie können eine CSV-Datei auch über die MySQL-Benutzeroberfläche importieren (siehe Screenshot).
[Screenshot phpMyAdmin-Importseite]
Mindestanforderungen an eine relationale Datenbank und die zwölf goldenen Regeln der Relationalität:
Mindestanforderungen und zwölf Regeln
Grundlegendes zu Relationalen Datenbanken
Anmerkungen
- ↑ Die OpenSorce-Software MySQL zählt mit rund 50 Millionen Installationen weltweit zu den am meisten verbreiteten Datenbankverwaltungssystemen.