《数据库原理及应用(第二版)》课件 第1章 数据库概论_第1页
《数据库原理及应用(第二版)》课件 第1章 数据库概论_第2页
《数据库原理及应用(第二版)》课件 第1章 数据库概论_第3页
《数据库原理及应用(第二版)》课件 第1章 数据库概论_第4页
《数据库原理及应用(第二版)》课件 第1章 数据库概论_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库原理及应用盛志伟、方睿编著西安电子科技大学出版社1第1章数据库概论本章要点:了解数据库技术的发展简史掌握数据库、数据库管理系统、数据库系统、数据库系统体系结构一些概念掌握概念模型和数据模型的基本概念掌握关系模型的基本概念2一、数据库发展简史1.数据管理的诞生数据库系统的萌芽出现于60年代。当时计算机开始广泛地应用于数据管理,对数据的共享提出了越来越高的要求。传统的文件系统已经不能满足人们的需求了,能够统一管理和共享数据的数据库管理系统(DBMS)应运而生。1961年网状数据库1968年层次数据库1970年关系数据库32.关系数据库的由来41970年E.F.Codd发明了关系数据库。关系模型有严格的数学基础,抽象级别较高,而且简单清晰,便于理解和使用。1976年霍尼韦尔公司(Honeywell)开发了第一个商用关系数据库系统——MulticsRelationalDataStore。关系型数据库系统以关系代数为坚实的理论基础,经过几十年的发展和实际应用,技术越来越成熟和完善。其代表产品有Oracle、IBM公司的DB2、微软公司的MSSQLServer、MySQL以及国产数据库GaussDB和达梦数据库等。3.结构化查询语言SQL语言的功能包括查询、操纵、定义和控制,是一个综合的、通用的关系数据库语言,同时又是一种高度非过程化的语言,只要求用户指出做什么而不需要指出怎么做。SQL集成实现了数据库生命周期中的全部操作。SQL提供了与关系数据库进行交互的方法,它可以与标准的编程语言一起工作。54.面向对象数据库关系型数据库系统虽然技术很成熟,但其局限性也是显而易见的:它能很好地处理“表格型数据”,却对技术界出现的越来越多的复杂类型的数据无能为力。6然而,数年的发展表明,面向对象的关系型数据库系统产品的市场发展的情况并不理想。理论上的完美性并没有带来市场的热烈反应。二、数据库系统概述数据系统的基本概念数据库管理的基本对象是数据。数据是信息的具体表现形式,可以采用任何能被人们认知的符号,可以是数字(如:76、2010,¥100),也可以是文本,图形,图像,视频等。7(1)数据库(DB)数据库是存储在某种存储介质上的相关数据有组织的集合。在这个定义中特别要注意“相关”和“有组织”这些描述,就是说,数据库不是简单地将一些数据堆集在一起,而是把一些相互间有一定关系的数据,按一定的结构组织起来的数据集合。8玩具ID玩具名称价格(¥)重量(克)品牌最低年龄最高年龄照片000001遥控汽车38300好孩子36略000002芭比娃娃168180芭比29略000003遥控机器人1582000罗本410略关系型数据库按二维表格方式将数据组织起来。表中的每一行就是一个完整的数据,其语义就是由表头的列名来定义的,就是列名给表中的数据以一定的解释。有这样的多张表(记录不同的信息)就可以构成一个数据库。(2)数据库管理系统(DBMS)

数据库管理系统是一种操纵和管理数据库的大型软件,是用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。9主要功能包括:数据定义功能。数据存取功能。数据库运行管理功能。数据库的建立和维护功能。数据库的传输。(3)数据库系统(DBS)数据库系统,是由数据库及其管理软件组成的系统。它是为适应数据处理的需要而发展起来的一种较为理想的数据处理的核心机构。它是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。

10数据库(Database)应用程序Application数据库管理系统(DBMS)用户(user)数据库管理员(DBA)用户(user)图1-1数据库系统组成DB:是集成的、结构化的Data的集合,是DBMS的管理对象DBMS:是DBS的核心软件,负责对DB的使用、控制和管理USER:管理和使用DB的人员DBA:设计、管理和使用DB的人员Application:是应用DB中的Data的一些软件数据库系统软硬件层次硬件操作系统DBMS,编译系统应用开发工具软件应用系统.net,Java,PHP,微信小程序,Python,GoSQLServer,MySQLOracle数据库系统软硬件层次112、数据管理技术的发展数据管理技术的发展可以大体归为三个阶段:人工管理文件系统数据库系统。12(1)人工管理阶段

