第6章信息系统与数据库本章近年来考题分析单选多选填空判断2005年3分2分2分1分2006年1分1分1分1分2007年2分1分1分1分2008年2分1分1分1分2009年2分1分1分1分2010年3分1分1分1分占据比重偏小,四种题型都会覆盖,主要侧重于基本概念。本章要掌握的知识点(1)计算机信息系统的定义、“信息”和“数据”的概念数据库、数据库管理系统和数据库系统数据库系统的特点数据模型:关系、层次、网状和面向对象E-R概念模型有关术语。实体、属性、主键和联系本章要掌握的知识点(2)三种基本的联系类型:一对一、一对多、和多对多传统集合的关系操作:并、交、差、(广义笛卡儿积)专门的关系操作:插入、删除、更新、选择、投影和连接关系数据库语言SQL6.1计算机信息系统6.1.1什么是计算机信息系统6.1.2信息系统的类型什么是计算机信息系统计算机信息系统(简称信息系统)是一类以提供信息服务为主要目的的数据密集型、人机交互的计算机应用系统。4个主要技术特点:①数据量大,一般需存放在外存中②数据长久持续有效(持久性)③数据共享使用(共享性)④提供多种信息服务(功能多样性)(管理,检索,统计,分析,决策等)。信息系统是一种面广量大的计算机应用系统:教学管理系统地理信息系统信息检索系统医学信息系统决策支持系统民航订票系统电子政务系统电子商务系统………………..从信息处理的深度来区分信息系统,基本可分为3大类:业务处理系统信息检索系统信息分析系统管理业务系统辅助技术系统办公信息系统(OA)面向操作层次面向管理层次CAD(计算机辅助设计)CAM(计算机辅助制造)CAPP(计算机辅助工艺规划)6.2关系数据库系统6.2.1数据管理的需求和数据库系统6.2.2关系数据模型6.2.3关系操作6.2.4关系数据库语言SQL简介6.2.5数据库系统及应用新技术数据库系统的组成数据库系统(DBS)指具有管理和控制数据库功能的计算机应用系统,它一般由用户应用程序、计算机支持系统、数据库、数据库管理系统和有关人员组成。硬件操作系统DBMS应用开发工具应用系统数据库设计,开发,管理DBS的人员和用户指按一定的数据模式组织并长期存放在外存上的,可共享的,面向部门全局应用的数据集合。对数据进行管理的系统软件,它是数据库系统的核心软件利用DBS资源开发的,解决管理和决策问题的各种应用程序。数据库系统的特点①数据结构化。②数据可共享高,冗余度低③数据独立于程序数据的逻辑独立性:应用程序与数据库的逻辑结构相互独立。数据的物理独立性:应用程序与数据库的存储结构相互独立。④统一管理控制数据数据模型由于使用数据库的信息系统是一种计算机软件系统,而计算机是不可能直接处理现实世界中的事物的。所以必须通过以下过程来处理数据:具体事物及其特征概念化加工计算机能够存储处理的数据DB计算机不可能直接处理现实世界中的事物进一步具体说明:客观对象抽象到数据模式描述的结构客观对象概念结构抽象数据模式抽象DB(E-R图)(二维表)按计算机系统支持的结构,组织数据(数据模式):逻辑结构为二维表存储结构为文件从概念上描述对象和对象间的关联,经过识别,选择,分类等综合分析,形成“概念结构”(用实体-联系工具E-R图表示。)综上可见:概念结构是分析过程中的一个中间结果,它将现实世界中的客观对象和对象间的关联,经过识别,选择,分类等综合分析,形成“概念结构”。(用实体-联系工具E-R图表示)数据模型是直接面向计算机系统(即数据库)中数据的数据结构(包括逻辑结构和存储结构)。(用数据模型来描述数据结构)E-R概念模型中的有关术语实体(entity):客观对象;实体集:具有共性的实体的集合;属性(attribute):实体的特征;联系(relationship)一对一联系(1:1)一对多联系(1:n)多对多联系(m:n)实体集之间的联系E-R图实体集——矩形框;联系——菱形;属性——椭圆(圆形);实体集主键——加斜杠线(/)的属性;实体集1联系名实体集211一对一班级和班长的联系实体集1联系名实体集21n一对多班级和学生的联系联系名实体集1实体集2mn多对多课程和学生的联系学号SNO姓名SNME系别DEPART出生年月BDATE学生S所属SCL班级CLASS班号CLNO班名CLNAME班长MONITOR排座SS教室座位SIE排号ROW列号COLUMN选课SC成绩GRADE课程C课程号CNO课程名CNAME学时LHOUR开课时间SEMESTERnm1n11性别SEX身高HEIGHTE-R图例在常见的数据库系统中,根据实体集之间的不同结构,通常把数据模型分为层次模型、网状模型、关系模型和面向对象模型4种。层次模型网状模型关系模型面向对象模型国内DBS普遍采用关系模型(95%以上),课程介绍关系模型。关系数据模型关系数据模型描述数据的逻辑结构3要素:数据结构数据完整性数据的操作关系数据模型从用户的观点看,用关系数据模型描述的关系数据模式其逻辑结构具有二维表的结构形式,它与人们日常使用的表格类似,由表名、行和列组成。表的每一行称为一个元组,每一列称为一个属性。关系模型的基本结构是关系,也就是二维表结构。例如:表1学生登记表(S):学生登记表(S)SNOSNAMEDEPARTSEXBDATEHEIGHTC005张雷计算机男1987-06-301.75C008王宁计算机女1986-08-201.62A041周光明自动控制男1986-08-101.70M038李霞霞应用数学女1988-10-201.65R098钱欣管理工程男1986-05-161.80………………………………表2.课程开设表(C):课程开设表(C)CNOCNAMELHOURSEMESTERCC-112软件工程60春CS-202数据库45秋EE-103控制工程60春ME-234数学分析40秋MS-211人工智能60秋……………………表3.学生选课成绩表(SC):学生选课成绩表(SC)SNOCNOGRADEA041CC11292A041ME23492.5A041ME21190C005CC11284.5C005CS20282M038ME23485R098CS20275R098MS21170.5………学生登记表(S),课程开设表(C)与学生选课成绩表之间的联系:SNOCNOGRADEA041CC11292A041ME23492.5A041MS21190C005CC11284.5C005CS20282M038ME23485R098CS20275R098MS21170.5SNOSNAMEDEPARTSEXBDATEHEIGHTA041周光明自动控制男1986-8-101.7C005张雷计算机男1987-6-301.75C008王宁计算机女1986-8-201.62M038李霞霞应用数学女1988-10-201.65R098钱欣管理工程男1986-5-161.8CNOCNAMELHOURSEMESTERCC112软件工程60春CS202数据库45秋EE103控制工程60春ME234数学分析40秋MS211人工智能60秋学生登记表(S)学生选课成绩表(SC)课程开设表(C)关系数据模型数据库中数据的逻辑结构(二维表)纵观示意图:逻辑结构DBMSDB物理数据库从用户角度看数据库中数据的逻辑结构(二维表)用户用户SCCS…………属性(列)S表元组1(行)元组2(行)元组n(行)…………存储模式关系数据模式:用关系数据模型对一个具体单位中客观对象及其联系的结构描述,称为关系数据模式(简称:关系模式)关系模式的描述形式:其中:R为关系模式名,即二维表名。Ai(1≤i≤n)是二维表中的列名。R(A1,A2,…Ai…,An)或者:R=(A1,A2,…Ai…,An)上述数据对象(S和C)以及数据对象之间的联系(SC)表示成关系模式分别为:S(SNO,SNAME,DEPART,SEX,BDATE,HEIGHT)C(CNO,CNAME,LHOUR,SEMESTER)SC(SNO,CNO,GRADE)这3个关系模式也可以用汉字定义为:学生(学号,姓名,系别,性别,出生日期,身高)课程(课程号,课程名,学时,开课时间)选课成绩(学号,课程号,成绩)关系模式(即二维表)主键:能够唯一标识二维表中指定元组的属性或者属性组(这组属性的任何真子集无此性质),称为该二维表的候选键。如果一个关系模式有多个候选键存在,则可从中选一个最常用的作为该关系模式主键,简称主键。课程开设表(C)CNOCNAMELHOURSEMESTERCC-112软件工程60春CS-202数据库45秋EE-103控制工程60春ME-234数学分析40秋MS-211人工智能60秋……………………学生登记表(S)SNOSNAMEDEPARTSEXBDATEHEIGHTC005张雷计算机男1987-06-301.75C008王宁计算机女1986-08-201.62A041周光明自动控制男1986-08-101.70M038李霞霞应用数学女1988-10-201.65R098钱欣管理工程男1986-05-161.80………………………………候选键:(学号)(姓名,出生年月)主键:(学号)学生登记表中的学生有下列属性(列):学号,姓名,系别,出生年月等,则学号可作为候选键,用它来标识一个学生。因学生可能有重名,因而姓名不能作为候选键;但若学生的出生年月不同,则也可用属性组(姓名,出生年月)作为候选键,必须再从这两个候选键中选其一(如学号)作为学生登记表的主键。学生登记表(S)SNOSNAMEDEPARTSEXBDATEHEIGHTC005张雷计算机男1987-06-301.75C008王宁计算机女1986-08-201.62A041周光明自动控制男1986-08-101.70M038李霞霞应用数学女1988-10-201.65R098钱欣管理工程男1986-05-161.80………………………………关系模型程序员用户关系模式文件结构二维表结构关系(二维表)文件表元组记录行属性数据项(字段)列基本术语的对照:关系模型中的术语来自关系数学,与程序员和用户的习惯说法是相对应的。关系模型的存储结构在关系数据模型中,数据对象和数据对象之间的联系都用二维表来表示。在支持关系模型的数据库物理组织(即存储结构)中,二维表以文件形式存储。在大多数数据库中,二维表与操作系统中的文件相对应。关系数据模型的特点:①关系模型建立在严格的数学理论基础上②关系数据模型的概念单一③对二维表的操作是“非过程性”集合论的关系概念数据对象和联系都是二维表。对二维表的操作结果也是二维表。存取路径对用户透明,简化了程序员的编程工作;数据独立性和安全性好E.F.Codd---关系数据库之父亲关系是一种规范化二维表中行的集合。在关系数据模型中,对每个关系还作了如下限制:①每一个列对应一个域,列名不能相同.。②关系中所有的列是原子数据(原子数据是不可再分的)③关系中不允许出现相同的行(即不能出现重复的行)④关系是行的集合,行的次序可以交换。(按集合的性质)⑤行中列的顺序可以任意交换。(按集合的性质,但使用按定义顺序)特别提示:数据模型和模式是有区别的。数据模型:用一组概念和定义描述数据的手段数据模式:用某种数据模型对具体情况下相关数据结构的描述。具体地说,关系模式是以关系数据模型为基础,综合考虑了用户的需求,并将这些需求抽象而得到的逻辑结构。因而不应将关系数据模型和关系模式相混淆。特别提示:关系模式:反映了二维表的静态结构,是相对稳定的。关系:是关系模式在某一时刻的状态,它反映二维表的内容,由于对关系的操作不断更新着二维表中的数据,因此关系是随时间动态变化的。但在一般表述中,人们常常将关系模式和关系都称为关系,实际上对此二者应加以科学的区分。关系数据模型的完整性实体完整性约束关系模型的完整性约束引用完整性约束用户定义完整性约束阅读材料6.4关系操作在关系数据库中,通常可以定义一些操作来通过已知的关系(二维表)创建新的关系(二维表)。最常用的关系操作有