项目公司管理数据库系统的规划课件_第1页
项目公司管理数据库系统的规划课件_第2页
项目公司管理数据库系统的规划课件_第3页
项目公司管理数据库系统的规划课件_第4页
项目公司管理数据库系统的规划课件_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

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

文档简介

1、项目公司管理数据库系统的规划1项目一 公司管理数据库系统的规划 项目公司管理数据库系统的规划2工作任务:v 根据某公司的工作流程,设计一个满足该公司管理的数据库系统。具体要求如下:v 公司数据库管理系统主要完成客户和产品之间进行产品订购的功能,此系统可以实现让公司增加、删除和修改所提供的产品,还可以让客户增加、删除和修改所需要的产品。公司交易员(雇员)可以利用客户提出的订货信息和产品信息提出交易建议。另外,该系统能够分类统计已订购的产品信息。项目公司管理数据库系统的规划3 数据数据v 描述事物的符号称为数据。描述描述事物的符号称为数据。描述事物的符号可以是数字,也可以是文字、事物的符号可以是数

2、字,也可以是文字、图形、图像、声音、语言等,数据有多图形、图像、声音、语言等,数据有多种表现形式,他们都可以经过数字化后种表现形式,他们都可以经过数字化后存入计算机。存入计算机。 项目公司管理数据库系统的规划4 数据库数据库v 数据库是指长期存储在计算机数据库是指长期存储在计算机内的、有组织的、可共享的数据集合。内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组数据库中的数据按一定的数据模型组织、描述和存储,具有较小的冗余度、织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可较高的数据独立性和易扩展性,并可为各种用户共享。为各种用户共享。 项目公司管理数据库系统

3、的规划5 数据库管理系统数据库管理系统v 数据库管理系统是位于用户与操作系数据库管理系统是位于用户与操作系统之间的一层数据管理软件。它的主要功能统之间的一层数据管理软件。它的主要功能包括以下几个方面:包括以下几个方面:v数据数据定义功能定义功能v数据操纵功能数据操纵功能v数据库的运行管理数据库的运行管理v数据库的建立和维护功能数据库的建立和维护功能项目公司管理数据库系统的规划6 OracleOracle数据库管理系统工作界面数据库管理系统工作界面 项目公司管理数据库系统的规划7SQL ServerSQL Server数据库管理系统工作界面数据库管理系统工作界面项目公司管理数据库系统的规划8Ac

4、cess数据库管理系统工作界面 项目公司管理数据库系统的规划9Visual FoxPro数据库管理系统工作界面 项目公司管理数据库系统的规划10数据库技术的四条线索v三个系统:三个系统:历史发展(层次网状系统)历史发展(层次网状系统)当前主流(关系系统)当前主流(关系系统)未来发展(面向对象系统)未来发展(面向对象系统)v数据库发展史上的两条主线:数据库发展史上的两条主线:数据模型的演变:层次、网状、关系、面向对象数据模型的演变:层次、网状、关系、面向对象数据语言的演变:基本数据语言的演变:基本SQL、嵌入、嵌入SQL、动态、动态SQL、递归、递归SQL、ORDB的的SQLv两个端点:两个端点

5、:用户(使用)、系统(实现)用户(使用)、系统(实现)v数据库设计演变的过程数据库设计演变的过程ER图,对象联系图,图,对象联系图,UML类图类图项目公司管理数据库系统的规划11DBMS主流产品现状主流产品现状v 代表性产品:Oracle公司的Oracle、IBM公司的DB2以及微软的SQL Server等v关系数据库技术仍然是主流 2000年RDBMS的市场份额占整个数据库市场的80%,这个比例比1999年增长了15%。v产品形成系列化 如DB2通用数据库产品包括了从高端的企业级并行数据库服务器,到移动端产品DB2 Everywhere的一整套系列。从支持平台看,不再是大型机上的专有产品,支

