《《数据库》第一讲数据库基础知识.ppt课件.ppt》由会员分享,可在线阅读,更多相关《《数据库》第一讲数据库基础知识.ppt课件.ppt(56页珍藏版)》请在课桌文档上搜索。
1、第一讲 数据库基础知识,Monday,March 20,2023,教学内容,1.1 数据库基础1.1.1 数据和信息1.1.2 数据处理与数据管理1.2 数据库技术的发展1.2.1 人工管理阶段1.2.2 文件系统阶段1.2.3 数据库系统阶段1.3 数据模型1.3.1 数据模型概念1.3.2 实体联系模型1.3.3 三种常见的数据模型1.4 数据库系统1.5 关系模型1.5.1 关系模型术语1.5.2 关系运算,Monday,March 20,2023,目标与重点,学习目标掌握数据库、数据库管理系统、数据库系统概念掌握理解关系模型相关概念(关系、实体、属性、主键、外键等)掌握ER图的绘制方法
2、掌握关系运算(并、交、差,选择、投影、联接)重点与难点关系模型相关概念的理解关系运算E-R图的绘制,Monday,March 20,2023,1.1 数据库概述,1963年,美国Honeywell公司的IDS(Integrated Data Store)系统投入运行,揭开了数据库技术的序幕。20世纪70年代是数据库蓬勃发展的年代,网状系统和层次系统占据了整个数据库商用市场,而关系系统仅处于实验阶段。20世纪80年代,关系系统由于使用简便以及硬件性能的改善,逐步代替网状系统和层次系统占领了市场。20世纪90年代,关系数据库已成为数据库技术的主流。,Monday,March 20,2023,1.1
3、.1 数据和信息,1信息信息(Information)是人们头脑中对现实世界中客观事物以及事物之间联系的抽象反映,它向我们提供了关于现实世界实际存在的事物和联系的有用知识。2数据数据是人们用各种物理符号,把信息按一定格式记载下来的有意义符号组合。数据包括数据内容和数据形式.3数据与信息的关系数据是信息的具体的表示形式,信息是各种数据所包括的意义。信息可用不同的数据形式来表现,信息不随数据的表现形式而改变。如:1980年10月1日与1980-10-1信息和数据的关系是:数据是信息的载体,它是信息的具体表现形式。,Monday,March 20,2023,1.1.2 数据处理与数据管理,1数据处理
4、信息处理(Information Process)也称为数据处理,它是利用计算机对各种类型的数据进行处理,从而得到有用信息的过程。信息是数据处理的结果。数据的处理过程包括:数据收集、转换、组织,数据的输入、存储、合并、计算、更新,数据的检索、输出等一系列活动。2数据管理计算机数据管理是指计算机对数据的管理方法和手段。数据管理是指对数据的组织、分类、编码、存储、检索和维护,是数据处理的中心问题。,Monday,March 20,2023,1.2 数据库技术的发展,数据管理经历了四个阶段人工管理文件系统数据库系统高级数据库系统,Monday,March 20,2023,1.2.1 人工管理阶段,在
5、20世纪50年代中期以前计算机主要用于科学计算。硬件状况没有磁盘等直接存取的存储设备;软件状况是,没有操作系统,没有管理数据的软件;数据处理方式是批处理。人工管理阶段的数据管理有下列特点:数据不保存在计算机内。没有专用的软件对数据进行管理。只有程序(program)的概念,没有文件(file)的概念。数据的组织方式必须由程序员自行设计与安排。数据面向程序。即一组数据对应一个程序。,Monday,March 20,2023,1.2.2 文件系统阶段,20世纪50年代后期到60年代中期计算机不仅用于科学计算,而且还大量用于管理。硬件上已有了磁盘、磁鼓等直接存取的存储设备;软件方面,操作系统中已经有
6、了专门的数据管理软件,一般称为文件系统;处理方式上不仅有了文件批处理,而且能够联机实时处理。传统的文件管理阶段问题1.数据冗余性(Data redundancy)2.数据不一致性(Data inconsistency)3.数据联系弱(Data poor relationship)4.数据安全性差(Data poor security)5.缺乏灵活性(Lack of flexibility),Monday,March 20,2023,1.2.3 数据库系统阶段,20世纪60年代后期以来,计算机用于管理的规模更为庞大,以文件系统作为数据管理手段已经不能满足应用的需求为解决多用户、多应用共享数据的需
7、求,使数据为尽可能多的应用服务,出现了数据库技术和统一管理数据的专门软件系统数据库管理系统。,Monday,March 20,2023,(1)标志文件管理数据阶段向现代数据库管理系统阶段转变的三件大事,1.1968年,IBM(International Business Machine,国际商用机器)公司推出了商品化的基于层次模型的IMS系统2.1969年,美国CODASYL(Conference On Data System Language,数据系统语言协商会)组织下属的DBTG(DataBase Task Group,数据库任务组)发布了一系列研究数据库方法的DBTG报告,奠定了网状数据
8、模型基础3.1970年,IBM公司研究人员E.F.Codd提出了关系模型,奠定了关系型数据库管理系统基础,Monday,March 20,2023,(2)现代的数据库管理系统阶段特点,1.使用复杂的数据模型表示结构2.具有很高的数据独立性3.为用户提供了方便的接口(SQL)4.提供了完整的数据控制功能5.提高了系统的灵活性,Monday,March 20,2023,1.2.4 高级数据库技术阶段,(1)分布式数据库系统(2)对象数据库系统,Monday,March 20,2023,1.3 数据模型(Data Model),1.3.1 数据模型概念数据模型:能表示实体类型及实体间联系的模型称为“
9、数据模型”。用来表示信息世界中的实体及其联系在数据世界中的抽象描述,它描述的是数据的逻辑结构。逻辑数据模型包含三个部分:数据结构是指对实体类型和实体间联系的表达和实现;数据操作是指对数据库的检索和更新(包括插入、删除和修改)两类操作;数据完整性约束给出数据及其联系应具有的制约和依赖规则。,Monday,March 20,2023,1.3.2 实体联系模型(ER模型),1实体联系模型实体联系模型为数据库建模提供了3个基本的语义概念:实体(Entity)、联系(Relationship)、属性(Attributes)。2实体:具有相同属性或特征的客观现实和抽象事物的集合。该集合中的一个元组就是该实
10、体的一个实例(instance)3属性:表示一类客观现实或抽象事物的一种特征或性质。,Monday,March 20,2023,E-R模型,4实体型属性值的集合表示一个实体,而属性的集合表示一种实体的类型,称为实体型。5实体联系实体联系是指实体类型之间的联系,它反映了实体类型之间的某种关联。6二元实体(型)间联系的种类:一对一联系(1:1)一对多联系(1:n)多对多联系(m:n),Monday,March 20,2023,二元联系中的联系类型,Monday,March 20,2023,二元联系中的多对多联系,Monday,March 20,2023,实体联系模型,E-R方法:“实体-联系方法”
11、(Entity-Relationship Approach),它是描述现实世界概念结构模型的有效方法,是一种用来在数据库设计过程中表示数据库系统结构的方法。用E-R方法建立的概念结构模型称为E-R模型,或称为E-R图。ER图:(Entity Relationship)实体联系图,是一种可视化的图形方法,它基于对现实世界的一种认识,即客观现实世界由一组称为实体的基本对象和这些对象之间的联系组成,是一种语义模型,使用图型模型尽力地表达数据的意义E-R图基本成分包含实体、属性和联系。E-R图的基本思想就是分别用矩形框、椭圆形框和菱形框表示实体、属性和联系,使用无向边将属性与其相应的实体连接起来,并将
12、联系分别和有关实体相连接,注明联系类型。,Monday,March 20,2023,E-R图的三种元素,E-R图的三种基本元素及其图形的表示方法,属性,Monday,March 20,2023,E-R图的绘制步骤,首先确定实体类型确定联系类型(1:1,1:N,M:N)把实体类型和联系类型组合成E-R图。确定实体类型和联系类型的属性。确定实体类型的键,在E-R图中属于键的属性名下画一条横线。,Monday,March 20,2023,二元实体联系种类,Monday,March 20,2023,学生与课程联系的E-R图,学生与课程联系的完整E-R图,课程名,学生,学号,姓名,性别,出生日期,系别,
13、课程,课程号,学分,n,成绩,m,选修,Monday,March 20,2023,图书借阅E-R图,Monday,March 20,2023,E-R图设计原则,真实性原则避免冗余原则简单性原则合适性原则:用实体集还是属性合适性原则:用实体集还是联系集。原则:当描述发生在实体集之间的行为时,最好采用联系集。,Monday,March 20,2023,1.3.3 三种常见的数据模型,(1)结构型(层次型Hierarchical Database):树状结构用树形结构表示各类实体以及实体间的联系。层次模型数据库系统的典型代表是IBM公司的IMS(Information Management Syst
14、ems)数据库管理系统。在数据库中,对满足以下两个条件的数据模型称为层次模型。(1)有且仅有一个节点无双亲,这个节点称为“根节点”。(2)其他节点有且仅有一个双亲。优点:数据结构类似于金字塔,不同层次间的关联性直接简单缺点:数据纵向发展,横向关系难以建立,Monday,March 20,2023,结构型(层次型Hierarchical Database):树状结构,Monday,March 20,2023,(2)网络型(网状型Network Database),将每条记录当成一个节点,节点与节点之间可以建立关联,形成一个复杂的网状结构。网状数据模型的典型代表是DBTG系统,也称CODASYL系
15、统。在数据库中,对满足以下两个条件的数据模型称为网状模型:(1)允许一个以上的节点无双亲。(2)一个节点可以有多于一个的双亲。优点:避免数据重复性缺点:关联性复杂,Monday,March 20,2023,(2)网络型(网状型Network Database),Monday,March 20,2023,(3)关系型(Relational Database),关系模型中基本数据逻辑结构是一张二维表用二维表结构来表示实体以及实体之间联系的模型称为关系模型。在关系模型中:通常把二维表称为关系一个表的结构称为关系模式表中的每一行称为一个元组,相当于通常的一个记录(值)每一列称为一个属性,相当于记录中的
16、一个数据项由若干个关系模式(相当于记录型)组成的集合,就是一个关系模型。,Monday,March 20,2023,关系数据库,学生信息表,学生成绩表,Monday,March 20,2023,1.3.4 数据库系统的网络架构,(1)单机架构同一台计算机包办所有数据库系统的工作,包括保存、处理、管理及使用数据库系统。如:Access、FoxPro(2)大型主机/终端架构同一台大型主机负责存储及处理庞大的数据,用户通过终端与大型主机联机,以存取数据库的内容(3)主从式架构(C/S)客户端计算机处理部分工作,分散数据库服务器负荷(4)分布式架构数据存储在数台数据库服务器上,存取效率高,Monday
17、,March 20,2023,1.4 数据库系统,1.4.1 数据库系统三级模式结构,Monday,March 20,2023,(1)数据库的三级抽象术语,Monday,March 20,2023,(2)三级体系结构,Monday,March 20,2023,(3)体系结构中的五个要素,概念模式(conceptnal schema)是数据库中全部数据的整体逻辑结构的描述。外模式(external schema)是用户与数据库系统的接口,是用户用到的那部分数据的描述。内模式(internal schema)是数据库在物理存储方面的描述,定义所有内部记录类型、索引和文件的组织方式,以及数据控制方面
18、的细节。模式内模式映象存在于概念级和内部级之间,用于定义概念模式和内模式之间的对应性。外模式模式映象存在于外部级和概念级之间,用于定义外模式和概念模式之间的对应性。,Monday,March 20,2023,(4)两级数据独立性,数据独立性(data independence)是指应用程序和数据库的数据结构之间相互独立,不受影响。数据独立性分成物理数据独立性和逻辑数据独立性两个级别。,Monday,March 20,2023,1.4.2 数据库系统组成,数据库系统(Database System,简记为DBS):DBS是实现有组织地、动态地存储大量关联数据、方便多用户访问的计算机硬件、软件和数
19、据资源组成的系统,即它是采用数据库技术的计算机系统。数据库系统指在计算机系统中引入数据库后构成的系统,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成。狭义的数据库系统由数据库、数据库管理系统组成,Monday,March 20,2023,一、数据库系统的组成,1数据库 数据库是与应用彼此独立的、以一定的组织方式存储在一起的、彼此相互关联的、具有较少冗余的、能被多个用户共享的数据集合。2数据库管理系统(DBMS)数据库管理系统(Database Management System),是一种负责数据库的定义、建立、操作、管理和维护的系统管理软件。DBMS位于用户和操
20、作系统之间,负责处理用户和应用程序存取、操纵数据库的各种请求。,Monday,March 20,2023,数据库管理系统的功能,数据定义:定义并管理各种类型的数据项数据处理:数据库存取能力(增加、删除、修改和查询)数据安全:创建用户账号、相应的口令及设置权限数据备份:提供准确、方便的备份功能常用的大型DBMS:SQL Server、Oracle、Sybase、Informix、DB2DBMS是位于用户与操作系统(OS)之间的一层数据管理软件,它为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型和面向对象型等
21、。,Monday,March 20,2023,DBMS的工作模式,Monday,March 20,2023,数据库系统的组成,3数据库管理员(Database Administrator,DBA)数据库管理员是大型数据库系统的一个工作小组。主要负责数据库设计、建立、管理和维护数据库,协调各用户对数据库的要求等。4用户用户是数据库系统的服务对象,是使用数据库系统者数据库系统的用户可以有两类:终端用户、应用程序员。5数据库应用系统应用系统是指在数据库管理系统提供的软件平台上,结合各领域的应用需求开发的软件产品。,Monday,March 20,2023,二、数据库系统的特点,1数据的共享性好,冗余
22、度低,易扩充。数据库中的整体数据可以被多个用户,多种应用共享使用;数据共享。2采用特定的数据模型数据库中的数据是有结构的。数据库系统不仅可以表示事物内部各数据项之间的联系,而且可以表示事物与事物之间的联系。3具有较高的数据独立性数据和程序的独立,把数据的定义从程序中分离出来,简化了应用程序的编制,大大减少程序维护的工作量。4有统一的数据控制功能有效地提供了数据的安全性保护、数据的完整性检查、并发控制和数据库恢复等功能。,Monday,March 20,2023,三、数据库系统的结构,Monday,March 20,2023,1.5 关系模型,1.5.1 关系术语(1)关系模式(Relation
23、al Scheme):它由一个关系名以及它所有的属性名构成。它对应二维表的表头,是二维表的构成框架(逻辑结构)。其格式为:关系名(属性名1,属性名2,属性名n)在SQL Server中对应的表结构为:表名(字段名1,字段名2,字段名n)(2)关系(Relation):表示多个实体之间的相互关联,每一张表称为该关系模式的一个具体关系。它包括:关系名,表的结构和表的数据(元组)。(3)联系集:实体集之间的联系二元联系集:两个实体集之间的联系集,Monday,March 20,2023,关系术语,(4)实体集(entity set):性质相同的同类实体的集合,称为实体集。(5)元组(Tuple):二
24、维表的一行称为关系的一个元组,对应一个实体的数据。(6)属性(Attributes):二维表中的每一列称为关系的一个属性。(7)域(Domain):属性所对应的取值变化范围叫属性的域,Monday,March 20,2023,关系术语,(8)实体标识符(identifier):能惟一标识实体的属性或属性集,称为实体标识符。有时也称为关键码(key),或简称为键。(9)主关键字(Primary Key):能唯一标识关系中不同元组的属性或属性组称为该关系的候选关键字。被选用的候选关键字称为主关键字。(10)外部关键字(Foreign Key):如果关系R的某一(些)属性A不是R的候选关键字,而是另
25、一关系S的候选关键字,则称A为R的外来关键字。,Monday,March 20,2023,二、关系的特点,1关系必须规范化,分量必须取原子值2不同的列允许出自同一个域3列的顺序无所谓4任意两个元组不能完全相同5行的顺序无所谓,Monday,March 20,2023,实际关系模型,关系StudInfo(StudNo,StudName,StudSex,StudBirthDay,ClassID)ClassInfo(ClassID,ClassName,ClassDesc),字段,一对多的联系(1:M)通过外键实现,元组,字段值,域为男、女,关键字,关键字,外键,StudInfo,ClassInfo,
26、Monday,March 20,2023,1.5.2 关系运算,关系的基本运算有两类:传统的集合运算有:并、差、交专门的关系运算有:选择、投影、联接,传统的集合运算举例,Monday,March 20,2023,专门的关系运算,选择:从关系中找出满足给定条件的元组的操作(Where)投影:从关系模式中指定若干个属性组成新的关系联接:将两个关系模式拼接成一个更宽的关系模式,生成的新关系中包含满足联系条件的组合(Inner Join)等值联接:在联接运算中,按照字段值对应相等为条件进行的联接操作称为等值联接。自然联接:去掉重复属性的等值联接,Monday,March 20,2023,选择操作示例,
27、select*from studinfo where StudNo in(99070401,99070405),StudInfo,ClassInfo,Monday,March 20,2023,投影操作示例,Select StudNo,StudName,StudBirthDay From StudInfo,StudInfo,Monday,March 20,2023,联接操作示例,Select StudNo,StudName,StudSex,ClassInfo.ClassID,ClassNameFrom StudInfo Inner Join ClassInfoOn StudInfo.ClassID=ClassInfo.ClassID,StudInfo,ClassInfo,Monday,March 20,2023,小结,本讲介绍了数据库系统的有关概念,数据库管理系统的功能讲解了数据模型的概念,常见的三种数据模型重点讲解了关系模型、E-R图的绘制和关系运算简单介绍了数据库技术的发展历程,