1《数据库及应用》主讲教师:孙玉霞办公室:工程训练中心302室Email:syxa@163.com办公室电话:897237022考查方式上机考试(闭卷)总成绩=机考成绩×70%+平时成绩×30%平时成绩分:1、课堂考勤和表现(包括上机)2、作业报告成绩3、期中考试点名:三次点名无故没来,取消考试资格(包括上机)作业实验报告:两次不交(抄袭者作废和做得不认真当不交处理,不允许补交)没有平时成绩.试验报告要求用报告纸写理论课36学时,上机实验课20学时(带班上机)。3《数据库及应用》-VisualFoxPro程序设计主要内容数据库知识程序设计-数据库基础-表-数据库-SQL语言-查询与视图-面向过程程序设计-面向对象程序设计-表单与控件-菜单4主要内容:1.信息、数据和数据管理2.数据管理技术的发展3.数据模型4.数据库系统5.关系数据库第一课数据库理论基础5§1.1信息、数据和数据处理信息信息(Information)是客观事物属性的反映。信息是经过加工处理并对人类客观行为产生影响的事物属性的表现形式。对决策有价值的数据。数据数据(Data)是信息的载体。是对客观事物的本质、特征、范围等进行的一种抽象的、符号化的表示。信息与数据病历卡上记载39是数据,数据39本身是没有意义的。当数据以某种形式经过处理、描述或与其它数据比较时,才能成为信息。某个病人的体温是39℃,这才是信息,信息是有意义的。总之,信息是有用的数据,数据是信息的载体,信息是数据的内涵。6Banking:alltransactions7Humanresources8Sales:customers,products,purchases9数据处理数据处理也称为信息处理,是利用计算机对各种类型的数据进行处理。它包括对数据的采集、存储、加工和传输等一系列操作过程。数据管理对数据的分类、组织、编码、存储、检索和维护。思考题:1.数据和信息的区别与联系?2.数据处理和数据管理是什么含义?数据处理数据信息10数据库技术的发展大致分为3个阶段:人工管理阶段、文件管理阶段、数据库系统阶段。1.人工管理阶段人工管理阶段的特点:(20世纪50年代中期)1.数据不保存2.无数据管理软件,数据的管理由应用软件来完成3.程序和数据在一起,数据没有独立性4.一组数据对应一个程序,数据不能共享§1.2数据管理技术的发展11§1.2数据管理技术的发展数据管理的进展—人工管理阶段应用程序1数据组1应用程序2数据组应用程序n数据组n……1.人工管理阶段122.文件管理阶段特点:(50年代后期到60年代中期)1.数据以文件的形式长期保留在外存。2.数据的物理结构和逻辑结构有了区别,程序和数据有了一定的独立性。3.由文件系统管理数据,文件多样化数据管理的进展——文件系统阶段应用程序1数据组1应用程序2数据组2应用程序n数据组n……文件系统缺点:·数据冗余大·数据和程序独立性差·文件系统仍是一个不具有弹性的无结构的数据集合。133.数据库系统阶段(60年代后期)数据库产生的背景:时间:60年代后期硬件:大容量磁盘,硬件价格下降软件:软件价格上升,编制和维护软件需成本增加数据1统一存取数据2数据n程序2程序1程序n14数据库(DataBase,DB)长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性,并可为各个用户共享。§1.3数据库系统数据库管理系统(DBMS)(DataBaseManagementSystem)是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。它是数据库系统的核心。应用程序1应用程序2DBMSDB…15数据库管理系统的功能:1.数据库的定义2.数据库的操作-检索、插入、删除、更新3.数据库的运行控制-数据库的完整性控制、并发性控制-数据库的安全性控制、数据库的恢复16数据库系统的组成…(3)计算机系统(硬件系统、软件系统)(1)数据库DB(2)数据库管理系统,DBMS人员(4)数据库管理员DBA程序员终端人员数据库系统(DBS)17数据库系统特点:数据结构化数据共享减少数据冗余有较高的数据独立性加强数据的安全性和完整性的保护数据库系统是由几部分组成?数据库、数据库管理系统、数据库系统的区别和联系?184.分布式数据库分布式数据库系统(DistributedDataBaseSystem,DDBS)是在集中式数据库基础上发展起来的,是数据库技术与计算机网络技术、分布处理技术相结合的产物。分布式数据库系统是地理上分布在计算机网络不同结点,逻辑上属于同一系统的数据库系统,能支持全局应用,同时存取两个或两个以上结点的数据。分布式数据库系统的主要特点是:(1)数据是分布的。(2)数据是逻辑相关的。分布在不同结点的数据,逻辑上属于同一个数据库系统。(3)结点的自治性。每个结点都有自己的计算机软、硬件资源、数据库、数据库管理系统。数据库技术不断向前发展,涌现出许多不同类型的新型数据库系统,除了分布式数据库系统,还有面向对象数据库系统、多媒体数据库系统。19数据模型是现实世界数据特征的抽象。现实世界中的具体事物经过抽象形成信息世界中的概念模型,将概念模型进一步转换,形成某一DBMS支持的数据模型。概念模型:按用户的观点来对数据和信息建模主要用于数据库设计,常用E-R(实体—联系)图来描述。§1.4数据模型用板书画出简单的E-R图讲解概念模型和数据模型的区别!201.4.1实体关系图简记E-R图是指以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式。学生成绩考试1n姓名学号性别学号课号成绩实体用矩形表示联系用菱形表示属性用椭圆形表示如学生——成绩实体集之间的联系用E-R图表示21概念模型基本概念:1.实体(Entity):客观存在并可相互区别的事物如一本书,一名学生,一次考试。2.实体集(EntitySet):同型实体的集合如书,学生,课程等。4.属性(Attribute):实体所具有的某一特征。一个学生的学号,姓名,年龄。5.码(Key):唯一标识实体的属性集。如学号3.实体型:对实体的型的描述,是实体名和属性的集合如学生(学号,姓名,性别,出生日期)226.实体联系建立实体模型的一个主要任务就是要确定实体之间的联系。常见的实体联系有3种:一对一联系、一对多联系和多对多联系。如图所示:正班长班长-班级班级11班级班级-学生学生1n教师教师-学生学生mn(a)(b)(c)231.4.2数据模型数据模型:按计算机系统的观点对数据建模。主要用于DBMS的实现,有层次模型、网状模型和关系模型等。信息抽象数据抽象现实世界信息世界的实体模型数据模型数据模型:层次模型,网状模型和关系模型24层次模型(HierarchicalModel)利用树型结构来表示实体以及实体之间的联系。层次模型中的结点为记录型。其主要特征如下:仅有一个无双亲的根结点。根结点以外的子结点,向上仅有一个父结点,向下有若干子结点。层次模型数据结构学校总务处教务处信息经济系……教务科教材科根结点子结点25网状模型(NetworkModel)网状模型是层次模型的扩展,它表示多个从属关系的层次结构,呈现一种交叉关系的网络结构。网状模型是以记录为结点的网络结构。常用于反映实体间的多对多的联系,描述较为复杂的联系。网状模型数据结构学校学生课程教师其主要特征如下:有一个以上的结点无双亲。至少有一个结点有多个双亲。26关系模型(RelationalModel)关系模型是二维表结构表示实体以及实体之间联系的数据模型。大多数数据库管理系统都是关系模型。如VFPStudents表属性(字段)分量(属性值)男张智忠学号姓名性别党员专业出生年月助学金990001王涛男No物理82-01-21¥160.00990002庄前女Yes物理82-09-21¥200.00990101丁保华男No数学81-04-18¥180.00990102姜沛棋女No数学81-12-02¥280.00No数学80-08-06¥240.00990201程玲女Yes计算机82-11-14¥200.00990202黎敏艳女Yes计算机83-02-21¥160.00990103元组为记录关键字惟一确定一条记录271.关系的主要术语:关系:一个关系对应一张二维表。元组:表中的一行,相当一个记录。属性:表中一列称为属性(字段),给每一列起一个名称即属性名。域:属性的取值范围。关键字:唯一地标识一个元组的一个或若干个属性集合。主关键字:从多个关键字中选一个作为主关键字分量:元组中的一个属性值。§1.5关系数据库282.关系的主要特点:关系中每个属性是不可分割的数据单元;在同一个关系中不允许出现完全相同的元组在同一个关系中属性名不允许相同在同一关系中,同一属性的属性值的数据类型一致在同一关系中元组或属性的顺序可以改变学号课程号成绩平时成绩卷面成绩总成绩0001123709300024128092这是一个关系?293.关系运算常见的关系运算有选择运算、投影运算和连接运算三种。系别姓名性别高数计算机李凌男98机械陈燕女84桥梁周羽男83环境潘峰男75计算机李静瑶女85Sc.dbf30选择(Select)选择运算是从关系中选择某些满足条件的记录组成一个新的关系。也可以说,选择运算是在关系R中选择满足给定条件的元组。在关系中选择某些条件的元组。Select*fromscwhere性别=“男”系别姓名性别高数计算机李凌男98桥梁周羽男83环境潘峰男7531投影(Projec)投影运算是从关系中选择某些字段的值组成一个新的关系。也可以说,投影运算是在关系R中选择出若干属性列。在关系中选择某些属性的列。对应于关系的垂直分解。Select姓名高数fromsc姓名高数李凌98陈燕84周羽83潘峰75李静瑶85只包含姓名、高数两列32连接(Join)连接运算是将两个或多个关系通过连接条件组成一个新的关系。也可以说,连接运算是在关系R和关系S中选择属性间满足一定条件的元组。从两个关系的苗卡尔积中选取属性间满足一定条件的元组。连接是关系的横向结合。姓名英语李凌87陈燕89周羽79潘峰80李静瑶90系别姓名性别高数英语计算机李凌男9887机械陈燕女8489桥梁周羽男8379环境潘峰男7580计算机李静瑶女8590系别姓名性别高数计算机李凌男98机械陈燕女84桥梁周羽男83环境潘峰男75计算机李静瑶女85334.表间关联关系的类型在一个关系数据库中,若想将依赖于关系模型建立的多个数据表组织在一起,反映客观事物数据间的多种对应关系,通常将这些数据表放入同一个数据库中,并建立表间关联。在同一个数据库中,相关联的表间关系的类型有一对一、一对多和多对多3种关系。345.关系的完整性关系的完整性,即关系中的数据及具有关联关系的数据间必须遵循的制约和依存关系,以保证数据的正确性、有效性和相容性。关系的完整性主要包括:实体完整性参照完整性用户定义完整性35(1)实体完整性实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为空值(Null)且不能有相同值。学生(学号,姓名,性别,出生日期)课程(课程号,课程名,学分)成绩(学号,课程号,成绩)例如:“学号”是主属性,元组中表示的学生必须有学号36(2)参照完整性外码(外键):设F是关系R的某一属性,若F与关系S的主键相对应,则称F是关系R的外码。基本关系R为参照关系,S为被参照关系。规则:若属性F是关系R的外码,它与基本关系S的主键相对应,则对于R中的每个元素在F上的值:1)或者取空值2)或者等于S中某个元组的主码值。学生(学号,姓名,性别,专业号,出生日期)专业(专业号,专业名)Employee(学号,姓名,班级,班长学号,)37(3)用户定义完整性是针对某一具体数据库的约束条件。例如