本阶段特点:数据不保存;没有软件系统对数据进行管理;这一时期没有文件的概念,数据的组织必需由程序员自行设计;一组数据对应一个程序,不同程序之间不能相互利用数据。

13一组数据程序(2)文件管理系统

前提:

OS具有了文件管理功能。

本阶段特点:数据与程序文件脱离,数据作为独立的文件,可供多个程序使用,但多个文件之间缺乏联系,从而造成数据冗余,占用存贮空间大。

14程序1程序2程序3文件3文件2文件1文件管理系统例如:

文件管理系统图1-1文件管理系统示例玩具基本信息管理应用程序App1购物者购买玩具管理应用程序App2玩具信息文件File1购物者信息文件File2订单信息文件File3购物者购买玩具,先查找文件File2,判断此用户是否合法;如果合法则访问File1,判断有无此玩具;如果有,则将订单信息写到文件File3中15优点:1、数据能够长期保存在磁盘上。2、有了提供文件与程序之间进行存取方法转换的软件。程序员不必关心数据的物理位置,可以集中精力考虑算法,并且节省了维护程序的工作量。3、文件形式的多样化。由于有了直接存取设备,也就有了索引文件、链接文件、直接存取文件。4、数据存取以记录为单位。16缺点:1、编写应用程序不方便。2、应用程序的依赖性。3、不支持应用程序并发访问。4、数据间耦合度差。5、数据表示单一。6、无安全控制功能。17(3)数据库系统阶段

数据库管理技术实质上是一个存储在计算机内的所有相关数据构成的集合(对所有数据实行统一的、集中的、独立的管理,数据独立于程序而存在,并可供给不同的用户而实现共享)。

18应用1应用2应用n…数据库管理系统(DBMS)数据库(DB)数据库系统有如下优点:将相互关联的数据集成在一起。在数据库系统中,所有的数据都存储在数据库中,应用程序可通过DBMS访问数据库中的所有数据。较少的数据冗余。由于数据是统一管理的,因此可以从全局着眼,合理地组织数据。数据可以共享并能保证数据的一致性。数据库中的数据可以被多个用户共享,共享是指允许多个用户同时操作相同的数据。程序与数据相互独立。保证数据的安全可靠。19三、数据模型201、数据模型的分类(1)概念模型:也称为信息模型,它是从数据的应用语义视角来抽取模型并按用户的观点来对数据和信息进行建模。这类模型主要用在数据库的设计阶段,它与具体的数据库管理系统无关。常用的概念模型是实体-关系(Entity-Relationship,简称E-R)模型。(2)逻辑数据模型:按计算机系统的观点对数据建模。是数据库系统的核心和基础。分为以下几个模型:层次模型(用树型结构组织数据)。网状模型(用图形结构组织数据)。关系模型(用简单二维表结构组织数据)。对象关系模型(用复杂的表格以及其他结构组织数据)。

现实世界中的客观事物的抽象过程现实世界概念模型DBMS支持的数据模型现实世界信息世界计算机世界认识抽象转换21为了把现实世界中的具体事物抽象,最终获得某一具体DBMS支持的数据模型,人们通常首先将现实世界抽象为信息世界,然后再将信息世界转换为计算机世界。即首先把现实世界中的客观对象抽象为某一种信息结构,这种信息结构并不依赖于具体的计算机系统,也不依赖于具体的DBMS,而是概念模型;然后再把概念模型转换为计算机上的DBMS支持的数据模型,也就是逻辑模型。2、概念模型常用的概念模型是实体——关系(Entity-Relationship,简称E-R)模型。其三个要素是:实体、属性、关系。(1)实体(Entity)实体是具有相同性质并且彼此之间可以相互区分的现实世界对象的集合。在关系数据库中,一般一个实体被映射成一个关系表,表中的一行对应一个可区分的现实世界对象(这些对象组成了实体),称为实体实例(entityinstance)。在E-R图中用矩形框表示具体的实体,把实体名写在框内。

