Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m290_guko:learningunits:lu05:theorie:b_constraints [2025/09/14 19:13] gkochmodul:m290_guko:learningunits:lu05:theorie:b_constraints [2025/09/23 20:30] (aktuell) gkoch
Zeile 26: Zeile 26:
  
  
 +<WRAP center tip round 80%> 
 +[[ https://www.youtube.com/watch?v=NNrkJUK_euE|Constraints kurz erklärt - 0:56min ]]((Quelle: KnowledgeBits Education/YouTube)) 
 +</WRAP>
  
  
 ===== PRIMARY KEY – Eindeutige ID ===== ===== PRIMARY KEY – Eindeutige ID =====
-Der **Primärschlüssel (PRIMARY KEY)** identifiziert jeden Datensatz eindeutig.  +Der Primärschlüssel (//PRIMARY KEY//) identifiziert jeden Datensatz eindeutig.  
 Jede Tabelle kann **nur einen Primärschlüssel** haben. Jede Tabelle kann **nur einen Primärschlüssel** haben.
 <WRAP box 80% round center> <WRAP box 80% round center>
Zeile 36: Zeile 38:
 CREATE TABLE student ( CREATE TABLE student (
   student_id INT PRIMARY KEY,   student_id INT PRIMARY KEY,
-  name VARCHAR(50),+  name VARCHAR(50)
 ); );
 </code> </code>
Zeile 43: Zeile 45:
  
 **Wirkung:**   **Wirkung:**  
-Keine zwei Datensätze dürfen dieselbe PLZ haben.   +Keine zwei Datensätze dürfen dieselbe //student_id// haben.   
-Die PLZ darf ausserdem nicht leer (NULL) sein.+Die //student_id// darf ausserdem nicht leer (NULL) sein.
  
  
 ===== AUTO_INCREMENT – Automatisch hochzählen ===== ===== AUTO_INCREMENT – Automatisch hochzählen =====
-Das Attribut **AUTO_INCREMENT** sorgt dafür, dass bei jedem neuen Datensatz der Wert dieser Spalte automatisch um **1 erhöht** wird.  +Das Attribut //AUTO_INCREMENT// sorgt dafür, dass bei jedem neuen Datensatz der Wert dieser Spalte automatisch um **1 erhöht** wird.  
 Es wird fast immer zusammen mit dem **Primärschlüssel** verwendet, um automatisch eine **eindeutige ID** zu vergeben – ganz ohne manuelles Eingreifen. Es wird fast immer zusammen mit dem **Primärschlüssel** verwendet, um automatisch eine **eindeutige ID** zu vergeben – ganz ohne manuelles Eingreifen.
  
Zeile 59: Zeile 61:
 ); );
 </code> </code>
-Fügt man nun Datensätze ein, vergibt MySQL automatisch fortlaufende Nummern für `kunden_id`:  +Fügt man nun Datensätze ein, vergibt MySQL automatisch fortlaufende Nummern für //kunden_id//:  
 1, 2, 3, … 1, 2, 3, …
 </WRAP> </WRAP>
Zeile 65: Zeile 67:
  
 ===== NOT NULL ===== ===== NOT NULL =====
-Mit **NOT NULL** legen Sie fest, dass ein Feld **nicht leer** bleiben darf.+Mit //NOT NULL// legen Sie fest, dass ein Feld **nicht leer** bleiben darf.
  
 <WRAP box 80% round center> <WRAP box 80% round center>
Zeile 71: Zeile 73:
 CREATE TABLE ort ( CREATE TABLE ort (
   plz CHAR(4) NOT NULL,   plz CHAR(4) NOT NULL,
-  name VARCHAR(50) NOT NULL,+  name VARCHAR(50) NOT NULL
 ); );
 </code> </code>
Zeile 80: Zeile 82:
  
 ===== UNIQUE – Eindeutige Werte erzwingen ===== ===== UNIQUE – Eindeutige Werte erzwingen =====
-Mit dem **UNIQUE**-Constraint stellen Sie sicher, dass in einer Spalte **kein Wert doppelt vorkommen** darf.  +Mit dem UNIQUE-Constraint stellen Sie sicher, dass in einer Spalte **kein Wert doppelt vorkommen** darf.  
  
-Im Gegensatz zum **Primärschlüssel (PRIMARY KEY)** kann es in einer Tabelle **mehrere UNIQUE-Spalten** geben.  +Im Gegensatz zum Primärschlüssel (PRIMARY KEY) kann es in einer Tabelle **mehrere UNIQUE-Spalten** geben.  
 So können Sie zum Beispiel sicherstellen, dass keine zwei Benutzer:innen dieselbe E-Mail-Adresse haben. So können Sie zum Beispiel sicherstellen, dass keine zwei Benutzer:innen dieselbe E-Mail-Adresse haben.
  
Zeile 96: Zeile 98:
 </code> </code>
  
-In diesem Beispiel muss jede `email**eindeutig** sein.   +In diesem Beispiel muss jede //email// **eindeutig** sein.   
-Versucht man, eine E-Mail-Adresse zweimal einzutragen, wird ein **Fehler** ausgegeben.+Versucht man, eine E-Mail-Adresse zweimal einzutragen, wird ein Fehler ausgegeben.
 </WRAP> </WRAP>
  
-===== 📌 Übersicht =====+===== Übersicht =====
 ^ Constraint         ^ Bedeutung                                           ^ ^ Constraint         ^ Bedeutung                                           ^
 | NOT NULL            | Spalte darf nicht leer bleiben                       | | NOT NULL            | Spalte darf nicht leer bleiben                       |
  • modul/m290_guko/learningunits/lu05/theorie/b_constraints.1757870034.txt.gz
  • Zuletzt geändert: 2025/09/14 19:13
  • von gkoch