Für was ist ein Constraint gut

#772159
Lesenswert?

Etwas allgemeiner ausgedrückt: Constraints werden dazu benutzt, um die 
Integrität einer Datenbank zu gewährleisten.

Das Beispiel von Tiny 80 ist ein Constraint auf Feldebene. Eine andere 
Form von Constraints verhindert z.B, daß ein Datensatz gelöscht wird, 
wenn andere Datensätze diesen noch Referenzieren.

Es gibt noch weitere Constraints wie z.B. Unique-Key-Constraints, ...

Gruß
Markus
Gast #772244
Lesenswert?

Hi
ist klar aber ich verstehe den Unterschied hier nicht


CREATE TABLE PERSON
(
PNR NUMBER(4) NOT NULL,

PRIMARY KEY (PNR),

);

CREATE TABLE PERSON
(
PNR NUMBER(4) NOT NULL,

constraint pnr_id primary key (PNR),

);
Danke
Gast #772377
Lesenswert?

Hi,

siehe z.B. hier: 
http://www.postgresql.org/docs/8.3/static/sql-createtable.html
1
CONSTRAINT constraint_name
2

3
    An optional name for a column or table constraint. ...

Oder kurz: Im zweiten Beispiel sind die Schlüsselwörter klein 
geschrieben und der Constraint bekommt zusätzlich explizit einen Namen. 
Im ersten Fall wird der Name für den Constraint implizit durch das DBMS 
vergeben (oder er hat halt gar keinen Namen, je nach DBMS). Funktionell 
sind beide Beispiele identisch.
Wozu das Ganze? Nun bei einer Constraint-Verletzung taucht der Name 
normalerweise in der Fehlermeldung mit auf. Dadurch läßt sich das 
Problem meist leichter lokalisieren.

CU FBI

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren