Fragen zu Primary Key und id int NOT NULL bei SQL
Hallo zusammen,
könnte mir bitte jemand bei ein paar Fragen helfen?
1.
Bezeichnung varchar (30)
Das heisst, dass ein Wort 30 Zeichen haben kann, oder?
2.
Preis decimal (9,2)
Was heissen denn die 9 und die 2 in der Klammer?
3.
Bei der Lösung steht "id int NOT NULL" bzw. bei der Aufgabe Id (PK)
- Für was steht das PK bei Id (PK)
- Warum schreibt man hin NOT NULL?
4.
Ganz unten in der Lösung steht noch PRIMARY KEY (id)
Ich glaube Primary Key sagt, dass etwas nur einmal vorkommen darf - schreibt man das so immer rein?
Warum steht noch (id) dabei?
Danke Euch und viele Grüße
Sophie
könnte mir bitte jemand bei ein paar Fragen helfen?
1.
Bezeichnung varchar (30)
Das heisst, dass ein Wort 30 Zeichen haben kann, oder?
2.
Preis decimal (9,2)
Was heissen denn die 9 und die 2 in der Klammer?
3.
Bei der Lösung steht "id int NOT NULL" bzw. bei der Aufgabe Id (PK)
- Für was steht das PK bei Id (PK)
- Warum schreibt man hin NOT NULL?
4.
Ganz unten in der Lösung steht noch PRIMARY KEY (id)
Ich glaube Primary Key sagt, dass etwas nur einmal vorkommen darf - schreibt man das so immer rein?
Warum steht noch (id) dabei?
Danke Euch und viele Grüße
Sophie
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 1778266672
Url: https://administrator.de/contentid/1778266672
Ausgedruckt am: 22.11.2024 um 10:11 Uhr
5 Kommentare
Neuester Kommentar
Mensch,
das rauszusuchen währ doch ned schwer.
1.
https://docs.microsoft.com/de-de/sql/t-sql/data-types/char-and-varchar-t ...
2.
https://docs.microsoft.com/de-de/sql/t-sql/data-types/decimal-and-numeri ...
3.
PK steht für Primary Key wie du schon vermutet hast. NOT NULL es währ dann auch toll wenn ein Wert angegeben wird.
4. ID ist der Name der Spalte. Du könntest auch [Kuschelmaus] oder [Bierindex] verwenden und trotzdem als Primärschlüssel verwenden.
das rauszusuchen währ doch ned schwer.
1.
https://docs.microsoft.com/de-de/sql/t-sql/data-types/char-and-varchar-t ...
2.
https://docs.microsoft.com/de-de/sql/t-sql/data-types/decimal-and-numeri ...
3.
PK steht für Primary Key wie du schon vermutet hast. NOT NULL es währ dann auch toll wenn ein Wert angegeben wird.
4. ID ist der Name der Spalte. Du könntest auch [Kuschelmaus] oder [Bierindex] verwenden und trotzdem als Primärschlüssel verwenden.
Hi
UNIQUE bedeutet eben das es den Wert in diesem Feld nur ein mal geben kann. Typischerweise die ID, aber nicht unbedingt.
Der Clustered Index bestimmt die tatsächliche Reihenfolge der physischen Speicherung auf der Festplatte.
Hast du also einen PK auf der ID und erstellst nacheinander die Datensätze 1 bis 10.000 landen diese so auf der Platte. Nacheinander. Suchst du jetzt nach der ID 5542 fängt der SQL an in dem Bereich z.B 5000-6000 an zu suchen.
Das hat in der späteren SQL Datenbank Erstellung zT massive Auswirkungen, wenn man eine sehr dynamische Tabelle hat in der permanent Datensätze geändert, gelöscht und eingefügt werden.
Hast du z.B die Daten 1,2,3,5,6,7... und erstellst jetzt den Datensatz mit der 4, dann muss der Server die Daten ab 3, also 5,6,7... wegkopieren, die 4 anlegen und dann die Daten 5,6,7... wieder hinten dran kopieren. Das ist also eine recht IO Intensive Operation für die Festplatte.
PRIMARY KEY ( id, Jahr )
damit könnte man dann für jedes Jahr eine eindeutige ID erstellen
könnte mir bitte jemand bei ein paar Fragen helfen?
1.
Bezeichnung varchar (30)
Das heisst, dass ein Wort 30 Zeichen haben kann, oder?
Ja.1.
Bezeichnung varchar (30)
Das heisst, dass ein Wort 30 Zeichen haben kann, oder?
2.
Preis decimal (9,2)
Was heissen denn die 9 und die 2 in der Klammer?
das die Zahl 9 Ziffern lang sein kann und die Präzision von 2 hat, also Nachkommastellen hat. die Zahl kann also maximal 7 Vorkommastellen haben: 1234567,89Preis decimal (9,2)
Was heissen denn die 9 und die 2 in der Klammer?
3.
Bei der Lösung steht "id int NOT NULL" bzw. bei der Aufgabe Id (PK)
- Für was steht das PK bei Id (PK)
PK ist der "Primary Key"Bei der Lösung steht "id int NOT NULL" bzw. bei der Aufgabe Id (PK)
- Für was steht das PK bei Id (PK)
- Warum schreibt man hin NOT NULL?
Das bedeutet das dieser INT Wert nicht NULL sein kann. NULL ist "NICHTS", "Nicht existent","Gibt's nicht". Er hat also immer einen "Zustand". Die Zahl kann damit zwar "0" sein, aber niemals " ".4.
Ganz unten in der Lösung steht noch PRIMARY KEY (id)
Ich glaube Primary Key sagt, dass etwas nur einmal vorkommen darf - schreibt man das so immer rein?
Jain. Der PK ist immer UNIQUE aber auch der Clustered Index.Ganz unten in der Lösung steht noch PRIMARY KEY (id)
Ich glaube Primary Key sagt, dass etwas nur einmal vorkommen darf - schreibt man das so immer rein?
UNIQUE bedeutet eben das es den Wert in diesem Feld nur ein mal geben kann. Typischerweise die ID, aber nicht unbedingt.
Der Clustered Index bestimmt die tatsächliche Reihenfolge der physischen Speicherung auf der Festplatte.
Hast du also einen PK auf der ID und erstellst nacheinander die Datensätze 1 bis 10.000 landen diese so auf der Platte. Nacheinander. Suchst du jetzt nach der ID 5542 fängt der SQL an in dem Bereich z.B 5000-6000 an zu suchen.
Das hat in der späteren SQL Datenbank Erstellung zT massive Auswirkungen, wenn man eine sehr dynamische Tabelle hat in der permanent Datensätze geändert, gelöscht und eingefügt werden.
Hast du z.B die Daten 1,2,3,5,6,7... und erstellst jetzt den Datensatz mit der 4, dann muss der Server die Daten ab 3, also 5,6,7... wegkopieren, die 4 anlegen und dann die Daten 5,6,7... wieder hinten dran kopieren. Das ist also eine recht IO Intensive Operation für die Festplatte.
Warum steht noch (id) dabei?
Das ist die definition was der PK ist. Hier besteht er aus der Spalte "ID", könnte aber auch aus mehreren Spalten bestehen:PRIMARY KEY ( id, Jahr )
damit könnte man dann für jedes Jahr eine eindeutige ID erstellen
Da es sich bei dir um eine Art Prüfungsvorbereitung handelt, empfehle ich dir, dich über das Thema "relationale Datenbanken" sowie ihren Grad der Normalisierung schlau zu machen. Youtube hat hierzu unzählige Tutoren