数据库原理教案高技版
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章数据库系统基础知识
1.1 数据库系统概述
一、基本概念
1.数据
2.数据库(DB)
3.数据库管理系统(DBMS)
Access
小型VFP
SQL server
Oracle
大型DBMS MySQL
DB2
4.数据库系统(DBS)
数据库(DB)
数据库管理系统(DBMS)
开发工具
应用系统
四、数据库管理系统的功能和组成
1.DBMS 的功能:负责对数据库进行统一的管理与控制。 ① 数据定义:对数据库中各对象的结构进行定义。
② 数据操纵:包括对数据库进行查询、插入、删除、修改等操作。 ③ 数据控制:包括安全性控制、完整性控制、并发控制、数据库恢复。 2.DBMS 的组成:
DDL 语言 DML 语言 DCL 语言 实用程序
注意:①SQL 集DDL ,DML ,DCL 功能于一体; ②SQL 既是宿主型语言,又是嵌入式语言; ③ 所有应用程序通过SQL 语句才能访问数据库 五、开发、管理、使用数据库系统涉及的人员
系统分析员:负责应用系统的需求分析和数据库设计
程序员:编写代码
数据库管理员(DBA ):负责数据库的维护
最终用户
1.2数据模型 1.
2.1 概念模型
一、三个世界
1.现实世界:即具体事物
2.信息世界:对现实世界中的具体事物抽象为概念模型(即E-R 图),E-R 图与DBMS 无关。 3.机器世界:将E-R 图转换为某一种数据模型,数据模型与DBMS 相关。 二、实体及属性
1.实体:客观存在并可相互区别的人、事、物。 2.属性:
3.关键字(码、key ):能唯一标识每个实体又不含多余属性的属性组合。 一个表的码可以有多个,但主码只能有一个。
例:借书表(学号,姓名,书号,书名,作者,定价,借期,还期) 规定:学生一次可以借多本书,同一种书只能借一本,但可以多次续借。 4.实体型:即二维表的结构
例 student(sno ,sname ,ssex ,sage ,sdept) 5.实体集:即整个二维表 三、两实体集间实体之间的联系
1:1联系:如果对于实体集A 中的每一个实体,实体集B 中至多有一个实体与之联系,反
开发单位
使用单位
之亦然,则称实体集A 与实体集B 具有一对一联系。记为1:1。
1:n 联系:如果对于实体集A 中的每一个实体,实体集B 中有n 个实体(n ≥0)与之联系,反之,对于实体集B 中的每一个实体,实体集A 中至多只有一个实体与之联系,则称实体集A 与实体B 有一对多联系。记为1:n 。
m :n 联系:如果对于实体集A 中的每一个实体,实体集B 中有n 个实体(n ≥0)与之联系,反之,对于实体集B 中的每一个实体,实体集A 中也有m 个实体(m ≥0)与之联系,则称实体集A 与实体B 具有多对多联系。记为m :n 。
四、概念模型:常用E-R 图表示。
属性:
联系:
② E-R 图可以等价转换为层次、网状、关系模型。
例:某商业集团管理系统涉及两个实体型,实体型“商店”有商店编号、商店名、地址和电话属性;实体型“顾客”有顾客编号、姓名、性别、出生年月和家庭地址属性。顾客与商店间存在着消费联系。假定一位顾客可去多个商店购物,多位顾客可以前往同一商店购物,必须记下顾客每次购物的消费金额。
(1)试为此系统设计E-R 图。
(2)将此E-R 图转换成关系模式,并注明每个关系模式的主码和外码。
① ② ③ ① ② ③ ① ② 关系模型的存取路径对用户透明; ③ 查找关系数据库中的记录,速度最慢。
小结:数据有三种模型,DBMS 就有三种类型,DB 亦有三种类型。
思考与练习
1.学校有若干个系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生。每个班有若干学生,每个学生选修若干课程,每门课程有若干学生选修。用E-R图画出概念模型。
第2章关系数据库系统
2.1 关系模型的数据结构
①关系:一个关系就是一个二维表;
②关系模式:在实体型的基础上,注明主码。
③元组:二维表的一行,即实体;
④码、候选码:一个关系模式可以有多个候选码。
⑤主码:任选候选码中的一个。
⑥主属性:主码中包含的各个属性。
⑦非主属性:不包含在主码中的各个属性。
⑧外码:设F是关系R的一个属性,不是R的主码,但却是另一个关系S的主码,则称F 是关系R的外码。
例:student ( sno, sname, ssex, sage, sdept)
Sc ( sno, cno, grade)
Sc的主码为:(sno,cno);外码为:sno
2.2 关系的完整性
1.实体完整性:指关系的所有主属性都不能取空值。
注意:实体完整性不仅仅是主码整体不能取空值。
2.参照完整性:指一个关系外码的取值必须是相关关系中主码的有效值或空值。
例:班级( 班号,人数)
学生(学号,姓名,性别,密码,班号)
在学生表中,班号的取值必须是班级表“班号”的值或空值。其中班级称为“主键表”,学生称为“外键表”。
3.为了保证参照完整性,应该对数据库的修改加以限制,包括:
插入约束
删除约束(限制删除、级联删除)
更新约束(限制更新、级联更新)
2.3 数据库设计(见P137)
2.3.1 数据库设计的步骤
一、数据库设计的步骤
①需求分析:了解分析用户的需要、要求。
②概念结构设计:根据需求分析的结果画总体E-R图。
③逻辑结构设计:将总体E-R图转换为关系模式,并优化。
④物理结构设计:即决定为表中的哪些列创建聚集索引还是非聚集索引。
⑤数据库实施:定义数据库结构,组织数据入库,编写应用程序。
⑥数据库运行与恢复