DDL und DML - Tabellen 1
This is a modal window.
The media could not be loaded, either because the server or network failed or because the format is not supported.
Formal Metadata
Title |
| |
Title of Series | ||
Number of Parts | 93 | |
Author | ||
License | CC Attribution 4.0 International: You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal purpose as long as the work is attributed to the author in the manner specified by the author or licensor. | |
Identifiers | 10.5446/64349 (DOI) | |
Publisher | ||
Release Date | ||
Language |
Content Metadata
Subject Area | ||
Genre | ||
Abstract |
| |
Keywords |
Datenbanken40 / 93
3
16
19
20
28
32
39
40
41
49
52
54
58
62
66
70
74
81
83
86
00:00
SQLDiagramInverter (logic gate)TupleDatabaseTimestampZeitintervallGlass floatFloating pointComputer scienceCountingTruth tableData modelZahlIntegritätsbedingungData typeCodomainAttribute grammarTable (information)TimestampSpeciesTruth tableBLENDTypComputer fileFile formatDatabaseUniqueness quantificationBALL <Programm>Data storage deviceDatabaseNumberInterior (topology)Endliche ModelltheoriePoint (geometry)PhysicalismType theoryNatural languageOrder (biology)Combinational logicCorrespondence (mathematics)Descriptive statisticsHeegaard splittingForm (programming)Integrability conditions for differential systemsRule of inferenceIntegerStatement (computer science)SpacetimeDirection (geometry)String (computer science)Position operatorPointer (computer programming)Data structureData storage deviceCondition numberDifferent (Kate Ryan album)Boolean algebraComputer fileoutputCartesian coordinate systemSelectivity (electronic)LogicAreaKey (cryptography)Total S.A.ResultantCASE <Informatik>CountingIdentity managementMultiplication signComputer animation
Transcript: German(auto-generated)
00:09
So, jetzt haben wir ein relationales Modell, jetzt müssen wir das der Datenbank beibringen.
00:20
Dazu gehen wir wieder auf unser Einkaufsdatenbeispiel zurück. Hier haben wir ja letztes Mal bereits die Entitäten, Kunden, Artikel und Lager und die Beziehung Warenkauf identifiziert. Hier haben wir das entsprechende Entity-Relationship-Modell erstellt und dazu das relationale Modell aufgebaut.
00:49
Auch hier wieder eine End-zu-End-Beziehung, die über entsprechende Fremdschlüssel abgebildet wird. Hier haben wir unsere Primärschlüssel und dann haben wir hier dann
01:05
noch entsprechende Fremdschlüssel, die die Beziehung zu den anderen Tabellen herstellt. Die Frage, die sich jetzt stellt, ist, wie kommen wir von einem relationalen Modell hin zum physischen Datenmodell in der Datenbank?
01:24
Und hierzu müssen wir einsteigen mit SQL der entsprechenden Sprache. Wir müssen diese Datenbank-Tabellen anlegen und das sieht dann beispielsweise so aus. Hier haben wir einmal noch zusätzlich unsere Tabellenbezeichnung.
01:41
Hier haben wir die entsprechenden Spaltennamen, die Reihenfolge der Spalten, die entsprechenden Datenschilden und die Vorwerte, also Standardwerte, die angenommen werden, wenn kein Wert fest vorgegeben wird. Und Integritätsbedingungen. Das sind ja Regeln zu beschreiben, was müssen meine Daten erfüllen, damit die korrekt sind.
02:08
Unique und noch nein. Das sind ja Bedingungen, die an die Daten gestellt werden. Die Reihenfolge der Spalten ergibt sich dann daraus, wie ich die Attribute hintereinander definiere.
02:24
Wenn ich die definiere, so ein Create Table Statement absetze an die Datenbank, wird zunächst eine Basistabelle erzeugt in der Datenbank. Und diese Struktur dieser Tabelle ist dann physisch bespeichert.
02:43
Ich kann mich das so vorstellen, es wird eine entsprechende Tabelle angelegt und eine zugehörige Datei, im einfachsten Fall. Daraus ergeben sich Unterschiede zum Relationalen Modell. Einmal sind prinzipiell erstmal identische Tuchel erlaubt, solange ich kein Primärschlüssel definiere.
03:03
Sie können gleiche Einträge haben. Nur dann, wenn Sie ein Primärschlüssel definieren oder Unique anlegen, dann geht das nicht mehr. Unique erzwingt einfach die Eindeutigkeit der Tuchel in der Tabelle. Dann ist die Reihenfolge der Tuchel halbfest gelegt.
03:24
Dadurch, dass wir irgendwo in einer Datei fest gespeichert sind, haben wir natürlich eine vorgegebene Reihenfolge, die sind in der entsprechenden Datei abgelegt. Das heißt, wir könnten abfragen, wie far mir die ersten 10 Einträge in der Tabelle zurück. Solch eine Ordnung haben wir im Relationalen Modell nicht.
03:46
Und durch das Great Table Statement wird auch die Reihenfolge dieser Attribute fest definiert. Das heißt, wenn wir die Reihenfolge der Attribute in der Tabelle ändern wollen, müssen wir natürlich eine neue Tabelle anlegen.
04:04
Weil mit dieser Tabelle ist irgendwo eine Datei verknüpft mit einer speziellen Reihenfolge. So, nächster Fall. Was wir uns anschauen müssen, wären jetzt hier die Datentypen. Einmal gibt es Zahlen. Integer oder Int wird durch 4 bytes gespeichert, damit es noch ganz zahlwenig durch 2 bytes gespeichert sind.
04:31
MySQL, was wir zunächst verwenden werden, hat da noch eigene Datentypen zusätzlich, beispielsweise TinyInt und BigInt.
04:40
Um kleinere bzw. größere Zahlen zu speichern und zu sehen. Hierüber ändert sich dann natürlich auch der entsprechende abzuwillende Wertebereich. Dann gibt es Festkommazahlen. Einmal als numerische Werte, wo Sie dann hier angeben die Zahl der Nachkommastellen.
05:03
Und wenn Sie jetzt hier abzählen, haben wir 12 Stellen insgesamt. Und nach dem Komma hier, diese 3 gibt also an, von diesen 12 Stellen, wie viele Stellen gehören nach dem Komma. Gleiches gebe ich jetzt hier, wenn Sie jetzt nur 6 angeben. Das heißt dann, Sie haben eine 6-stellige Zahl ohne Nachkommastellen.
05:28
Dann gibt es Gleichkommazahlen, die einfach dann nur angeben, wie groß ist die Genauigkeit. Dann gibt es Datentypen und Zeitentypen. Einmal der Typ Date, in der Form Jahr, Monat, Tag.
05:48
Dazu die Uhrzeit und dann ein Zeitstempel wäre dann eine Kombination aus Zeit und Tag. Zeit und Tag selber wäre dann, wäre dann quasi eine Zusammenfassung aus zwei Zeitstempeln, ein Zeitstempel von, ein Zeitstempel bis.
06:09
Und dann gibt es noch Wahrheitswerte, Bullionwerte, die den Wert True or False annehmen. Dann gibt es Zeitentfekte, auch hier in zwei verschiedenen Arten. Einmal Character und Varchar.
06:25
Wo ist jetzt der Unterschied? Character wird jetzt dazu, das Spring mit Flanks, aufgefüllt. Wenn man aber diese leeren Stellen halt weglassen würde, kann man ja Speicherblatt sparen. Und so kommt man zu Varchar, wo halt das, was man nicht braucht, weggelassen wird.
06:47
Wenn ich hier noch mal in der Gegenüberstellung, wenn ich Character 4 speichere, werde ich 4 Blend. Damit bräuchte ich 4 Balls zum Speichern. Wenn ich das aber nur als Lehrungsbringer speichere, brauche ich eigentlich nur einen Ball.
07:01
Und zur Symbolisierung, ok, da ist jetzt wieder was drinleinend. Es geht natürlich hier hinten dann ins Gegenteil über, da bräuchte man natürlich dann noch ein bisschen mehr Speicherplatz drauf, um festzustellen, ok, ist der jetzt gefüllt oder nicht. Und dann wurde vorhin ja bereits der Nullwert angesprochen. Wir haben beispielsweise unsere Kunden in der Kundentabelle.
07:31
Jetzt haben wir da eine Frau Meitner drin, ok. Aber wenn wir jetzt beispielsweise unser Dekanate in Formate halte, als Kunde aufnehmen möchten, kriegen wir ein kleines Problem.
07:44
Die Anrede bei einer juristischen Person gibt es in dem Sinne nicht und es gibt da auch kein Geburtsdatum. Also irgendwie passt das halt da nicht so ganz. Deshalb wurde der Wert Null einlösgeführt bei Datenbanken.
08:05
Und der charakterisiert, ok, es gibt entweder keinen Wert oder es gibt keinen passenden Wert. Was wir dadurch erhalten ist eine Fernlehrerlogik. Wir haben also nicht nur die Wahrheitswerte wahr und falsch, sondern auch noch Null.
08:22
Nullwerte selber können in diese Tabelle eingeführt werden, wie es jetzt hierbei symbolisch gemacht hat. Damit können wir die Tabelle mit Werten sinnvoll füllen, auch wenn wir nicht unbedingt wissen, welche Wert dahin kommt bzw. wenn es keinen passenden Wert gibt.
08:42
Es ergibt sich aber eine Problematik dabei, nämlich dass, wenn wir zählen wollen, wie viele Einträge haben wir, diese Nullwerte nicht mitgenommen werden. Die werden nicht mitgezählt. Wenn wir beispielsweise zählen, select count Kuhnnummer, haben wir zwei Einträge, also kriegen wir den Wert 2.
09:06
Wenn wir aber die Geburtsdaten zählen, kriegen wir nicht 2 raus, sondern nur 1, weil das andere ist ja Null. Das ist ja unbekannt oder nicht sinnvoll. Hier muss man halt immer genau gucken, was zählt man, weil Nullwerte nicht mitgezählt werden. Bitte.
09:32
Dann zählen Sie einfach die Primärschlüssel und wenn Sie wissen wollen, wie viele Nullwerte da sind, zählen Sie erst die Anzahl der Kuhnnummern und ziehen dann die Anzahl der Geburtsdaten ab.
09:46
Sie können natürlich auch abfragen, wie viele Nulleinträge habe ich bei Geburtsdaten und die dann auch zählen. Das geht auch. Wichtig ist eher, das im Hinterkopf zu haben, wenn man solche Anfragen macht, um nicht irgendwann falsche Ergebnisse zu bekommen.
10:13
Oder wenn man sich wundert, warum füge ich jetzt auf der einen Seite so viel auf der anderen Seite so viel.
10:21
Dann wird also mit den entsprechenden Nullwerken gearbeitet. Wir haben entsprechende Wahrheitstabellen. Wir können also bei der Saturnian Logik halt negieren. Wenn wir jetzt wahr negieren, wird aus wahr falsch. Und als falsch wahr. Und was wird aus null?
10:46
Null, klar. Wir wissen nicht, was dafür ein Wert ist und wenn wir es negieren, wissen wir es immer noch nicht. Und genauso können wir jetzt auch beispielsweise die Wahrheitstabelle für die Verknüpfung und erstellen. Wie sieht das dann aus?
11:06
Es bleibt falsch. Denn wenn es schon einmal falsch ist, ist es egal, ob wir jetzt wahr oder falsch dazu tun, es bleibt falsch. So, und bei oder kommt längst an mit wahr. Wahr, ne? Wir haben ja schon einen wahr, dann können wir bei wahr bleiben.
11:28
Zweite Zeile. Was müsste da hin? Wir haben was falsches oder was oder null? Wenn jetzt dafür dieser null wird, wenn er wahr wäre, könnte es wahr werden. Aber wir wissen es nicht. Also null. Und unten?
Recommendations
Series of 14 media