管理系统中计算机应用4
数据库系统数据库系统管理系统中计算机应用讲义2.HUSTHUST学习目标学习目标本章主要介绍了数据库、数据模型和本章主要介绍了数据库、数据模型和SQL语言:语言:n1.理解数据库和数据模型的基本概念;理解数据库和数据模型的基本概念;n2.熟悉关系模型的结构、完整性、关系运算及规熟悉关系模型的结构、完整性、关系运算及规范化;范化;n3.熟悉数据库的安全性;熟悉数据库的安全性;n4.掌握掌握SQL语言的基本概念和基本操作语言的基本概念和基本操作管理系统中计算机应用讲义3.HUSTHUST本章目录本章目录管理系统中计算机应用讲义4.HUSTHUST4.1 数据库系统概述数据库系统概述n数据库三级结构体系(物理模式、模式、用户模数据库三级结构体系(物理模式、模式、用户模式),模式是系统的核心和关键式),模式是系统的核心和关键模式的主体模式的主体数据模型数据模型1.模型的概念模型的概念2.概念模型概念模型3.数据模型数据模型管理系统中计算机应用讲义5.HUSTHUST4.1 数据库系统概述数据库系统概述1.模型的概念模型的概念n模型模型:对现实世界的事物进行模拟和抽象对现实世界的事物进行模拟和抽象。
n数据模型数据模型:它是数据特征的抽象表示它是数据特征的抽象表示n模型模型满足条件满足条件:一是真是反映物质本身;二是容:一是真是反映物质本身;二是容易被人理解;三是便于在计算机上实现易被人理解;三是便于在计算机上实现n数据模型数据模型分类分类:以人的观点模拟物质本身的模型,:以人的观点模拟物质本身的模型,即概念模型(信息模型);以计算机系统的观点即概念模型(信息模型);以计算机系统的观点模拟模拟物质本身的物质本身的模型,即数据模型模型,即数据模型管理系统中计算机应用讲义6.HUSTHUST4.1 数据库系统概述数据库系统概述1.模型的概念模型的概念2.概念模型概念模型/信息信息模型模型n是从人堆现实世界的认识出发,根据建模的需要是从人堆现实世界的认识出发,根据建模的需要将具体的事物抽象为便于理解和研究的模型缺将具体的事物抽象为便于理解和研究的模型缺乏计算机知识的基本用户最容易理解的乏计算机知识的基本用户最容易理解的n常用术语:常用术语:实体、属性(型实体、属性(型/值)、码、域、实体值)、码、域、实体型、实体集、联系(实体型内部各属性之间)型、实体集、联系(实体型内部各属性之间)n实体实体型之间的联系型之间的联系:1:1,1:n,m:nn实体实体内部内部各各属性间的联系属性间的联系:1:1,1:n,m:nn概念模型的表示方法概念模型的表示方法:E-R实体联系模型、实体联系模型、E-R图图管理系统中计算机应用讲义7.HUSTHUST4.1 数据库系统概述数据库系统概述1.模型的概念模型的概念2.概念模型概念模型/信息信息模型模型n常用术语:常用术语:实体、属性(型实体、属性(型/值)、码、域、实体值)、码、域、实体型、实体集、联系(实体型内部各属性之间)型、实体集、联系(实体型内部各属性之间)n实体实体型之间的联系型之间的联系:1:1,1:n,m:nn实体实体内部内部各各属性间的联系属性间的联系:1:1,1:n,m:nn概念模型的表示方法概念模型的表示方法:E-R实体联系模型、实体联系模型、E-R图图E-R图图主要是由实体、属性和联系三个要素构成的。
主要是由实体、属性和联系三个要素构成的管理系统中计算机应用讲义8.HUSTHUST4.1 数据库系统概述数据库系统概述1.模型的概念模型的概念 2.概念模型概念模型3.数据模型数据模型n分类分类:逻辑数据模型,物理数据模型逻辑数据模型,物理数据模型n逻辑数据模型逻辑数据模型:是用户通过数据库管理系统看到:是用户通过数据库管理系统看到的现实世界,描述了数据库数据的整体结构组的现实世界,描述了数据库数据的整体结构组成:数据结构成:数据结构+数据操作数据操作+数据完整性约束类型:数据完整性约束类型:层次模型、网状模型、关系模型和面向对象的层次模型、网状模型、关系模型和面向对象的n物理数据模型物理数据模型:用来描述数据的物理存储结构和:用来描述数据的物理存储结构和存储方法受存储方法受DBMS控制,与计算机存储器操作控制,与计算机存储器操作系统密切相关一般用户看不到,是系统密切相关一般用户看不到,是DBMS的功的功能,是能,是DBMS的存储模型的存储模型管理系统中计算机应用讲义9.HUSTHUST4.1 数据库系统概述数据库系统概述1.模型的概念模型的概念 2.概念模型概念模型 3.数据模型数据模型n分类分类:逻辑数据模型,物理数据模型。
逻辑数据模型,物理数据模型n1)格式化数据模型格式化数据模型:层次数据库和网状数据库是:层次数据库和网状数据库是第一代第一代DBS层次模型和网状模型都支持三级模层次模型和网状模型都支持三级模式结构层次数据库的特点是实体间按层次关系式结构层次数据库的特点是实体间按层次关系来定义层次层次/网状模型的主要特征网状模型的主要特征:n2)关系模型关系模型管理系统中计算机应用讲义10.HUSTHUST4.1 数据库系统概述数据库系统概述 1.关系模型的数据结构关系模型的数据结构2.关系模型关系模型的基本要求的基本要求3.关系的完整性关系的完整性 4.关系关系操作操作管理系统中计算机应用讲义11.HUSTHUST4.1 数据库系统概述数据库系统概述1.关系模型的数据结构关系模型的数据结构n定义定义:是一种新的数据模型,它建立在集合论和是一种新的数据模型,它建立在集合论和谓词演算公式的基础上谓词演算公式的基础上n特点特点:逻辑结构简单、数据独立性强、存取具有:逻辑结构简单、数据独立性强、存取具有对称性、操作灵活关系数据库系统由许多不同对称性、操作灵活关系数据库系统由许多不同的关系构成,其中每个关系就是一个实体。
的关系构成,其中每个关系就是一个实体n术语术语:关系、元组、候选码、外部码:关系、元组、候选码、外部码2.关系模型关系模型的基本要求:的基本要求:3.关系的完整性关系的完整性4.关系关系操作操作管理系统中计算机应用讲义12.HUSTHUST4.1 数据库系统概述数据库系统概述1.关系模型的数据结构关系模型的数据结构2.关系模型关系模型的基本要求:的基本要求:n1)数据项不可再分数据项不可再分2)每列数据有相同属性)每列数据有相同属性3)每)每行数据是一个实体诸多属性值的集合,行数据是一个实体诸多属性值的集合,4)5)每)每列列&各行顺序任意各行顺序任意3.关系的完整性关系的完整性n定义定义:数据不断更新,就需对关系数据库进行约:数据不断更新,就需对关系数据库进行约束n1)实体完整性:主属性不能为空值;实体完整性:主属性不能为空值;2)参照完)参照完整性整性3)用户定义的)用户定义的完整性完整性管理系统中计算机应用讲义13.HUSTHUST4.1 数据库系统概述数据库系统概述1.关系模型的数据结构关系模型的数据结构2.关系模型关系模型的基本要求:的基本要求:3.关系的完整性关系的完整性n1)实体完整性实体完整性:主属性不能为空值。
主属性不能为空值n2)参照完整性参照完整性:学生(系别学生(系别,专业号专业号,专业专业,姓名姓名,性别性别,年龄年龄,学号)学号)专业(专业号专业(专业号,专业)专业)n3)用户定义的完整性用户定义的完整性:用户根据应用环境设定的:用户根据应用环境设定的非约束性条件非约束性条件管理系统中计算机应用讲义14.HUSTHUST4.1 数据库系统概述数据库系统概述1.关系模型的数据结构关系模型的数据结构 2.关系模型关系模型的基本要求:的基本要求:3.关系的完整性关系的完整性 4.关系关系操作操作n传统集合运算传统集合运算并、交、差并、交、差n专门专门的关系运算的关系运算选择、投影、连接选择、投影、连接1)Select*from KB where 时间时间 in(“周一周一”);2)Select 地点地点,课程名课程名 from KB where 时间时间 in(“周一周一”);3)Select XK.学号学号,XK.姓名姓名,XK.课程课程名名 from XK join KB on XK.课程名课程名=KB.课程名课程名 管理系统中计算机应用讲义15.HUSTHUST4.1 数据库系统概述数据库系统概述1.规范化规范化n定义定义:对于关系模型,只要满足:对于关系模型,只要满足5条件,但有优劣。
条件,但有优劣由于限制条件严格程度不同,关系分为不同的规由于限制条件严格程度不同,关系分为不同的规范层次n范式范式:限制条件越严格、描述的关系就越规范,:限制条件越严格、描述的关系就越规范,一般把关系的这种层次叫一般把关系的这种层次叫n范式间关系范式间关系:5NF 4NF BCNF 3NF 2NF 1NF2.数据规范化数据规范化管理系统中计算机应用讲义16.HUSTHUST4.1 数据库系统概述数据库系统概述1.规范化规范化n5NF 4NF BCNF 3NF 2NF 1NF2.数据规范化数据规范化n定义定义:一一个低一级的范式,可分解转换为若干高个低一级的范式,可分解转换为若干高一级范式的关系模式的集合,关系模式的这种不一级范式的关系模式的集合,关系模式的这种不断改进提高过程断改进提高过程n一范式一范式:每个属性必须是单纯域,即每个数据都:每个属性必须是单纯域,即每个数据都基本项CLGY(材料号材料号,供应商编号供应商编号,供应量供应量,城市城市,地区地区,区码区码)管理系统中计算机应用讲义17.HUSTHUST4.1 数据库系统概述数据库系统概述1.规范化规范化n5NF 4NF BCNF 3NF 2NF 1NF2.数据规范化数据规范化n一范式一范式:每个数据都基本项。
每个数据都基本项CLGY(材料号材料号,供应商编号供应商编号,供应量供应量,城市城市,地区地区,区码区码)1NF问题问题:插入异常、删除修改异常、数据冗余大:插入异常、删除修改异常、数据冗余大1NF解决解决:消除关系模式中的不完全函数依赖和传:消除关系模式中的不完全函数依赖和传递函数依赖递函数依赖CG(材料号材料号,供应商编号供应商编号,供应量供应量)GY(供应供应商编号商编号,城市城市,地区地区,区码区码)管理系统中计算机应用讲义18.HUSTHUST4.1 数据库系统概述数据库系统概述1.规范化规范化n5NF 4NF BCNF 3NF 2NF 1NF2.数据规范化数据规范化CG(材料号材料号,供应商编号供应商编号,供应量供应量)GY(供应商编号供应商编号,城市城市,地区地区,区区码码)n2NF问题问题:插入异常、删除异常、冗余太大:插入异常、删除异常、冗余太大2NF解决解决:消除关系模式中的传递函数依赖消除关系模式中的传递函数依赖GY1(供应商编号供应商编号,城市城市,地区地区)GY2(城市城市,区码区码)管理系统中计算机应用讲义19.HUSTHUST4.1 数据库系统概述数据库系统概述1.身份验证身份验证2.存取控制存取控制n用户访问权限用户访问权限:数据对象、操作类型。
数据对象、操作类型n数据对象分两类数据对象分两类:表、字段等;外模式、模式和:表、字段等;外模式、模式和内模式管理系统中计算机应用讲义20.HUSTHUST4.2 数据库管理中的数据库管理中的SQL语言语言nSQL是一种十分重要的标准关系数据库语言它是一种十分重要的标准关系数据库语言它是集成数据定义、数据查询、数据操纵和数据控是集成数据定义、数据查询、数据操纵和数据控制功能于一体的语言,主要功能是数据查询制功能于一体的语言,主要功能是数据查询DDL/DML/DCL1.SQL语言的特点语言的特点2.SQL语言的使用语言的使用3.SQL数据库术语数据库术语管理系统中计算机应用讲义21.HUSTHUST4.2 数据库管理中的数据库管理中的SQL语言语言1.SQL语言的特点语言的特点nSQL是非过程化语言,没有基本程序结构语句,是非过程化语言,没有基本程序结构语句,每条命令功能强大操作简单关系模型中实体间每条命令功能强大操作简单关系模型中实体间联系也用关系表示,这种单一数据结构是的数据联系也用关系表示,这种单一数据结构是的数据操作完全统一,数据查找、插入、删除和修改等操作完全统一,数据查找、插入、删除和修改等都只需一种操作符都只需一种操作符。
9条命令动词条命令动词2.SQL语言的使用语言的使用VFP只支持只支持6种种SQL命令命令;SQL2000纯纯SQL开发VFP既有既有SQL语句,又有用户界面及程序结构语句,语句,又有用户界面及程序结构语句,是较完整小系统,可作是较完整小系统,可作SQL前端软件开发数据库界前端软件开发数据库界面管理系统中计算机应用讲义22.HUSTHUST4.2 数据库管理中的数据库管理中的SQL语言语言1.SQL语言的特点语言的特点2.SQL语言的使用语言的使用3.SQL数据库术语数据库术语n表表:n数据库数据库:mdfn索引索引:记录排序:记录排序n关键字关键字:由某列或若干列及变量、函数组成:由某列或若干列及变量、函数组成n视图视图:虚表、逻辑表:虚表、逻辑表管理系统中计算机应用讲义23.HUSTHUST4.2 数据库管理中的数据库管理中的SQL语言语言nCreat database 学生学生10 on(name=,filename=E:测试测试学生学生10.mdf)1.多媒体多媒体计算机定义计算机定义n媒体媒体:2.多媒体计算机关键多媒体计算机关键技术技术管理系统中计算机应用讲义24.HUSTHUST4.2 数据库管理中的数据库管理中的SQL语言语言nCreat database XXX on prim(name=XX,filename=XXX,size=.,maxsize=.|unli,filegrowth=.),log on(name=XX,filename=XXX,size=.,maxsize=.|unli,filegrowth=.),for load|for attachnCreat database 学生学生 on(name=学生学生10,filename=E:测试测试学生学生10.mdf)管理系统中计算机应用讲义25.HUSTHUST4.2 数据库管理中的数据库管理中的SQL语言语言nSp_renamedb 学生学生10 ,student 10n1.SQL数据类型:数据类型:char每个字符占一个字节,浮每个字符占一个字节,浮点型点型DEC,datatime存放日期和时间信息,存放日期和时间信息,text存放文本存放文本n2.VFP数据类型:数据类型:n3.create table 学生学生.DBO.student(xh char(8)not null primary key default 00000000,xm char(8)null,xb char(2),nl int null,check(nl15 and nl26)管理系统中计算机应用讲义26.HUSTHUST4.2 数据库管理中的数据库管理中的SQL语言语言nAlter table xs alter column xh intnDrop table xsnUse 学生学生 update student set nl=20 delete student where xm=张岚张岚nDelete from jzg1 where xb=男男管理系统中计算机应用讲义27.HUSTHUST4.2 数据库管理中的数据库管理中的SQL语言语言1.索引的种类索引的种类聚集索引聚集索引/非非聚集索引聚集索引;主索引主索引/候选索引候选索引/普普通索引通索引/唯一索引唯一索引2.索引索引的创建的创建nCreat index ss on student(xm)管理系统中计算机应用讲义28.HUSTHUST4.2 数据库管理中的数据库管理中的SQL语言语言1.定义视图定义视图2.视图的删除视图的删除nCreat view 学生学生 as select xh,xm,cj from studentnCreat view 学生学生(学号学号,姓名姓名,成绩成绩)as select xh,xm,cj from studentnDrop view 学生学生管理系统中计算机应用讲义29.HUSTHUST4.3 SQL语言的数据查询功能语言的数据查询功能1.查询单表所有字段查询单表所有字段nSelect*from student2.查询数据表指定列查询数据表指定列nSelect xh,xm,cj as成绩成绩 from student3.使用列表表达式查询使用列表表达式查询4.不输出重复行查询不输出重复行查询nSelect distinct xf from kc5.查询查询结果结果排序排序输出输出Select*from kc order by xf desc,kh6.只输出部分行的查询只输出部分行的查询管理系统中计算机应用讲义30.HUSTHUST4.3 SQL语言的数据查询功能语言的数据查询功能7.满足逻辑条件的查询满足逻辑条件的查询8.查询含有空值查询含有空值NULL的记录的记录Select*from student where xb is NULL9.控制输出方向控制输出方向10.使用统计(使用统计(聚合聚合)函数查询)函数查询Select 统计统计 as 类别类别,avg(nl)as 平均年平均年龄龄,sum(cj)as 总分总分 from student Select 统计统计 as 类别类别,count(distinct nl)as 人数人数 from student 11.分组查询分组查询管理系统中计算机应用讲义31.HUSTHUST4.3 SQL语言的数据查询功能语言的数据查询功能11.分组查询分组查询Select 统计统计 as 类别类别,xf as 学分学分,count(kh)as 课程数课程数 from kc group by xf12.带清单的统计查询带清单的统计查询13.模糊查询模糊查询Select*from student where xm like 李李%14.使用使用between查询查询15.使用使用in查询查询Select*from kc where xf in(3,5)。




