数据库-基本概念

前提说明
键字=码字,所以 主键=主码=主关键字,候选键=候选码=候选关键字

1.1 基本概念

元组:表中的一行记录就是元组
码是数据系统中的基本概念。所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。

例如:学生是一个实体,则学生的集合是一个实体集。学生(实体)具有多个属性:学号、姓名、性别、年龄、系别、专业、身份证号等。最简单情况下,单个属性是码.最极端的情况下,整个属性组是码,称为全码.


名称概念
全码(键)所有属性集
超码(键) =码能够唯一标识一条记录的属性或属性集
候选码(键)能够唯一标识一条记录的最小属性集,候选键是没有多余属性的超键。举例:学生ID是候选码,那么含有候选码的都是码。
主码(键)某个能够唯一标识一条记录的最小属性集(是从候选码里人为挑选的一条)
主属性主属性是候选码属性的并集
非主属性不包含在候选码中的属性称为非主属性。 非主属性是相对于主属性来定义的
外键子数据表中出现的父数据表的主键,称为子数据表的外键
代理键当不适合用任何一个候选键作为主键时(如数据太长等),添加一个没有实际意义的键作为主键,这个键就是代理键。(如常用的序号1、2、3)
自然键自然生活中唯一能够标识一条记录的键(如身份证)

1.2 例子

课本上的定义过于笼统,下面我用一张学生成绩信息表给大家详细的说一下:
学生成绩信息表中有(学号、姓名、性别、年龄、系别、专业、身份证号)

超键/码:

学生表中含有学号或者身份证号的任意组合都为此表的超键。如:(学号)、(学号,姓名)、(学号,性别)等

  • 学号唯一,所以是一个超键(身份证同理)
  • (学号,性别)唯一,所以是一个超键
  • (学号,年龄)唯一,所以是一个超键
  • (学号,性别,年龄)唯一,所以是一个超键
候选键:
  • 学号唯一,而且没有多余属性,所以是一个候选键(身份证同理)
  • (学号,性别)唯一,但是单独学号一个属性就能确定这个人是谁,所以性别这个属性就是多余属性,所以(姓名,性别)不是候选键
  • (学号,年龄),(学号,性别,年龄)同上,也不是候选键
主键:

主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,学号能唯一标识这一个元组。

外键:

外键就很简单了,假如我们还有一个教师表,每个教师都有自己的编号,假设老师编号在老师这个层次中是主键,在学生表中它就是外键。

1.3 函数依赖

在关系中,包括在任何候选码中的属性称为主属性;不包括在任何候选码中的属性称为非主属性。
函数依赖只分析关系中的 非 主 属 性 对 主 属 性 之 间 的 依 赖 关 系 \color{blue}{非主属性对主属性之间的依赖关系} ,并不分析主属性对主键(码)的依赖关系。

名称含义
部分函数依赖设X,Y是关系R的两个属性集合,存在X→Y,若X’是X的真子集,存在X’→Y,则称Y部分函数依赖于X
完全函数依赖设X,Y是关系R的两个属性集合,X’是X的真子集,存在X→Y,但对每一个X’都有X’!→Y,则称Y完全函数依赖于X
传递函数依赖设X,Y,Z是关系R中互不相同的属性集合,存在X→Y(Y !→X),Y→Z,则称Z传递函数依赖于X

1.4 例子

学生成绩信息表中有(学号、姓名、性别、年龄、系别、专业、课程号,成绩)
主键:学号+课程号
主属性:{学号,课程号}
非主属性有:{姓名、性别、年龄、系别、专业,成绩}

部分函数依赖

姓名、性别、年龄、系别、专业属性与课程号无关:
如 : ( 学 号 , 课 程 号 ) − − − − > 姓 名 是 “ 部 分 函 数 依 赖 ” \color{blue}{如:(学号,课程号)---->姓名是“部分函数依赖”} >

完全函数依赖

成绩依赖于学号和课程号
( 学 号 , 课 程 号 ) − − − − > 成 绩 是 “ 完 全 函 数 依 赖 ” \color{blue}{(学号,课程号)---->成绩 是“完全函数依赖”} >

传递函数依赖

学生成绩信息表(学号、姓名、性别、年龄、系别、专业、课程号,成绩,系主任)
系主任依赖于系别,与学号无关,与课程号也无关。又因系别依赖于学号,系主任间接依赖于学号
( 学 号 , 课 程 号 ) − − − − − > 系 主 任 是 “ 传 递 函 数 依 赖 ” \color{blue}{(学号,课程号)----->系主任是“传递函数依赖”} >

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值