数据库概念总结

来源:互联网 发布:linux exe 编辑:程序博客网 时间:2024/05/18 07:53

基本概念集合体:
关系(relation): 一个关系通常就是一张表
元组(tuple):一行就是一个元组
属性(attribute):一列就是一个属性
码(key):可以确定一个元组
分量:元组中一个属性值
域:一组具有相同类型的值得集合

数据库三级模式
笛卡尔积:
例子: D1={1,2} D2={1,2}
D1XD2={{1,1},{1,2},{2,1},{2,2}}
主码:PRIMARY KEY
主码从多个候选码中选出,候选码的属性称为主属性,不包含任何候选码中的属性称为非主属性

关系分为三种类型 基本关系(真实存在的表) 查询表(查找结果对应的表) 视图表(不存在的表,由其他视图或基本表导出)


关系运算
U(并) 如果有相同的列名,就找到相同的合并,不同的就增加一行存放
^ (交) 找到相同的行形成一个表即可
-(差) 一个表里除去与减去的那个表相同的部分
X(笛卡尔) 一个表的每一行都与另一张表中的每一行形成一行。

选择 :σf(R)={t|t∈R∧F(t)=‘真’}从关系R中选取使逻辑表达式F为真的元组,这是从行的角度进行的运算
【例1】查询年龄小于20岁的元组。
σSage<20(Student)
投影:   ∏A(R) = { t[A] | t∈R }关系R上的投影是从R中选择出若干属性列组成新的关系,投影操作是从列的角度进行的运算
【例2】查询学生关系Student在学生姓名和所在系两个属性上的投影。
   ∏Sname,Sdept(Student)
连接:笛卡尔积 保留左边表空值叫左外连接 保留右边表空值叫做右外连接

除运算: 象集 一列上某个值对应的多个其他列的值得集合
除运算的结果就是如果前一个表里某行有的分量(a1)的象集里有另一张表里有的列的投影的话,就取该分量为结果(p56)

数据库安全概念
主体:就是操作用户
客体:就是被操作的权限。
敏感标记: TS>S>C>P
审计:就是日志,把对数据库的操作生成日志。

数据库完整性(数据得正确性和相容性--数据在同一对象在不同表中的数据符合逻辑)