6、持目前主流的各种平台,包括Linux和Windows NT。此外,它还有各种中间件产品,如DB2 Connect、DB2 Datajointer、DB2 Replication等,构成了一个庞大的数据库家族。项目公司管理数据库系统的规划12DBMS主流产品现状主流产品现状v支持各种互联网应用例如,Oracle公司从8版起全面支持互联网应用,是互联网数据库的代表。微软公司更是将SQL Server作为其整个.NET计划中的一个重要的成分。海量数据处理互联网提供大量以XML格式数据为特征的半结构化数据,支持这种类型的数据的存储、共享、管理、检索等也是各数据库厂商的发展方向。项目公司管理数据库系统的

7、规划13DBMS主流产品现状主流产品现状v向智能化集成化方向扩展向智能化集成化方向扩展数据丰富知识贫乏的现实直接导致了联机分析处理数据丰富知识贫乏的现实直接导致了联机分析处理(OLAP)、数据仓库()、数据仓库(Data Warehousing)和数据挖)和数据挖掘掘(Data Mining)等技术的出现等技术的出现企业应用越来越复杂,会涉及到应用服务器、企业应用越来越复杂,会涉及到应用服务器、Web服务服务器、其它数据库、旧系统中的应用以及第三方软件等,器、其它数据库、旧系统中的应用以及第三方软件等,数据库产品与这些软件是否具有良好集成性往往关系到数据库产品与这些软件是否具有良好集成性往往关

8、系到整个系统的性能。整个系统的性能。Oracle公司的公司的Oracle 9i 产品包括了产品包括了OLAP、数据挖掘、数据挖掘、ETL工具等一套完整的工具等一套完整的BI(商业智能)支持平台。(商业智能)支持平台。IBM 公司也把公司也把BI套件作为其数据库的一个重点来发展。套件作为其数据库的一个重点来发展。微软认为商务智能将是其下一代主要的利润点。微软认为商务智能将是其下一代主要的利润点。项目公司管理数据库系统的规划14DBMS模块DBA及助手最终用户应用程序员DDL应用程序交互式查询权限命令DDL编译器预编译器DDL编译器机器语言编译器DML系统和数据字典运行DB处理机存储数据管理者存储

9、数据库用户软件数据DML编译器项目公司管理数据库系统的规划15数据模型 v数据库系统模型是指数据库中数据的存储结数据库系统模型是指数据库中数据的存储结构。较为常见的有层次模型、网络模型、关构。较为常见的有层次模型、网络模型、关系模型系模型3种,选择使用这种,选择使用这3种模型的数据库被种模型的数据库被分别称为层次型数据库、网络型数据库和关分别称为层次型数据库、网络型数据库和关系型数据库。系型数据库。 项目公司管理数据库系统的规划161层次型数据库v 层次型数据库使用结构模型作为自己的存储结构。这是一种树型结构,它由结点和连线组成,其中节点表示实体,连线表示实体之间的关系。v层次模型的特点:v(

10、1)有且仅有一个结点无双亲,该结点称为根结点;v(2)其他结点有且只有一个双亲;v(3)上一层和下一层记录类型间联系是1:N项目公司管理数据库系统的规划17v学校的层次模型 学学 生生学学 校校 系系 处处 室室 教研室教研室 科科 室室 教教 师师 课课 程程 项目公司管理数据库系统的规划182网络型数据库v 网络型数据库使用网络模型作为自己的网络型数据库使用网络模型作为自己的存储结构。在这种存储结构中,数据记录存储结构。在这种存储结构中,数据记录将组成网络中的节点,而记录和记录之间将组成网络中的节点,而记录和记录之间的关联组成节点之间的连线,从而构成了的关联组成节点之间的连线,从而构成了一

11、个复杂的网状结构。一个复杂的网状结构。v(1)有一个以上的结点没有双亲;)有一个以上的结点没有双亲;v(2)结点可以有多于一个的双亲)结点可以有多于一个的双亲专业学生教师教室课程项目公司管理数据库系统的规划193关系型数据库v 关系型数据库使用的存储结构是多个二维表关系型数据库使用的存储结构是多个二维表格。表中的一行称为一条记录或元组,用来格。表中的一行称为一条记录或元组,用来描述一个对象的信息;表中的一列称为一个描述一个对象的信息;表中的一列称为一个字段或属性,用来描述对象的一个属性。数字段或属性,用来描述对象的一个属性。数据表与数据表之间存在相应的关联,这些关据表与数据表之间存在相应的关联

