15. ID (#4 Autoincrement/IDENTITY)
-- DML
INSERT INTO person(first_name,…)
VALUES('name',…);
-- DDL
CREATE TABLE person (
id int IDENTITY NOT NULL PRIMARY KEY,
…)
15
17. ID (#5 Sequence)
-- DML
INSERT INTO PERSON(id, first_name,…)
VALUES(NEXT VALUE FOR seq_person,
'name', …);
-- DDL
CREATE SEQUENCE seq_person;
CREATE TABLE person (
id int NOT NULL PRIMARY KEY,
…);
17
30. Constraints/Foreign key
-- DDL
ALTER TABLE office ADD CONSTRAINT
fk_office_person
FOREIGN KEY (person_id) REFERENCE person (id)
ON DELETE CASCADE ON UPDATE CASCADE;
Type of actions
---------------
NO ACTION
CASCADE
SET NULL
SET DEFAULT
30
Cons:
- ?
Pros:
+ Explicit actions
+ Faster than ORM
+ Consistency