www.mikrocontroller.net

Forum: PC-Programmierung Für was ist ein Constraint gut


Autor: SQL (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
Für was braucht man bei SQL einen Constraint

zB

Autor: John Small (linux_80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

ich glaub das ist fast das falsche Unterforum ;-)

Constraints gehören dazu, dass in eine Tabelle einzufügende Daten 
geprüft werden, zB. ob ein Feld NULL sein darf, oder nicht.

zB:
http://www.datenbank-sql.de/oracle-constraints.htm

Autor: Markus Volz (valvestino)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: SQL (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: FBI (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

siehe z.B. hier: 
http://www.postgresql.org/docs/8.3/static/sql-crea...
CONSTRAINT constraint_name

    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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.