22教学教师学生姓名工号姓名学号1N2、概念模型(2)属性(Attribute)实体所具有的特征称为它的属性。是描述实体或者关系的性质的数据项。每个实体都有一个标识符(或叫实体的键),标识符是实体中的一个属性或者几个属性的组合,每个实体实例在标识符上具有不同的值。在E-R图中用椭圆表示属性,椭圆内写上属性名。23教学教师学生姓名工号姓名学号1N(3)关系(Relationship)关系是数据之间的关联集合,是客观存在的应用语义链。关系用菱形框表示,框内写上关系名,并用连线将有关的实体连接起来。教学教师学生姓名工号姓名学号1N2、概念模型242、概念模型关系可以在实体内部,也可以在两个实体之间,也可以在多个实体之间。实体内部的关系组成实体的各属性之间的关系。如“职工”实体中,假设有“职工号”和“部门经理号”。部门经理也是职工,也有职工号。25领导职工1n2、概念模型不同实体之间的关系有三种类型:一对一(1:1)一对多(1:n)

多对多(m:n)

1nn1m管理玩具1部门玩具有购买(a)(b)(c)经理商标购物者26连线上标明联系的类型,即1:1,

1:N或N:M2、概念模型27多个实体之间的关系2、概念模型学生课程学习MN成绩学号姓名性别系入学时间课程号课程名称28关系也可以有属性29逻辑模型的三大要素数据结构:与数据类型、内容、性质有关的对象;与数据之间关系有关的对象,它从逻辑模型层面表达数据记录与字段的结构。数据操作:数据操作是指对数据库中的各种对象(型)的实例(值)允许执行操作的集合,包括操作及有关的操作规则。数据完整性约束:是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其关系所具有的制约和依存规则,用以保证数据的正确、有效和相容,使数据库中的数据值与现实情况相符。3、逻辑数据模型3、逻辑数据模型层次模型(hierarchicalmodel)网状模型(networkmodel)关系模型(relationalmodel)面向对象数据模型(objectoridenteddatamodel)对象关系数据模型(objectrelationaldatamodel)半结构化数据模型(semistructuredatamodel)30按数据结构的类型来命名数据模型,分为以下几种:大学院系教研室班级教辅3、逻辑数据模型科室医生病房病人层次模型网状模型31关系数据模型源于数学,它把数据看成是二维表中的元素,而这个二维表就是关系。4、关系模型32关系系统要求让用户所感觉的数据库是一张张二维表的集合。在关系系统中,表是逻辑结构而不是物理结构。实际上,系统在物理层可以使用任何有效的存储结构来存储数据,比如,有序文件、索引、哈希表、指针等。因此,表是对物理存储数据的一种抽象表示,是对很多存储细节的抽象,如存储记录的位置、记录的顺序、数据值的表示等以及记录的访问结构,如索引等,对用户来说都是不可见的。商标ID商标名称001乐高002汇乐003贝恩施玩具ID名称单价产地重量商标ID000001玩具熊49.99四川成都348001000002巴比娃娃98.88北京128002000003遥控汽车86.68浙江温州87000233商标信息商标ID商标名称001乐高002汇乐003贝恩施玩具基本信息玩具ID名称单价产地重量商标ID000001玩具熊49.99四川成都348001000002巴比娃娃98.88北京128002000003遥控汽车86.68浙江温州870002字段、列、属性记录、行、元组4、关系模型

》关系模型中的基本术语1.关系(表)关系就是二维表,每一列不可再分,属性不能重名,可交换列的前后顺序。2.元组(行,记录)表中的每一行数据称作是一个元组3.属性(列,字段)表中的每一列是一个属性值集,列可以命名,称为属性名。超键:在一个关系中,能唯一标识元组的属性或属性集称为关系的超键。例如:学生表的属性有:学号、姓名、身份证号。

344、关系模型

》关系模型中的基本术语学号姓名身份证号2025001001李四5101042005020100072025001002张三5101122006081143812025001003王果姓名可以重复,能够唯一标识元组的属性或属性集有:(学号)(学号,姓名)(学号,身份证号)(身份证号)(姓名,身份证号)以上这些属性集都称为超键。候选键(候选码):如果一个属性集能唯一标识元组,且又不含有多余的属性,那么这个属性集称为关系的候选键。在学生表中,学号能唯一标识元组且没有多余的属性,所以是候选键,身份证号能唯一标识元组且没有多余的属性,所以是候选键。(学号,姓名)虽然能唯一标识一个元组,但姓名是多余的属性,所以它不是候选键。学号姓名身份证号2025001001李四5101042005020100072025001002张三5101122006081143812025001003王红5101142005092154034、关系模型

》关系模型中的基本术语3536主键(主码、主关键字):主键(PrimaryKey)是表中的一个属性或几个属性的组合,用于唯一的确定表中的一个元组,主键是一个候选键。在学生表中,候选键有“学号”和“身份证号”,可以选择其中之一作为主键,按习惯和用户业务要求,一般选择“学号”作为主键。主键可以由一个属性组成,也可以由多个属性共同组成。表1-4购物车信息表购物车ID玩具ID数量0000010000011000001000008200000200000124、关系模型

