【postgresql 基础入门】表的约束主键与外键,数据的实体完整性与参照完整性,外键引用数据被修改时的动作触发
-- 创建一个新的表,包含主键和外键约束
CREATE TABLE IF NOT EXISTS employee (
employee_id SERIAL PRIMARY KEY, -- 定义employee_id作为表的主键,自增
name VARCHAR(100) NOT NULL,
department_id INT,
FOREIGN KEY (department_id) REFERENCES department(department_id) -- 定义外键约束,关联到department表的department_id字段
);
-- 创建一个新的表,包含复合主键
CREATE TABLE IF NOT EXISTS order_item (
order_id INT,
product_id INT,
quantity INT NOT NULL,
PRIMARY KEY (order_id, product_id) -- 定义复合主键
);
-- 创建一个新的表,包含多个外键约束
CREATE TABLE IF NOT EXISTS product_order (
product_id INT NOT NULL,
order_id INT NOT NULL,
FOREIGN KEY (product_id) REFERENCES product(product_id), -- 第一个外键,关联到product表的product_id字段
FOREIGN KEY (order_id) REFERENCES order(order_id) -- 第二个外键,关联到order表的order_id字段
);
在这个例子中,我们创建了三个表,每个表中都包含了主键和(或)外键的定义。第一个表展示了基本的单列主键和外键的创建,第二个表展示了复合主键的创建,第三个表展示了一个表可以有多个外键的情况。这些操作保证了数据的实体完整性和参照完整性。
评论已关闭