1、主键:若某一个属性组(注意是组)能唯一标识一条记录,该属性组就是一个主键。主键不能重复,且只能有有一个,也不允许为空。定义主键主要是为了维护关系数据库的完整性。
2、外键: 外键用于与另一张表的关联,是能确定另一张表记录的字段。外键是另一个表的主键,可以重复,可以有多个,也可以是空值。定义外键主要是为了保持数据的一致性。
3、简单来说就是把两个表关联起来。同样的一个名字在两个表中:如stu(name,sex)和表grade(name,cou),如果name是表stu中的主键,并且name也是表grade中的主键,那么表stu中的name就是表grade的外键了。
4、外键取值规则:空值或参照的主键值。插入非空值时,如果主键表中没有这个值,则不能插入。更新时,不能改为主键表中没有的值。删除主键表记录时,可以在建外键时选定外键记录一起级联删除还是拒绝删除。更新主键记录时,同样有级联更新和拒绝执行的选择。SQL的主键和外键就是起约束作用。
5、索引的主要作用为了提高查询速度。主键就是唯一索引。外键是两张表之间做连接关系时用的。一般是某一张表的一个外键字段引用另一张表的主键。
在关系型数据库中,数据结构有逻辑结构和物理结构。物理结构指存储在物理介质上的数据文件的结构。逻辑结构即关系,也就是一张张的二维表。表中的一列即为一个字段(属性),代表的是实体的一个属性。表中的一行即为一条记录。
其实很简单的,举个例子说明如何设置两个主键--创建学生表
create
table
学生表
(
int
not
null
primary
key
(学号),
姓名
nvarchar(20)
not
null,
性别
bit,
出生日期
int
not
null,
系编码
int
not
null
)
--创建课程表
create
table
课程表
(
课程号
int
not
null
primary
key
(课程号),
课程名
nvarchar(100)
not
null,
选修课号
int,
学分
decimal(2,1)
)
--创建选课表
create
table
选课表
(
学号
int
not
null,
课程号
int
not
null,
成绩
decimal(3,1)
primary
key(学号,课程号)
--将学号、课程号设为主键
)
sql 语句实现用 primary key(一个属性,第二个属性) 就ok了如果用的sqlserver2000 的企业管理器,直接选中一个属性后,按住 Shift键,然后选中另外一个属性,点击右键,设置主键,就ok了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)