ch1数据库系统概论pptx.ppt
2023/3/7,数据库原理及应用,Principle and Application of Database,主讲教师:高 胜 博士研究方向:大数据安全与隐私保护答疑信息:6#207(周二、周四)Email:,1,A公司的业务之一是销售一种科技含量较高的日常生活用品,为分别适应不同客户群的需求,这种商品有9个型号;产品通过分布在全市3000多个各种类型的零售商处销售;同时,公司在全国各主要城市都设有办事处,通过当地的代理商销售产品。,实例1:A公司的销售业务管理,如果是你在管理这家公司的销售业务,你需要什么信息?,2,掌握各代理商和零售商的进货情况、销货情况和库存情况;掌握各销售渠道的销售情况;了解不同型号产品在不同地域的销售情况,以便及时调整销售策略;此外,A公司的工作人员需要定期对代理商和零售商进行回访,解决销售过程中的各种问题,并对自己的客户进行维护;在此过程中,公司还需要对自己的市场部门工作业绩进行考核。,3,我们每个人都有在银行接受服务的经历。首先是在银行开户,向银行提供我们的基本信息,然后不断地存款、取款及消费银行需要及时地记录这些数据,并实时更新帐户余额,实例2:银行业务服务,如果让你来管理和维护这些信息,你该怎么办?,学习动机,解决上述问题的最佳方案之一就是使用数据库。产生数据库的动因和使用数据库的目的及时地采集数据合理地存储数据有效地使用数据,保证数据的准确性、一致性和安全性,在需要的时间和地点获得有价值的信息。,5,参考资料,教材,吴靖等编著数据库原理及应用(Access 版),机械工业出版社。金鑫等数据库原理及应用实验指导与习题。,参考书,王珊编著数据库系统概论,高等教育出版社。,6,课程内容安排,理论篇第1章 数据库系统概述第2章 关系模型和关系数据库 技术篇第3章 数据库与表第4章 结构化查询语言SQL第5章 查询,设计篇第6章 窗体第7章 宏 第8章 报表第9章 VBA程序设计第10章 VBA数据库,7,掌握数据库系统的基本概念和理论 掌握关系、关系规范化基本概念和理论 掌握数据库设计方法与步骤 掌握关系模型和关系数据库的基本知识 掌握标准语言SQL语法及应用 掌握ACCESS数据库软件操作方法 掌握VBA程序设计技术 掌握数据库应用系统开发技术,学习目标,8,学习方法,授课课堂讲授上机实验 读书课前预习课后复习、练习 作业综合练习实验报告,注意:准备保存好数据和程序,9,考核方式,机考 题型有单选、判断、操作 时间90分钟,10,第一章 数据库系统概述,11,本章目录,数据库系统概述,数据库系统三级模式结构,数据库设计的基本步骤,12,E-R图,数据库系统概述,13,数据库系统,14,通常意义下,数据库是数据的集合数据库技术解决的基本问题如何抽象现实世界中的对象如何表达数据及数据之间的联系如何方便、有效地使用数据库中的数据,数据库系统的构成,一个数据库系统的主要组成部分是数据、数据库、数据库管理系统、应用程序以及用户。,数据存储在数据库中,用户和用户应用程序通过数据库管理系统对数据库中数据进行管理和操作。,四个基本概念,数据(Data)数据库(Database)数据库管理系统(Database Management System,DBMS)数据库系统(Database System,DBS),信息概念,信息(Information):人们对于客观事物属性和运动状态的反映。信息是有价值的,是可以被感知的。信息可以通过载体传递,可以通过信息处理工具进行存储、加工、传播、再生和增值。在信息社会中,信息一般可与物质或能量相提并论,它是一种重要的资源。,数据概念,从数据库角度,数据(Data)是对客观事物的抽象描述。数据是信息的具体表现形式,信息包含在数据之中。数据的形式或者说数据的载体是多种多样的,它们可以是数值、文字、图形、图像、声音等。数据和数据的解释是不可分的:数据的形式还不能完全表达数据的内容,数据是有涵义的,即数据的语义或数据解释。例:(983501011,张捷,女,1978,北京,信息学院),数据概念,从计算机角度看,数据泛指那些可以被计算机接受并能够被计算机处理的符号,是数据库中存储的基本对象。,声音数据,信息与数据关系,从信息处理角度看,任何事物的存在方式和运动状态都可以通过数据来表示的。数据经过加工处理后,使其具有知识性并对人类活动产生作用,从而形成信息。通常情况下不严格区分数据与信息。,有关数据的基本概念,数据处理数据管理技术数据描述数据模型,数据处理和数据管理,数据处理:利用计算机对各种类型的数据进行加工处理。包括数据采集、数据存储、数据检索和数据传输等环节。数据处理与数据管理密切相关,数据管理技术的优劣,将直接影响数据处理的效率。随着数据量的增长、计算机硬件、系统软件及应用的发展,数据管理技术经历如下三个阶段:人工管理阶段文件系统阶段数据库系统阶段,人工管理阶段,20世纪50年代中期以前,计算机主要用于科学计算。外部存储器只有磁带、卡片和纸带;没有磁盘等设备。软件只有汇编语言,尚无数据管理方面的软件。数据处理方式基本上批处理。,人工管理阶段,人工数据管理技术特点:数据不保存在计算机内,没有专用软件对数据进行管理只有程序(Program)的概念,没有文件(File)的概念,数据的组织方式必须由程序员自行设计与安排。数据面向程序,即一组数据对应一个程序。,文件系统阶段,20世纪50年代后期至60年代中期,计算机不仅用于科学计算,还用于信息管理。外部存储器已有磁盘、磁鼓等直接存取存储设备。软件领域出现了高级语言和操作系统,操作系统中的文件系统是专门管理外存的数据管理软件。数据的处理方式有批处理,也有联机实时处理。,文件系统阶段,文件系统阶段的数据管理特点:数据以“文件”形式可长期保存在外部存储器的磁盘上。数据的逻辑结构与物理结构有了区别,但比较简单。文件组织已多样化,但文件之间相互独立,缺乏联系。数据面向应用,不再属于某个特定程序,可重复使用。对数据的操作以记录为单位。,数据冗余,数据不一致,数据联系弱,数据库系统阶段,20世纪60年代末,数据管理技术进入数据库阶段的标志:1968年,美国IBM公司推出层次模式IMS系统。1969年,美国CODASYL组织发布了DBTG报告,总结了当时各式各样的数据库,提出网状模型。1970年,美国IBM公司的E.F.Codd发表论文A relational model of data for large shared data banks,提出关系模型,奠定了关系数据库的理论基础。,数据库系统阶段,数据库系统阶段的数据管理特点:采用数据模型表示复杂的数据结构,面向整个应用系统。较高的独立性,数据的逻辑结构和物理结构差异可以大。数据库系统为用户提供了方便的用户接口。数据库系统提供了数据控制功能。增加了系统的灵活性,可以以数据项为单位。,数据处理和数据管理,消费曲线,数据描述,概念:就是以“数据”符号的形式,从满足用户需求出发,对客观事物属性和运动状态进行描述。数据的“描述”既要符合客观现实,又要适应数据库原理与结构,同时也适应计算机原理与结构。数据的三个范畴现实世界信息世界计算机世界,数据描述,数据库设计的过程,就是将数据的表示从现实世界抽象到信息世界(概念模型),再从信息世界转换到计算机世界(数据模型)。从客观现实到计算机的描述,数据的转换过程如图:,品名=红烧牛肉面 品牌=康师傅 sn号=12345 类型=方便面重量=0.3kg,数据模型,概念:数据模型是指客观事物及客观事物间联系的数据组织的结构和形式。数据库中最常见的数据模型:层次模型网状模型关系模型,中财学生,政府管理学院,信息学院,金融学院,会计学院,行政管理专业,信息安全专业,计算机专业,电子商务专业,行管一班,行管二班,数据模型,行政学生,信息普通教师,信息博士导师,外校教授培训,金融学生,信息学生,数据库,数据库是存储数据的容器。通常,数据库中存储的是一组逻辑相关的数据的集合,并且是企业或组织经过长期积累保存下来的数据集合。数据库中的数据按一定的数据模型描述、组织和存储。人们从数据中提取有用信息,信息的积累成为知识,丰富的知识创造出智慧。,数据库管理系统是一类系统软件,提供能够科学地组织和存储数据,高效地获取和维护数据的环境。主要功能包括数据定义、数据查询、数据操纵、数据控制、数据库运行管理、数据库的建立和维护等。DBMS一般由软件厂商提供。,数据库管理系统,数据库系统,一个完整的数据库系统由保存数据的数据库、数据库管理系统、用户应用程序和用户(支持数据库的硬件环境)组成。DBMS是数据库系统的核心。,.,DataBase sever,数据库系统,数据库管理系统,数据库,NO=123456NAME=XXXBALANCE=30.5,信息,数据库系统,数据库系统应具备的功能,DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立和维护功能。为实现这些管理和控制的功能,DBMS提供数据子语言:数据定义语言(Data Definition Language,DDL):建立数据库并建立数据的逻辑结构(Logical Structure)。数据查询语言数据操纵语言(Data Manipulation Language,DML),用于实现对数据库中的数据进行存取、检索、插入、修改和删除等操作。数据控制语言(Data Control Language,DCL),用于安全性和完整性控制,实现并发控制和故障恢复。支持大量数据存储。,数据库系统的特点,数据结构化数据高度共享、低冗余度、易扩充数据独立(逻辑独立性、物理独立性)数据由DBMS统一管理和控制,它提供以下几个方面的数据管理和控制功能:数据安全性:保护数据(如不同用户有不同的权限)数据完整性:正确性、有效性、相容性、一致性并发控制:对多用户的并发操作加以控制和协调数据库恢复:将数据库从错误状态恢复至某已知的正确状态,本章目录,数据库系统概述,数据库系统三级模式结构,数据库设计的基本步骤,40,E-R图,数据库系统三级模式结构,41,数据库系统三级模式结构,数据库系统总的体系结构是“三级模式结构”模式(Schema)外模式(External Schema)内模式(Internal Schema),模式(Schema),概念:也称概念模式或逻辑模式,介于内模式与外模式之间,与结构数据模型对应。模式所有用户的公共数据视图,是数据库中全体数据的逻辑结构和特征的描述。如,关系数据模型中,对学生的一组描述(学号,姓名,性别,所在学院)数据库的主要任务之一就是数据库的模式设计。,模式(Schema),一个数据库只有一个模式。数据库模式以某一种数据模型为基础。是数据库数据在逻辑级上的视图。定义模式时不仅要定义数据的逻辑结构(如数据记录由哪些数据项构成,数据项的名字、类型、取值范围等),而且要定义与数据有关的安全性、完整性要求,定义这些数据之间的联系。,外模式(External Schema),概念也称子模式或用户模式,是数据库用户的数据视图。是数据库用户(包括应用程序员和最终用户)能够看见和使用的局部数据的逻辑结构和特征的描述,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。外模式就是用户视图外模式是保证数据安全性的一个有力措施。,内模式(Internal Schema),概念也称存储模式,它是数据物理结构和存储方式的描述。是数据在数据库内部的表示方式如,记录的存储方式是顺序存储、按照B树结构存储还是按hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定。一个数据库只有一个内模式一个表可能由多个文件组成,如:数据文件、索引文件它是DBMS对数据库中数据进行有效组织和管理的方法。,模式,品名 品牌 重量 序号,记录信息,品名 5字,重量 数字,记录要求,营业员 查询 经理 修改,权限信息,品名不能空 价格可空,数据要求,内模式,#1#fangbianmian#2#kangshifu#3#0.5#4#123456#5#yewu#6#jingli#7#shipin#,外模式,实例,数据库系统三级模式结构,外模式/模式映像,模式描述了数据的全局逻辑结构,外模式是根据用户需求描述的数据局部逻辑结构。外模式与模式之间的对应关系一个模式可以有任意多个外模式。每一个外模式,都有一个外模式/模式映像。,外模式/模式映像,应用程序是依据数据的外模式编写的,因此当模式改变时,应用程序不必改变,从而实现了数据与程序之间的逻辑独立性,简称数据的逻辑独立性。,模式/内模式映像,数据库中,模式是惟一的,内模式也是惟一的。模式与内模式是一一对应的,模式/内模式映像是惟一的。模式/内模式映像定义了数据全局逻辑结构与存储结构之间的对应关系,并且实现了数据的物理独立性。,数据的逻辑独立性,外模式/模式这一映像功能:总体逻辑结构与某类应用所涉及的局部逻辑结构之间的映像或转换功能。保证了当数据的总体逻辑结构改变时,通过对映像的相应改变可以保持数据的局部逻辑结构不变。由于应用程序是依据数据的局部逻辑结构编写的,所以应用程序不必改变,这就是数据与程序的逻辑独立性,简称数据的逻辑独立性。,数据的物理独立性,模式/内模式这一映像功能:数据的存储结构与逻辑结构之间的映像或转换功能当数据的存储结构(物理结构)改变时,通过对映像的相应改变可以保持数据的逻辑结构不变,从而应用程序也不必改变。这就是数据与程序的物理独立性,简称数据的物理独立性。,本章目录,数据库系统概述,数据库系统三级模式结构,数据库设计的基本步骤,54,E-R图,数据库设计的基本步骤,55,数据库设计的基本步骤,数据库设计讨论的问题是:根据管理和决策的需要,应该在数据库中保存什么数据?这些数据之间有什么联系?数据库设计的目的在于提供实际问题的计算机表示。数据库中用数据模型这个工具来抽象和描述现实世界中的对象(人或事物)。,数据库设计的基本步骤,数据库技术要解决的基本问题:如何抽象现实世界中的对象?如何表达数据以及数据之间的联系?如何方便、有效地维护和利用数据?,数据库设计步骤,数据库设计是综合运用计算机软、硬件技术,结合应用系统领域的知识和管理技术的系统工程。数据库设计可归纳为如下几个阶段:1)需求分析阶段2)概念结构设计阶段3)逻辑结构设计阶段4)物理结构设计阶段,需求分析,收集大量的支持系统目标实现的各类基础数据、用户需求信息和信息处理需求,并进行分析归类和初步规划,确定设计思路。需求分析的策略一般有两种:1)自下而上的方法:对数据及其结构的需求,是一种静态需求2)自上而下的方法:对数据处理的需求,是一种动态需求,需求分析的基本要求,信息要求:了解用户将从数据库中获得信息的内容、性质,数据库应用系统用到的所有基础信息类型及其联系,了解用户希望从数据库中获得哪些类型的信息,数据库中需要存储哪些数据。处理要求:了解用户希望数据库应用系统对数据进行什么处理,对各种数据处理的响应时间的要求,对各种数据处理的频率的要求,对数据处理方式的要求是批处理还是联机处理等。,安全性要求:了解用户对数据库中存放的信息的安全保密要求,哪些信息是需要保密的,哪些信息是不需要保密的。完整性要求:了解用户对数据库中存放的信息应满足什么样的约束条件,什么样的信息在数据库中才是正确的数据。,需求分析的基本要求,数据库概念设计,数据库概念设计是在充分理解需求之后,抽象出反映实际问题的概念模型。用概念模型描述实际问题涉及到数据及数据之间的联系。描述的详细程度和描述的内容取决于期望得到的信息。一种较常用的概念模型是实体-联系模型(Entity-Relationship Model,又称E-R模型)。,数据库概念设计,概念结构设计是整个数据库设计的关键对现实世界的第一层面的抽象与模拟对事物的特征和事物间的联系所做的描述对需求分析结果所做的进一步描述最终设计出描述现实世界的概念模型。,E-R方法,步骤1.设计局部实体-联系模型,用来描述用户视图。2.综合各局部实体-联系模型,形成总的实体-联系模型,用来描述数据库全局视图。,数据库逻辑设计,数据库逻辑设计是根据概念数据模型建立逻辑数据模型,它是一种面向数据库系统的数据模型。目前被广泛使用的关系模型来描述数据库逻辑设计。关系模式是一种数据模型,用二维表格的形式来表示数据及数据之间的联系。一般情况下,数据库的逻辑设计实际上就是把E-R模型转换为关系模型的过程。,数据库物理设计,理论上来讲,数据库物理设计是针对一个给定的数据库逻辑模型,设计一个可实现的、有效的物理数据库结构,包括存储结构和存取方法。实际应用时,可以认为数据库物理设计就是为设计好的逻辑数据模型选择最适合的应用环境。,1.需 求 分 析,2.数据库概念设计-建立E-R模型,3.数据库逻辑设计建立关系模型,4.数据库物理设计在DBMS中建立数据库,5.实施,6.使用维护,系统流程,本章目录,数据库系统概述,数据库系统三级模式结构,数据库设计的基本步骤,68,E-R图,E-R图,69,E-R模型中基本概念,实体(entity):实际问题中客观存在并可相互区别的事物称为实体。例:一名学生是一个实体属性(attribute):实体所具有的某一特性称为属性。在E-R模型中用属性来描述实体。例:用”姓名”、”性别”、“出生日期”等属性描述人。确定属性的原则 属性必须是不可分的最小数据项,不能包含其它属性。属性不能与其他实体具有联系。,E-R模型中基本概念,实体集(entity set/entity class):具有相同属性的实体的集合称为实体集。例:全体学生就是一个实体集实体属性的每一组取值代表一个具体的实体。例:(001,张三,男,1990年12月)注意的原则:每个实体集只表现一个主题。每个实体集只有一个键属性。,E-R模型中基本概念,实体型(entity type)具有相同的特征和性质的实体一定具有相同属性。实体名及其属性名集合来抽象和刻划同类实体,称为实体型。表示实体型的格式是:实体名(属性1,属性2,属性n)例:学生(学号,姓名,性别,出生日期,所属院系,专业,入学时间)。,E-R模型中基本概念,超键(Super Key):在关系中能唯一标识元组的属性集候选键(Candidate Key):不含多余属性的超键主键(key)(也称为主码、主标识):用户选作元组标识的一个候选键。,主键的属性取值必须惟一且不能“空置”,实例1,实体型:人(身份证,姓名,性别,年龄),假设没有重名现象。超键:身份证、姓名、(姓名、性别)、(姓名,年龄),候选键:身份证、姓名主键:身份证或姓名,超键的组合是唯一的,但可能不是最小唯一的候选键是没有多余属性的超键主键是选中的一个候选键,实体集的图形表示,学生,学号,姓名,性别,出生日期,所属院系,专业,入学时间,E-R模型中基本概念,实体例,属性,实体集,实体,学生,教师,E-R模型中基本概念,关系(relationship)实体集内部的关系体现在描述实体的属性之间的关系;实体集外部的关系是指实体集之间的关系,并且这种关系本身可以拥有属性。实体集之间的关系通常有三种类型:一对一关系(11)一对多关系(1n)多对多关系(mn),E-R模型中基本概念,实体-关系图E-R模型是用E-R图来描述的,即通过图形描述实体集、实体属性和实体集之间关系的图形。在E-R模型中,数据的结构被表示为“实体-关系”图(E-R图),图中有3个主要的元素,即实体集、属性和关系。其中:“矩形”框用于表示实体集;“椭圆形”框用于表示实体集中实体的公共属性;“菱形”框用于表示实体集之间的关系。,E-R模型中基本概念,教师,学生,学院,课程,E-R模型中基本概念,学生清单,考试成绩,班级清单,选课信息,选课,考试,分配,1,n,n,m,m,n,实体集之间的关系形式,一对一关系(11)对于实体集A中的每一个实体,实体集B中至多有一个实体与之对应,反之亦然,则称实体集A与实体集B具有一对一关系。记为11。例:考虑学校里的班级和班长之间的关系问题。,实例1,某经济技术开发区需要对入驻其中的公司及其总经理信息进行管理。如果给定的需求分析如下:每个公司有一名总经理,每位总经理只在一个公司任职;需要存储和管理的公司数据是:公司名称,地址,电话;需要存储和管理的总经理数据是:姓名,性别,民族,出生日期。要求:建立此问题的概念模型。,实例1,实体型公司(公司编号,公司名称,地址,电话)总经理(经理编号,姓名,性别,出生日期,民族),注意:两个实体集中没有适合作为主键的属性,因此在两个实体集中增加“编号”属性作为实体的主键。,实例1,E-R图,实体集之间的关系形式,一对多关系(1n)对于实体集A中的每一个实体,实体集B中至多有n个实体(n=0)与之对应;对于实体集B中的每一个实体,实体集A中至多只有一个实体与之对应。则称实体集A与实体集B具有一对多关系。记为1n。,实例1,考虑学生与班之间的关系问题。,实例2,一家企业需要用计算机来管理它分布在全国各地的仓库和员工信息。如果给定的需求信息如下:某公司有数个仓库分布在全国各地,每个仓库中有若干位员工,每位员工只在一个仓库中工作。需要管理的仓库信息:仓库名称、仓库地点、仓库面积。需要管理的仓库中员工信息包括:姓名、性别、出生日期和工资。要求:建立此问题的概念模型。,实例2,实体型仓库(仓库号,仓库名,地点,面积)员工(员工号,姓名,性别,出生日期,工资),注意:两个实体集中没有适合作为主键的属性,因此在两个实体集中增加“编号”属性作为实体的主键。,实例2,E-R图如下:,实体集之间的关系形式,多对多关系(mn)如果对于实体集A中的每一个实体,实体集B中有n个实体(n=0)与之对应;对于实体集B中的每一个实体,实体集A中也有m个实体(m=0)与之对应。则称实体集A与实体集B具有多对多关系。记为mn。,实例1,例:考虑学校中的学生与各类学生社团之间的情况。,实例2,考虑学生与课程之间的情况。学校需要对学生及其选课的信息进行管理。要求:需求分析,并建立此问题的概念模型。1)需求分析一位学生选修多门课程,每门课程也会有多个学生选择。学生实体集与课程实体集之间的联系是多对多的关系。需要为课程编号,用“课程号”惟一地标识每一门课程并作为课程实体集的主键。学生实体集的主键是属性学号。,实体型学生(学号,姓名,性别,出生日期,院系)课程(课程号,课程名,开课单位,学时数,学分),实例2,多元联系多个实体集之间的联系问题,称为多元联系或n元联系。无论一个问题中包含多少个实体集,实体集之间的关系类型只有3种:一对一关系、一对多关系和多对多关系。,实体集之间的关系形式,实例1,某企业需要对其仓库、员工、订单和供应商的信息进行管理。根据需求分析建立概念模型E-R模型。(1)需求分析 某公司有分布在全国各地的多个仓库。每个仓库中有多名员工。每张订单一定是与一名员工签订的。每张订单上的商品由一名供应商供货。,(2)E-R模型实体型仓库(仓库号,仓库名,地点,面积)员工(员工号,姓名,性别,出生日期,婚否,工资)订单(订购单号,订购日期,金额,)供应商(供应商号,供应商名,地址)实体型(略去属性),实例1,某公司需要对其仓库、零件和供应商信息进行管理。根据需求分析,建立E-R模型。(1)需求分析某公司有分布在全国各地的数个仓库。每个仓库存放多种零件,同时一种零件也会存放在不同的仓库中;全部零件由多个供应商提供,每个供应商提供多种零件;仓库实体集与零件实体集之间的联系是多对多关系,零件实体集与供应商实体集之间的联系也是多对多关系。,实例2,实例2,E-R图,对数据库概念设计过程归纳如下,数据库概念设计是建立在需求分析基础之上的,依据需求分析完成如下工作:1)确定实体;2)确定实体的属性(注意两点);3)确定实体集的主键;4)确定实体集之间的关系类型;5)用E-R图和实体型表达概念模型设计结果。,概念结构设计实例,E-R模型的设计实例:简单教学管理系统原则数据相对独立尽量简化关系子系统的划分通常以物理静态实体集为标志,但按具体使用要求可按其他划分。,总体框架绘制,概念结构设计实例,用户信息管理,教师信息管理,学院人员管理,学生信息管理,课程信息管理,课程信息管理,教师排课管理,学生注册管理,学生选课管理,学院开课管理,各部分E-R设计,概念结构设计实例,复合E-R设计,概念结构设计实例,本章小结,掌握数据库最常用的术语和基本概念;明确数据库系统的构成和特点;掌握数据库系统的三级模式结构;掌握数据库的二级映像功能和数据独立性如何实现掌握数据库设计的基本步骤;掌握实体联系模型中的基本概念;掌握实体集之间的关系形式。,作业,习题1.6,