》关系模型中的基本术语主键由购物车ID和玩具ID共同组成。因为一个购物车中可以包含多种玩具,而一种玩具也可以包含在多个购物车中,因此,只有将购物车ID和玩具ID组合起来才能共同确定一行记录。商标商标ID商标名称001乐高002汇乐003贝恩施外键(FK,外码,外关键字):是表中的一个或多个属性。两个表可以通过共同的属性相关联。当一个表的某些属性的取值受其它表的主键值约束时,这些属性就称为外键。玩具基本信息玩具ID名称单价产地重量商标ID000001玩具熊49.99四川成都348001000002巴比娃娃98.88北京128002000003遥控汽车86.68浙江温州870002玩具基本信息表中,商标ID是外键,由它和商标表发生关系,它的取值要么为空,要么为商标表中商标ID的值,玩具信息表是参照关系,商标表是被参照关系。4、关系模型

》关系模型中的基本术语37域:属性的取值范围就称为域。主属性和非主属性:关系中包含在主键中的属性称为主属性,不包含在主键中的属性称为非主属性。4、关系模型

》关系模型中的基本术语38关系模型的操作对象是集合,而不是行,也就是操作的对象以及操作的结果都是完整的表(行的集合,而不只是单行,当然,只包含一行数据的表是合法的,空表或不包含任何数据行的表也是合法的)。而非关系型数据库系统中典型的操作是一次一行或一次一个记录。394、关系模型

》关系模型的数据操作数据完整性是指数据库中存储的数据是有意义的或正确的。关系模型中的数据完整性规则是对关系的某种约束条件。它的数据完整性约束主要包括四大类:实体完整性参照完整性域完整性用户自定义完整性404、关系模型

》关系模型的数据完整性约束实体完整性实体完整性指的是关系数据库中所有的表都必须有主键,而且表中不允许存在如下的记录。无主键值的记录主键值相同的记录因为若记录没有主键值,则此记录在表中一定是无意义的。41参照完整性参照完整性有时也称为引用完整性。现实世界中的实体之间往往存在着某种联系,在关系模型中,实体以及实体之间的联系在关系数据库中都用关系来表示,这样就自然存在着实体与实体之间的引用关系。参照完整性就是用来确保实体之间关系完整的。42【例1-1】“职工”表和“部门”表所包含的属性如下,其中主键用下划线标识。职工(职工号,姓名,性别,部门号,上司,工资,佣金)部门(部门号,名称,地点)其中职工号是“职工”关系的主键,部门号是外键,而“部门”关系中部门号是主键,则职工关系中的每个元组的部门号属性只能取下面两类值:第1类:空值,表示尚未给该职工分配部门;第2类:非空值,但该值必须是部门关系中某个元组的部门号值,表示该职工不可能分配到一个不存在的部门中,即被参照关系“部门”中一定存在一个元组,它的主键值等于该参照关系“职工”中的外键值。43域完整性域完整性或语义完整性。确保了只有在某一合法范围内的值才能存储到一列中。可以通过限制数据类型、值的范围和数据格式来实施域完整性。例如,人的年龄的取值范围为0~150。44用户自定义完整性

任何关系数据库系统都应该支持实体完整性、引用完整性和域完整性。除此之外,不同的数据库应用系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户自定义完整性就是针对某一具体应用领域定义的数据约束条件,它反映某一具体应用所涉及的数据必须要满足应用语义的要求。45例:产品表(产品编号,产品名称,进货价格)销售表(销售编号,产品编号,销售时间,销售价格,销售数量)在向销售表中输入数据时,要求销售价格大于等于进货价格。464、关系模型

》网上玩具商店ToyUniverse关系模型列(属性)名中文名称类

型宽度说

明cCategoryId种类IDCHAR3主键cCategory种类CHAR20NOTNULLvDescription描述VARCHAR100列(属性)名中文名称类

型宽度说

明cBrandId商标IDCHAR3主键cBrandName商标名称CHAR20NOTNULL列(属性)名中文名称类

型宽度说

明cToyId玩具IDCHAR6主键vToyName玩具名称VARCHAR20NOTNULLvToyDescription玩具描述VARCHAR250

cCategoryId种类IDCHAR3外键

