A. 数据库中什么是主键,什么是外键
主键(Primary key): 也称为主码或主关键字,用于惟一地确定一个元组的属性或属性组(复合主回码)。每个关系答都有一个并且只有一个主码。
外键(Foreign Key):也称为外码或外部关键字。如果一个属性集不是所在关系的关键字,但是是其他关系的关键字,则该属性集称为外部关键字。
在关系数据库中可以通过外键使两个关系关联,这种联系通常是一对多(1:n)的,其中主(父)关系(1方)称为被参照关系,从(子)关系(n方)称为参照关系。
(1)数据库班级表可以插入什么扩展阅读:
数据库主键作用:
1、保证实体的完整性
2、加快数据库的操作速度
3、在表中添加新记录时,DBMS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。
4、DBMS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。
在有些数据库中,虽然主键不是必需的,但最好为每个表都设置一个主键,不管是单主键还是复合主键。它存在代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,以及本记录的修改与删除。
B. 班级数据库设计
--创建数据库
create database 1班
go
use 1班
go
--创建宿舍表宿舍号主键 电话长度7只能输入数字
create table 宿舍表
(
宿舍号 int identity(1,1) primary key,
电话 varchar(7)
check(len(电话)=7 and 电话 like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
)
go
--创建同学表
create table 同学表
(学号 varchar(8),
姓名 varchar(8) UNIQUE,
性别 varchar(8) check(性别='男' or 性别='女'),
民族 varchar (8),
身份证 varchar(20) UNIQUE,
宿舍号 int foreign key(宿舍号) REFERENCES 宿舍表(宿舍号)
)
insert into 宿舍表(电话) values('6333333')
insert into 同学表 values('123,''张三','女','汉','210106198107084018',1)