在sql中请举例说明主键,和外键?详细举例,快,好,采纳!!!

如题所述

第1个回答  2015-10-16
例子:
CREATE TABLE products (
prod_id NUMBER(3) CONSTRAINT p_ck CHECK (prod_id > 0),
prod_name CHAR(30),
prod_qty NUMBER(6),
CONSTRAINT p_name UNIQUE NOT NULL,
CONSTRAINT prod_pk PRIMARY KEY (prod_id));

CREATE TABLE warehouse (
warehouse_id NUMBER(4),
roomno NUMBER(10) CONSTRAINT r_id CHECK(roomno BETWEEN 101 AND 200),
location VARCHAR2(25),
prod_id NUMBER(3),
CONSTRAINT wr_pr_pk PRIMARY KEY (warehouse_id,prod_id),
CONSTRAINT prod_fk FOREIGN KEY (prod_id) REFERENCES products(prod_id));

例如这两个表格,prod_id是products的主键,也是warehouse这个表格的外键,主外键之间的关联语法就是上述两个表格的创建语句。
这样这两个表格就互相关联了,当然主键中不能有重复语句和null值,并且每一个表格只可以有一个主键,但可以有多个外键,希望采纳
(点右下角的展开,格式会好很多)
第2个回答  推荐于2017-10-02
主键(primary key):唯一确定关系表中的一个实体
外部键(foreign key):若表A中某属性组是表B的主键,而在A表中不是主键标,则该属性组是A表的外键。
主键与外部键均是属性组,但不可能是派生属性组。
E.G:
表student的各属性为:stu_no, stu_name,stu_supervisor
表teacher的各属性为:emp_no, t_name, t_stu
stu_no是表student的主键标,唯一确定一个学生信息,stu_supervisor是外键标,确定学生的导师信息。
emp_no是老师的职工号,作为teacher的主键标,唯一确定一个老师信息,t_stu是外键标,确定该老师的学生信息。
该例中:导师与学生是1:1关系。即一个导师只能带一个学生,一个学生只能有一个导师。本回答被提问者采纳
相似回答