NOTNULLmToyRate玩具价格DECIMAL(10,2)NOTNULLcBrandId商标IDCHAR3外键

NOTNULLvPhotoPath照片路径VARCHAR1000

siToyQoh数量SMALLINT

NOTNULLsiLowerAge最低年龄SMALLINT

NOTNULLsiUpperAge最大年龄SMALLINT

NOTNULLsiToyWeight玩具重量SMALLINT

NOTNULLvToyImgPath玩具图像路径VARCHAR50Category(种类)Toys(玩具)ToyBrand(商标)4、关系模型

》网上玩具商店ToyUniverse关系模型列(属性)名中文名称类型宽度说明cCountryId国家IDCHAR3主键vCountry国家VARCHAR100NOTNULL列(属性)名中文名称类型宽度说明cShopperId购物者IDCHAR6主键vUserName用户名VARCHAR100NOTNULLvPassword密码VARCHAR200NOTNULLvShoperName姓名VARCHAR100NOTNULLvEmailId邮件地址VARCHAR40

vAddress地址VARCHAR200NOTNULLvCity城市VARCHAR50

vProvince省VARCHAR50

cCountryId国家IDCHAR3外键cZipCode邮政编码CHAR10

CPhone电话CHAR15NOTNULLcCreditCardNo信用卡编号CHAR16NOTNULLvCreditCardType信用卡类型VARCHAR15NOTNULLdExpiryDate截止日期DATETIME

列(属性)名中文名称类型宽度说明cOrderNo订单编号CHAR12主键vRecipientName姓名VARCHAR100NOTNULLvEmail电子邮件地址VARCHAR40

vAddress地址VARCHAR200NOTNULLvCity城市VARCHAR50

vProvince省VARCHAR50

cCountryId国家IDCHAR3外键NOTNULLcZipCode邮政编码CHAR10

cPhone电话CHAR15NOTNULLShopper(购物者)Country(国家)Recipient(接收者)474、关系模型

》网上玩具商店ToyUniverse关系模型列(属性)名中文名称类

型宽度说

明cModeId模式IDCHAR2主键vMode模式VARCHAR25NOTNULLiMaxDelDays最多需要天数INT

NULL列(属性)名中文名称类型宽度说明cOrderNo订单编号CHAR12主键dOrderDate订单日期DATETIME

NOTNULLcShopperId购物者IDCHAR6外键cShippingModeId运货方式IDCHAR2外键mShippingCharges运货费用DECIMAL(10,2)

mGiftWrapCharges礼品包装费用DECIMAL(10,2)

COrderProcessed订单处理状态CHAR10:未审核1:已审核2:已出货mToyTotalCost玩具总价DECIMAL(10,2)订单细节表中玩具总价之和mTotalCost订单总价DECIMAL(10,2)运货费用+礼品包装费用+玩具总价dExpDelDate运到日期DATETIME

列(属性)名中文名称类

型宽度说

明cOrderNo订单编号CHAR12主键

外键cToyId玩具IDCHAR6主键

外键mToyRate玩具单价DECIMAL(10,2)NOTNULLsiQty数量SMALLINT

NOTNULLcGiftWrap是否要礼品包装CHAR1“Y”和“N”cWrapperId包装IDCHAR3外键vMessage留言信息VARCHAR256

mToyCost玩具总价DECIMAL(10,2)玩具单价×数量Orders(订单)ShippingMode(投递模式)OrderDetail(订单细节)484、关系模型

》网上玩具商店ToyUniverse关系模型ShoppingCart(购物车)列(属性)名中文名称类型宽度是否允许为空cShopperId购物者IDCHAR6主键外键cToyId玩具IDCHAR6主键外键siQty数量SMALLINT

NOTNULLdDate购物时间DATETIME

Wrapper(包装)列(属性)名中文名称类型宽度说明cWrapperId包装IDCHAR3主键vDescription描述VARCHAR20NULLmWrapperRate包装费用DECIMAL(12,2)NOTNULLvPhotoPath照片VARCHAR1000NULLvWrapperImgPath包装图像路径VARCHAR50NULLShippingRate(运输费用)列(属性)名中文名称类型宽度说明cCountryID国家IDCHAR3主键外键cModeId模式IDCHAR2主键外键mRatePerPound每磅的费用DECIMAL(10,2)NOTNULLShipment(出货)列(属性)名中文名称类型宽度说明cOrderNo订单编号CHAR12主键dShipmentDate出货日期DATETIME

NULLcDeliveryStatus投递状态CHAR1NULLdActu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论