12、,这些关联将被用来查询相关的数据。联将被用来查询相关的数据。项目公司管理数据库系统的规划20数据库设计的基本步骤v按照规范化设计方法将数据库设计分为以下6个阶段u需求分析u概念结构设计u逻辑结构设计u数据库物理设计u数据库实施u数据库运行和维护项目公司管理数据库系统的规划21需求分析需求分析设计局部视图设计局部视图集成视图集成视图概念结概念结构设计构设计设计逻辑结构设计逻辑结构优化逻辑结构优化逻辑结构逻辑结逻辑结构设计构设计设计物理结构设计物理结构评价物理结构评价物理结构物理结物理结构设计构设计数据库系统实现数据库系统实现试验性运行试验性运行数据库数据库实施实施满意满意加载数据库加载数据库投入

13、运行维护投入运行维护否否是是数数据据库库设设计计过过程程项目公司管理数据库系统的规划22数据库设计思想原则v用户参与v发展眼光:系统不仅要满足用户目前的需求,也应满足近期要求,还要对于远期需求有相应的处理方案。项目公司管理数据库系统的规划23需求分析的任务v详细调查用户要处理的对象v充分了解原系统的工作概况v明确用户的各种要求v然后在此基础上确定新系统的功能v信息要求v处理要求v完整性要求项目公司管理数据库系统的规划24需求分析方法v为了明确用户的实际要求,需要:跟班作业;开调查会;请专人介绍;询问;设计调查表要用户填写;查阅记录等;项目公司管理数据库系统的规划25v收集基础数据和一组数据流图

14、v建设好数据字典数据字典:l数据项l数据结构l数据流l数据存储l处理过程v将收集到的数据分析后,提交给用户,征得用户认可。项目公司管理数据库系统的规划26(一)公司管理数据库系统的需求分析v 在这个阶段中,将对需要存储的数据进行收集和整理,并组织建立完整的数据集。可以使用多种方法进行数据的收集,例如相关人员调查、历史数据查阅、观摩实际的运作流程以及转换各种实用表单等。 项目公司管理数据库系统的规划27数据流图雇员发货部门订单信息客户客户信息订货接受订货雇员信息订单信息产品信息产品信息产品信息项目公司管理数据库系统的规划28数据字典v数据流数据流名称:客户信息来源:客户去向:处理订货包含的数据项

15、: 客户号 公司名称 联系人姓名 联系方式 地址 邮编数据流名称:雇员信息来源:雇员去向:处理接受订单包含的数据项: 雇员号 姓名 性别 出生年月 雇用日期 特长 薪水数据流名称:产品信息来源:雇员去向:处理接受订单包含的数据项: 雇员号 姓名 性别 出生年月 雇用日期 特长 薪水项目公司管理数据库系统的规划29学生成绩管理系统项目公司管理数据库系统的规划30(二)公司管理数据库系统的概念模型设计 v 在需求分析的基础上,用ER模型表示数据及其相互间的联系,产生反映用户信息需求的数据模型。概念设计的目的是准确地描述应用领域的信息模式,支持用户的各种应用,概念设计的成果是绘制出公司管理数据库系统

16、的ER图。项目公司管理数据库系统的规划31概念模型v 概念模型最常用方法是实体-联系(Entity-Relationship)方法(即E-R方法),它源于1976年。v E-R图所描述的现实世界的信息结构称为实体-联系模型(E-R模型)。E-R图中包括实体、属性和联系3 种基本图素项目公司管理数据库系统的规划321 1概念模型的主要概念概念模型的主要概念v实体:客观存在并相互区别的事物及其事物之间的联系。例如,一个学生、一门课程、学生的一次选课等都是实体。v属性:实体所具有的某一特性。例如,学生的学号、姓名、性别、出生年份、系、入学时间等。v联系:实体与实体之间以及实体与组成它的各属性间的关系

