Constraints
als Präsentation ▻“Constraints” sind absichtliche Einschränkungn die man den Daten auferlegen kann.
▻Ein Constraint kennen Sie schon: Wenn man einen Primäreschlüssel definiert, dann soll dieser ja jeden Datensatz eindeutig identifizieren. Das heisst: der Primärschlüssel muss eindeutig sein. Das ist ein unique constraint.
sql> CREATE TABLE departments ( dep_name VARCHAR(20) PRIMARY KEY, … ); completed in 23ms sql> INSERT INTO departments VALUES('Marketing') 1 row(s) affected in 16ms sql> INSERT INTO departments VALUES('Engineering') 1 row(s) affected in 7ms sql> INSERT INTO departments VALUES('Marketing') [23505] ERROR: duplicate key value violates unique constraint "departments_pkey" Detail: Key (name)=(Marketing) already exists.
Ein unique constraint kann man auch einer anderen Spalte, oder einer kombination von Spalten auferlegen.
CREATE TABLE users ( id SERIAL PRIMARY KEY, username VARCHAR(20) UNIQUE, email VARCHAR(220) UNIQUE );
Referenzielle Integrität
Bei einer Beziehung macht es Sinn, die existenz des Fremdschlüssels in der anderen Tabelle mit einem foreign key constraint sicher zu stellen.
CREATE TABLE departments ( dep_id SERIAL PRIMARY KEY, dep_name VARCHAR(20) ); CREATE TABLE employees ( name VARCHAR(20), dep_id integer NULL REFERENCES departments(dep_id) ); INSERT INTO employees VALUES('Brigitte Jellinek', 99) [23503] ERROR: insert or update on table "employees" violates foreign key constraint "employees_dep_id_fkey" Detail: Key (dep_id)=(99) is not present in table "departments".
Kapitel
- Das Web Und Html
- Css
- Css Layout
- Urls
- Formulare
- Javascript Dom
- Jquery
- Kommandozeile
- Git
- Http
- Php Vorbereitung
- Php
- Php Db Lesen
- Session
- Php Db Schreiben
- Php Db Optimierung
- Grafik
- Javascript
- Applied Jquery And Css
- Json
- Xml
- Security
- Injection
- Authentifizierung und Session-Management
- Cross Site Scripting (XSS)
- Unsichere direkte Objektreferenzen
- Sicherheitsrelevante Fehlkonfiguration
- Verlust der Vertraulichkeit sensibler Daten
- Fehlerhafte Autorisierung auf Anwendungsebene
- Cross-Site Request Forgery (CSRF)
- Nutzung von Komponenten mit bekannten Schwachstellen
- Ungeprüfte Um- und Weiterleitungen
- Wordpress
- Apache
- Advanced Javascript
- Qualitaet