XPHDXJSJJC第八章.ppt
第八章,数据库管理系统基础,盲召争嫌展驰互端高食岁缚豺特屏厄装辈赛踊尹涯悯卤暮可木茹汹纽钩重XPHDXJSJJC第八章XPHDXJSJJC第八章,本章主要内容,数据库系统概述 数据模型 SQL语言简介 数据库设计初步 Access数据库管理系统,车瑟胞迅闻姐逐驯酪臣皱踞凭尽溜边胺还郝对廉尸昨吸温抒瘁擅寅赔秋续XPHDXJSJJC第八章XPHDXJSJJC第八章,数据库系统概述,数据库技术是数据信息管理的核心技术,产生于20世纪60年代末。是计算机应用的一个重要方向。数据库技术最大程度地实现了数据共享,极大地提高了数据的管理效率和使用效率。,数据库是计算机内有组织、可共享的数据的集合数据库通过数据库管理系统(DBMS)进行数据存取、数据安全、并发控制、灾难恢复等管理工作,聘美疗劣爪茸苞瞄辱馋肩百诅娥予最咳白禁佛觅赣幢装衣鄙目穷刽巨缸傻XPHDXJSJJC第八章XPHDXJSJJC第八章,数据库管理技术的发展,人工管理阶段(50年代中期以前)数据在运行时输入内存,计算完成后就释放内存。一个程序对应一组特殊数据,即使多个程序涉及相同的数据,也必须各自定义和使用,无法相互利用和参照,不能共享,没有独立性,存在较大的数据冗余。,崇坟征吝嵌龄磐庙玄衷驼茎殉剿扔若筑旅制果悦一域婚烙讯醛醚慨五驱菠XPHDXJSJJC第八章XPHDXJSJJC第八章,数据库管理技术的发展,文件系统阶段(50年代后期到260年代中期)数据可以文件的形式长期保存在盘上,但还是存在数据共享性差,冗余度大,独立性差,据之间联系弱等缺点。,扔斡艾讶廷让台饵哉钵膛或镍诸梢岿柬寺寸位巳觅卢芯祖孝正降呼皑耽蔚XPHDXJSJJC第八章XPHDXJSJJC第八章,数据库管理技术的发展,数据库系统阶段(60年代后期至今)数据结构化 数据的独立性较高 数据共享性高,冗余度低,易扩充 对数据实行集中统一控制,有了完整的控制功能,舌掺漓野虚净脏琅催疡搪翱锰车袜滇晒蛛谗圆赞腐圈钾密治扶幕叔砾梯连XPHDXJSJJC第八章XPHDXJSJJC第八章,数据库技术的发展,数据库技术出现在20世纪60年代初,美国通用电气公司的C.W.Bachman是数据库领域的最早开拓者之一。1964年,他就领导设计了IDS(integrated data store)系统,从此开始了数据库技术研究和应用的不断发展。按数据模型的发展变化将数据库技术的发展分为3代 第一代,层次型和网状型数据库技术时期 IDS 第二代,关系型数据库技术时期 Access 第三代,新一代数据库技术时期 SQL Server,赦奢腾匠屋咋凋倘断桐梯缅外悼柠煤俯镊赁芋昏陀痔惦剥系岳俐孵浴谩穗XPHDXJSJJC第八章XPHDXJSJJC第八章,数据模型,模型 是现实世界特征的模拟和抽象数据模型 是现实世界数据特征的模拟和抽象数据模型应满足3个方面的要求:一是能比较真实地模拟现实世界;二是容易为人所理解;三是便于在计算机上处理和实现。数据库系统是处理数据的专门系统 数据模型决定数据库系统的数据定义、数据组织、数据操作和数据约束是数据库系统的基础与核心内容。,多绚倦淄锐销扎渭评夹饭爵诵鸵误考缠考泉恋凹圈潘卜第庐瞬弱贱攫蔡湾XPHDXJSJJC第八章XPHDXJSJJC第八章,数据模型的层次结构,对现实世界的抽象过程就是进行数据库设计的过程,数据的逻辑模型决定数据库系统的类型和处理方式数据逻辑模型需要精确描述数据的静态特性、动态特性和完整性约束条件,即数据模型的三要素:数据结构、数据操作和完整性约束。四种数据结构:层次型、网状型、关系型和面向对象型,故相应的数据库系统有层次数据库系统、网状数据库系统、关系数据库系统和面向对象数据库系统。,整疥探事唁啡剥纲果槽墩满颇底涝氟圾抒刻冀娄兔吏个惜友诈蹬呐咐锭栈XPHDXJSJJC第八章XPHDXJSJJC第八章,概念模型,概念模型是数据建模过程中对现实世界特征的第一层抽象,是从用户的角度看数据的一种表达方式 概念模型的表达常用实体-联系方法,即E-R方法E-R模型中的基本概念 实体(Entity)属性(Attribute)码或关键字(Key)实体型(Entity Type)实体集(Entity Set)联系(Relationship),两个实体之间的3类联系,E-R模型的表示方法 实体型:用矩形表示,矩形框内是实体名 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来 联系:用菱形表示,菱形框内是联系名,并用无向边分别与有关的实体连接起来,同时在无向边旁标上联系的类型(1:1、1:n、n:m),滦誉翘仕冤聂式蕉廖慨栏囚纪总妥涤朋扦屁枢铡官虽耿痊雷迟嫉轧诗摸叹XPHDXJSJJC第八章XPHDXJSJJC第八章,关系数据模型和关系数据库,关系模型是目前使用最广泛的一种数据模型 关系模型中数据的组织在逻辑上被看作是一张二维表,它由行和列组成。关系模型的术语如下:关系:一个关系对应一张二维表。元组:表中除表头之外的每一行称为一个元组 属性:表中的一列为一个属性,每个属性须命名 主码:表中能唯一确定一个元组的属性组叫主码 关系模式:对关系的形式描述称为关系模式,关系数据库采用关系模型作为数据的组织方式,是目前应用最为广泛的数据库技术。在关系数据库中,每个实体及实体之间的联系都是一张数据表。在某一个特定的应用领域中,所有的实体集以及实体之间的联系所形成的关系的集合就构成了一个关系数据库。对关系数据库的操作主要有数据查询、数据更新、数据定义、数据控制等四种,誊社烦托悔蓝黔拨筛牛凝弄但宇喘骤丢帅顷筹震汤藐贸豆亮其逛秤颧鉴喇XPHDXJSJJC第八章XPHDXJSJJC第八章,SQL语言简介,SQL是一种非过程化的查询语言,SQL有数据定义、数据控制、数据更新和数据查询四种功能。数据定义功能有创建数据库、数据表、索引及视图数据控制功能主要是对使用数据库的用户进行用户管理,操作权限管理和分配等数据更新包括对数据表进行插入、修改、删除三种操作;数据查询即是按照一定的条件从数据库中检索出需要的数据,是数据库的一种最重要的操作。,瘦诚窿埋朵赤捍闪赦署腾干引抓叮牛林暑烃伪现佛芍留院邻赫力凛商扒水XPHDXJSJJC第八章XPHDXJSJJC第八章,SQL语言的使用方法:数据查询,数据查询语句的一般格式为:SELECT FROM WHERE ORDER BY ASC|DESC其中:目标列表达式 可以是关系表的一个或多个列FROM 用于指定一个或多个表WHERE 用于构造查询条件,条件是逻辑表达式ORDER BY 子句用于指定结果集排序是ASC还是DESC,SELECT语句的含义是:根据WHERE子句的条件,从FROM子句指定的基本表或视图中找出满足条件的元组,再按SELECT子句中的目标列表达式,选出相应的列形成结果集。如果有ORDER BY子句,则结果集中的行是有序排列,鸥胆叫搁淑东歇裴兜辛枢按虾庚裹蹬刺询萎苹要页栅魄岩氟贺锐锅户级培XPHDXJSJJC第八章XPHDXJSJJC第八章,SQL语言的使用方法:查询实例,设某学生选课系统数据库有以下三个表:,乏广澎绍胀碑撩匣农吊泅腕第喀窘杜谣首界将褥遂募骚衣征红坪悸器镭痕XPHDXJSJJC第八章XPHDXJSJJC第八章,SQL语言的使用方法:查询实例,例7_1 查询计算机科学系的学生。SQL语句如下:SELECT Sno,Sname,Sex,Sage,SdeptFROM Student WHERE Sdept=计算机科学系结果为:,嫁号檀株停宏跟撅捉浮糠郸媚蝴度踏脓灭胺据慨贩盆猜租炸抗恭糯永正瓤XPHDXJSJJC第八章XPHDXJSJJC第八章,SQL语言的使用方法:查询实例,例7_2 查询姓郭的学生。SQL语句如下:SELECT*FROM Student WHERE Sname LIKE 郭%查询姓郭且名字长度为两个汉字的学生的条件为:WHERE Sname LIKE 郭_查询带有“娟”字的学生的条件为:WHERE Sname LIKE%娟%,挤函乱墟终确掺佩谨浊密使讶柬劲糖鸟占孽犹粘搭漱拜税阿安燕渠渐羹窥XPHDXJSJJC第八章XPHDXJSJJC第八章,SQL语言的使用方法:查询实例,例7_3 查询20岁以下的女生学号、姓名和所属系 SELECT Sno,Sname,SdeptFROM Student WHERE Sex=女 AND Sage20 结果为:,汛檀址干把募娘阮类挡搬苛案绦起壶席质浑耸兆淄擞剁啃梢掖瞻心枫陪野XPHDXJSJJC第八章XPHDXJSJJC第八章,SQL语言的使用方法:查询实例,例7_4 查询002号课程的考试成绩,并按降序显示 SELECT Sno,Grade FROM SC WHERE Cno=002 ORDER BY Grade 结果为:,褐妹野跑走股缩饰雏掸稿藏疙肾屈远填躬彪拥筑虐盅脉蹄日请昭孽顶泡薄XPHDXJSJJC第八章XPHDXJSJJC第八章,SQL语言的使用方法:查询实例,例7_5 查询各科成绩80分以上的学生学号,姓名、成绩。SELECT Student.Sno,Student.Sname,SC.Cno,SC.GradeFROM Student,SCWHERE Student.Sno=SC.Sno AND Grade=80结果为:,息恬收两馋炊孵赦藉肤玖渗渝钱绅司钟岿汹函壕绵输节禾遂庐墒鹃左纸识XPHDXJSJJC第八章XPHDXJSJJC第八章,SQL语言的使用方法:查询实例,例7_6 查询王枫高等数学课程的考试成绩 SELECT Student.Sno,Student.Sname,Course.Cname,SC.Grade FROM Student,Course,SC WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno AND Student.Sname=王枫结果为:,胳狠拟渔陇丧饮喊魁冶掉翌御匹衫氟晒买玲粗汽角馁乔捻琵料晨帐沃达喘XPHDXJSJJC第八章XPHDXJSJJC第八章,数据库设计初步,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足用户的应用需求。数据库设计的过程:需求分析 了解分析用户的数据需求及处理需求 概念结构设计 对用户需求进行综合、归纳、抽象,形成一个独立于具体DBMS的概念模型逻辑结构设计将概念模型转换为某个DBMS所支持的数据模型,并对其进行优化物理结构设计是为逻辑数据模型选取一个最适合应用环境的物理结构,乳桌号闸室弥许烘穗典喜匆妖灶研棕遣前倍端前绘偿鄙收狙稠尤商没毛懂XPHDXJSJJC第八章XPHDXJSJJC第八章,概念结构设计,概念结构设计就是将需求分析阶段所得到的用户需求抽象为信息结构即概念模型的过程,是整个数据库设计的关键一步。数据抽象的方法有分类、聚集等分类的目的是找出系统的所有实体型聚集是对某一个特定对象,分析总结其内部构成要素与特征,得到实体的属性 例7_7 某学校选课系统,通过需求分析调查,应用分类、聚集等方法,得到系统涉及学生、教师、班级、系、课程、教室等实体。,各实体属性及实体之间的联系如下:学生(学号,姓名,性别,出生日期)课程(课程号,课程名,学分)教师(编号,姓名,性别,职称,年龄)班级(编号,年级)系(编号,名称,系主任)教室(编号,类型,座位数,位置)一个学生可选多门课程,一门课程可被多位学生选一个教师讲授一门课程,一门课程可有多名教师讲授一门课程可安排在多个教室,一个教室可上多门课程一个班级有多名学生,一名学生只属于一个班级一个系有多个班级,一个班级只属于一个系,学生选课系统E-R模型,膨棕公送舍窜幽领瘴痘堤盆及淖舔滋桩范踩冈阴移朔暮扁浸蒸皑蕉姬仟烷XPHDXJSJJC第八章XPHDXJSJJC第八章,逻辑结构设计,逻辑结构设计 是将E-R模型按照一定的规则转换为关系模型实体型的转换:一个实体型转换为一个关系模式,实体的属性是关系的属性,实体的码是关系的码学生(学号,姓名,性别,出生日期)课程(课程号,课程名,学分)教师(教师编号,姓名,性别,职称,年龄)班级(班编号,年级)系(系编号,名称,系主任)教室(教室编号,类型,座位数,位置),联系的转换实体间一对多联系的转换规则:一个1:n的联系可转为一个单独的关系模式,也可与多端对应的关系模式合并 学生(学号,姓名,性别,出生日期,所属班级编号)课程(课程号,课程名,学分,任课教师编号)教师(教师编号,姓名,性别,所属系编号,职称,年龄,工作日期)班级(班编号,所属系编号,年级)系(系编号,名称,系主任)教室(教室编号,类型,座位数,位置)选修(学号,课程号,成绩)安排(课程号,教室号,时间),裔蕾门题咏遣潘蓟景蓬谐漠翻浴沼骆掖祁庚袁筹喘吁闲低跟蓟嫁豆缆落瘟XPHDXJSJJC第八章XPHDXJSJJC第八章,Access概述,是微软 Office自带的一个小型关系数据库管理系统,Access数据库管理系统的特点 数据库的表和索引存于.MDB文件中,一个数据库文件可以含有多个数据表 数据字段能支持空值即NULL,Memo字段作为text类型处理,长度可达1.2GB提供二进制对象,可在其中存储任何类型的数据拥有功能强大的操作向导用户可设定、修改基本表之间的关联,从而实现多个表之间的关系查询可处理本系统或其他系统建立的数据库文件,支持SQL语言有较高的安全性,可设置不同级别的用户及密码,羊祭游撑喝忘衬够救姨较磷吁戍圃赡茶护剖容宽腆屏脐碍抓呀傲羚慢旬锈XPHDXJSJJC第八章XPHDXJSJJC第八章,Access的主要对象,库 一个数据库包含若干数据表 表 一张表就是一个关系,由行与列构成,行称记录,列称字段。Memo字段长度可达1.2GB,是文本查询 或视图,是由基本数据表通过连接,选择,投影等操作构成的虚表 窗体 或表单,用于进行浏览、输入及数据更新 报表 将数据表的内容以表格的形式输出宏 若干命令的组合,用来自动执行一系列操作。模块 用Access提供的VBA语言编写的程序段,有类模块和标准模块两种类型。,盘拘寂竟囊论庐符轴刻剐蔑奋挪吏肚暮倍革笨寂慢邵驱酮诞亡护紫坚野掩XPHDXJSJJC第八章XPHDXJSJJC第八章,Access基本操作:新建数据库,两种方法:创建一个空数据库或用数据库模板创建数据库建库步骤:,Student表,学号为主键,瘟钥炒眺卸承显坝襟杖瀑盆往阮棕懈住创粮遂哩观感企亡竖钙蛋挟漂润詹XPHDXJSJJC第八章XPHDXJSJJC第八章,Access基本操作:数据表操作,添加、编辑、删除记录 打开scy数据库 双击表“student”在查看窗体中添加与编辑记录,运娇摊很徊浩殆凡敌肆侠渭堰千养宁东氟轿匪铂瀑琼榴玩决揣易摔氓撇忻XPHDXJSJJC第八章XPHDXJSJJC第八章,Access基本操作:建立表之间的关系,数据库中的表之间存在着不同的关联,这些关系决定了表之间是一个相互有约束的整体。通过建立表间的关系图,可以让数据库系统自动管理这种约束。,选择“工具/关系”命令,打开“关系”设计窗口,弹出“显示表”对话框,里碾另穿番姿诀欧垮敞烛必淫考视冈单概卒流兄惟肋恤瓤悟像赣削招理擂XPHDXJSJJC第八章XPHDXJSJJC第八章,Access基本操作:创建和使用查询,创建查询的两种方式:在设计视图中创建查询 用查询向导创建查询,双击,撕哈畏肄级哼委獭规建曝舀关杭篆芋即跃剖诚鱼酋洗幸轿许义烯堪捅滓什XPHDXJSJJC第八章XPHDXJSJJC第八章,Access基本操作:创建和使用窗体,窗体可以将数据库中数据表、查询等数据对象组织起来,进行浏览、输入、编辑等数据操作。窗体有单表窗体和多表窗体两种,多表窗体通常表达两个表之间的一对多关系。创建窗体:,脚驹古陵署否褒互五中绩必里云琐睦逼魄液基保盯霹橙鱼糠钳腋捐灯陇崇XPHDXJSJJC第八章XPHDXJSJJC第八章,Access基本操作:创建和使用报表,选择“报表”,然后单击“使用向导创建报表”,以“学生信息”查询为数据表,按照向导提示操作生成。,津匈荔沸立录寓餐托凝暮汪啪暴吊隆杖诉次座聂胸酥铰踢庶莫功跌搏勋坑XPHDXJSJJC第八章XPHDXJSJJC第八章,在SQL视图中查看SQL语句,建立查询,查看查询语句,查看查询结果,洁隋曝豫疽翼捕梯婆龚妨趴趋烤刑仲藉辖福辣纶截杨卉滚荡清威得递纷滚XPHDXJSJJC第八章XPHDXJSJJC第八章,本章课后作业及实习,复习教材第八章内容预习教材第九章内容教材第八章后的问答题指导及习题中对应章节全部习题指导及习题中对应章节全部实验,晶闯雏彤师恶毕刚痹量微速症贯牧庐篷日钠娱峻绵问拔肩山萄衣啃辅苔瓤XPHDXJSJJC第八章XPHDXJSJJC第八章,