17、,分为: 一对一联系 一对多联系 多对多联系项目公司管理数据库系统的规划33 一对一联系(one-to-one)v定义定义 如果两个实体集A、B中的任意一个实体至多与另一个实体集中的一个实体对应联系,则称A、B为一对一联系。记为“11”联系项目公司管理数据库系统的规划34 一对多联系(one-to-many)v定义定义 设有两个实体集和,如果中每个实体与中任意个实体(包括零个)有联系,而中的每个实体至多与中的一个实体有联系,则称该联系为从到的1对多联系,记为1联系项目公司管理数据库系统的规划35 多对多联系(many-to-many)v定义定义 如果两个实体集、中的每个实体都与另一个实体集中的

18、任意个实体(包括零个实体)有联系,则称这两个实体集是多对多联系,记为“”联系。项目公司管理数据库系统的规划362概念模型的表示方法v实体型:用矩形表示,矩形框内写明实体名。v属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。v联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1:1,1:n或m:n)。 项目公司管理数据库系统的规划37E-R模型v E-R模型是现实世界的纯粹表示,有三个基本成份:实体、联系和属性。它是一个概念性模型,描述的是现实中的信息联系,而不涉及数据如何在数据库系统中的存放。项目公司管理数据库系统的规划38公司管理数

19、据库系统的ER模型 项目公司管理数据库系统的规划39(三)公司管理数据库系统的逻辑设计v 数据库逻辑设计的任务是把数据库概念设计阶段产生的数据库概念模式(ER图)转换为数据库逻辑模式。进行数据库逻辑设计,首先将概念设计中所得的ER图转换成等价的关系模式,然后,再进行逻辑模式的规范化和性能优化,使形成的数据库系统数据表,满足用户的完整性和安全性要求。项目公司管理数据库系统的规划401、ER图转换为系统的数据表v 利用ER图到关系模式转换的有关知识,将图1-2所示的公司管理数据库系统的ER图转换为系统的数据表。项目公司管理数据库系统的规划412、将逻辑模式规范化和性能优化v 由ER图转换的数据库逻

20、辑模型还只是逻辑模式的雏形,要成为逻辑模式,还需要进行以下几个方面的处理:v对数据库的性能、存储空间等优化;v数据库逻辑模型的规范化项目公司管理数据库系统的规划42A、对数据库的性能、存储空间等优化v依据:提高数据库性能的措施有:减少联接运算和减少关系的大小和数据量等。节省存储空间的措施有:减少每个属性所占的空间、采用假属性减少重复数据所占存储空间。项目公司管理数据库系统的规划43产品信息表(product) 产品ID产品名单价(元)类别名库存量(件)1牛奶牛奶2.30特制品特制品2002冰激凌冰激凌1.50特制品特制品4003果冻果冻3.00特制品特制品3004打印纸打印纸40.00计算机耗

21、材计算机耗材1005墨盒墨盒200.00计算机耗材计算机耗材150项目公司管理数据库系统的规划44产品信息表(product)产品ID产品名类别ID单价(元)库存量(件)1牛牛奶奶62.302002冰冰激激凌凌61.504003果果冻冻63.003004打打印印纸纸240.00100项目公司管理数据库系统的规划45类别信息表(category) 类别ID类别名说明1饮料软饮料、咖啡、茶、啤酒和淡啤酒2计算机耗材打印纸等3日用品牙刷等4谷类/麦片面包、饼干、生面团和谷物5肉/家禽精制肉6特制品干果和豆乳7海鲜海菜和鱼项目公司管理数据库系统的规划46拆分产品信息表(product)后的逻辑模式 项

