购买

¥39.9

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 计算机导论第4章 数据库技术基础和应用

计算机导论第4章 数据库技术基础和应用.ppt

计算机导论第4章 数据库技术基础和应用

孟子73代
2019-03-27 0人阅读 举报 0 0 0 暂无简介

简介:本文档为《计算机导论第4章 数据库技术基础和应用ppt》,可适用于高等教育领域

第章数据库设计基础和应用数据库系统概述数据库技术的发展数据库系统基本概念数据库系统的体系结构本节内容数据库技术的发展数据库系统管理阶段的主要特点数据库系统的基本概念数据(Data)是用来记录信息的可识别的符号是数据库中存储的基本对象。数据库系统的基本概念数据库(DataBaseDB)是长期存放在计算机外存上、有结构的、可共享的相关数据的集合。数据库数据库数据具有永久存储、有组织和可共享个基本特点。数据库系统的基本概念数据库管理系统(DBMS)是用于建立、使用和维护数据库的系统软件数据库管理系统数据库管理系统是位于操作系统之上的一层系统软件。数据库管理系统(DBMS)的功能*数据库系统的组成数据库系统的组成数据库(DB):有组织的相关数据的集合数据库管理系统(DBMS):DBMS是数据库系统的核心其主要任务是管理数据库为用户提供访问数据库的方法。应用系统:为满足用户需要而开发的数据库应用软件应用开发工具:为开发数据库应用系统而采用的各种开发工具。人员:与数据库系统打交道的人。最终用户、应用程序开发人员、数据库管理员*数据库系统的三级模式结构模式又称为逻辑模式是数据库中全体数据的全局逻辑结构和特征的描述。外模式又被称为用户模式是根据用户的需要从模式中导出的子模式是用户最后看到的数据的局部逻辑结构是与某应用程序有关的整个数据库中部分数据的描述。外模式内模式又称为存储模式是数据物理结构和存储方式的描述是数据在存储介质上的保存方式。内模式数据库系统的三级模式结构模式内模式映像定义了模式和内模式之间的对应关系是数据的全局逻辑结构和数据的存储结构之间的对应关系。模式内模式映像外模式模式映像定义了外模式和模式之间的对应关系是数据的全局逻辑结构和数据的局部逻辑结构之间的对应关系。外模式模式映像数据模型数据模型的分类(自学)ER模型本节内容实体:把客观存在并且可以相互区分的事物称为实体例如一名学生。属性:描述实体的特性称为属性。实体集:同一类型实体的集合称为实体集。实体型:对同类实体的描述称为实体型。它由实体名与其属性名共同构成。关键字:能够唯一标识实体集中每个实体的某一属性或属性组称为关键字它的值能够唯一区分不同的实体。联系:在概念模型中将实体集之间的对应关系称为联系。通过联系反映现实世界事物之间的相互关联。ER模型的基本概念和联系一对多多对多一对一、一对多、多对多两个实体集的联系有三种类型:ER模型包括三个基本图形元素:实体:用矩形表示框内标注实体名。属性:用椭圆形表示并用直线将属性与对应的实体连接。实体之间的联系:用菱形表示框内标注联系名。并用直线将联系名与对应的实体连接同时在连线旁标注联系的类型(:、:N或M:N)。ER模型图形表示ER模型图形表示示例:班长集和班级集两个实体集之间是一对一联系。示例:班级实体有班级编号和班级名称等属性学生实体有学号、姓名、性别、专业和班级编号等属性。班级集和学生集两个实体集之间是一对多联系。ER模型图形表示示例:课程实体有课程编号、课程名称、学时和学分。学生集和课程集两个实体集之间是多对多联系。关系模型关系模型的基本概念关系模型的完整性规则本节内容关系运算关系模型用二维表来表示实体与实体之间联系的数据模型。关系模型是将同一类实体的数据组织成二维表的形式。每个二维表称为一个关系。关系student(学生信息登记表)关系stucourse(选课信息登记表)关系course(课程信息登记表)学号姓名性别年龄专业登录口令王子阳男自动化李元元女计算机吴国强男会计刘丽女会计赵长青男计算机学号课程编号选修学期成绩课程编号课程名称学分学时高等数学数据结构物理英语会计关系:一个关系对应一张二维表。每个关系必须有一个关系名。例如关系名student。属性:表中的一列为一个属性。每个属性都有一个名称称为属性名。元组:表中的一行数据称为一条元组也被称为记录。关键字:表中某一属性或属性组它的值能够唯一标识一条记录则把这一属性或属性组称为关键字。关系模型的基本术语关系模型的逻辑结构是一张二维表由行和列组成。关系学生登记表关系名关键字属性(列)属性名元组(行)学号姓名性别系别年龄籍贯helliphellip李勇刘成王明张力杨晓东男女女男男计科信息数学计科物理江苏山东北京北京山西值域:属性的取值范围称为值域。关系模式:是对关系的描述它主要包括关系名组成该关系的各属性名、值域和关键字。关系模式的一般形式为:关系名(属性名属性名helliphellip,属性名n)关系模型的基本概念和术语关系模式的一般形式示例:关系student的关系模式是:student(学号姓名性别年龄专业登录口令)其中属性ldquo学号rdquo带有下划线表示是关键字。示例:关系stucourse的关系模式是:stucourse(学号课程编号选修学期成绩)其中属性ldquo学号rdquo和ldquo课程编号rdquo带有下划线表示关键字是由属性ldquo学号rdquo和ldquo课程编号rdquo的组合。关系模型的完整性规则实体完整性是对关系中记录唯一性即关键字的约束。(关键字的值不能为空且不能有相同的值)参照完整性是对关系数据库建立联系的关系之间数据参照引用的约束也就是对外键的约束。(从表中外键的值必须是主表主键的有效值或是空)用户定义的完整性是根据应用环境的不同针对某一具体数据的约束条件。关系模型的完整性规则是对关系的约束。关系运算在关系数据库中对关系的操作主要是指对一张表或者两张表中相应行(记录)、列(属性)内容的操作。关系运算主要包括选择、投影和连接等三种。选择运算是指在一个关系中选择出满足给定条件的元组组成新关系.选择运算学号姓名性别年龄专业登录口令王子阳男自动化吴国强男会计赵长青男计算机投影操作是指在一个关系的所有属性中选取指定属性列组成新关系。.投影操作姓名年龄专业王子阳自动化李元元计算机吴国强会计刘丽会计赵长青计算机.连接操作连接操作一般是将两个关系通过连接条件组成一个新关系。在新关系中包含原有两个关系的所有属性其中属性名表示方法是属性名前加上原有关系名。新关系中的记录是通过连接原有关系的记录得到的。例题:在两个关系course和stucourse中进行连接运算连接条件是course的课程编号等于stucourse的课程编号。关系stucourse(选课信息登记表)关系course(课程信息登记表)学号课程编号选修学期成绩课程编号课程名称学分学时高等数学数据结构物理英语会计Course课程编号Course课程名称Course学分Course学时StuCourse学号StuCourse课程编号StuCourse选修学期StuCourse成绩高等数学高等数学高等数学数据结构数据结构物理例题:在两个关系course和stucourse中进行连接运算连接条件是course的课程编号等于stucourse的课程编号。要求在连接运算组成的新关系中选择学号、课程名称和成绩且分以上的成绩。StuCourse学号Course课程名称StuCourse成绩高等数学高等数学高等数学数据结构关系数据库标准SQL语言SQL语言概述结构化标准SQL语句数据查询语言本节内容语言概述SQL语言特点:一体化语言、高度非过程化语言、简洁语言、共享语言。SQL语言功能:数据定义、数据查询、数据操纵和数据控制。SQL功能动词数据定义CREATEDROPALTER数据操纵INSERT,UPDATE,DELETE数据查询SELECT数据控制GRANT,REVOKE结构化标准SQL语句数据定义语句()创建基本表CREATETABLE表名(字段名l数据类型列级完整性约束条件),(字段名数据类型)列级完整性约束条件,hellip字段名n数据类型n字段级完整性约束条件n)结构化标准SQL语句数据定义语句在ldquo学生成绩管理系统rdquo数据库中写出建立Student数据表结构的语句。字段名称数据类型字段大小(宽度)说明学号文本主键姓名文本非空性别文本年龄数字整型专业文本出生日期日期登录口令文本设置唯一性说明备注结构化标准SQL语句数据定义语句CREATETABLEstudent(学号char()Primarykey,姓名char()not,性别char(),年龄smallInt,专业char(),出生日期date,登录口令char()Unique,说明memo)结构化标准SQL语句数据定义语句()修改表ALTERTABLE表名ALTER字段名数据类型ADD新字段名)数据类型)列级完整性约束条件DROP字段名hellip结构化标准SQL语句数据定义语句例:将ldquo登录口令rdquo字段的数据类型改为数字型字段大小改为长整型。ALTERTABLEstudentALTER登录口令INTEGER例:增加字段名称为ldquo班级编号rdquo数据类型为ldquo文本rdquo字段大小为。ALTERTABLEstudentADD班级编号Char()例:删除ldquo说明rdquo字段。ALTERTABLEstudentDROP说明()删除表DROPTABLE表名例:在ldquo学生成绩管理系统rdquo数据库中写出删除已有student表的SQL语句。DROPTABLEstudent结构化标准SQL语句数据操纵语句()插入记录INSERTINTO表名(字段名l字段名hellip)VALUES(常量l常量hellip)结构化标准SQL语句数据操纵语句例:在student表中插入记录(刘帅,男,,会计,)语句插入记录(,李虹,,)语句。◎插入所有字段INSERTINTOstudentVALUES(ldquordquoldquo刘帅rdquoldquo男rdquoldquo会计rdquoldquordquoldquordquo,ldquo哈市rdquo)◎插入部分字段INSERTINTOstudent(学号姓名年龄登录口令)VALUES(ldquordquoldquo李虹rdquoldquordquo)结构化标准SQL语句数据操纵语句()更新记录UPDATE表名SET字段名=表达式字段名=表达式hellipWHERE条件结构化标准SQL语句数据操纵语句例:student表中所有记录的ldquo出生日期rdquo减天语句男同学的ldquo年龄rdquo加岁语句修改ldquo刘帅rdquo登录口令为ldquordquo语句。◎更新所有记录的指定字段值UPDATEstudentSET出生日期=出生日期◎更新部分记录的指定字段值UPDATEstudentSET年龄=年龄WHERE性别=ldquo男rdquo◎更新一条记录的指定字段值UPDATEstudentSET登录口令=ldquordquoWHERE姓名=ldquo刘帅rdquo结构化标准SQL语句数据操纵语句()删除记录DELETEFROM表名WHERE条件例:在ldquo学生成绩管理系统rdquo数据库中在student表中删除女同学的年龄大于岁的记录删除所有记录只留有表的结构。◎删除部分记录DELETEFROMstudentWHERE年龄and性别=ldquo女rdquo◎删除全部记录DELETEFROMstudent数据查询语句SELECT语句基本格式SELECTALL|DISTINCT|TOPn*|字段名列表表达式AS标识符hellipFROM表名表名hellipWHERE条件表达式GROUPBY字段名HAVING条件表达式ORDERBY字段名ASC|DESC数据查询语句简单查询()按指定字段查询例:查询student表中所有记录查询student表中ldquo姓名rdquo、ldquo年龄rdquo和ldquo专业rdquo所有记录。◎查询所有记录:SELECT*FROMstudent或:SELECTALL*FROMstudent◎查询指定字段记录:SELECT姓名,年龄,专业FROMstudent数据查询语句简单查询()除去字段的重复值例:查询student表中ldquo专业rdquo的种类记录。SELECTDISTINCT专业FROMstudent数据查询语句简单查询()条件查询例:查询stucourse表中ldquo成绩rdquo在到之间并显示ldquo学号rdquo、ldquo课程编号rdquo和ldquo成绩rdquo的记录。SELECT学号,课程编号,成绩FROMstucourseWHERE成绩=AND成绩=或:SELECT学号,课程表号,成绩FROMstucourseWHERE成绩BETWEENAND数据查询语句简单查询()条件查询例:查询student表中ldquo自动化rdquo或ldquo会计rdquo的ldquo专业rdquo并显示ldquo姓名rdquo和ldquo专业rdquo的记录。SELECT姓名,专业FROMstucourseWHERE专业=ldquo自动化rdquoOR专业=ldquo会计rdquo或:SELECT姓名,专业FROMstucourseWHERE专业IN(ldquo自动化rdquo,ldquo会计rdquo)数据查询语句简单查询()统计查询例:统计查询stucourse表中记录。◎统计总ldquo成绩rdquo,并显示ldquo总成绩rdquo的记录。SELECTSUM(成绩)AS总成绩FROMstucourse◎统计ldquo成绩rdquo的平均值,并显示ldquo成绩平均值rdquo的记录。SELECTAVG(成绩)AS成绩平均值FROMstucourse◎统计ldquo成绩rdquo良好的个数,并显示ldquo成绩良好的个数rdquo的记录。SELECTCOUNT(成绩)AS成绩良好的个数FROMstucourseWHERE成绩BETWEENAND数据查询语句简单查询()统计查询◎统计stucourse表总学生数。SELECTCOUNT(*)AS成绩表总人数FROMstucourse◎统计ldquo成绩rdquo最大值,并显示ldquo成绩最大值rdquo的记录。SELECTMAX(成绩)AS成绩最大值FROMstucourse◎统计ldquo成绩rdquo最小值,并显示ldquo成绩最小值rdquo的记录。SELECTMIN(成绩)AS成绩最小值FROMstucourse数据查询语句简单查询()分组查询例:查询分组student表中的记录。◎查询统计每个ldquo专业rdquo的人数。SELECT专业,COUNT(*)AS人数FROMstudentGROUPBY专业◎查询统计每个ldquo专业rdquo的平均年龄并显示ldquo专业rdquoldquo平均年龄rdquo的记录。SELECT专业,AVG(年龄)AS平均年龄FROMstudentGROUPBY专业◎查询统计每个ldquo专业rdquo的平均年龄并显示ldquo平均年龄rdquo大于等于的ldquo专业rdquoldquo平均年龄rdquo的记录。SELECT专业,AVG(年龄)AS平均年龄FROMstudentGROUPBY专业HAVINGAVG(年龄)=数据查询语句简单查询()排序查询例:查询排序stucourse表中的记录。◎查询按ldquo成绩rdquo升序排序的全部记录。SELECT*FROMstucourseORDERBY成绩ASC◎查询ldquo成绩rdquo排在前名学生并显示ldquo学号rdquo,ldquo成绩rdquo的记录。SELECTTOP学号,成绩FROMstucourseORDERBY成绩DESC◎查询每一门课程的成绩降序排序的记录。SELECT*FROMstucourseORDERBY课程编号ASC成绩DESC数据查询语句连接查询()内连接内连接基本格式:FROM表名INNERJOIN表名ON连接条件其中连接条件的基本格式:表名字段名比较运算符表名字段名数据查询语句连接查询()外连接外连接基本格式:左连接:FROM表名LEFTOUTERJOIN表名ON连接条件右连接:FROM表名RIGHTOUTERJOIN表名ON连接条件其中连接条件的基本格式:表名字段名=表名字段名数据查询语句连接查询()外连接例:查询student和stucourse表中学生的选课情况的记录。查询显示已经选课程的学生和没有选课程的学生记录并显示ldquo学号rdquoldquo姓名rdquoldquo课程编号rdquo和ldquo成绩rdquo字段。左连接:SELECTstudent学号,姓名,课程编号,成绩FROMstudentLEFTJOINstucourseONstudent学号=stucourse学号右连接:SELECTstudent学号,姓名,课程编号,成绩FROMstudentRIGHTJOINstucourseONstucourse学号=student学号数据查询语句嵌套查询嵌套查询是指在查询语句ldquoSELECThellipFROMhellipWHERErdquo中嵌入一个查询块(子查询)。也就是子查询也是ldquoSELECThellipFROMhellipWHERErdquo语句组成。WHERE与子查询基本格式:WHERE字段名操作运算符子查询其中:操作运算符包括比较运算符、IN和NOTIN等。数据查询语句嵌套查询例:查询成绩大于的ldquo学号rdquo和ldquo姓名rdquo学生的记录。SELECT学号,姓名FROMstudentWHERE学号IN(SELECT学号FROMstucourseWHERE成绩)数据查询语句嵌套查询例:查询与ldquo刘丽rdquo同一个专业的学生并显示ldquo学号rdquo、ldquo姓名rdquo和ldquo专业rdquo学生的记录。SELECT学号,姓名,专业FROMstudentWHERE专业IN(SELECT专业FROMstudentWHERE姓名=ldquo刘丽rdquo)或:SELECT学号,姓名,专业FROMstudentWHERE专业=(SELECT专业FROMstudentWHERE姓名=ldquo刘丽rdquo)数据查询语句嵌套查询例:查询student表中大于平均年龄的学生记录。SELECTstudent*FROMstudentWHERE年龄(SELECTVAG(年龄)FROMstudent)**

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

评分:

/62

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利