文档内容
《信息技术》三色速记手册
第六章 数据库技术
【考点一】数据库体系结构
三级模式结构概念
模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公共数
据视图。
外模式也称子模式(Subschema)或用户模式,它是数据库用户(包括应用程序员和最终用
户)能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与
某一应用有关的数据的逻辑表示。
内模式也称存储模式(Storage Schema),一个数据库只有一个内模式。它是数据物理结构
和存储方式的描述,是数据在数据库内部的表示方式。
1.外模式/模式映射
定义外模式和模式间的对应关系。对应同一个模式可以有多个外模式,对每个外模式都有一
个外模式/模式映象。
2.模式/内模式映射
定义数据库模式(全局逻辑结构)和内模式(存储结构)间的对应关系。一个数据库只有一
个模式,也只有一个内模式,因此模式/内模式的映象也是唯一的。
三级模式结构概念
【考点二】数据库体系组成与分类
(一)数据库系统是数据库、硬件、软件和人员四部分组成
(二)数据库系统分类
1.数据库系统按照数据模型划分主要有层次数据库、网状数据库、关系数据库
2.数据库系统就被分为关系型数据库(RDBM)和非关系型数据库(NoSQL)。
(三)常用数据库系统
类别 对应数据库
41《信息技术》三色速记手册
大中型 Oracle(Oracle公司)、DB2(蓝色巨人IBM)、SQLServer(微软公司)、Sybase
数据库 (Sybase公司,已被SAP收购)
小型 Foxpro /VFP(原为Fox Software公司的产品,后被微软收购)、Access(微
数据库 软)、MySQL(瑞典MySQL AB公司开发,后被Oracle收购)
SQLite(开源)、Firebird(开源)
嵌入式 BerkeleyDB(开源,SleepycatSoftware,2006年2月,Oracle收购了Sleepycat
数据库 Software。)
SQLCE(SQL Server的CE版本)
【考点三】概念模型
(一)概念模型——E-R模型
(一)概念模型——实体间的联系
类型 概念
一对一
实体集A中的一个实体至多与实体集B中的一个实体相对应,反之亦然。
联系
一对多 实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的
联系 一个实体至多与实体集A中的一个实体相对应。
多对多 实体集A中的一个实体与实体集B中的多个实体相对应,反之,实体集B中的
联系 一个实体与实体集A中的多个实体相对应。
E-R模型创作过程
E-R模型建立示例
42《信息技术》三色速记手册
在一个物资管理系统中,涉及的实体有仓库、零件、供应商、项目和职工,它们的属性如
下表。
实体 属性
仓库 有仓库号、面积、电话号码
零件 零件号、名称、规格、单价、描述
供应商 供应商号、姓名、地址、电话号码、账号
项目 项目号、预算、开工日期
职工 职工号、姓名、年龄、职称
对该物资管理系统进行抽象建立概念模型E-R图的步骤如下。
1.建立实体-属性图
2.建立实体-联系图
3.建立完整的E-R图
【考点四】逻辑模型
逻辑模型分类
层次模型(Hierchical)
43《信息技术》三色速记手册
(1)有且仅有一个结点没有父结点,这个结点称为根结点;
(2)其他结点有且仅有一个父结点。
网状模型(Network)
(1)允许结点有多于一个父结点;
(2)可以有一个以上的结点没有父结点。
关系模型(Relation)
关系模型以二维表结构来表示实体与实体之间的联系,它是以关系数学理论为基础的。
关系模型中的各关系模式必须满足以下要求:
(1)关系是一个二维表,即元组的集合。关系框架是一个关系的属性名表。形式化表示为:
R(A,A…,A)
1 2 n
其中,R为关系名,A(i=1,2,…,n)为关系的属性名。
i
(2)关系之间通过公共属性实现联系。例如,教师关系和课程关系通过“教师编号”公共
属性实现两个关系之间的联系。
(3)关系数据库是指对应于一个关系模型的所有关系的集合。例如,在一个教务管理关系
数据库中,包含教师关系、课程关系、学生关系、任课关系、成绩关系等。
关系模型的特征是:
(1)数据结构描述一致。关系模型中,不管是实体还是实体之间的联系,都用关系来表示,
关系之间通过公共属性发生联系。
(2)概念简单,操作方便。关系对应二维表,简单、清晰。易于用户理解和掌握,在计算
44《信息技术》三色速记手册
机中也易于实现,应用简单的查询语言即可实现数据库的操作。
(3)关系规范化,并建立在严格的理论基础上。构成关系的基本规范要求关系中每个属性
是不可分的数据项,对关系的操作有着严格的关系代数理论为基础。
【考点五】SQL数据操纵—数据查询
(一)查询语句
数据查询语句是SELECT语句,它是SQL数据操纵语句的一种,由不同子句组成,不同的子
句实现不同的功能。
(二)单表查询
2.查询全部列
例2:查询学生的全部字段信息。
SELECT * FROM Student
SELECT Sno,Sname,Ssex,Sage,Sdept FROM Student;
查询结果如下:
3.查询经过计算的值
例3:查询全体学生的姓名及出生年份。
SELECT Sname,year(getdate())-Sage FROM Student;
查询结果如下:
改变显示的列标题的语法格式为:
[列名|表达式] [AS] 列标题或列标题=[列名|表达式]
上述代码可写成:
SELECT Sname,year(getdate())-Sage AS 年份 FROM Student;
45《信息技术》三色速记手册
4.消除取值重复的行
例4:查询选修了课程的学生学号。
SELECT Sno FROM SC;
查询结果如下所示:
该查询结果里包含了许多重复的行。
如果想去掉结果中重复的行,必须指定DISTINCT关键词:
SELECT DISTINCT Sno FROM SC;
执行结果如下所示:
【考点六】SQL数据操纵—数据更新
数据更新操作有3种:向表中插入(添加)若干行数据、更新(修改)表中的数据和删除
表中的若干行数据。
(一)插入数据
使用INSERT语句在表中添加新的数据。其一般格式为:
INSERT [INTO] <表名> [(<列名表>)] VALUES (值);
例:新增一个学生信息(学号:201715128,姓名:张三,年龄:25,性别:男,系别:计
算机系)。
INSERT INTO Student (Sno,Sname,Sage,Ssex,Sdept) VALUES ('201715128','张
三',25,'男','计算机');
(二)更新数据
46《信息技术》三色速记手册
使用UPDATE语句对表中的数据进行更新,一般格式如下所示:
UPDATE <表名> SET <列名> =<表达式> [,<列名>=表达式][,...n] [WHERE <更新条件>]
例1:将所有学生的年龄加1。
UPDATE Student SET Sage=Sage+1;
【考点七】ACCESS基本概述
(一)数据类型
数据类型 使用对象 大小
文本或文本与数字的组合。Access只保存输入
文本 到字段中的字符,不保存文本字段中未用位置 最长为255个字符
上的空字符。
备注 保存长度较长的文本及数字 最长为64000个字符
可用来进行自述计算的数字数据,设置“字段 1、2、4或8个字节,与“字
数字
大小”属性,定义一个特定的数字类型。 段”大小的属性定义有关
日期/时间 日期及时间 8个字符
货币值。使用货币数据类型可以避免计算时四
货币 舍五入引起的计算误差。精确度为小数点左方 8个字符
15位数及右方4位数。
在添加记录时自动插入的唯一顺序(每次递增
自动编号 4个字节
1)或随机编号
是/否 只包含两种值的一种 1位
OLE对象 在其他使用OLE协议程序创建的对象 最大为1GB
超级链接 保存超级链接的字段 最长为64000个字符
创建字段,该字段将允许使用组合框来选择另一
查阅向导 通常为4个字节
个或一个列表中值。
47