关系数据理论
数据依赖(一个关系内部属性与属性之间的一种约束关系)(这部分转载自 http://blog.sina.com.cn/s/blog_5cd78a5d0100djoj.html 稍微做了改动)
函数依赖
设R(U)是属性U上的一个关系模式,X和Y均为U={A1,A2,…,An}的子集,r为R的任一关系,如果对于r中的任意两个元 组u,v,只要有u[X]=v[X],就有u[Y]=v[Y],则称X函数决定Y,或称Y函数依赖于X,记为X→Y。

例:
(sno-学生ID,tno-教师ID,cno-课程ID,sname-学生姓名,tname-教师姓名,cname-课程名称,grade-成绩)
1、sno→sname, cno→cname,(sno,cno)→grade √
2、sname→sno, tno→cno, sno→tname ×    

依赖关系的说明
设X、Y均是U的子集
1、X和Y间联系是1:1,则X→Y,Y→X。(相互依赖,可记作X←→Y)
2、X和Y间联系是M:1(M), 则X→Y。
3、X和Y间联系是M:N(M,N),则X、Y间不存在函数依赖。

部分依赖说明
(学生ID,所修课程ID)→学生姓名
学生ID→学生姓名
学生姓名可以依赖于关键字的一个主属性——学生ID,因此学生姓名部分函数依赖于(学生ID,所修课程ID)。
完全依赖说明
(学生ID,所修课程ID)→成绩
成绩既不能单独依赖于学生ID,也不能单独依赖于所修课程ID,因此成绩完全函数依赖于关键字。
平凡依赖与非平凡依赖
若Y包含于X,则称X→Y为:平凡函数依赖;
若Y不包含于X,则称X→Y为:非平凡函数依赖。
多值依赖的定义:(本部分参考http://www.2cto.com/database/201412/362708.html
设R(U)是一个属性集合U上的一个关系模式,X, Y, 和Z是U的子集,并且Z=U-X-Y,多值依赖X->->Y成立当且仅当对R的任一个关系r,r在(X,Z)上的每个值对应一组Y的值,这组值仅仅决定于X值而与Z值无关。
例子:
(课程C) ——(教师T)—(参考书B)
数据库概率 —顾国生老师——数学分析
数据库概率 —顾国生老师——高等代数
数据库概率 —顾国生老师——微分方程
上述例子U{C,T,B},其中课程C和教师T唯一确定一组B,却与T无关,经由C决定,然而T并不是空集,所以是非平凡的多值依赖。
事实上,当T为空的时候,如果C中的每一个值c对应B中的一个确定的值,则变为函数依赖,所以函数依赖是多值依赖的一种特殊情况。


超码
元组部分依赖的称之为 超码 ,候选码是最小的超码
主属性与非主属性
包含在任何一个候选码中的属性称之为 主属性,不包含任何候选码中的属性称之为 非主属性;

范式(本部分参考 http://blog.sina.com.cn/s/blog_46d817650100yj2i.html
第一范式 1NF(特点 : 属性不可分)下表中的 tel属性分成了两个
nametelage大宝1361234567822小明13988776655010-123456721
第二范式 2NF(特点:属性不可分且非主属性完全依赖于码)
一 个候选码中的主属性也可能是好几个。如果一个主属性,它不能单独做为一个候选码,那么它也不能确定任何一个非主属性。给一个反例:我们考虑一个小学的教务 管理系统,学生上课指定一个老师,一本教材,一个教室,一个时间,大家都上课去吧,没有问题。那么数据库怎么设计?(学生上课表)
学生课程老师老师职称教材教室上课时间小明一年级语文(上)大宝副教授《小学语文1》10114:30

一个学生上一门课,一定在特定某个教室。所以有(学生,课程)->教室
一个学生上一门课,一定是特定某个老师教。所以有(学生,课程)->老师
一个学生上一门课,他老师的职称可以确定。所以有(学生,课程)->老师职称
一个学生上一门课,一定是特定某个教材。所以有(学生,课程)->教材
一个学生上一门课,一定在特定时间。所以有(学生,课程)->上课时间
因此(学生,课程)是一个码。
然而,一个课程,一定指定了某个教材,一年级语文肯定用的是《小学语文1》,那么就有课程->教材。(学生,课程)是个码,课程却决定了教材,这就叫做不完全依赖,或者说部分依赖。出现这样的情况,就不满足第二范式!
有什么不好吗?你可以想想:
1、校长要新增加一门课程叫“微积分”,教材是《大学数学》,怎么办?学生还没选课,而学生又是主属性,主属性不能空,课程怎么记录呢,教材记到哪呢? ……郁闷了吧?(插入异常)
2、下学期没学生学一年级语文(上)了,学一年级语文(下)去了,那么表中将不存在一年级语文(上),也就没了《小学语文1》。这时候,校长问:一年级语文(上)用的什么教材啊?……郁闷了吧?(删除异常)
3、校长说:一年级语文(上)换教材,换成《大学语文》。有10000个学生选了这么课,改动好大啊!改累死了……郁闷了吧?(修改异常)
那应该怎么解决呢?投影分解,将一个表分解成两个或若干个表
学生课程老师老师职称教室上课时间小明一年级语文(上)大宝副教授10114:30

学生上课表新
课程教材一年级语文(上)《小学语文1》

第三范式 3NF(符合2NF 且 消除传递依赖 )
上面的“学生上课表新”符合2NF,可以这样验证:两个主属性单独使用,不用确定其它四个非主属性的任何一个。但是它有传递依赖!
在哪呢?问题就出在“老师”和“老师职称”这里。一个老师一定能确定一个老师职称。问题(老师->(学生,学生课程)->老师职称?
有什么问题吗?想想:
1、老师升级了,变教授了,要改数据库,表中有N条,改了N次……(修改异常)
2、没人选这个老师的课了,老师的职称也没了记录……(删除异常)
3、新来一个老师,还没分配教什么课,他的职称记到哪?……(插入异常)
那应该怎么解决呢?和上面一样,投影分解:
学生课程老师教室上课时间小明一年级语文(上)大宝10114:30

老师老师职称大宝副教授
BCNF (符合3NF 且主属性不依赖于主属性)
若一个关系达到了第三范式,并且它只有一个候选码,或者它的每个候选码都是单属性,则该关系自然达到BC范式。

数据依赖的公理系统(这里引用http://www.2cto.com/database/201505/397479.html 且不完全)
这里我非常不熟悉。。。。各位,请到该网址去看吧,不然我怕会误导。

数据库设计
1.需求分析
数字字典
全系统中的数据项
数据结构
数据流
数据存储描述
2.概念结构设计
E-R图
实体:正方形
属性:椭圆
联系:菱形
数据字典
数据项描述={数据项名,数据项含义说明,别名,数据类型,长度,取值范围,取值含义,与其他数据项的逻辑关系}
数据结构描述={数据结构名,含义说明,组成:{数据项或数据结构}}
数据流描述={数据流名,说明,数据流来源,数据流去向,组成:{数据结构},平均流量,高峰期流量}
数据存储描述={数据存储名,说明,编号,输入的数据流,输出的数据流,组成:{数据结构},数据量,存取频度,存取方式}
处理过程={处理过程名,说明,输入:{数据流},输出:{数据流},处理:{简要说明}}
3.逻辑结构设计
数据模型(就是各种表格和表格间的关系)
4.物理结构设计
存储安排
存取方法选择
存取路径建立
5.数据库实施
创建数据库模式
装入数据
数据库试运行
6.数据库运行和维护
性能检测
转储
恢复
数据库重组
重构
1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 移动手机卡不知道号码怎么办 天猫退款手机号换了怎么办 科目二考试脚抖怎么办 面试新工作没打电话怎么办 怀孕5个月胎位低怎么办 做业务很害怕打电话怎么办 固定电话总是接到骚扰电话怎么办 电话卡通话被限制了怎么办? 手机名单拉黑了怎么办 被苹果6s被拉黑怎么办 重庆福利企业解聘残疾职工怎么办 被银行拉入黑名单怎么办 借的钱还不起了怎么办 支付宝手机号空号了怎么办 到处贷不到钱了怎么办 还不起钱借不到怎么办 闯红灯收到短信不去扣分怎么办 被一家公司骗了怎么办 oppo手机无线网信号差怎么办 oppo手机无线网网速慢怎么办 电脑无法解析dns地址怎么办 vivox9手机卡顿反应慢怎么办 vivo手机设置成英文怎么办 wi-fi模块坏了怎么办 苹果手机dns被劫持怎么办 圆通快递一直不派送怎么办 凯越没有高压火怎么办 理财回执单丢了怎么办 余额宝超10万怎么办 商场主题经营改变商户怎么办 一个好的项目需要资金怎么办 没有做暂估入库的凭证怎么办 电脑显示宽带连接已断开怎么办 电脑ip地址连不上网怎么办 百度网盘资源打不开怎么办 百度网盘视频格式不支持怎么办 origin注册邮箱填错了怎么办 58同城手机输入不合法怎么办 银行卡密码输入错误三次怎么办 私密相册系统升级后打不开怎么办 由于志愿没填好孩子没书读怎么办