第五章 数据库技术

一、数据库基础

(一)基本概念

概念定义
数据(DATA)对客观事物的描述或逻辑归纳
数据库(DB)长期存储在计算机内、有组织、可共享的相关数据的集合
数据库系统(DBS)是指计算机系统中引入数据库后的系统
数据库管理系统(DBMS)建立、运用、管理维护数据库的系统软件,常见的有SQL Server、Oracle、MySQL、Access

(二)数据库技术的发展

阶段数据管理数据保存性共享性/冗余性独立性
人工管理阶段不保存不共享、冗余大无独立性
文件系统阶段文件系统长期保存共享差、冗余大独立性低
数据库系统阶段DBMS结构化保存共享高、冗余小独立性高

(三)数据库系统

在这里插入图片描述

1、数据库系统的三级结构

个数别名关键字
外模式多个用户模式/子模式用户、程序、视图
模式1个概念模式/概念视图概念、公共视图、全局视图
内模式1个物理模式/存储模式物理、存储

2、数据库系统的二级映像

①外模式/影像模式:保证逻辑独立性
②模式/内模式影像:保证物理独立性(就将内模式看做我们的一种存储结构,看不见、摸不着)

3、DBMS的主要功能

①数据定义:定义数据库的结构、完整性约束和用户的权限等。
②数据操纵:可实现对数据的插入、删除、修改和查询等操作。
数据控制(保护):主要包括数据的安全性控制、数据的完整性控制、数据的并发控制、数据的备份和恢复控制。
④数据维护:主要包括数据库出现故障后的恢复、数据库的重组、性能的监视等,由使用程序来完成。

二、数据模型

(一)认识数据模型

在这里插入图片描述
信息世界是对现实世界的抽象,计算机世界是对信息世界的抽象。
数据模型的组成要素:

  • 数据结构:描述数据库的组成对象以及对象之间的联系
  • 数据操作:允许执行的操作的集合,主要有查询和更新(包括插入、删除、修改)两大类操作。
  • 数据库的完整性约束条件:是一组完整性规则。主要有实体完整性、参照完整性和用户自定义完整性约束。

(二)概念模型(E-R模型)

1、相关术语

术语说明实例
实体客观存在并可以相互区分的事物学生、教师、班级等
属性实体所具有的特征学号、身份证号、年龄、性别等
实体型同类实体,由实体名和属性名来描述学生(学号、身份证号、年龄、性别)
实体集同一类型的实体的集合全体学生、全体教师等
码(键、关键字)唯一标识实体的某一属性或属性集学号、身份证号
某一属性的取值范围性别的取值范围为{男,女}
联系实体和实体之间的现实关联教师和学生是教与被教的关系

2、实体型之间的关系

  • 一对一联系(1:1)
  • 一对多联系(1:n)
  • 多对多联系(m:n)

3、E-R图

矩形表示实体;
椭圆表示属性;
菱形表示联系;
无向边;
联系类型

在这里插入图片描述

(三)逻辑模型

1、层次模型

结构:树形结构
在这里插入图片描述
特点:
(1)一个模型有且只有一个节点没有双亲节点,这个节点称为根节点
(2)根节点以外的其他节点有且只有一个双亲节点
(3)父子节点之间的联系是一对多联系(1∶n)

2、网状模型

结构:网型结构
在这里插入图片描述
特点:
(1)允许一个以上的节点没有双亲节点
(2)允许一个节点有多个双亲节点
(3)节点之间存在多对多联系( m:n)

3、关系模型

结构:二维表
联系:一对一、一对多、多对多
在这里插入图片描述

三、关系数据库

(一)关系模型

1、基本概念

(1)关系:二维表(有行有列)
(2)属性:列、字段;元数(下表为6元关系表)
(3)域:值域(取值范围)
(4)元组:行、记录
(5)分量:属性值;如,(01001,赵乾,女,讲师,计算机,6000)中“01001”为一个分量
(6)关系模模式:二维表结构;如,T(TNo,TN,Sex,Prof,Dept,Sal )
在这里插入图片描述

2、关系的性质

(1)每一列是同质的
(2)不同列可同域但不同名
(3)列的顺序可以任意交换
(4)行的顺序可任意交换
(5)不允许出现完全一样的行
(6)不允许出现合并单元格