22、目公司管理数据库系统的规划47B、数据库逻辑模型的规范化v数据库的范式理论 关系数据库范式理论是在数据库设计过程中将要依据的准则,数据库结构必须要满足这些准则,才能确保数据的准确性和可靠性。这些准则被称为规范化形式,即范式。在数据库设计过程中,对数据库进行检查和修改并使它符合范式的过程叫做规范化。项目公司管理数据库系统的规划48数据库的范式理论v 范式按照规范化的级别分为5种:v 第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)和第五范式(5NF)。在实际的数据库设计过程中,通常需要用到的是前三类范式。第一范式 数据的原子性第二范式 主键的绝对相关性第三范式 依赖

23、的传递性项目公司管理数据库系统的规划49(1)第一范式(1NF)v 第一范式要求每一个数据项都不能拆分成两个或两个以上的数据项。v 例:在下面的表 所示的teacher表中“学历学位”是由学历和学位组成的,因此,这个teacher表不满足第一范式。可以将“学历学位”字段拆分为两个字段,如表所示,从而使该数据表满足第一范式。教师ID姓名性别学历学位100王霞王霞女女研究生硕士研究生硕士101葛利葛利男男本科学士本科学士项目公司管理数据库系统的规划50teacher表 教师ID姓名性别学历学位100王霞王霞女女研究生研究生硕士硕士101葛利葛利男男本科本科学士学士项目公司管理数据库系统的规划51非

24、规范化的关系score0学号姓名课程名成绩991101李雨英语计算机基础8590991102杨玲英语计算机基础7394991103张山英语计算机基础7685项目公司管理数据库系统的规划52 满足1NF的关系score1学号姓名课程名成绩991101李雨英语85991101李雨计算机基础90991102杨玲英语73991102杨玲计算机基础94991103张山英语76991103张山计算机基础85项目公司管理数据库系统的规划53(2)第二范式(2NF) :主键的绝对相关性v 如果一个数据表已经满足第一范式,而且该数据表中的任何一个非主键字段的数值都依赖于该数据表的主键字段,那么该数据表满足第二范

25、式,即2NF。 项目公司管理数据库系统的规划54不满足第二范式的P_order表 v例:例: 在在P_order表中,数据表的主键是订单表中,数据表的主键是订单ID。其中,。其中,“产品名产品名”字段完全依赖于字段完全依赖于“产品产品ID”字段,而不是取字段,而不是取决于订单决于订单ID,因此,因此,P_order表不满足第二范式。但该表不满足第二范式。但该数据表中的其他字段都完全依赖于该表的主键字段数据表中的其他字段都完全依赖于该表的主键字段“订订单单ID”,因此,可以将该数据表中的,因此,可以将该数据表中的“产品名产品名”字段去字段去掉,以满足第二范式。掉,以满足第二范式。v不满足第二范式

26、的不满足第二范式的P_order订单ID产品ID产品名数量(件) 雇员ID客户ID订货日期27269毛巾毛巾1000011712/05/200628156脸盆脸盆500021815/05/2006项目公司管理数据库系统的规划55 满足第二范式的P_order表 订单ID产品ID数量(件)雇员ID客户ID订货日期272691000011712/05/2006281565000021815/05/2006项目公司管理数据库系统的规划56(3)第三范式(3NF) :依赖的传递性v 如果一个数据表已经满足第二范式,而且该数据表中的任何两个非主键字段的数值之间不存在函数依赖关系,那么该数据表满足第三范式

27、,即3NF。 项目公司管理数据库系统的规划57v例:如果在employee表中,“奖金”字段的数值是“薪水”字段数值的20,因此,这两个字段之间存在着函数依赖关系,所以employee表不满足第三范式。可以将“奖金”字段从该表中去掉,以满足第三范式。 雇员ID姓名性别薪水(元)奖金(元)0001张三张三男男30006000002李四李四男男4000800项目公司管理数据库系统的规划58规范化后的公司管理数据库逻辑模式 项目公司管理数据库系统的规划59C、确定数据表和表中的字段 vCustomer表:用来存储有关客户的信息 字段名称数据类型预计长度特殊限制客户客户IDint默认默认惟一,且不可为

