Informatik 9 - Primärschlüssel einer Tabelle InformatikEasyGoing https://www.youtube.com/watch?v=_Jweg5kQHnM Transkript (automatisch erstellt) 0:00 heute soll es um den sogenannten primär schlüssel einer tabelle gehen das ziel ist es anhand des primär schlüssels jeden datensatz also zum 0:11 beispiel hier diese zeile von jedem anderen datensatz der gleichen tabelle eindeutig unterscheiden zu können das ist das ziel das heißt ich brauche 0:30 irgendein kriterium mit hilfe dessen ich genau diese zeile von jeder anderen zeile in meiner datenbank tabelle unterscheiden kann und zwar eindeutig 0:44 was macht man dazu man nimmt sich die spalten also ihr hatten wir ja in der tabelle metropolen in der einige städte 0:56 verzeichnet sind mit informationen zum stadtnamen zur land einwohnerzahl und so weiter könnte ich jetzt mal gucken reicht mir denn vielleicht die spalte 1:07 statt aus sodass jeder datensatz hier etwas anderes stehen hat weil wenn für jeden datensatz in der spalte statt etwas anderes steht dann könnte ich ja 1:19 die datensätze anhand dieser einen spalte eindeutig identifizieren also voneinander unterscheiden das ist jetzt nicht der fall denn die 1:31 stadt london hier die gibt es in zwei verschiedenen ländern nämlich in kanada und in großbritannien 1:39 dann müsste ich mir also weiter gedanken machen geht es dann mit einer anderen spalte ganz sicherlich nicht mit der einwohnerzahl 1:48 das ist jetzt viel zu ungewiss hier würde das für diesen tabellen ausschnitt tatsächlich passen wie man sieht wenn man sich die zahlen anschaut bei den 1:57 einwohnerzahlen aber erstens eine datenbank tabelle hat meistens erheblich mehr einträge als wir hier sehen 2:06 und zweitens können wir immer noch neue datensätze später hinzukommen und auch in diesem fall muss der primär schlüssel immer noch funktionieren 2:17 das heißt immer noch muss ich anhand dieses schlüssels anhand dieser spalten auswahl die datensätze eindeutig voneinander 2:25 unterscheiden können was sicherlich funktioniert ist dabei die geografische breite und die geografische länge zusammen genommen auf einer 2:40 geographischen breite können natürlich mehrere städte liegen genauso auf einer geographischen länge allerdings ist der ort der stadt ja ganz genau angegeben 2:51 durch die kombination von diesen beiden angaben denn wir können jetzt mal voraussetzen dass zwei größere städte nicht an genau 3:05 der gleichen stelle existieren können ja schlecht oberhalb von einander gebaut sein das heißt als primär schlüssel für die 3:18 tabelle metropolen würde sich hier die kombination von den spalten geo breite und geo länger anbieten 3:36 das heißt immer aus dem paar von diesen zwei einträgen aus diesen zwei spalten kann ich jede zeile jeden datensatz von jedem anderen unterscheiden wichtig ist 3:51 allerdings der primär schlüssel muss minimal sein das heißt er darf keine spalten umfassende man in der gewählten 4:03 kombination wie zum beispiel hier für die eindeutigen identifikation nicht bräuchte das heißt auf die man verzichten könnte beispiel wäre ich 4:16 nehme zudem primär schlüssel geo breite und geo länge noch eine dritte spalte meinetwegen dem stadtnamen dazu dieser schlüssel ist nicht minimal weil ich auf 4:36 die angabe der stadt verzichten kann und die datensätze ja allein schon aus der kombination von breite und länge identifizieren kann 4:48 das bedeutet dass hier wäre kein geeigneter schlüssel kandidat also kein primär schlüssel 5:03 er hat jetzt schon gesehen an primär schlüssel den man hat schreibt man so dass man die spalten die dazugehören in runden klammern einfach auflistet in der 5:15 datenbank tabelle kennzeichnet man die spalten die zum primär schlüssel zusammengesetzt sind oder kann er auch manchmal nur eine spalte sein oder 5:24 ausreichen dadurch dass man den spalten namen hier oben unterstreicht dadurch erkennt man jetzt dann also sofort welche spalten 5:38 zum primär schlüssel gehören und dementsprechend muss auch immer für jeden datensatz hier etwas eingetragen sein für den primär schlüssel ohne 5:48 primär schlüssel keine identifikation das heißt meinetwegen die vorwahl oder wenn das gründungsjahr einfach nicht bekannt ist 5:57 das könnte ich hier raus lassen bei einem datensatz auf die schlüssel attribute darf ich nicht verzichten 6:13 letzter punkt man sollte dem primär schlüssel nicht zu groß wählen also man darf ihn ja nicht größer als unnötig quälen aber er sollte auch 6:25 eigentlich höchstens zwei spalten umfassen das werden wir später sehen mit größeren primär schlüsseln ist der arbeitsaufwand zur auswertung einer 6:34 datenbank wieder umständlich deswegen gibt es noch eine weitere möglichkeit und zwar die sogenannten künstlichen primär schlüsseln das heißt 6:47 finde ich hier unter meinen gegebenen spalten keine vernünftige sinnvolle oder knappe kombination für den primär schlüssel dann füge ich einen 7:00 künstlichen primär schlüssel ein das heißt ich gebe einfach eine neue spalte hinzu das ist dann irgendeine idee also so was wie eine artikelnummer 7:10 eine mitgliedsnummer oder dergleichen irgend eine eindeutige nummer die es jeweils nur ein einziges mal gibt das heißt ich würde jetzt hier zum beispiel 7:21 meine datensätze einfach durchnummerieren diese nummern können natürlich auch mehr ständig seien aber wichtig jede nummer 7:32 wird nur einmal an einen datensatz vergeben und dann wäre das hier der primär schlüssel also einfach nur diese eine spalte die spalte hat aber keine 7:47 wirklichen interessanten informationen zu diesen städten und deswegen nennt man die spalte dann auch einen künstlichen primär schlüssel weil er war die spalte 7:58 wirklich nur zu diesem zweck existiert und das war das konzept eines primär schlüssels wofür da ist was man beachten 8:08 muss wie man ihn bestimmt und auch wie man mit künstlichen primär schlüsseln umgehen kann