第5章数据库基础知识旭日工商管理学院物流专业周建亨(讲师)zjh001@dhu.edu.cnMSN:janery_zhou@hotmail.com5.1数据库概述5.1.1数据库技术的发展5.1.2数据库系统的特点与组成5.1.3数据库系统的三级模式结构5.1.4数据模型5.1.1数据库技术的发展1.人工管理阶段2.文件管理阶段3.数据库管理阶段1.人工管理阶段(p90)•数据不保存•没有管理数据的软件,由应用程序管理•数据不共享•数据不具有独立性•数据处理方式是批处理,面向应用2.文件管理阶段3.数据库管理阶段5.1.1数据库技术的发展1.人工管理阶段2.文件管理阶段•数据可以长期保存•由文件系统管理数据•数据共享性差,冗余度大•数据独立性差3.数据库管理阶段应用程序1文件系统应用程序2应用程序m物理文件n物理文件2物理文件15.1.1数据库技术的发展1.人工管理阶段2.文件管理阶段3.数据库管理阶段•复杂的数据模型,存取路径数据可以共享•映象结构数据具有独立性•SQL语言,用户接口数据有效性•数据管理功能数据完整性和安全性5.1.1数据库技术的发展文件系统与数据库系统的比较应用程序1数据库管理系统DBMS应用程序2应用程序m数据库数据为各种用户所共享,具有最小冗余度,数据间联系密切,而又有较高对应用程序的独立性等特点。涉及的基本概念实体客观存在并可相互区别的事物属性实体所具有的某一特性域属性的取值范围涉及的基本概念实体型具有相同属性的实体必然具有相同的特征和性质实体集同型实体的集合数据库中包含一组实体集,每个实体集中包含一些相同的实体关系数据模型——数据结构5.1.2数据库系统的特点与组成1.数据库系统的特点2.数据库系统的组成5.1.2数据库系统的特点与组成1.数据库系统的特点1.数据结构化学号姓名性别籍贯学位……学习经历…学号姓名。。性别学习经历10001A1001….10002A1002….表1研究生基本概况日期学校学位。。证明人表2学习经历如何设计才能满足用户需求,又最符合数据库设计原理?答案是:三张表搞定学号姓名其它信息001王依….002张晓….书号书名其它信息A1CAD概述….A2天龙八部….A3MIS原理….表1.学生表表3.借书信息流水号书号学号其它信息10001A1001….10002A1002….10003A2001….10004A3001….10005A3002….表2.图书输入学生学号,查询此学生姓名及所借图书书名5.1.2数据库系统的特点与组成1.数据库系统的特点1.数据结构化编号项目描述单价RMB数量总金额付款明细人员备注金额单价数量日期金额12XX200408000AA4000合计1.表的第一个分量必须是不可分的数据项。2.同一属性的数据具有同质性3.同一表的属性不能重复4.表中列的顺序可以任意交换5.表中任意两行不能相同,位置可以任意交换6.每一个分量必须是不可分的数据项关系数据库数据结构:关系种类•基本表•查询表:关系操作产生的集合,即临时表,数据可以从基本表中抽取,冗余性和一次性,是派生表•视图表:为了方便而设计的虚表,不实际存在5.1.2数据库系统的特点与组成2、数据库系统的组成数据库最终用户应用系统应用开发工具DBMS操作系统数据库管理员DBA应用程序员数据库系统的构成5.1.3数据库系统的三级模式结构1.数据库系统的三级模式2.数据库系统的二级映象三级模式•三级模式的结构特征•外模式、概念模式、内模式关系数据库数据结构:三级模式•关系模式(基本表,概念模式)•关系子模式(派生表,外模式)•存储模式(内模式)数据库系统的三级模式•数据库、数据库管理系统、应用系统、数据库管理员和用户构成的人-机系统•相关人员认识抽象现实世界信息世界机器世界计算机世界转换概念模型(E-R图)DBMS支持的数据模型它是按用户的观点来对数据和信息建模,主要用于数据库设计。不依赖于具体的计算机系统它是按计算机的观点对数据进行建模,主要用于DBMS的实现。有网状、层次、关系、面向对象等。客观对象抽象过程5.1.4数据模型1、数据模型的基本内容1、真实地模拟现实世界2、容易为人所理解3、便于在计算机上实现5.1.4数据模型2、数据模型的三要素数据结构(结构定义)数据操作(上上下下,加加减减)完整性约束(实体完整性,参照完整性,用户定义完整性)5.1.4数据模型2、数据模型的三要素完整性约束•实体完整性:表的关键字段不能为空且取值唯一。•参照完整性:外键为空或某已有值•用户定义完整性:(p107)导师编号姓名其它信息110王依….112张晓….学生编号姓名导师编号A1张青….A2林名110A3王小东113导师错误值编号不能重复或空值研究生5.3数据库管理系统5.3.1数据库管理系统的功能5.3.2数据库管理系统的组成和结构5.3.3应用系统对数据库管理系统的要求与选择数据库系统在计算机系统中引入数据库后的系统•数据库•DBMS•应用系统•数据库管理员•应用程序员•最终用户3.主要数据模型(p98)网状模型层次模型关系模型实体间的联系一对一A中的一个实体至多同B中的一个实体相联系,B中的一个实体也至多同A中的一个实体相联系如班级与正班长6.2.3概念结构设计实体间的联系一对多(多对一)A中的一个实体可以同B中的任意数目的实体相联系,而B中的一个实体至多同A中的一个实体相联系如班级与学生实体间的联系多对多A中的一个实体可以同B中的任意数目的实体相联系,而B中的一个实体也可以同A中任意数目的实体相联系如学生选课程联系的表示6.2.3概念结构设计概念模型的表示方法E-R图矩形:实体集椭圆:属性菱形:联系集线段:将属性连接到实体集、将实体集连接到联系集用箭头线表示联系的类别(映射的基数),始终指向1端无箭头的线段表示n:m下划线:参与主码的属性学号姓名成绩学分课号系别课名性别年龄学生课程选课nmE-R图04App2ER2.ppt学号姓名系主任系号系名性别年龄学生系别录取1nE-R图学号姓名班主任班号系号性别年龄学生班级班长11E-R图课堂练习请用ER图表示图书学生借书的关系学号姓名班主任班号系号性别年龄学生班级班长联系集的主码是任意一端的主码11学生:学号,姓名。。。班级:班号,系号。。。班长:班号,学号ER图转成关系模式6.2.4逻辑结构设计学号姓名系主任系号系名性别年龄学生系别录取联系集的主码是n端的主码1n学生:学号,姓名。。。系别:系号,系名。。。录取:学号,系号ER图转成关系模式6.2.4逻辑结构设计学号姓名成绩学分课号系别课名性别年龄学生课程选课nm联系集的主码包含两端主码的组合学生:学号,姓名。。。课程:课号,课名。。。选课:课号,学号,成绩ER图转成关系模式6.2.4逻辑结构设计ER图学生学号{PK}姓名性别生日课程课号{PK}课名学分学时mn成绩选修学生:学号,姓名。。。课程:课号,课名。。。选课:课号,学号,成绩ER模型案例1学校中有若干系,每个系有若干班级和教研室,每个教研室有若干教员,其中有的教授和副教授每人各带若干研究生,每个班有若干学生,每个学生选修若干课程,每门课可由若干学生选修。实体:系、班级、教研组、教员(教授,副教授)、研究生、学生、课程联系:从属关系、指导关系、选修关系ER模型答案研究生是否推荐是否在职婚否{optional,Or}高级职称教师教授副教授{optional,Or}教研组组名专业教师工作证号{PK}姓名性别生日班级班号{PK}班名/人数学生学号{PK}姓名性别生日系系名{PK}地点电话课程课号{PK}课名学分学时学校校名{PK}地点电话下设n111包含拥有nnmn属于n成绩1n1选修指导1nER模型向关系模型的转换答案系(系号,系名,地点,电话)班级(班号,系号,班级人数,班名)教研组(组号,系号,组名,专业)学生(学号,班号,姓名,性别)教师(工号,组号,姓名,性别)高级职称教师(工号,职称)研究生(学号,导师工号)课程(课号,课名,学分,学时)选修(学号,课号,成绩)