28、惟一,且不可为空空公司名称公司名称char30联系人姓名联系人姓名char8联系方式联系方式char12地址地址char30邮编邮编char6项目公司管理数据库系统的规划60P_order表:用来存储有关订单的信息字段名称数据类型预计长度特殊限制订单IDint默认惟一,且不可为空产品IDint默认数量int默认雇员IDint默认客户IDint默认订货日期Datetime默认项目公司管理数据库系统的规划61Employee表:用来存储有关雇员的信息 字段名称数据类型预计长度特殊限制雇员雇员IDint默认默认惟一,且不可为惟一,且不可为空空姓名姓名char8性别性别char2出生年月出生年月dat

29、etime默认默认雇佣日期雇佣日期datetime默认默认特长特长char20薪水薪水money默认默认项目公司管理数据库系统的规划62Product表:用来存储有关产品的信息 字段名称数据类型预计长度特殊限制产品产品IDint默认默认惟一,且不可为惟一,且不可为空空产品名产品名char10类别类别IDint默认默认单价单价money默认默认库存量库存量int默认默认项目公司管理数据库系统的规划63Category表:用来存储有关产品类别的信息 字段名称数据类型预计长度特殊限制类别类别IDint默认默认惟一,且不可为惟一,且不可为空空类别名类别名char默认默认说明说明char16项目公司管理

30、数据库系统的规划64D、建立约束,以保证数据的完整性和一致性 项目公司管理数据库系统的规划65数据完整性 v 数据的完整性是指存储在数据库中的数据的数据的完整性是指存储在数据库中的数据的正确性和可靠性,它是衡量数据库中数据质量好坏正确性和可靠性,它是衡量数据库中数据质量好坏的一种标准。数据完整性要确保数据库中数据一致、的一种标准。数据完整性要确保数据库中数据一致、准确,同时符合企业规则。因此,满足数据完整性准确,同时符合企业规则。因此,满足数据完整性要求的数据应具有以下特点:要求的数据应具有以下特点:数据类型准确无误数据类型准确无误数据的值满足范围设置数据的值满足范围设置同一表格数据之间不存在

