当前位置:文档之家› 数据库原理教案高技版

数据库原理教案高技版

第1章数据库系统基础知识1.1 数据库系统概述一、基本概念1.数据2.数据库(DB)3.数据库管理系统(DBMS)Access小型VFPSQL serverOracle大型DBMS MySQLDB24.数据库系统(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);外码为:sno2.2 关系的完整性1.实体完整性:指关系的所有主属性都不能取空值。

注意:实体完整性不仅仅是主码整体不能取空值。

2.参照完整性:指一个关系外码的取值必须是相关关系中主码的有效值或空值。

例:班级( 班号,人数)学生(学号,姓名,性别,密码,班号)在学生表中,班号的取值必须是班级表“班号”的值或空值。

其中班级称为“主键表”,学生称为“外键表”。

3.为了保证参照完整性,应该对数据库的修改加以限制,包括:插入约束删除约束(限制删除、级联删除)更新约束(限制更新、级联更新)2.3 数据库设计(见P137)2.3.1 数据库设计的步骤一、数据库设计的步骤①需求分析:了解分析用户的需要、要求。

②概念结构设计:根据需求分析的结果画总体E-R图。

③逻辑结构设计:将总体E-R图转换为关系模式,并优化。

④物理结构设计:即决定为表中的哪些列创建聚集索引还是非聚集索引。

⑤数据库实施:定义数据库结构,组织数据入库,编写应用程序。

⑥数据库运行与恢复二、超类与子类飞行员(职工号,飞行小时,健康检查,飞机型号)管理员(职工号,职务,职称)工人(职工号,技术等级)2.3.2 概念结构设计一、局部E-R图设计1.确定局部范围通常把系统涉及的各个部门或各个主要功能作为局部。

2.联系的属性:必须包含相关联的各实体型的主码。

3.联系的主码1:1联系:可以是相关联的任一实体型的主码。

1:n联系:必须是n方实体型的主码。

m:n联系:必须是相关联的各实体型的主码之和。

二、合并成总体E-R图1.消除各局部E-R图的冲突问题。

2.按公共实体名合并,生成初步E-R图。

3.消除冗余的属性和冗余的联系,生成总体E-R图。

2.3.3 逻辑结构设计1.把每个实体型转换为一个关系模式。

2.1:1联系:可以消化到相关联的任一实体型对应的关系模式中。

班长3.1学生(XH,班级(BH,4.m:n5物理结构设计任务:在逻辑设计的基础上,为每个关系模式选择合适的存储结构与存储方式。

①选择存储结构:即决定每个表的记录顺序。

②选择存取方式:即决定为哪些属性建立非聚集索引,以便加快查找速度。

思考与练习1.现有一个关系模式:借阅(书号,书名,库存数,读者号,借期,还期),假如同一本书允许一个读者多次借阅,但不能同时对一种书借多本。

则该关系模式的主码是(),主属性是()。

2.某旅行社管理系统涉及的部分信息如下:(1)景点:景点编号、景点名称、地点、景点描述(2)线路:线路编号、线路名称、线路描述(3)导游:工号、姓名、等级(4)团队:团队编号、人数、开始日期、截止日期其中:每条线路由多个景点组成,不同线路的景点存在交叉;每条线路有多名导游,但一名导游只负责一条线路;每条线路可同时存在多个旅游团队,但每个团队只旅游一条线路。

(1)建立一个反映上述局部应用的E-R图,要求标注联系类型(可省略实体属性)。

(2)将E-R图转换为关系模式,要求标注每个关系模式的主键和外键。

3.假设要为某个工厂的物资管理设计一个数据库。

物资管理涉及的实体有:·仓库(仓库号,仓库面积,电话号码)·零件(零件号,名称,规格,单价,描述)·供应商(供应商号,姓名,地址,电话号,账号)·项目(项目号,预算,开工日期)·职工(职工号,姓名,年龄,职称)这些实体之间的联系如下:①一个仓库可以存放多种零件,一种零件可以存放在多个仓库中。

②一个仓库有多个职工当仓库保管员,一个职工只能在一个仓库工作。

③职工之间具有领导被领导的关系,即仓库主任领导若干保管员。

④一个供应商可以供应多种零件,一种零件可以由多个供应商供应。

⑤一个项目用到多种零件,而一种零件适用于多个项目。

设想一下如何设计E-R图,将其转换成关系模式,并画出数据结构图。

第3章SQL Server数据库应用基础3.1 SQL server2000常用工具服务管理器企业管理器查询分析器3.2 创建和使用数据库一、数据库文件(P33)1.一个数据库至少有一个主要数据文件和一个事务日志文件。

如果数据库很大,可以使用一个主要数据文件,多个次要数据文件和多个事务日志文件。

2.主要数据文件(.mdf )用来存放数据库的各类对象次要数据文件(.ndf )事务日志文件(.ldf ):用来记录对数据库对象的所有更新操作。

3.文件组:当多个数据文件组成一个文件组时,就可以对它们整体进行管理。

二、创建和使用数据库1.创建数据库Create database 数据库名2.打开数据库Use数据库名3.删除数据库Drop database数据库名三、管理数据库1.分离和附加数据库2.备份和还原数据库3.数据的导入和导出3.3 创建和使用数据表一、数据类型(P61)1.整型2.实型①精确数值型Decimal(p,s)Numeric(p,s)精度P:表示全部数字的位数(不计小数点和正负号)S:表示小数位数,若缺省S,则默认为0P-S:表示整数位数②近似数值型Real 精确到7位有效数字Float 精确到15位有效数字3.字符型char(n) 定长字符型,n表示字符数,取值为1~8000。

若缺省n,则默认为1。

varchar(n) 变长字符型text 可以存储任意长的字符串标准字符型:每个英文字母、数字算1个字符,每个汉字算2个字符,每个字符占1个字节。

4.统一码字符型统一码字符型:每个英文字母、数字、汉字算1个字符,每个字符占2个字节。

nchar(n) n表示字符数,取值为1~4000。

nvarchar(n)ntext 可以存储任意长的统一码字符串。

例:设某表的结构如下:no char(6), name nchar(6)则no可以赋予3个汉字,name可以赋予6个汉字5.二进制型:存放用十六进制数表示的图像、声音数据。

binary(n) 定长二进制型,n表示字节数,取值为1~8000。

varbinary(n) 变长二进制型image注意:十六进制数以0x开头。

6.日期时间型Datetime、Smalldatetime①若省略日期部分,则默认为:’1900-1-1’若省略时间部分,则默认为:’00:00:00’②日期格式:’yyyy-mm-dd’时间格式:’hh:mm:ss’7.贷币型Money:占8个字节,保留4位小数Smallmoney:占4个字节,保留4位小数字符串常量:由单引号括住的字符序列贷币型常量:可以是一个实型常量二、使用企业管理器创建表1.在一个表中只能定义一个标识字段。

相关主题