ACCESS数据库设置数据表外键可以通过SQL数据定义查询和手动设置表间参照完整性两种方式予以实现。
注意设置外键前一方表的关联字段必须是主键或建有唯一索引,下面举例示范这两种设置方法。假设两张数据表的结构如下:
课程(课程ID 文本 主键,课程)
成绩(学号,课程ID,分数)
1)运行SQL数据定义查询
ALTER TABLE 成绩 ADD CONSTRAINT MyRelation1 FOREIGN KEY (课程ID)REFERENCES 课程 (课程ID)
2)手动建立两表一对多参照完整性
于表对象——右键 打开表关系视图,将要建立关系的表显示到关系视图里
拖动一方主表里的关联字段到多方表里。于d出的编辑关系对话框,选择各表对应的关联字段,勾选实施参照完整性选项后,点击创建(或确定)按钮即可,这样系统就会自动建立相应的外键了。
参见附图(此为ACCESS2003图例,其他版本类似)
注意建立外键时,若数据表里存在违反外键约束的记录,创建外键将会报错,只有删除了违反外键约束的有关记录后才能顺利完成外键的设置。
附带简介一下外键 (FOREIGN KEY) ,它是用于在两个表中的数据之间建立和加强链接的一列或多列的组合,可控制可在外键表中存储的数据。 在外键引用中,当包含一个表的主键值的一个或多个列被另一个表中的一个或多个列引用时,就在这两个表之间创建了链接。 这个列就成为第二个表的外键。
可以用SQL语句的方式来设置外键。
如目前有班级表和学生表如下
SQL语句方式
ALTER TABLE 学生表 ADD CONSTRAINT MyRelation1 FOREIGN KEY (所属班级ID)REFERENCES 班级表 (班级ID)
在关系中填加,参见HELP定义关系
要定义关系,首先在“关系”窗口中添加要定义关系的表,然后从表中拖动键字段,并将它拖动到其他表中的键字段上。
设置或更改主键
在“设计”视图中打开相应的表。
选择所要定义为主键的一个或多个字段。
如果要选择一个字段,请单击行选定器。
如果要选择多个字段,请按下 CTRL 键,然后对每一个所需的字段单击行选定器。
单击工具栏上的“主键”按钮 。
2.用DDL,例如
create table PO(
PO varchar(12) constraint pk_PO primary key,
vendor varchar(25),
buyer varchar(20),
podate date,
shipmentTerm varchar(3),
shipmentArea varchar(25),
deliveryMode varchar(5),
storeloc integer
)
create table PR(
PR varchar(12) constraint pk_PR primary key,
costcenter varchar(5),
prdate date,
storeloc integer
)
create table Quotation(
quotation varchar(12) constraint pk_Quotation primary key,
vendor varchar(12),
quodate date,
storeloc integer
)
create table PO_PR(
PO varchar(12) constraint fk_PO references PO(PO) ,
PR varchar(12) constraint fk_PR references PR(PR) ,
constraint pk_PO_PR primary key (PO,PR)
)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)