31、冲突同一表格数据之间不存在冲突多个表格数据之间不存在冲突多个表格数据之间不存在冲突项目公司管理数据库系统的规划66实体完整性(Entity Integrityv功能: 实体完整性的目的是确保数据库中所有实体的惟一性,也就是不应使用完全相同的数据记录。方法方法:设定主键:设定主键(Primary Key)、惟一键、惟一键(Unique Key)、惟一索引、惟一索引(Unique Index)和标和标识列识列(Identity Column)等,其中最常用的是使等,其中最常用的是使用主键。用主键。项目公司管理数据库系统的规划67区域完整性(Domain Integrityv功能:要求数据表中的数据

32、位于某一个特定的允许范围内。方法方法:使用默认值使用默认值(Default)、核查、核查(Check)、外键、外键(Foreign Key)、数据类型、数据类型(Data Type)和规则和规则(Rule)等多种方法来实现区域完整性。等多种方法来实现区域完整性。例:如果限制例:如果限制“性别性别”字段的数据值可以是字段的数据值可以是“男男”或或“女女”,那么,输入的其他数值将被,那么,输入的其他数值将被SQL Server 2000拒绝。拒绝。 项目公司管理数据库系统的规划68参照完整性(Referential Integrity)v 作用:用来维护相关数据表之间数据一致性的手段,通过实现参照

33、完整性,可以避免因一个数据表的记录改变而造成另一个数据表内的数据变成无效的值。方法方法:外键:外键(Foreign Key)、核查、核查(Check)、触发、触发器器(Trigger)和存储过程和存储过程(Stored Procedure)。例:在employee表和P_order表中,如果要删除employee表中的一条记录,而同时在P_order表中存在需要参考该记录的记录集,那么该删除操作将会失败,这样就避免了P_order表中的数据失去关联。 项目公司管理数据库系统的规划69用户定义完整性v功能:这种数据完整性由用户根据实际应用中的需要自行定义。v方法:规则(Rule)、触发器(Tri

34、gger)、存储过程(Stored Procedure)和数据表创建时可以使用的所有约束(Constraint)。v例:在employee表和P_order表中,如果某雇员负责的订单数超过5个,那么该雇员的“薪水”应大于5000。 项目公司管理数据库系统的规划70主键和外键 v 数据表之间的关联实际上是通过键(Key)来实现的。所谓的“键”是指数据表中的一个字段,键分主键(Primary Key)和外键(Foreign Key)两种,它们都在数据表联接的过程中起着重大的作用。项目公司管理数据库系统的规划71 主键:v 主键是数据表中具有惟一性的字段,设置为主键的字段的值不能重复。v 作用:执行

35、查询,以提高查询的速度。数据库管理系统并不会强制要求在每一个数据表中必须设置主键,但这里推荐大家这样做,因为主键在数据表联接和提高查询性能方面会起到很大的作用。项目公司管理数据库系统的规划72外键v 一个数据表将使用该数据表中的外键连接到其它的数据表,而这个外键字段在其它的数据表中将作为主键字段出现。 项目公司管理数据库系统的规划73约束 v 使用约束是实现数据完整性最主要的方法,使用约束的主要目的是限制输入到表中的数值的范围。从应用范围来讲,约束可分为两种:字段级约束和数据表级约束。v 字段级约束:字段级约束是数据表中字段定义的一部分,它只能应用于数据表中的一个字段。v 数据表级约束:数据表

36、级约束独立于数据表的字段定义之外,它可以应用于数据表中的多个字段。项目公司管理数据库系统的规划74(1) 主键(PRIMARY KEY)约束v 主键约束使用数据表中的一列数据或多列数据来惟一地标识一行数据。也就是说,在数据表中不能存在主键相同的两行数据。而且,位于主键约束下的数据应使用确定的数据,不能输入NULL来代替确定的数值。在管理数据表时,应确保每一个数据表都拥有自己惟一的主键,从而实现数据的实体完整性。 项目公司管理数据库系统的规划75(2) 外键(FOREIGN KEY)约束v 外键约束主要用来实现数据的区域完整性和引用完整性。如果确定了数据表中某一个字段将作为该数据表与其他数据表关

37、联时使用的外键,那么,该字段的取值范围将决定于关联数据表中该字段的取值。项目公司管理数据库系统的规划76(3) 惟一(UNIQUE)约束v 惟一约束主要用来确保非主键字段中数据的惟一性。惟一约束同主键约束主要区别在于:v 在同一个数据表中,惟一约束可以用来同时约束一个或多个非主键字段中数据的惟一性,而主键约束只允许约束一个字段数据的惟一性或多个字段组合在一起的惟一性。v 在使用惟一约束的字段中允许出现NULL值,而在使用主键约束时,字段中不允许出现NULL值。 项目公司管理数据库系统的规划77(4) 核查(CHECK)约束 v 核查约束通过检查输入数据表字段的数值来维护数据的完整性,以确保只有

38、符合条件的数据才能够进入数据表。它通常是通过检查一个逻辑表达式的结果是否为真来判断数据是否符合条件的。项目公司管理数据库系统的规划781、建立主键约束,以惟一标识数据表的各条记录v 用主键来标识记录,在本公司管理数据库中,雇员ID是employee表的主键,客户ID是customer表的主键,产品ID是product表的主键,类别ID是category表的主键,订单ID是P_order表的主键。项目公司管理数据库系统的规划79v2、建立数据表之间的关联,并根据建立的关联,实现表之间的参照完整性项目公司管理数据库系统的规划80employee雇员ID姓名性别出生年月雇佣日期特长薪水P_order订单ID产品ID数量雇员ID客户ID订货日期Product产品ID产品名类别ID单价库存量customer客户ID公司名称联系人姓名联系方式地址邮编category类别ID类别名说明项目公司管理数据库系统的规划81项目公司管理数据库系统的规划823、对表中一些字段建立检查约束v 如性别字段值应为“男”或“女”,添加约束“check(性别 in (男,女)”,定货日期应在系统

温馨提示

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

评论

0/150

提交评论