《《SQL学习要点》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《SQL学习要点》PPT课件.ppt(34页珍藏版)》请在三一办公上搜索。
1、第一章,数据库基础,本章目标,了解和掌握数据库的相关概念了解数据库管理技术的产生与发展了解设计数据库的步骤掌握如何绘制数据库的E-R图理解关系数据库的基本术语理解并掌握完整性约束,数据库的相关概念,数据数据库(DB,database)数据库管理系统(DBMS,database management system)数据库系统(数据库、硬件、软件、数据库管理员、用户),计算机,DBMS,数据库管理技术发展阶段,人工管理阶段文件管理系统阶段数据库管理系统阶段,为什么需要设计数据库,修建茅屋需要设计吗?,修建大厦需要设计吗?,结论:当数据库比较复杂时我们需要设计数据库,为什么需要设计数据库,良好的数据
2、库设计节省数据的存储空间能够保证数据的完整性方便进行数据库应用系统的开发,糟糕的数据库设计:数据冗余、存储空间浪费内存空间浪费数据更新和插入的异常,软件项目开发周期,需求分析阶段:分析客户的业务和数据处理需求;概要设计阶段:设计数据库的E-R模型图,确认需求信息的正确和完整;详细设计阶段:将E-R图转换为多张表,进行逻辑设计,并应用数据库设计的三大范式进行审核;代码编写阶段:选择具体数据库进行物理实现,并编写 代码实现前端应用;软件测试阶段:安装部署:,现实世界,数 据 库,设计数据库的步骤,收集信息:与该系统有关人员进行交流、坐谈,充分理解数据库需要完成的任务,BBS论坛的基本功能:用户注册
3、和登录,后台数据库需要存放用户的注册信息和在线状态信息;用户发贴,后台数据库需要存放贴子相关信息,如贴子内容、标题等;论坛版块管理:后台数据库需要存放各个版块信息,如版主、版块名称、贴子数等;,设计数据库的步骤,标识对象(实体Entity)标识数据库要管理的关键对象或实体,实体一般是名词:用户:论坛普通用户、各版块的版主。用户发的主贴用户发的跟贴(回贴)版块:论坛的各个版块信息,设计数据库的步骤,论坛用户呢称密码电子邮件生日性别用户的等级备注信息注册日期状态积分,主贴发贴人发贴表情回复数量标题正文发贴时间点击数状态最后回复时间,回贴贴子编号回贴人,回贴表情标题正文回贴时间点击数,版块版块名称版
4、主本版格言点击率发贴数,标识每个实体的属性(Attribute),设计数据库的步骤,标识对象之间的关系(Relationship),跟贴和主贴有主从关系:我们需要在跟贴对象中表明它是谁的跟贴;版块和用户有关系:从用户对象中可以根据版块对象查出对应的版主用户的情况;主贴和版块有主从关系:需要表明发贴是属于哪个版块的;跟贴和版块有主从关系:需要表明跟贴是属于哪个版块的;,绘制E-R图,E-R(EntityRelationship)实体关系图,绘制E-R图,管理,bbsUser(用户,版主),出生日期,昵称,版块名称,版主,bbsSection(版块),绘制E-R图,映射基数,一对一,X X X X
5、,Y Y Y Y,X X X X,Y Y Y Y,一对多,X X X X,Y Y Y,多对一,X X X X,Y Y Y Y,多对多,绘制E-R图,论坛E-R图,如何将E-R图转换为表,将各实体转换为对应的表,将各属性转换为各表对应的列标识每个表的主键列,需要注意的是:没有主键的表添加ID编号列,它没有实际含义,用于做主键或外键,例如用户表中的“UID”列,版块表中添加“SID”列,发贴表和跟贴表中的“TID”列 在表之间建立主外键,体现实体之间的映射关系,如何将E-R图转换为表,UID主键,TID主键,RID主键,SID主键,如何将E-R图转换为表,添加各表之间的关系,总结 1-1,在需求分
6、析阶段,设计数据库的一般步骤为:收集信息标识对象标识每个对象的属性标识对象之间的关系在概要设计阶段和详细设计阶段,设计数据库的步骤为:绘制E-R图将E-R图转换为表格应用三大范式规范化表格,总结 1-2,为了设计结构良好的数据库,需要遵守一些专门的规则,称为数据库的设计范式。第一范式(1NF)的目标:确保每列的原子性。第二范式(2NF)的目标:确保表中的每列,都和主键相关。第三范式(3NF)的目标:确保每列都和主键列直接相关,而不是间接相关。,ER模型,三个世界 概念模型:把现实世界转换为信息世界的模型,E-R模型实施模型:把信息世界转化为数据世界使用的模型,关系模型,E-R模型的组成要素及表
7、示方法,1E-R图的组成要素及其画法,E-R模型的组成要素及表示方法,2实体间不同联系情况的E-R图表示法联系分为:一对一(1:1)、一对多(1:n)、多对多(m:n)【例1-1】两个实体集之间的一对一的联系的绘制方法。假设某学院有若干个系,每个系只有一个主任。则主任和系之间是一对一的关系。主任和系的属性分别如下:主任编号,姓名,年龄,学历;系系编号,系名 主任和系之间是一个管理关系,解:描述主任和系之间的E-R图可如下图:,【例 1-2】两个实体集之间的一对多的联系的绘制方法。假设在某仓库管理系统中,有两个实体集:仓库和商品。仓库用来存放商品,且规定一类商品只能存放在一个仓库中,一个仓库可以
8、存放多件商品。仓库和商品之间是一对多的联系。仓库和商品的属性分别如下:仓库仓库号,地点,面积联单 商品商品号,商品名,价格 在存放联系中要反映出存放商品的数量。,解:描述仓库和商品之间的E-R图可如下图所示,【例3-3】两个实体集之间的多对多的联系的绘制方法。,假设在某教务管理系统中,一个教师可以上多门课,一门课也可以由多个老师去上。教师和课程之间是多对多的联系。教师和课程可用以下属性来描述:教师教师号,教师名,职称 课程课程号,课程名,班级 在“讲授”联系中应能反映出教师的授课质量。,解:描述教师和课程之间的E-R图可如下图所示。,ER图的设计方法,E-R图通常都应经过以下两个阶段:(1)针
9、对每一用户画出该用户信息的局部ER图,确定该用户视图的实体、属性和联系。需注意的是:能作为属性的就不要作为实体,这有利于ER图的简化。(2)综合局部ER图,生成总体ER图。在综合过程中,同名实体只能出现一次,还要去掉不必要的联系,以便消除冗余。一般来说,从总体ER图必须能导出原来的所有局部视图,包括实体、属性和联系。【例1-3】某学校管理系统中有三个部门:后勤部、学生处和财务处。后勤部用来管理学生的住宿;教务处用来管理学生选课和教师任课;财务处用来管理发放教师的工资。,后勤部涉及到的实体及实体之间的联系如下:,学生:属性有学号、姓名、性别、年龄、专业和入学时间 宿舍:楼号、房间、档次 学生与宿
10、舍的联系是一个学生只能住在一个宿舍,一个宿舍能住多个学生,学生住宿要交租金。教务处涉及到的实体及实体之间的联系如下:学生:属性有学号、姓名、性别、年龄、专业和入学时间 教师:属性有教师号、姓名、性别、职称、专业 课程:属性有课程号、课程名、学时数、专业 各实体关系描述如下:一个学生可以选多门课,一门课可以由多个学生选修;一个教师可以教多门课,一门课也可以由多个老师教;学生选修某门课有一个成绩;教师教某门课有一个质量评价。,财务处涉及到的实体及实体之间的联系如下:,教师:属性有教师号、姓名、性别、职称、专业工资:属性有基本工资、加班工资、扣税、工资编号教师和工资的联系是:一个教师只能领一份工资,一份工资只能由一个教师领,领工资时应注明是某月工资。解:先根据题意设计出各部门的局部E-R图,学生,姓名,专业,学号,宿舍,楼号,档次,年龄,性别,入学时间,房间号,(a)后勤部的局部E-R图,(b)教务处的局部E-R图(学生同(a)图),(c)财务处的局部E-R图(教师同(b)图),某学校管理系统的全局E-R图,