数据库原理与设计方法.ppt
《数据库原理与设计方法.ppt》由会员分享,可在线阅读,更多相关《数据库原理与设计方法.ppt(326页珍藏版)》请在三一文库上搜索。
1、数据库原理与设计方法,参考书: 1王能斌。数据库系统。电子工业出版社。1995年。 2王能斌编。数据库系统原理。电子工业出版社。2000年。 3王珊 陈红。数据库系统原理教程。 4美JD厄尔曼。数据库系统原理。,课程考核,第一章 Introduction 1.1 Concepts 1.1.1 Data、DataBase、DataBase System、DataBase Management System 1. Data (李明,男,1972,江苏,计算机系,1990) 数据、信息、知识三者之间的关系: 数据的语义即为信息,信息在计算机中的存储(表示形式)即为数据。从信息中提升、推理、推导出的新
2、的信息即为知识。 例如:40(数据)40(信息)发烧(知识),2. DatabaseDB 3. Database Management SystemDBMS 4. database systemDBS 数据库管理员(database administrator,简称DBA)。,5. Data Model 数据模型是用来描述数据的一组概念和定义。一般来说,数据的描述包括两个方面: (1)数据的静态特性 它包括数据的基本结构、数据间的联系和数据中的约束。 (2)数据的动态特性 它指定义在数据上的操作。 如文件系统。 数据模型要面向现实世界,面向用户。,数据模型要面向实现,面向计算机。 1) con
3、ceptual data model 如ER模型、面向对象数据模型等。 2) logical data model 如关系数据模型、层次模型、网状模型等。 3) physical data model 概念数据模型只用于数据库的设计,逻辑数据模型和物理数据模型用于DBMS的实现。,6. Data Schema type: 型是该数据所属数据类型的说明。 value: 值是型的一个实例(instance或occurrence)。 对某一类数据的结构、联系和约束的描述是型的描述,型的描述称为数据模式(Data Schema)。在同一数据模式下,可以有很多的值,即实例。 例如,学生记录可以定义为图1
4、-3(a)的形式,这是数据模式。而图1-3(b)是其一个实例。,数据模型是描述数据的手段而数据模式是用给定数据模型对具体数据的描述。 美国国家标准协会(ANSI)的ANSIX3SPARC报告把数据模式分为三级(见图1-4)。,1) conceptual schema/logical schema 2) external schema 3) internal schema 7. Database Instance 数据模式是相对稳定的,而实例是相对变动的。数据模式反映一个单位的各种事物的结构、属性、联系和约束,实质上是用数据模型对一个单位的模拟。而实例反映数据库的某一时刻的状态,也就是这一单位在
5、此时的状态。,1.1.2 数据库技术的产生与发展 1. 人工管理阶段 人工管理数据具有如下特点: 1) 数据不保存。 2) 数据需要由应用程序自己管理,没有相应的软件系统负责数据的管理工作。 3) 数据不共享。 4) 数据不具有独立性。 人工管理阶段应用程序与数据之间的对应关系可用图l-3表示。,2. 文件系统阶段 用文件系统管理数据具有如下特点: 1) 数据可以长期保存。 2) 由专门的软件即文件系统进行数据管理。 3) 数据共享性差。 4) 数据独立性低。,文件系统阶段应用程序与数据之间的关系如图1-4所示。,3. 数据库系统阶段 用数据库系统来管理数据具有如下特点:,1) 数据结构化 学
6、生人事记录,图1-5,2) 数据的共享性好,冗余度低 3) 数据独立性高 4) 数据由DBMS统一管理和控制 l 数据的安全性(security) l 数据的完整性(integrity) l 并发(concurrency)控制 l 数据库恢复(recovery),量大 持久 共享,1.1.3 数据库技术的研究领域 1. 数据库管理系统软件的研制 2. 数据库设计 3. 数据库理论 1.2 数据库工程与应用 1.2.1 数据库设计的目标与特点,图 1-10,1.2.2 数据库设计方法 新奥尔良方法:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设
7、计)。 SBYao:需求分析、模式构成、模式汇总、模式重构、模式分析和物理数据库设计。 IRPalmer则主张把数据库设计当成一步接一步的过程,并采用一些辅助手段实现每一过程。 此外,基于ER模型的数据库设计方法,基于3NF(第三范式)的设计方法,基于抽象语法规范的设计方法等。,规范设计法在具体使用中又可以分为两类:手工设计和计算机辅助数据库设计。 ORACLE Designer 2000 1.2.3 数据库设计步骤,1. 需求分析 2. 概念结构设计 3. 逻辑结构设计,图1-11,4. 数据库物理设计 5. 数据库实施 6. 数据库运行和维护,在数据库设计过程中必须注意以下问题。 1. 数
8、据库设计过程中要注意充分调动用户的积极性。 2. 应用环境的改变、新技术的出现等都会导致应用需求的变化,因此设计人员在设计数据库时必须充分考虑到系统的可扩充性,使设计易于变动。 3. 系统的可扩充性最终都是有一定限度的。 1.2.4 Database Application,各种用户的数据视图,DBA主要职责包括: 1. 设计与定义数据库系统 2. 帮助最终用户使用数据库系统 3. 监督与控制数据库系统的使用和运行 4. 改进和重组数据库系统,调优数据库系统的性能 5. 转储与恢复数据库 6. 重构数据库,第二章 Data Model 数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二
9、是容易为人所理解;三是便于在计算机上实现。 两类:概念模型也称信息模型,数据模型包括网状模型、层次模型、关系模型。 2.1 数据模型的要素 2.1.1 数据结构 2.1.2 数据操作 2.1.3 数据的约束条件,2.2 概念模型E-R Data Model,2.2.1 Concepts E-R数据模型(Entity-Relationship Data Model) EER数据模型(Extended Entity-Relationship Data Model) 1实体(entity)、实体集(entity set) entity set与entity是型(type)与值(value)的关系(类
10、似于前述data schema与database instance) 2属性(attribute) 值集(value set) 实体键(entity key)实体主键(entity primary key),3 联系(relationship) 基数比约束(cardinality ratio constraint) 参与约束(participation constraint):部分参与、全参与 结构约束(structural constraint) 两个实体之间的联系可以分为三类: l 一对一联系(1:1) l 一对多联系(1:m) l 多对多联系(m:n) 所有(ownership)关系弱实
11、体(weak entity),2.2.2 E-R diagram 用E-R数据模型对某一单位进行模拟,可以得到ER数据模式,ER数据模式可以ER图来直观地表示。 entity: weak entity: relationship: attribute: 示例:,说明:,1学位类型:硕士/博士 2导师类型:主要指导老师、协助指导 3研究生可能换导师,换专业、方向 4选课性质:学位课/非学位课 5任课类型:主讲/辅讲 6可担任描述有哪些老师可以上哪些课 7任课是指目前该课程的任课老师 8开课学期:春/秋季 9上课地点:目前该课程的上课教室,问题: 1课性质属性为什么不属于课程实体,而属于选课联系?
12、 2专业、方向可不可以属于研究生? 2.2.3 EER data model 1特殊化(specialization)和普遍化(generalization) 全特殊化(total specialization)/部分特殊化(partial specialization) 不相交特殊化(disjoint specialization)/重叠特殊化(overlapping specialization),2 聚集(aggregation) 3 范畴(category),2.3 Hierarchy Data Model 2.3.1 层次数据模型的数据结构 1层次模型的基本结构,图 TS数据模式,图
13、 TS数据模式的一个值,2多对多联系在层次模型中的表示 2.3.2 层次数据模型的操纵与完整性约束 2.3.3 层次数据模型的存储结构 2.3.4 层次数据模型的优缺点 层次数据模型的优点主要有: l 层次数据模型本身比较简单,只需很少几条命令就能操纵数据库,比较容易使用。 l 对于实体间联系是固定的,且预先定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不次于网状模型。 l 层次数据模型提供了良好的完整性支持。,层次数据模型的缺点主要有: l 现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性
14、)或创建非自然的数据组织(引入虚拟结点)来解决。 l 对插入和删除操作的限制比较多。 l 查询子女结点必须通过双亲结点。 l 由于结构严密,层次命令趋于程序化。 2.4 网状数据模型 2.4.1 网状数据模型的数据结构,2.4.2 网状数据模型的操纵与完整性约束 2.4.3 网状数据模型的存储结构 2.4.4 网状数据模型的优缺点,网状数据模型的优点主要有: l 能够更为直接地描述现实世界,如一个结点可以有多个双亲、允许结点之间为多对多的联系等。 l 具有良好的性能,存取效率较高。 网状数据模型的缺点主要有: l 其DDL语言极其复杂。 l 数据独立性较差。由于实体问的联系本质上是通过存取路径
15、指示的,因此应用程序在访问数据时要指定存取路径。,2.5 Relation Data Model 2.5.1 Concepts 1. Attribute and Domain Domain: 第一范式1NF(first nomal form) atomic data 非第一范式(Non-First Nomal Form)NF2 空值:NULL 2. relation and tuple 设有一命名为R的关系,它有属性A1、A2、An,其对应的城分别为Dl、D2、Dn则关系R可表示为:,R(D1/Al,D2/A2,Dn/An) 或 R(A1,A2,An) 或 R(A1A2An) R.A1表示关系
16、R的属性A1。 degree(arity):n R的值:r r(R) r=t1,t2,tm t=, viDi,1in 笛卡尔乘积,A B AB,关系模式: SUDENT(姓名,学号,性别,出生年份籍贯,系别,入学年份) 投影:RX tX STUDENT姓名,性别 3. key 定义:如果关系的某一属性或属性组的值唯一地决定其他所有属性的值,也就是唯一地决定一个元组,而其任何真子集无此性质,则这个属性或属性组称为该关系的候选键(candidate key),或简称为键。 superkey primary key alternate key all key (SUPPLY(供应商,零件名,工程名)
17、,prime attribute non-prime attribute foreign key COURSE(课程名,课程号,学分,开课时间,先修课程号) GRADE(学号,课程号,成绩) 2.5.2 Constraint R(D1/Al,D2/A2,Dn/An) 1. Domain integrity constraint 2. Entity integrity constraint 3. Referential integrity constraint 4. General integrity constraint,2.5.3 Operation relational algebra o
18、perations 1. Select operation (),2. Project operation () 性别,籍贯、出生年份(STUDENT) 若包含则: (R)=(R),姓名(性别=女(STUDENT) 3. Set operation ABA-(A-B) union compatibility 课程号(COURSE)-先修课程号(COURSE) 系别=计算机系(STUDENT)系别=电子系(STUDENT) RS=|tR AND gS 4 Join operation R S=(RS) 连接条件:ANDANDAND 连接:AiBj,等连接(equijoin) 自然连接(natur
19、al join) 例: GRADE GRADE.课程号=COURSE.课程号(课程名,课程号,学分(COURSE) 关系代数操作集,-,是完备的操作集。 ,-, relationally complete 5. Outer join operation 6. Outer union operation,2.5.4 Relational Calculus 1. Tuple Relational Calculus 2. Domain Relational Calculus,第三章 Database Language SQL 结构化查询语言(structured query language,简称S
20、QL) 3.1 Introduction SQL语言是1974年由Boyce和Chamberlin提出的。 1975年至1979年IBM System R实现了这种语言。 1986年10月 美国国家标准局(简称ANSI) SQL-86 1987年国际标准化组织(简称ISO)也通过了这一标准。 ANSI 1989年第二次公布SQL标准(SQL-89) 1992年 SQL-92标准,目前ANSI正在酝酿新的SQL标准:SQL3。 现在SQL已被重新解释成为:Standard Query Language SQL按其功能可分为四大部分: 1. 数据定义语言(Data Definition Langu
21、age,简称DDL) 2. 查询语言(Query Language,简称QL) 3. 数据操纵语言(Data Manipulation Language,简称DML) 4. 数据控制语言(Data Control Language,简称DCL),3.1.1 SQL的特点 1. 综合统一 2. 高度非过程化 3. 面向集合的操作方式 4. 以同一种语法结构提供两种使用方式 5. 语言简洁,易学易用 表3-1 SQL语言的动词,3.1.2 SQL语言的基本概念,3.2 数据定义 表3-2 SQL的数据定义语句,3.2.1 定义、删除与修改基表 1. 定义基表,CREATE TABLE 表名 (列名
22、数据类型列级完整件约束条件,列名数据类型列级完整性约束条件 表级完整性约束条件); 列级完整性约束条件格式: NOT NULL UNIQUE DEFAULT 字值|USER|NULL 表级完整性约束条件有三个任选项。用于定义主键的PRIMARY KEY子句,用于定义外键的FOREIGN KEY子句和用于定义列值限制条件的CHECK子句。格式:,,PRIMARY KEY () ,FOREIGN KEY 外键名 ()REFERENCES ON DELETE RESTRICT |CASCADE|SET NULL ,CHECK (条件) IBM DB2 SQL主要支持以下数据类型: SMALLINT
23、半字长二进制整数。 INTEGER或INT 全字长二进制整数。 DECIMAL(p,q)或DEC(p,q) 压缩十进制数,共p位,其中小数点后有q位。0qp15,q0时可以省略。 FLOAT 双字长浮点数。 CHARTER(n)或CHAR(n) 长度为n的定长字符串。 VARCHAR(n) 最大长度为n的变长字符串。,GRAPHIC(n) 长度为n的定长图形字符串。 VARGRAPHIC(n) 最大长度为n的变长图形字符串。 DATE 日期型,格式为YYYYMMDD。 TIME 时间型,格式为HH.MM.SS。 TIMESTAMP 日期加时间。 例1 建立Student(学生)、Course(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 原理 设计 方法
链接地址:https://www.31doc.com/p-4340885.html