《【教学课件】第九章信息管理与数据库.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第九章信息管理与数据库.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第九章第九章 信息管理与数据库信息管理与数据库9-2Copyright SWFU-CI,2016.All rights reserved.主要内容主要内容v9.1数据库系统概述数据库系统概述v9.2关系模型与关系数据库关系模型与关系数据库v9.3SQL语言简介语言简介v9.4关系数据库设计初步关系数据库设计初步v9.5典型典型DBMS:SQLServer9-3Copyright SWFU-CI,2016.All rights reserved.教学重点、难点、手段、习题教学重点、难点、手段、习题v教学重点教学重点数据库系统的基本概念、关系模型、数据库系统的基本概念、关系模型、SQL、关系数据库
2、设计、关系数据库设计步骤步骤.v教学难点教学难点关系模型关系模型v授课手段及方法授课手段及方法采用多媒体技术手段,对于操作部分进行现场演示教学,视采用多媒体技术手段,对于操作部分进行现场演示教学,视频动画教学频动画教学v课后作业课后作业课本的章节习题、考试系统章节习题课本的章节习题、考试系统章节习题9-4Copyright SWFU-CI,2016.All rights reserved.9.1数据库系统概述数据库系统概述v数据库系统数据库系统概念概念DatabaseSystem:简记为:简记为DBS,是实现有组织,是实现有组织地、动态地存储大量关联数据、方便多用户访问的地、动态地存储大量关联
3、数据、方便多用户访问的计算机硬件、软件和数据资源组成的系统,即计算机硬件、软件和数据资源组成的系统,即采用采用数据库技术的计算机系统数据库技术的计算机系统。v数据库系统数据库系统DBS组成组成狭义:数据库狭义:数据库DB、数据库管理系统、数据库管理系统DBMS广义:数据库广义:数据库DB、数据库管理系统、数据库管理系统DBMS、应用、应用系统、数据库管理员系统、数据库管理员DBA和用户。和用户。9-5Copyright SWFU-CI,2016.All rights reserved.数据库系统的组成数据库系统的组成v1.数据库数据库DB数据库数据库是存储在计算机上,与应用彼此独立的、是存储在
4、计算机上,与应用彼此独立的、以一定的组织方式存储在一起的、彼此相互关联以一定的组织方式存储在一起的、彼此相互关联的、具有较少冗余的、能被多个用户共享的数据的、具有较少冗余的、能被多个用户共享的数据集合。集合。v2.数据库管理系统数据库管理系统DBMSDatabaseManagementSystem:是一种负责数是一种负责数据库定义、建立、操作、管理和维护的数据管理据库定义、建立、操作、管理和维护的数据管理软件软件DBMS总是基于某种数据模型,可以分为总是基于某种数据模型,可以分为层次型层次型、网状型网状型、关系型关系型和和面向对象型面向对象型等。等。9-6Copyright SWFU-CI,2
5、016.All rights reserved.数据库管理系统的功能数据库管理系统的功能v数据定义数据定义定义并管理各种类型的数据项定义并管理各种类型的数据项v数据处理数据处理数据库存取能力(增加、删除、修改和查询)数据库存取能力(增加、删除、修改和查询)v数据安全数据安全创建用户账号、相应的口令及设置权限创建用户账号、相应的口令及设置权限v数据备份数据备份提供准确、方便的备份功能提供准确、方便的备份功能v常用的常用的DBMSSQLServer、Oracle、VFP、Access9-7Copyright SWFU-CI,2016.All rights reserved.数据库系统的组成数据库系
6、统的组成v3.数据库管理员数据库管理员DBA主要负责数据库设计、建立、管理和维护数据库,主要负责数据库设计、建立、管理和维护数据库,协调各用户对数据库的要求等。协调各用户对数据库的要求等。v4.用户用户用户是数据库系统的服务对象,是数据库系统的使用户是数据库系统的服务对象,是数据库系统的使用者。用者。两类用户:终端用户、应用程序员。两类用户:终端用户、应用程序员。v5.数据库应用系统数据库应用系统应用系统是指在数据库管理系统提供的软件平台上,应用系统是指在数据库管理系统提供的软件平台上,结合各领域的应用需求开发的软件产品。结合各领域的应用需求开发的软件产品。例如:学生成绩管理关系,医院挂号系统
7、等。例如:学生成绩管理关系,医院挂号系统等。9-8Copyright SWFU-CI,2016.All rights reserved.9.2关系模型与关系数据库关系模型与关系数据库E-R模型模型v实体实体(Entity):具有相同属性或特征的客观:具有相同属性或特征的客观现实和抽象事物的集合。现实和抽象事物的集合。v属性属性(Attributes):表示一类客观现实或抽:表示一类客观现实或抽象事物的一种特征或性质。象事物的一种特征或性质。v联系联系(Relationship):表示多个实体之间的:表示多个实体之间的相互关联,反映了实体类型之间的某种关联。相互关联,反映了实体类型之间的某种关联
8、。v二元实体间联系的种类:二元实体间联系的种类:一对一联系一对一联系(1:1)一对多联系一对多联系(1:n)多对多联系多对多联系(m:n)9-9Copyright SWFU-CI,2016.All rights reserved.二元实体间的联系类型二元实体间的联系类型9-10Copyright SWFU-CI,2016.All rights reserved.二元实体间的多对多联系二元实体间的多对多联系9-11Copyright SWFU-CI,2016.All rights reserved.E-RE-R图图vE-RE-R图图三种三种基本基本元素元素实体、属性、联系实体、属性、联系vE-R
9、图的基本思想图的基本思想分别用分别用矩形框矩形框、椭圆形框椭圆形框和和菱形框菱形框表示表示实实体体、属性属性和和联系联系。使用无向边将属性与其相应的实体连接起使用无向边将属性与其相应的实体连接起来。来。将联系分别和有关实体相连接,注明联系将联系分别和有关实体相连接,注明联系类型。类型。9-12Copyright SWFU-CI,2016.All rights reserved.概念概念结结构模型:构模型:E-R图图E-R图的三种基本元素及其图形的表示方法图的三种基本元素及其图形的表示方法实体实体属性属性联系联系线段线段9-13Copyright SWFU-CI,2016.All rights
10、reserved.学生与课程联系的学生与课程联系的E-R图图学生与课程联系的完整学生与课程联系的完整E-R图图课程名学生学号姓名性别出生日期系别课程课程号学分n成绩m选修9-14Copyright SWFU-CI,2016.All rights reserved.图书借阅图书借阅E-R图图图书与读者图书与读者E-R图图图书信息书号书名出版社作者借书证号单价读者信息姓名系别性别借书NM借书日期归还日期9-15Copyright SWFU-CI,2016.All rights reserved.关系模型关系模型v关系模型关系模型:用二维表结构来表示实体以及用二维表结构来表示实体以及实体之间联系的模
11、型实体之间联系的模型v在关系模型中:在关系模型中:关系关系:二维表二维表关系模式关系模式:一个表的结构,对应二维表的表头一个表的结构,对应二维表的表头元组元组:二维表的一行,相当于一个记录(值)二维表的一行,相当于一个记录(值)属性属性:二维表中的每一列,相当于记录中的一个数二维表中的每一列,相当于记录中的一个数据项据项9-16Copyright SWFU-CI,2016.All rights reserved.关系数据库关系数据库学生信息表学号姓名性别出生年月99070470JimMale1980.1099070471MikeMale1981.199070468MarryFemale1979
12、.2学生成绩表学号课程编号成绩99070470A01019099070471B01028099070468A01017099070468C00018699070470B0102759-17Copyright SWFU-CI,2016.All rights reserved.关系模型关系模型v关系模式关系模式(RelationalScheme)由一个关系名以及它所有的属性名构成。它对应二由一个关系名以及它所有的属性名构成。它对应二维表的表头,是二维表的构成框架维表的表头,是二维表的构成框架格式格式:关系名(属性名关系名(属性名1,属性名属性名2,属性名,属性名n)在在SQLServer中对应的表
13、结构为中对应的表结构为:表名(字段名表名(字段名1,字段名,字段名2,字段名,字段名n)v关系关系(Relation)表示多个实体之间的相互关联,每一张表称为该关表示多个实体之间的相互关联,每一张表称为该关系模式的一个具体关系。系模式的一个具体关系。包括:关系名、表的结构和表的数据(元组)。包括:关系名、表的结构和表的数据(元组)。9-18Copyright SWFU-CI,2016.All rights reserved.关系术语关系术语v域(域(Domain):属性所对应的取值范围叫属性的域属性所对应的取值范围叫属性的域v实体标识符(实体标识符(identifier):能惟一标识实体的属性
14、:能惟一标识实体的属性或属性集,称为实体标识符。或属性集,称为实体标识符。v主键(主键(PrimaryKey):能唯一标识关系中不同元:能唯一标识关系中不同元组的属性或属性组称为该关系的候选关键字。被选组的属性或属性组称为该关系的候选关键字。被选用的候选关键字称为主关键字,即主键。用的候选关键字称为主关键字,即主键。v外键(外键(ForeignKey):如果关系:如果关系R的某一(些)属的某一(些)属性性A不是不是R的候选关键字,而是另一关系的候选关键字,而是另一关系S的候选关的候选关键字,则称键字,则称A为为R的外来关键字,即外键。的外来关键字,即外键。9-19Copyright SWFU-
15、CI,2016.All rights reserved.实际关系模型实际关系模型关系模式关系模式StudInfo(StudNo,StudName,StudSex,StudBirthDay,ClassID)ClassInfo(ClassID,ClassName,ClassDesc)字段字段一对多的联系一对多的联系(1:M)通过外键实现通过外键实现元组元组字段值字段值域为男、女域为男、女关键字关键字关键字关键字外键外键StudInfoClassInfo9-20Copyright SWFU-CI,2016.All rights reserved.关系运算关系运算v关系的基本运算有两类:关系的基本运算
16、有两类:传统的集合运算传统的集合运算并并交交差差专门的关系运算专门的关系运算选择选择投影投影联接联接笛卡尔乘积笛卡尔乘积9-21Copyright SWFU-CI,2016.All rights reserved.v传统的集合运算举例传统的集合运算举例ABCABCa1b1c1a1b1c1a1b1c2a2b2c1a2b2c1a2b3c2(a)(b)RSABCa1b1c1a2b2c1RS(e)RSABCABCa1b1c1a1b1c1a1b1c1a2b2c1a1b1c1a2b3c2a1b1c2a1b1c1a1b1c2a2b2c1a1b1c2a2b3c2a2b2c1a1b1c1a2b2c1a2b2c1
17、a2b2c1a2b3c2笛卡尔乘积笛卡尔乘积(f)R SR-SABCABCa1b1c1a1b1c2a1b1c2a2b2c1a2b3c2(c)(d)9-22Copyright SWFU-CI,2016.All rights reserved.专门的关系运算专门的关系运算v选择:选择:从关系中找出满足给定条件的元组从关系中找出满足给定条件的元组的操作的操作(Where)v投影:投影:从关系模式中指定若干个属性组成从关系模式中指定若干个属性组成新的关系新的关系v联接:联接:将两个关系模式拼接成一个更宽的将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足联系关系模式,生成的新关系中包含满足
18、联系条件的组合条件的组合(InnerJoin)9-23Copyright SWFU-CI,2016.All rights reserved.选择操作示例选择操作示例select*fromstudinfowhereStudNoin(99070401,99070405)选选择择StudInfo9-24Copyright SWFU-CI,2016.All rights reserved.投影操作示例投影操作示例SelectStudNo,StudName,StudBirthDayFromStudInfo投投影影StudInfo9-25Copyright SWFU-CI,2016.All rights
19、reserved.联接操作示例联接操作示例SelectStudNo,StudName,StudSex,ClassInfo.ClassID,ClassNameFromStudInfoInnerJoinClassInfoOnStudInfo.ClassID=ClassInfo.ClassIDStudInfoClassInfo9-26Copyright SWFU-CI,2016.All rights reserved.9.3SQL语言简介语言简介vSQL是结构化查询语言是结构化查询语言(StructuredQueryLanguage)的简称。的简称。vSQL语言结构简洁,功能强大,简单易学,语言结构
20、简洁,功能强大,简单易学,自从自从IBM公司公司1981年推出以来,得到了广泛年推出以来,得到了广泛的应用。的应用。vOracle,Sybase,Informix,SQLServer大型大型的数据库管理系统,的数据库管理系统,VisualFoxpro,Access等单机数据库都支持等单机数据库都支持SQL语言作为查询语言。语言作为查询语言。9-27Copyright SWFU-CI,2016.All rights reserved.SQL语言分类语言分类v数据定义语言数据定义语言DDL(DataDefinitionLanguage)CREATE、ALTER、DROPv数据操作语言数据操作语言D
21、ML(DataManipulationLanguage)INSERT、UPDATE、DELETEv数据控制语言数据控制语言DCL(DataControlLanguage)GRANT、REVOKEv数据查询语言数据查询语言DQL(DataQueryLanguage)SELECT9-28Copyright SWFU-CI,2016.All rights reserved.SQL数据类型数据类型v数据类型就是以数据的表现方式和存储方式来划数据类型就是以数据的表现方式和存储方式来划分的数据的种类分的数据的种类v数据类型是一种属性,用来设定某一个具体列保数据类型是一种属性,用来设定某一个具体列保存数据的
22、类型存数据的类型v可分为整数数据、字符数据、货币数据、日期和可分为整数数据、字符数据、货币数据、日期和时间数据、二进制字符串等时间数据、二进制字符串等9-29Copyright SWFU-CI,2016.All rights reserved.标识符标识符v标识符必须是统一码标识符必须是统一码(Unicode)2.0标准中规定的字标准中规定的字符,以及其他一些语言字符,如汉字。符,以及其他一些语言字符,如汉字。v标识符不能有空格符,或特殊字符标识符不能有空格符,或特殊字符_、#、$以以外的字符。外的字符。v标识符不允许是标识符不允许是Transact-SQL的保留字。的保留字。v标识符长度不得
23、超过标识符长度不得超过128个字符。个字符。类型类型说明说明英文字符英文字符AZ,az,在,在SQL不区分大小写不区分大小写数字数字09,不能作为第一个字符,不能作为第一个字符特殊字符特殊字符_、#、$,但,但$不作为第一个字符不作为第一个字符特殊语系的合法文字特殊语系的合法文字如中文字如中文字9-30Copyright SWFU-CI,2016.All rights reserved.使用使用SQL语句管理表语句管理表v创建表创建表CREATETABLEv删除表删除表DROPTABLE9-31Copyright SWFU-CI,2016.All rights reserved.创建表创建表v
24、Createtable语句语法简化形式语句语法简化形式Createtabletablename(column1datatypeconstraint,column2datatypeconstraint,columnNdatatypeconstraint);9-32Copyright SWFU-CI,2016.All rights reserved.1.创建学生信息表创建学生信息表(StudInfo)字段名称字段名称数据类型数据类型字段长度字段长度空值空值PK字段描述字段描述举例举例StudNoVarchar15Y学生学号学生学号99070470StudNameVarchar20学生姓名学生姓名李
25、明李明StudSexChar2学生性别学生性别男男StudBirthDayDateTimeY出生年月出生年月1980-10-3ClassIDVarchar10班级编号班级编号990704CreateTableStudInfo(StudNoVARCHAR(15)PRIMARYKEY,StudNameVARCHAR(20)notnull,StudSexChar(2)notnull,StudBirthDaydatetimenull,ClassIDVARCHAR(10)notnull)9-33Copyright SWFU-CI,2016.All rights reserved.字段的字段的NULL值与
26、值与DEFAULT值值vNULL表示字段的数据值未知或不可用。表示字段的数据值未知或不可用。并不表示零(数字值或二进制值)、零长度的并不表示零(数字值或二进制值)、零长度的字符串或空白(字符值)。字符串或空白(字符值)。vDefault当数据表设计时某个字段设有默认值,在数据当数据表设计时某个字段设有默认值,在数据录入时,该字段若不输入,则以默认值来填充录入时,该字段若不输入,则以默认值来填充该字段。该字段。9-34Copyright SWFU-CI,2016.All rights reserved.删除数据表删除数据表v语法语法DROPTABLE表名表名v示例示例DropTableStudS
27、coreInfo9-35Copyright SWFU-CI,2016.All rights reserved.使用使用SQL语句维护数据语句维护数据v添加记录添加记录Insertv修改记录修改记录Updatev删除记录删除记录Delete9-36Copyright SWFU-CI,2016.All rights reserved.添加记录(添加记录(Insert)vINSERT语句用于向数据表中添加记录。语句用于向数据表中添加记录。v语法语法INSERTINTO表名表名(列列1,列列2)VALUES(columnvalue,columnvalue);v示例:向学生成绩表添加记录示例:向学生成绩
28、表添加记录InsertIntoStudScoreInfo(StudNo,CourseID,StudScore)Values(99070570,A0101,80.5)9-37Copyright SWFU-CI,2016.All rights reserved.更新记录(更新记录(update)vupdate语句更新或修改满足给定条件的记录语句更新或修改满足给定条件的记录v格式格式updatetablenameset列列1=值值1,列列2=值值2.WHERE更改条件更改条件v示例示例:更新学号为更新学号为99070404的姓名为李丽,性别为的姓名为李丽,性别为女女UpdateStudInfoSet
29、StudName=李丽李丽,StudSex=女女WhereStudNo=990704049-38Copyright SWFU-CI,2016.All rights reserved.删除记录(删除记录(delete)vDELETE删除数据库表格中的行或记录。删除数据库表格中的行或记录。v格式格式DELETEFROM表名表名WHERE删除条件删除条件v示例:删除学号为示例:删除学号为99070404学生信息学生信息DELETEFROMStudInfoWHEREStudNo=99070404v注意注意where从句指定删除记录的判断条件。从句指定删除记录的判断条件。不加不加where从句,删除表格
30、中的所有记录。从句,删除表格中的所有记录。9-39Copyright SWFU-CI,2016.All rights reserved.基本基本SQL查询语句结构查询语句结构SELECT字段名表字段名表INTO要生成的新表名要生成的新表名FROM表的列表表的列表WHERE查询条件查询条件ORDERBY排序字段列表排序字段列表ASC|DESC9-40Copyright SWFU-CI,2016.All rights reserved.简单查询示例简单查询示例SelectStudNo,CourseID,StudScore*0.8FromStudScoreInfoSelectDistinctStud
31、NameFromStudInfoSelectTop10*FromStudInfoSelectStudNoAs学号学号,姓名姓名=StudName,ClassID班级编号班级编号FromStudInfo9-41Copyright SWFU-CI,2016.All rights reserved.使用使用INTO子句子句vINTOnew_table_name该子句将指定使用检索出来的结果集创建一个该子句将指定使用检索出来的结果集创建一个新的数据表。新的数据表。v示例示例Select Top 10 StudNo AS 学号学号,StudName 姓名姓名,StudSex AS 性别性别 INTO C
32、hineseStudInfo From StudInfo9-42Copyright SWFU-CI,2016.All rights reserved.FROM子句子句v语法语法FROM,.nv功能功能FROM子句主要用来指定检索数据的来源,指定子句主要用来指定检索数据的来源,指定数据来源的数据表和视图的列表数据来源的数据表和视图的列表列表中的数据表名和视图名之间使用逗号分隔列表中的数据表名和视图名之间使用逗号分隔9-43Copyright SWFU-CI,2016.All rights reserved.WHERE子句子句v语法语法WHEREv功能功能WHERE子句用于限制返回的行的搜索条件。
33、子句用于限制返回的行的搜索条件。v查询或限定条件可以是:查询或限定条件可以是:比较运算符(如比较运算符(如=、)范围说明(范围说明(BETWEEN和和NOTBETWEEN)可选值列表(可选值列表(IN、NOTIN)模式匹配(模式匹配(LIKE和和NOTLIKE)是否为空值(是否为空值(ISNULL和和ISNOTNULL)上述条件的逻辑组合(上述条件的逻辑组合(AND、OR、NOT)9-44Copyright SWFU-CI,2016.All rights reserved.逻辑运算符(逻辑运算符(AND、OR和和NOT)vAND连结两个布尔型表达式连结两个布尔型表达式当两个表达式都为真时返回真
34、当两个表达式都为真时返回真vOR将两个条件结合起来将两个条件结合起来结果为两个条件的并集结果为两个条件的并集vNOT用于反转查询条件的结果用于反转查询条件的结果v括号括号改变逻辑运算符优先级别改变逻辑运算符优先级别9-45Copyright SWFU-CI,2016.All rights reserved.Where示例示例Select*FromStudInfoWhereStudBirthDay=#1985/10/08#Select*FromStudScoreInfoWhereStudScore=60andStudScore80orStudScore=80 Group By StudNoOrd
35、er By AvgScore Descv将平均分按高低排序将平均分按高低排序9-49Copyright SWFU-CI,2016.All rights reserved.数据库设计六个阶段数据库设计六个阶段v需求分析需求分析v概念设计概念设计v逻辑设计逻辑设计v物理设计物理设计v数据库实施数据库实施v数据库运行和维护数据库运行和维护现实世界数据分析用户业务活动分析概念设计功能模型逻辑设计事务设计物理设计程序说明子模式设计应用程序设计加载试验数据程序编码调试性能考核满意?是否加载数据库运行和维护数据库设计的全过程数据库设计的全过程9-51Copyright SWFU-CI,2016.All ri
36、ghts reserved.9.5典型典型DBMS:Access2010vAccess是由微软发布的关系数据库管理系统是由微软发布的关系数据库管理系统v结合了结合了MicrosoftJetDatabaseEngine和图形和图形用户界面两项特点,是微软用户界面两项特点,是微软OFFICE的一个成员的一个成员v目前最新版本为目前最新版本为OfficeAccess2013,本教材中,本教材中以以Access2010介绍其数据库管理部分功能。介绍其数据库管理部分功能。9-52Copyright SWFU-CI,2016.All rights reserved.Access2010的使用的使用v打开打开Access2010选择选择“开始开始”“所有程序所有程序”“MicrosoftOffice”“MicrosoftAccess2010”9-53Copyright SWFU-CI,2016.All rights reserved.Acess工作界面工作界面9-54Copyright SWFU-CI,2016.All rights reserved.Access创建数据表创建数据表9-55Copyright SWFU-CI,2016.All rights reserved.SQL查询视图查询视图