微信搜索:凯小白学编程,定期分享源码资源
数据库系统概述
一、有关概念
1.数据
2.数据库(DB)
3.数据库管理系统(DBMS)
Access
桌面DBMS VFP
SQL Server
Oracle
客户机/服务器型DBMS MySQL
DB2
4.数据库系统(DBS)
数据库(DB)
数据库管理系统(DBMS)
开发工具
应用系统
二、数据管理技术的发展
1.数据管理的三个阶段
|
人工管理 |
文件系统 |
数据库系统 |
数据能否保存 |
不能保存 |
可以保存 |
可以保存 |
数据面向的对象 |
某一应用程序 |
某一应用程序 |
整个应用系统 |
数据的共享程度 |
无共享,一组 数据只能对应一个应用程序。 |
共享性差,一个数据文件只能对应一个应用程序。 |
共享性高 |
数据的独立性 |
不独立,它是应用程序的一部分。 |
独立性差 |
数据库与应用系统完全分开 |
概念模型
一、模型的三个世界
1.现实世界
2.信息世界:即根据需求分析画概念模型(即E-R图),E-R图与DBMS无关。
3.机器世界:将E-R图转换为某一种数据模型,数据模型与DBMS相关。
注意:信息世界又称概念模型,机器世界又称数据模型
二、实体及属性
1.实体:客观存在并可相互区别的事物。
2.属性:
3.关键词(码、key):能唯一标识每个实体又不含多余属性的属性组合。
一个表的码可以有多个,但主码只能有一个。
例:借书表(学号,姓名,书号,书名,作者,定价,借期,还期)
规定:学生一次可以借多本书,同一种书只能借一本,但可以多次续借。
4.实体型:即二维表的结构
例 student(no,name,sex,age,dept)
5.实体集:即整个二维表
三、实体间的联系:
1.两实体集间实体之间的联系
1:1联系
1:n联系
m:n联系
2.同一实体集内实体之间的联系
1:1联系
1:n联系
m:n联系
四、概念模型(常用E-R图表示)
说明:① E-R图作为用户与开发人员的中间语言。
② E-R图可以等价转换为层次、网状、关系模型。
举例:
学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授
和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课程有若干学生选修。用E-R图画出概念模型。
数据模型
一、层次模型:用树型结构表示实体之间的联系。
① 每个结点代表一个实体型。
② 只能直接处理一对多(含一对一)的实体关系。
③ 查找层次数据库中的记录,速度较慢。
二、网状模型:用图结构表示实体之间的联系。
① 每个结点代表一个实体型。
② 可以处理多对多的实体关系。
③ 查找网状数据库中的记录,速度最快。
三、关系模型:用二维表表示实体之间的联系。
1.重要术语:
关系:一个关系就是一个二维表;
元组:二维表的一行,即实体;
关系模式:在实体型的基础上,注明主码。
关系模型:指一个数据库中全部二维表结构的集合。
2.特点:
① 关系模型是建立在严格的数学理论的基础上的;
② 关系模型的存取路径对用户透明;
③ 查找关系数据库中的记录,速度最慢。
小结:数据有三种类型,DBMS就有三种类型,DB亦有三种类型。
数据库系统结构
一、数据库系统的体系结构
① 单机结构:
DBMS、数据库、开发工具、应用系统安装在一台计算机上。
② C/S结构:局域网结构
客户机:装开发工具、应用系统
服务器:装DBMS、数据库
③ B/S结构:Internet 结构
服务器:装DBMS、数据库、开发工具、应用系统
客户机:装IE即可
三、 数据库系统的模式结构
1.三级模式
① 模式:是数据库中全体数据的逻辑结构和特征的描述。
② 外模式:是模式的一个子集,是与某一个应用程序有关的逻辑表示。
特点:一个应用程序只能使用一个外模式,但同一个外模式可为多个应用程序使用。
③ 内模式:描述数据库结构的存储,但不涉及物理记录。
2.两级映象
① 外模式/模式映象:保证数据库的逻辑独立性;
② 模式/内模式映象:保证数据库的物理独立性;
3.两级映象的意义
① 使数据库与应用系统完全分开,数据库改变时,应用系统不必改变。
② 数据的存取完全由DBMS管理,用户不必考虑存取路径。
数据库管理系统
① 数据定义:即定义数据库中各对象的结构
② 数据操纵:包括对数据库进行查询、插入、删除、修改等操作。
③ 数据控制:包括安全性控制、完整性控制、并发控制、数据库恢复。
2.DBMS的组成:
DDL语言
DML语言
DCL语言
实用程序
注意:
① SQL集DDL,DML,DCL功能于一体;
② 所有应用程序通过SQL语句才能访问数据库
一、 基本概念
1.码:能唯一标识元组的属性集。
2.候选码:一个属性集既能唯一标识元组,且又不含有多余属性,一个关系模式可以有多个候选码。
3.主码:任选候选码中的一个。
4.主属性:主码中包含的各个属性。
5.非主属性:不包含在主码中的各个属性。
6.外码:设F是关系R的一个属性,不是R的主码,但却是另一个关系S的主码,则称F是关系R的外码。
例:student ( sno, sname, ssex, sage, sdept)
Sc ( sno, cno, grade)
Sc的主码为:(sno,cno);外码为:sno
关系的数学定义
一、域( domain)
1.定义:域是一组具有相同类型的值的集合。
2.域的基数:域中所含数据的个数。
二、笛卡尔积
1.定义:给定一组域D1,D2,D3,则D1×D2×D3称为笛卡尔积。
2.笛卡尔积D1×D2×D3对应一个二维表,所含元组的个数等于各个域的基数之积。
三、关系
1.定义:笛卡儿积的一部分元组称为关系。
2.关系的目(或度):一个关系所含属性的个数。
3.关系的性质
任意两个元组不能完全相同,但属性名允许重复。
四、关系的完整性
1.实体完整性:指关系的所有主属性都不能取空值。
注意:实体完整性不仅仅是主码整体不能取空值。
2.参照完整性:指一个关系外码的取值必须是相关关系中主码的有效值或空值。
例:班级( 班名,人数)
学生(学号,姓名,性别,密码,班名)
在学生表中,班名的取值必须是班级表[班名]的值或空值。