《第四章数据库系统.docx》由会员分享,可在线阅读,更多相关《第四章数据库系统.docx(17页珍藏版)》请在优知文库上搜索。
1、第四章数据库系统第01讲数据库系统第四章数据库系统数据模型厂数据库系统概述W关系模型与关系数据库数据效范化结构化杳询语占SQLltf述数据库的定义数据库的管理数据库系统数据库管理系统卬的SQL语言豺据表的定义数据表的管理I素引的建立与删除SQL语艺的数据查询功能噩鼐义与删除高级查询知识点一:数据模型模型的概念对现实世界事物特征的模拟和抽象就是这个事物的模型。作为模型应当满足:一是真实反映物质本身;二是容易被人理解;三是便于在计算机上实现。采用逐步抽象的方法,把数据模型划分为两类,以人的观点模拟物质本身的模型称为概念模型(或信息模型);以计算机系统的观点模拟物质本身的模型称为数据模型,如图所示。
2、现实世界|信息世界!机器世界知识点二:概念模型概念模型也称为信息模型。概念模型是从人对现实世界的认识出发,根据建模的需要将具体的事物抽象为便于理解和研究的模型。它独立于任何数据库管理系统,但是又很容易向数据库管理系统支持的逻辑数据模型转换。(1)常用术语实体:客观存在,并且可以互相区别的事物称为实体。属性:实体具有的特性都称为属性。实体属性越多,刻画出的实体越清晰。属性有“型”和“值”的概念,属性的名称(说明)就是属性的“型”,对型的具体赋值就是属性的“值”。码:在众多属性中能够唯一标识(确定)实体的属性或属性组称为实体的码。域:属性的取值范围称为该属性的域。实体型:用实体名及描述它的各属性名
3、,可以刻画出全部同质实体的共同特征和性质,被称为实体型。实体集:某个实体型下的全部实体,称为实体集。联系:一个实体型内部各属性之间的联系,称为实体型内部联系。在实体型之间也存在着联系,称为实体型的外部联系,这种联系是指不同实体集之间的联系。(2)实体型之间的联系一对一联系(1:1)一对多联系(1:n)O多对多联系(m:n)o(3)实体内部各属性之间的联系在一个实体型内部也存在着一对一、一对多和多对多的联系。(4)概念模型的表示方法描述概念数据模型的主要工具是E-R(实体一联系)模型,也称为E-R图。利用E-R图实现概念结构设计的方法称为E-R方法。E-R图主要是由实体、属性和联系三个要素构成的
4、。基本的图形符号,见表4-U表4-1E-R模型的图形表示符号含义.矩形表示实体,根卬埴写实体名菱形表示实体间联系,框中墉写联系名确图形表示实体或联系的属性,圈中填写属性名无向连接以上三种图形,构成具体默念模型知识点三:数据模型数据库管理系统支持的数据模型,可以细分为逻辑数据模型和物理数据模型。逻辑数据模型是用户通过数据库管理系统看到的现实世界,它描述了数据库数据的整体结构。逻辑模型通常由数据结构、数据操作和数据完整性约束三部分概念组成。数据结构是对系统静态特性的描述,是数据模型中最重要的部分,所以一般以数据结构的类型来命名数据模型。常用的数据模型有:层次模型、网状模型、关系模型以及面向对象数据
5、模型。格式化数据模型包括层次数据模型和网状数据模型,它们构成的层次数据库系统和网状数据库系统是第一代数据库系统。层次模型的主要特征如下:有且仅有一个无双亲的根结点;根结点以外的其他结点,向上仅有一个父结点,向下可有若干子结点。由于层次模型还不能很好地表达实体间的复杂关系(多对多联系),于是产生了网状模型,它很好地解决了实体间复杂关系的表达问题,其主要特征如下。允许有一个以上的结点无双亲;至少有一个结点有多个双亲。R4R5关系模型以人们经常使用的表格形式作为基本的存储结构,通过相同关键字段实现表格间的数据联系。关系模型简单明了、易学易用,使它从一开始就吸引了公众的注意,成为广大用户特别乐于接受的
6、、最重要的种数据模型。知识点四:关系模型的数据结构关系模型是一种新的数据模型,它建立在集合论和谓词演算公式的基础上。关系模型提供的逻辑结构简单,数据独立性强,存取具有对称性,操纵灵活。在数据库中的数据结构如果依照关系模型定义,就是关系数据库系统。关系数据库系统由许多不同的关系构成,其中每个关系就是一个实体,可以用一张二维表表示。例如一张“学生信息”数据表就是一个关系。C电性名Q性D元组V系别专业号专业,为名性别年龄学号财经系05财经J张三男19100215I信息系10IS息管理李四女20100078国经系23国际贸易王五女20120123计复机系07软件工程赵六男21112333关系:一张二维
7、表对应一个关系;属性:表中每一列叫做一个属性,属性有名和值的区别;元组:由属性值组成的每一行称为一个元组(记录);框架(FrameWork):由属性名组成的表头称为框架(关系型);域(Domain):每个属性的取值范围称为域;候选码(CandidateKey):可以唯一确定一个元组的属性或属性组称为候选码(可简称码)。如表中“姓名”属性;主码(PrimaryKey):一个关系中往往会有多个候选码,可以指定一个为主码;主属性(PrinIaryAttribute):可以作为候选码的属性也称主属性;非码属性(Non-keyAttribute):不能作为候选码的属性叫做非主属性;外部码(Foreign
8、Key):属性(或属性组)X不是当前关系的码,但却是另一个关系的码,则称属性X是当前关系的外部码,简称为外码;参照关系(ReferenCingRelation):外码所在的关系叫做参照关系;被参照关系(RCferenCedRelation):主码与另一个关系的外码相对应的关系叫做该外码的被参照关系,或叫做目标关系(TargetRelation)o对一个关系的描述可以称为一个关系模式,常常记作:关系名(属性1,属性2,属性3,属性n)在关系模型中,不但实体用关系表示,而且实体之间的联系也用关系来表示。如图所示的“顾客”和“商品”之间的多对多联系,在关系模型中可以表示为如下关系模式:顾客(顾客号,
9、姓名,性别)商品(商品号,商品名,单价)购物(顾客号,商品号,数量)知识点五:关系模型的基本要求关系模型要求关系必须是规范化的,也就是要求关系必须满足一定的规范条件。关系中每个分量必须是不可再分的基本项。换言之就是在一张表中不能嵌套另一张表。学院姓名性别年龄系别专业企业系工商管理李四男20会计系会计田小雅女19贸易系贸易经济马倩倩女20一个关系模型必须具备下面五个基本条件。表格中每一数据项不可再分,这是最基本项;每i列数据有相同的类型,即属性。各列都有唯的属性名和不同的属性值,列数可根据需要而设定;每列的顺序是任意的;每一行数据是一个实体诸多属性值的集合,即元组。一个表格中不允许有完全相同的元
10、组出现;各行顺序是任意的。知识点六:关系的完整性(I)实体完整性实体完整性规则:关系中的主属性不能取空值。例如,学生关系:学生(系别,专业号,专业,姓名,性别,年龄,学号)其中“姓名”和“学号”为主属性,所以这两个属性值就都不允许取空值。(2)参照完整性参照完整性规则:若参照关系中的外码与目标关系中的主码相对应,则参照关系中每个元组在外码上的每个属性值必须为空值,或者等于目标关系中某个元组的主码值。参照关系和被参照关系可以是同一个关系。例如,专业关系:专业(专业号,专业)在学生关系和专业关系之间存在联系,这种联系是通过属性“专业号”引用的。(3)用户定义的完整性所谓用户定义的完整性就是由用户根
11、据具体的应用环境,为某个关系数据库设定非约束条件。知识点七:关系操作1.传统集合运算传统集合运算主要有:并、交、差三种,如图所示。)M.S2.专门的关系运算专门的关系运算主要是选择(筛选)、投影和连接三种。选择运算是对关系表中元组(行)的操作,操作结果是找出满足条件的元组。投影运算是对关系表中属性(列)的操作,操作结果是找出关系中指定属性全部值的子集。连接运算是对两个关系的运算,操作结果是找出满足连接条件的所有元组,并且拼接成一个新的关系。知识点八:数据规范化规范化关系分为不同的规范层次。限制条件越严格,描述的关系就越规范。一般把关系的这种层次叫做范式,限制越严格的关系,范式就越高。一般将关系
12、范式划分为五个级别,分别称为一范式(INF)、二范式(2NF)、三范式(3NF)、BC范式(BCNF).四范式(4NF)和五范式(5NF),其中NF是(NOnnaIFOnTI)的缩写,BC范式(BCNF)是三范式(3NF)的修正和扩充。最低范式是一范式,一个关系只要满足了关系模型的5条基本要求,就已经达到了一范式。各范式之高一级范式的关系模式总是包含在低一级范式的关系模式中,可以用表达式描述各范式间关系:5NF4NFBCNF3NF2NFe1NE,数据规范化理论认为,关系范式越高,数据库结构越好。但是从数据库系统的处理角度看,太高范式的关系往往不方便使用。因此,一般只要把数据库关系规范到三范式就
13、可以满足需要了。知识点九:数据规范化一个低一级范式的关系模式,可以通过分解转换为若干个富一级范式的关系模式的集合,关系模式的这种不断改进提高的过程叫做数据规范化。材料号供应商编号供应量地址区码城市地区MOlG03300北京海淀区010M02GOl200上海黄浦区021M03G06500天津和平区022M04G03100北京海淀区010M05G05200广州越秀区020M06GOl100上海黄浦区021(1)建立一范式一范式(INF)要求关系中的每个属性必须是单纯域,即每个数据项都是基本项。或者说只要数据表能满足关系模型的5个基本约束条件,就可以堪称是一个关系二维表。做到这一点并不难,只要把数据
14、表的表头加以修改就可以。材料号供应商编号供应量城市地区区码MOlG03300北京海淀区010M02GOl200上海黄浦区021M03G06500天津和平区022M04G03100北京海淀区010M05G05200广州越秀区020M06GOl100上海黄浦区021一范式的表格已经满足了关系的基本约束条件,可以描述为一个关系,但是这种关系存在的问题会比较多。插入异常0删除、修改异常。数据冗余大。一范式到二范式:消除部分函数依赖二范式到三范式:消除传递函数依赖知识点十:数据库的安全性数据库具有的防止非法用户闯入,或合法用户非法使用造成数据泄露、更改或破坏的功能叫做数据库安全性。对于数据库系统来说,常用的安全措施主要有身份验证和存取控制两个方面。通过身份验证后的合法用户也只能存取与自己相关的数据,也就是只能访问事先为他定义好权限的那些数据。知识点十一:结构化查询语言SQL概述SQL(StructuredQueryLanguage,即结构化查询语言)是