八、数据库基础知识
数据模型的基本概念
模型 对现实世界特征的模拟和抽象
数据模型 对现实世界数据特征的抽象
数据模型的三要素 数据结构、数据操作、数据的约束条件(完整性约束)
概念数据模型 主要用于数据库设计 E-R模型
基本数据模型 用于实现DBMS 层次模型、网状模型、关系模型
相关概念
关系:一个关系对应通常说的⼀张表
属性:表中的⼀列即为⼀个属性
元组:表中的⼀⾏即为⼀个元组
分量:元组中的⼀个属性值
关系模式:对关系的描述,关系名称记为R ( A1,A2,....,An ),括号中为属性
候选码/候选键(能够唯一识别,但又未作为主键)
主码/主键(员工号)
外码/外键(员工中的部门号)
主属性(属于候选码的属性)/非主属性(属于非候选码的属性)
全码(所有属性联合起来才能作为全码)
员工 (员工号,姓名,性别,参加工作时间,部门号)
部门 (部门号,名称,电话,负责人)
DBMS-数据库管理系统
功能
数据定义
数据操作
数据库运行管理
数据组织、存储和管理
数据的建立和维护
其它功能
特征
数据结构化且统一管理
有较高的数据独立性
数据控制功能
数据库的安全性
数据库的完整性
并发控制
故障恢复
三级模式/两级映像
三级模式:外模式、概念模式、内模式
数据库设计
E-R模型(E:实体,R:关系)
实体的属性
简单属性:不能拆分成更小的列了(性别)
复合属性:由多个简单属性构成,可以继续拆分(地址)
单值属性:取值只能为一个(张三的性别男)
多值属性:可以取多个值(张三的电话)
null属性:无数据
派生属性:可以根据其它数据计算出来(总金额)
三要素
实体、属性、联系
两个不同实体之间的联系
一对一:班级与班长
一对多:班级与学员
多对多:课程与学员
三个不同实体之间联系
多重度的确定
以三元关系中的一个实体作为中心,假设另两个实体都只有一个实例
若中心实休只有一个实例能与另两个实休的一个实例进行关联,则中心实体的连通数为“—“
若中心实体有多于一个实例能与另两个实体实例进行关联,则中心实体的连通数为
医生、病人、病房
E-R模型向关系数据库转换
建立数据库的概念模型
一对一联系
将联系转换成一个独立的关系模式
关系模式的名称取联系的名称
关系模式的属性包括该联系所关联的两个实体的码及联系的属性
关系码取任意一方实体的码
将联系归并到关联的两个实体的任一方
在待归并的一方实体属性中增加另一方实体的码和该联系的属性即可
归并后的实体码保持不变
一对多联系
将联系转换成一个独立的关系模式
关系模式的名称取联系的名称
关系模式的属性包括该联系所关联的两个实体的码及联系的属性
关系的码取多方实体的码
将联系归并到关联的两个实体的任一方
在待归并的一方实体属性中增加另一方实体的码和该联系的属性即可
归并后的多方实体码保持不变
多对多联系
将联系转换成一个独立的关系模式
关系模式的名称取联系的名称
关系模式的属性取该联系所关联的两个多方实体的码及联系的属性
关系的码是多方实体的码构成的属性组
关系代数
概念:是一种传统的表达方式,用对关系的运算来表达查询运算对象、运算结果都为关系
笛卡尔积
广义笛卡尔积
关系运算-投影
是从垂直方向进行运算·即在关系R中选择出若干属性列A组成新的关系
关系运算-选择
是从关系的水平方向进行运算,是从关系R中选择满足给定条件的诸元组
关系运算-连接
是从两个关系R和S的笛卡尔积中选取满足条件的元组
自然连接
要求两个关系中进行比较的分量必须是相同的属性组并且在结果集中将重复属性列去掉
数据库语言
SQL
结构化查询语言
是关系数据库的标准语言DDL DML DCL
数据查询SELECT
数据定义 CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE
创建表
完整性约束
SELECT基本结构
简单查询、连接查询、集函数(平均、最小值、最大值、求和、计数)、字符串操作(like、null)