数据库实体就是数据库管理系统中的不同管理对象。数据库管理系统中的各种用于数据管理方便而设定的各种数据管理对象,如:数据库表、视图、存储过程等都是数据库实体。广义上讲,这些对象中所存储的数据也是数据库实体。因为它们也是确切存在着的实体。
数据库完整性约束定义 关系完整性是为保证数据库中数据的正确性和相容性,对关系模型提出的某种约束条件或规则。完整性通常包括域完整性,实体完整性、参照完整性和用户定义完整性,其中域完整性,实体完整性和参照完整性,是关系模型必须满足的完整性约束条件。
关系数据库基本概念 是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。目前主流的关系数据库有oracle、SQL、access、db2、sqlserver,sybase等。
Visual foxpro对数据库的 *** 作和其它数据库系统一样,是通过对数据库中数据、信息进行加工、处理,为了方便用户对数据库的 *** 作,Visual foxpro系统提供了一种更方便的工具——表单设计器。利用表单设计器,可以在表单中添加各种丰富的对象,让这些对象去响应用户和系统的事件。可以说,Visual foxpro中的表单设计是为用户对数据库的一系列的输入、输出、查询、显示等 *** 作提供了方便、有效的途径。
---- 在Visual foxpro中要设计好一个表单,并不是一件很容易的工作,好在Visual foxpro系统提供了一系列的设计向导,包括数据库表的设计向导,表单设计向导,报表设计向导,标签设计向导等,对于初学者来说,利用向导来设计数据库或表单是一件非常愉快的事情。
---- 下面就数据库和表单来介绍如何利用向导。
---- 1、创建数据库表。
---- “表向导”基于典型的表结构创建表。“表向导”允许从样表中选择满足需要的表。在一步步经过向导的过程中,可以定制表的结构和字段。也可以在向导保存表之后修改表。如果有一个或多个数据库打开,表向导自动将新建表添加到当前数据库中。如果没有数据库打开,表向导将创建一个自由表。
---- 步骤 1 - 字段选取
---- 从“工具”菜单指向“向导”子菜单,选择“表”命令,d出“表向导”对话框,“表向导”对话框包含一个表结构的内嵌设置,用于简化表的设计。“样表”框列出了Visual foxpro提供的全部样表,可以从中选择要用的样表;“可用字段”框列出了样表中预先设计的字段,可以从中选择要在新表中使用的字段。“可用字段”框右侧有4个上下排列的按钮,上面两个用于从“可用字段”框移到“选定字段”框中,下面两个用于从“选定字段”框移到“可用字段”框,“选定字段”即是新表中所用字段。当选定字段以后,单击“下一步”即可进入下一步骤。
---- 选定了所用字段以后,还必须确定当前表是自由表还是要求加入到指定的数据库中。然后单击“下一步”。
---- 步骤 2 - 修改字段设置
---- 进入这一对话框,可以对每个字段的设置进入修改,包括字段名、类型、宽度、小数位等,当修改完所有字段以后,即可进入下一步 *** 作。
---- 步骤 3 - 表索引
---- 用户如须要对该数据库进入索引,则在这一对话框中的主关键字栏选择指定的关键字和其它索引字段,否则单击“下一步”即可。
---- 步骤 4 - 完成
---- 单击“下一步”完成对此数据库表或自由表的创建 *** 作,并保存文件。
---- 2、创建 *** 作数据的表单
---- 在Visual foxpro 中,通常使用表单向导创建表单的初始模型,然后使用表单设计器来修改初始模型。
---- 向导步骤
---- 步骤 1 - 字段选取
---- (1)、 从“工具”菜单指向“向导”子菜单,然后选择“表单”命令,d出“向导选取”对话框。
---- (2)、单击“表单向导”,然后单击“确定”按钮,d出“表单向导”对话框。
---- (3)、单击“数据库/表”框右侧的三点按钮,从“打开”对话框中找到需要的数据库表或自由表。单击确定,关闭“打开”对话框。
---- (4)、在“可用字段”中选择需要使用的字段,并利用右边的四个按钮中的上面两个按钮,可以将它们移到右边的“选定字段”框中。单击“下一步”可以进入下一步。
---- 步骤 2 - 选择表单样式
---- (5)、从样式框中选择一种表单式样(如浮雕式),并在“按钮类型”列表中选择任何一种按钮类型,并单击“下一步”。进入步骤 3。
---- 步骤 3 - 排序记录
人们把客观存在的事物以数据的形式存储到计算机中,经历了对现实生活中事物特性的认识、概念化到计算机数据库里的具体表示的逐级抽象过程,即现实世界-概念世界-机器世界三个领域。有时也将概念世界称为信息世界;将机器世界称为存储或数据世界。
一、三个世界
1、现实世界 人们管理的对象存于现实世界中。现实世界的事物及事物之间存在着联系,这种联系是客观存在的,是由事物本身的性质决定的。例如学校的教学系统中有教师、学生、课程,教师为学生授课,学生选修课程并取得成绩。
2、概念世界 概念世界是现实世界在人们头脑中的反映,是对客观事物及其联系的一种抽象描述,从而产生概念模型。概念模型是现实世界到机器世界必然经过的中间层次。涉及到下面几个术语:
实体:我们把客观存在并且可以相互区别的事物称为实体。实体可以是实际事物,也可以是抽象事件。如一个职工、一场比赛等。
实体集:同一类实体的集合称为实体集。如全体职工。注意区分"型"与"值"的概念。如每个职工是职工实体"型"的一个具体"值"。
属性:描述实体的特性称为属性。如职工的职工号,姓名,性别,出生日期,职称等。
关键字:如果某个属性或属性组合的值能唯一地标识出实体集中的每一个实体,可以选作关键字。用作标识的关键字,也称为码。如"职工号"就可作为关键字。
联系:实体集之间的对应关系称为联系,它反映现实世界事物之间的相互关联。联系分为两种,一种是实体内部各属性之间的联系。另一种是实体之间的联系。
3、机器世界 存入计算机系统里的数据是将概念世界中的事物数据化的结果。为了准确地反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示。数据模型将概念世界中的实体,及实体间的联系进一步抽象成便于计算机处理的方式。
二、E-R模型
E-R模型(实体联系模型)简称E-R图。它是描述概念世界,建立概念模型的实用工具。E-R图包括三个要素:
实体(型)――用矩形框表示,框内标注实体名称。
属性――用椭圆形表示,并用连线与实体连接起来。
实体之间的联系――用菱形框表示,框内标注联系名称,并用连线将菱形框分别与有关实体相连,并在连线上注明联系类型。
联系归结为三种类型:
1)一对一联系(1:1)
设A、B为两个实体集。若A中的每个实体至多和B中的一个实体有联系,反过来,B中的每个实体至多和A中的一个实体有联系,称A对B或B对A是1:1联系。注意,1:1联系不一定都是一一对应的关系。可能存在着无对应。如一个公司只有一个总经理,一个总经理不能同时在其它公司再兼任总经理,某公司的总经理也可能暂缺。
2)一对多联系(1:n)
如果A实体集中的每个实体可以和B中的几个实体有联系,而B中的每个实体至我和A中的一个实体有联系,那么A对B属于1:n联系。如一个部门有多名职工,而一名职工只在一个部门就职,部门与职工属于一对多的联系。
3)多对多联系(m:n)
若实体集A中的每个实体可与和B中的多个实体有联系,反过来,B中的每个实体也可以与A中的多个实体有联系,称A对B或B对A是m:n联系。如一个学生可以选修多门课程,一门课程由多个学生选修,学生和课程间存在多对多的联系。
必须强调指出,有时联系也有属性,这类属性不属于任一实体只能属于联系。
三、数据模型简介
数据模型由三部分组成,即模型结构、数据 *** 作和完整性规则。这里主要介绍模型结构。DBMS所支持的数据模型分为四种:层次模型、网状模型、关系模型、面向对象模型。其中第四种数据模型目前并未成熟,因此传统的说法有前三种数据模型。
1、基本层次联系
层次模型和网状模型有共同点,可以把它们统称为格式化模型。基本层次联系就是包括两结点和一边的基本单元,两个实体间的有向边代表的基本层次联系表示一对多的联系。通常把表示1的实体放在上方,称为父结点,把表示N的实体放在下面,称为子结点。
2、层次数据模型
用村形结构表示实体及其之间的联系的模型称为层次模型。该模型的实际存储数据由链接指针来体现联系。特点:有且仅有一个结点无父结点,此结点即为根结点;其它结点有且仅有一个父结点。适合用表示一对多的联系。
3、网状模型
用网状结构表示实体及其之间的联系的模型称为网状模型。允许结点有多于一个的父结点,可以有一个以上的结点无父结点。适合用于表示多对多的联系。
层次模型和网状模型从本质上都是一样的。存在的缺陷:难以实现系统扩充,插入或删除数据时,涉及到大量链接指针的调整。
数据库设计中,其实这个与网站数据的设计差不多的。实体其实相对于网站数据库中常说的记录,而属性则相当对字段。如下面的实例,物品铅笔为实体,而数量、颜色、价格就是三个属笥:实体属性1属性2属性3 物品数量 颜色 价格铅笔10黑1 上面的例子在网站数据库中的叫法就有点不同,"数量""颜色""价格"叫做字段,而“铅笔 10黑1” 也就是一行称为一条记录。
实体(entity):是指客观存在可以相互区别的事物。实体可以是具体的对象,如:一个男学生,一辆汽车等;也可以是抽象的事件,如:一次借书、一声场球赛等。
属性(attribute):实体有很多特性,每一个特性称为属性。每个属性有一个值域,其类型可以是整数型、实数型、字符串型。如:学生(实体)有学号、姓名、年龄、性别等属性,相应值域为字符、字符串、整数和字符串型。
字段(field):标记实体属性的命名单位称为字段或数据项。它是可以命名的最小信息单位,所以又称为数据元素或初等项。字段的命名往往和属性相同,如:学生有学号、姓名、年龄、性别等字段。
记录(record):字段的有序集合称为记录。一般用一个记录描述一个实体,所以记录又可以定义为能完整地描述一个实体的字段集。如:一个学生记录,由有序的字段集(学号、姓名、年龄、性别等)组成。
你把主码和外键都给出了,不就是把表都定义好了吗?那它们的关系肯定已经是清楚的了。你的问题不是设计,而是反推设计过程。
(1)学生、医生、药品,这肯定都是实体;
(2)药房,有“位置”属性,还和医生、药品有复杂的联系,所以也应该是实体;
而药房-医生这个1:n的联系,已经归并为后者的属性了;
(3)医疗记录:应该是医生-学生间的一种联系——诊疗;这是一个m:n的联系,还具有“时间”、“费用”、“处方”等属性,所以就转化成现在的表了;
(4)处方:应该医疗记录的一个属性。如果它有复杂的内部结构,就可以作为一个单独实体。但从你设计的表来看,它的几个属性都已经在医疗记录中包含了。所以你得想想,有必要把它分离出来吗?
(5)库存量:是从药房-药品这个m:n联系转化来的;
(6)过敏药物:是药品-学生-处方间的m:n:1联系;(不过从这个关系看,似乎不应该叫做“过敏药物”,而应该叫做“过敏记录”,你觉得呢?)
最后说一点:处方和医疗记录、过敏药物间的关系不是很清楚,你最好再优化一下。
1、第一范式(1NF)
所谓第一范式(1NF)是指在关系模型中,对于添加的一个规范要求,所有的域都应该是原子性的,即数据库表的每一列都是不可分割的原子数据项,而不能是集合,数组,记录等非原子数据项。
即实体中的某个属性有多个值时,必须拆分为不同的属性。在符合第一范式(1NF)表中的每个域值只能是实体的一个属性或一个属性的一部分。简而言之,第一范式就是无重复的域。
说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的设计基本要求,一般设计中都必须满足第一范式(1NF)。
不过有些关系模型中突破了1NF的限制,这种称为非1NF的关系模型。换句话说,是否必须满足1NF的最低要求,主要依赖于所使用的关系模型。
2、第二范式(2NF)
在1NF的基础上,非码属性必须完全依赖于候选码(在1NF基础上消除非主属性对主码的部分函数依赖)
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。
第二范式(2NF)要求数据库表中的每个实例或记录必须可以被唯一地区分。选取一个能区分每个实体的属性或属性组,作为实体的唯一标识。
例如在员工表中的身份z号码即可实现每个一员工的区分,该身份z号码即为候选键,任何一个候选键都可以被选作主键。
在找不到候选键时,可额外增加属性以实现区分,如果在员工关系中,没有对其身份z号进行存储,而姓名可能会在数据库运行的某个时间重复。
无法区分出实体时,设计辟如ID等不重复的编号以实现区分,被添加的编号或ID选作主键。(该主键的添加是在ER设计时添加,不是建库时随意添加)
第二范式(2NF)要求实体的属性完全依赖于主关键字。
所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。
为实现区分通常需要为表加上一个列,以存储各个实例的唯一标识。简而言之,第二范式就是在第一范式的基础上属性完全依赖于主键。
3、第三范式(3NF)
在2NF基础上,任何非主属性不依赖于其它非主属性(在2NF基础上消除传递依赖)
第三范式(3NF)是第二范式(2NF)的一个子集,即满足第三范式(3NF)必须满足第二范式(2NF)。
简而言之,第三范式(3NF)要求一个关系中不包含已在其它关系已包含的非主关键字信息。例如,存在一个部门信息表,其中每个部门有部门编号(dept_id)、部门名称、部门简介等信息。
那么在员工信息表中列出部门编号后就不能再将部门名称、部门简介等与部门有关的信息再加入员工信息表中。
如果不存在部门信息表,则根据第三范式(3NF)也应该构建它,否则就会有大量的数据冗余。
简而言之,第三范式就是属性不依赖于其它非主属性,也就是在满足2NF的基础上,任何非主属性不得传递依赖于主属性。
扩展资料
设计关系数据库时,遵从不同的规范要求,设计出合理的关系型数据库,这些不同的规范要求被称为不同的范式,各种范式呈递次规范,越高的范式数据库冗余越小。
目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、第四范式(4NF)和第五范式(5NF,又称完美范式)。
满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多规范要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。
参考资料:
对。
数据是数据库中存储的基本对象。描述事物的符号记录成为数据,因此记录是存储的最小单位。
数据项是数据结构中讨论的最小单位,是数据记录中最基本的、不可分的有名数据单位。数据项可以是字母、数字或两者的组合。通过数据类型(逻辑的、数值的、字符的等)及数据长度来描述。数据项用来描述实体的某种属性。
扩展资料:
一个数据文件仅与一个数据库联系,一个数据库的数据文件包含全部数据库数据。一旦建立,数据文件不能改变大小。一个表空间(数据库存储的逻辑单位)由一个或多个数据文件组成。数据文件中的数据在需要时可以读取并存储在ORACLE内存储区中。
例如:用户要存取数据库一表的某些数据,如果请求信息不在数据库的内存存储区内,则从相应的数据文件中读取并存储在内存。当修改和插入新数据时,不必立刻写入数据文件。
参考资料来源:百度百科-数据文件
以上就是关于求:数据库 实体、关系、约束的概念全部的内容,包括:求:数据库 实体、关系、约束的概念、在设计数据库时,是将多个实体分开表格设计好还是同一个表格但用不同类型字段区分开好、数据库的几个基本概念,数据,对象,实体,属性,数据模型等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)