3、E-R图和关系模式的转换

码:码是可以确定一个元组的所有信息的属性名或属性名组
(1)一对一联系的转换
在这里插入图片描述
(2)一对多联系的转换
在这里插入图片描述
(3)多对多联系的转换
在这里插入图片描述

(二)关系模型的完整性约束

3类:实体完整性、参照完整性、用户定义完整性

1、关系的码

键码定义
候选码唯一确定一个元组的属性或属性集
主属性包含在候选码中的属性
非主属性不包含在任何候选码中的属性
主码若有多个候选码,选定其中一个为主码(主键、主关系键、关系键、关键字)
外码若属性X1是R1的主码,同时又在另一个关系R2,则称X是R2的外码

2、实体完整性

原则:有主码(不空)②不同元组的主码不重复
【例】在选课(学号,课程编号,成绩)中,主码为(学号,课程编号),则“学号”与“课程编号”两个属性值都不能为空。

3、参照完整性

原则:R2表的外键X的取值,参照R1表的主键值
【例】已知学生与选课的关系如下:
学生(学号,姓名,性别,系别,年龄)
选课(学号,课程编号,成绩)
则选课关系中的“学号”只能取学生关系中“学号”中已经存在的值。

4、用户自定义完整性

原则:事先定义阈值
【例】规定选课关系中“成绩”属性的取值范围为0~100之间的整数等。

(三)代数运算

1、传统的集合运算

①并
在这里插入图片描述
②差
在这里插入图片描述
③交
在这里插入图片描述
④笛卡尔积
在这里插入图片描述

2、专门的关系代数运算

①选择(根据条件得到行)
在这里插入图片描述
②投影(根据条件得到列)
在这里插入图片描述
③连接
等值连接:
在这里插入图片描述
自然连接:
在这里插入图片描述

四、ACCESS数据库(给图看懂)

(一)创建数据表

在这里插入图片描述

1、数据类型

在这里插入图片描述

2、字段属性

对数据类型作进一步限制。
在这里插入图片描述

3、数据表之间的关系

在这里插入图片描述

(二)编辑数据表记录

1、添加记录

在这里插入图片描述

2、删除记录

在这里插入图片描述

3、更新记录

在这里插入图片描述

(三)创建查询

在这里插入图片描述
①指定列查询(勾选谁,谁就查询出来
在这里插入图片描述
在这里插入图片描述
②排序查询
在这里插入图片描述

③条件查询
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、SQL基础

(一)SQL特点

综合能力强,非过程化,面向集合,使用方法灵活,简洁易用:九个动词

功能动词命令
数据定义CREATE,ALTER,DORP
数据操纵INSERT,UPDATE,DELETE
数据查询SELECCT
数据控制GRANT,REMOVE

(二)数据表的基本操作

1、数据类型

字符串型:char,varchar
数值型:int,float
日期型:data

2、数据定义

①创建
在这里插入图片描述
②修改
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
③删除
在这里插入图片描述

3、数据操纵

①插入
在这里插入图片描述
在这里插入图片描述

②修改
在这里插入图片描述
③删除
在这里插入图片描述

4、单表查询

在这里插入图片描述
①无条件查询
在这里插入图片描述
②条件查询
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
③聚集函数
在这里插入图片描述
④分组查询
在这里插入图片描述
在这里插入图片描述
⑤排序查询
在这里插入图片描述

5、多表查询

在这里插入图片描述
在这里插入图片描述

六、关系数据库的设计

(一)、设计步骤

在这里插入图片描述

(二)设计方法

1、基于E-R模型的数据库设计方法
在这里插入图片描述
2、基于3NF的数据库设计方法
在这里插入图片描述

(二)函数依赖

1、定义
在这里插入图片描述

2、推理规则
在这里插入图片描述
3、类型
①完全函数依赖
在这里插入图片描述
②部分函数依赖
在这里插入图片描述
③传递函数依赖
在这里插入图片描述
④-⑤
在这里插入图片描述
在这里插入图片描述

(三)范式

1、第一范式 1NF
在这里插入图片描述
2、第二范式 2NF
在这里插入图片描述
3、第三范式 3NF
在这里插入图片描述
4、BC范式 BCNF
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值