1. 请说明school数据库中各表的主键和外键。同时说明:在学生表中的yxh字段输入“04”或在院系表中删除yxh为“01”记录,会有什么结果?
要找出各表中的主键和外键,首先要掌握主键和外键的定义。从网上找到的数据如下:
主键:唯一标识一条记录,不能有重复的,不允许为空,并且只能有一个,用来保证数据完整性。
外键:表的外键是另一表的主键, 外键可以有重复的, 可以是空值,一个表可以有多个外键。
主键子句的关键词为:primary key,如以下语句:
yxh varchar(2) not null primary key
就是定义了一个属性yxh并且为主键。并且如果在其他定义属性语句之后添加primary key,则会报错提示无法添加多个primary key。
外键的关键词为:references(XXX),如以下语句:
yxh varchar(2) not null references D(yxh)
这里意思为在该表中定义了一个属性yxh,并且与表D中的yxh相关联,即为外键。
院系表D如下:其中yxh为主键