Das Video kommt von YouTube: erst beim Abspielen verbindet sich die Seite mit YouTube (Google).
SQL Tabellenerzeugung mit DDL - SQL 2
Das Wichtigste aus dem Video
Tipp auf eine Zeit – das Video springt genau dorthin.
Transkriptautomatisch erstellt · 69 Zeilen
- Hummel Hummel - Mors Mors ihr Landratten ! Na, wo geit die dat?
- Endlich gibts das neue Video zu SQL! Wir haben ja schon gelernt, dass wir durch SQL,Tabellen erstellen und bearbeiten können.
- Aber wie funktioniert das jetzt genau? Die Bearbeitung und Erzeugung von Datenbanktabellen erfolgt in SQL
- über die sogenannte Data Definition Language. Wers kurz haben will , DDL.
- DDL sind einfach SQL Kommandos welche wieder durch eine einfache Struktur und durch englische Befehle definiert sind.
- Aber genug gelabert, schauen wir uns das ganze mal in der Praxis an. DDL, Ahoi!
- Ois klar. Jetzt kanns endlich an die Praxis gehen.
- Damit ihr selber mit dem Code rumspielen könnt, kann ich euch SQL Fiddle oder den w3schools SQL Editor empfehlen.
- Wir wollen jetzt aber erstmal eine neue Tabelle erstellen. Das machen wir immer mithilfe von create table und den Namen der Tabelle.
- Nach der letzten Klammer wird außerdem ein Semikolon angefügt. Wir orientieren uns jetzt mal an den Beispielen der vorherigen Videos.
- In unserem Fall können wir mit create table Film , eine Tabelle mit dem Namen Film erstellen. Da eine leere Tabelle jetzt ziemlich langweilig wäre, schreiben wir in die Klammern unsere
- Attribute, oder auch Spalten, der Tabelle. Zuerst schreiben wir den Namen des Attributs und dahinter den Datentyp.
- Mit einem Komma trennen wir die Attribute voneinander, wobei nach dem letzten Attribut kein Komma steht.
- Die Datentypen ähneln denen in Java und reichen von integer bis String. Am besten wir schauen uns das mal im Code an und ab geht’s!
- Die Attributnamen für unsere Tabelle Film sehen also folgendermaßen aus. Wir haben für jede Spalte der Tabelle den Namen festgelegt.
- Für FilmId,Jahr,Kosten und Regisseur legen wir ein Integer fest, da in allen dieser Spalten ja eine Zahl stehen soll.
- Für Name und Genre legen wir dagegen ein varchar fest, da dort ja überall ein Name stehen soll.
- Varchar 40 ist jetzt einfach ein String der zwischen 1 bis 40 Zeichen enthalten kann. Char dagegen ist ein String der eine feste Länge haben muss.
- Char 10 sagt zum Beispiel, dass der String in der Tabelle 10 Zeichen lang sein muss! En paar von euch denken sich jetzt wahrscheinlich: “Äh jo?
- Aber warum brauchen wir überhaupt Datentypen?” Wenn für die Attribute falsche Werte einsetzt werden,die nicht dem Datentyp entsprechen,
- wird die Tabelle nicht angelegt. Kurz gesagt: Wenn wir zum Beispiel in die Spalte Kosten
- einen String schreiben wollen, denkt sich SQL so : “Whaat?
- Bisch du dumm? Mach ich sicher nicht, is ja falsch!”
- Also, möget ihr immer gut auf die Datentypen achten, gell? So, die Spalten ham wir jetzt auch gesetzt, aber uns fehlen noch die Schlüsselbeziehungen.
- Wenn ihr nicht mehr wisst was ein Schlüssel ist, einfach in des Video davor klicken! In DDL können wir solche Zusätze hinter den Datentyp schreiben.
- Schlüsseldefinitionen sind dabei aber nur ein kleiner Teil von Zusätzen. Die anderen schauen wir uns im nächsten Video an!
- Aber back zum Business! In unserer Filmtabelle würde eine Primärschlüsseldefinition so aussehen.
- Für FilmID schreiben wir ein primary key , da FilmID ja unser Primärschlüssel ist. Wir könnten das ganze auch an den Schluss schreiben und zwar mit primary key FilmID.
- Sprechpause Da müssen wir jetzt aber aufpassen und nach primary key in Klammern immer den Namen der
- Spalte dazuschreiben, die Primärschlüssel ist. Wenn wir jetzt mehrere Attribute als Primärschlüssel festlegen wollen,
- können wir hinter primary key auch einfach mehrere Attribute reinschreiben. Also merkt euch:
- Für den Primärschlüssel schreiben wir also immer primary key hinter den Datentyp oder ans Ende der Tabellendefinition.
- Normal oder? So, jetzt fehlt uns noch die Definition unserer Fremdschlüsselbeziehungen.
- Diesen Fremdschlüssel können wir ähnlich wie den Primärschlüssel erzeugen. Wir schreiben einfach hinter den Datentyp des Attributs ein references.
- Dann müssen wir unseren Tabellennamen schreiben, auf den unser Fremdschlüssel verweisen soll. Dahinter kommt in Klammern dann noch der jeweilige Primärschlüssel der Tabelle.
- Wie sieht das jetzt im Code aus? Für Film würde das ganze also so aussehen.
- Da Regisseur ja unser Fremdschlüssel is, steht hier jetzt Regisseur integer references Regisseur ( RegisseurId) .
- Somit verweist unsere Spalte Regisseur aus Film jetzt auf den Primärschlüssel von der Tabelle Regisseur, nämlich RegisseurId.
- Natürlich können wir unsere Fremdschlüsseldefiniton auch ans Ende der Klammern schreiben. Dafür müssen wir jetzt vor dem references Block ein foreign key schreiben.
- Nach foreign key schreiben wir dann in Klammern noch unser Attribut, welches wir als Fremdschlüssel definieren wollen.
- Bei SQL Fiddle und weiteren Editoren ist hierbei jedoch wichtig, dass alle Tabellen bekannt sind bevor sie referenziert werden!
- Das heißt,die Tabellen mit Fremdschlüsseln müssen nach den Tabellen angelegt werden auf die sich der Fremdschlüssel bezieht.
- Außerdem müsst ihr jetzt wirklich drauf achten, dass euer Fremdschlüssel und der Primärschlüssel den gleichen Datentyp haben!
- Alles klärle? Guade Sach!
- Abschließend schauen wir uns jetzt an, was wir durch den SQL Code überhaupt gebaut haben. Nämlich das.
- Durch den SQL Code haben wir unsere Tabelle Film aufgebaut und natürlich die Schlüsselbeziehungen. Die SQL zu Regisseur haben wir uns jetzt nicht angeschaut, aber die funktioniert ganz genauso
- wie bei Film! So waren jetzt ja ziemlich viele Infos.
- Damit wird das jetzt aber praktisch alles im Hirn speichern, gibts noch en einfaches Beispiel dazu.
- Nehmen wir an in der Klausur steht, dass wir eine Tabelle Buch und eine Tabelle Autor mit geeigneten Spalten erzeugen sollen.
- Natürlich mit SQL DDL. Schauen wir uns das mal an!
- Wir fangen also mit unseren Grundgerüsten an. Die sehen dann so aus.
- Easy wa? Jetzt wollen wir unseren Tabellen noch Spalten übergeben.
- Für Buch könnte es folgendermaßen aussehen. Wir definieren also die Spalten BuchID,Name, Genre, Preis und Autor.
- Preis, BuchID und Autor weisen wir den Datentyp int zu und den anderen ein varchar 30. Für Autor dagegen nehmen wir als Spalten AutorID, Vorname und Nachname.
- Als nächsten sollen wir noch die Primärschlüssel eintragen und die Tabellen sinnvoll durch einen Fremdschlüssel verknüpfen.
- So, wir wissen ja, dass wir uns auf unsere IDs verlassen können. Also legen wir in der Tabelle Buch unsere BuchID als Primärschlüssel fest.
- In der Tabelle Autor machen wir das gleiche mit unserer AutorID. Primary abgeschlossen!
- Um unsere Tabellen zu verknüpfen müssen wir jetzt noch einen Fremdschlüssel definieren. Das machen wir indem wir unsere Spalte Autor aus Buch mit dem Primärschlüssel aus Autor
- verknüpfen. Das geschieht natürlich durch references, wie wir es oben schon gelernt haben.
- So jetzt schauen wir uns noch die genauen Tabellen an, die wir durch den Code aufgebaut haben.
- Durch die SQL Codes haben wir jetzt unsere beiden Tabellen Buch und Autor aufgebaut. Außerdem haben wir die Schlüsselbeziehungen dadurch auch gleich definiert.
- Puuuh jetzt erstmal tief durchatmen bei den ganzen Infos. Was solltet ihr euch auf jeden Fall gemerkt haben?
- Mit DDL kann man Tabellen erzeugen. Dies geschieht immer über Create Table .
- Darin befinden sich die Spaltennamen und die Datentypen dazu. Diese ähneln denen in Java und reichen von int bis String.
- Hinter den Datentypen können wir Zusätze hinzufügen. Für den Primärschlüssel schreiben wir primary key hinter das Attribut oder ans Ende der
- Tabellendefinition. Für den Fremdschlüssel schreiben wir ein references hinter das Attribut oder ein foreign
- key ans Ende der Tabellendefinition! Also Leude, am Besten ihr nehmt den Code und spielt damit en bisl rum und probiert neue
- Tabellen aus. Wir schauen uns im nächsten Video an, was es noch für Zusätze gibt!
- Also bis gleich Freunde!
Zum Nachlesen
DatenbanktabelleEine Datenbanktabelle ist eine Sammlung verwandter Daten, die in einem strukturierten Format in einer Datenbank gespeichert sind. Sie besteht aus Spalten …
Relation (Datenbank)Eine Relation besteht aus Tupeln, jedes Tupel wird durch Attribute beschrieben, die den Typ (mögliche Attributwerte) festlegen und mit einem Attributnamen …
Relationale DatenbankEine relationale Datenbank ist eine digitale Datenbank, die zur elektronischen Datenverwaltung in Computersystemen dient und auf einem tabellenbasierten …
Schlüssel (Datenbank)Fremdschlüssel. Bearbeiten. Ein Primärschlüssel einer Relation kann Fremdschlüssel einer anderen werden. Ein Fremdschlüssel ist ein Attribut oder eine …