数据模型的完整性约束条件是什么
数据库完整性(database
integrity)是指数据库中数据的正确性和相容性,其目的是防止垃圾数据的进出。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。加在数据库之上的语义约束条件就是数据库完整性约束条件。
完整性约束条件作用对象可以使关系、元组、列三种。
●
列约束主要是列的数据类型、取值范围、精度、排序等约束条件。
●
元组的约束是元组中各个字段间的联系的约束。
●
关系的约束是若干元组间、关系集合上以及关系之间的联系的约束。
完整性约束条件涉及这三类对象,其状态可以是静态的,也可以是动态的。所谓静态约束是指数据库每一确定状态时的数据对象所应满足的约束条件。它是反映数据库状态合理性的约束,这是最重要的一类完整性约束。
动态约束是指数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件。
完整性约束条件可分为以下六类:
●
静态列级约束
●
静态元组约束
●
静态关系约束
●
动态列级约束
●
动态元组约束
●
动态关系约束
1.
静态列级约束是对一个列的取值域的说明,包括以下几个方面:
(1)
对数据类型的约束,包括数据的类型、长度、单位、精度等;
(2)
对数据格式的约束。例如规定日期的格式为yyyy-mm-dd;
(3)
对取值范围或取值集合的约束。例如规定学生的成绩取值范围为0~100;
(4)
对空值的约束,规定哪些列可以为空值,哪些列不能为空值;
2.
静态元组约束就是规定元组的各个列之间的约束关系。例如,订货关系中包含发货量、订货量等列,规定发货量不得超过订货量。
3.
静态关系约束是指在一个关系的各个元组之间或者若干关系之间存在的约束。常见的静态约束有:
(1)
实体完整性约束;
(2)
引用完整性约束;
(3)
函数依赖约束;大部分函数依赖约束都在关系模式中定义。
(4)
统计约束;即字段值与关系中多个元组的统计值之间的约束关系。例如,规定部门经理的工资不得高于本部门职工平均工资的5倍,不得低于本部门职工平均工资的2倍。
4.
动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:
(1)
修改列定义时的约束。例如,将允许空值的列改为不允许空值时,如果该列目前已存在空值,则拒绝这种修改。
(2)
修改列值时的约束。修改列值时有时需要参照其旧值,并且新旧值之间需要满足某种约束条件。例如,职工调整后的工资不得低于其调整前的原来工资;职工婚姻状态的变化只能是由未婚到已婚、已婚到离异、离异到再婚等几种情况。
5.
动态元组约束是指修改元组的值时元组中各个字段间需要满足某种约束条件。例如,职工工资调整时新工资不得低于原工资+工龄*1.5等。
6.
动态关系约束是加在关系变化前后状态上的限制条件。例如,在集成电路芯片设计数据库中,一个设计中用到的所有单元的工艺必相同,因此,在更新某个设计单元时,设计单元的新老工艺必须保持一致。
实体类:就是一个现实中的实体
它所具有的一些属性
和一些动作(方法),实体类可以和多个业务相关联,业务类中操作实体类。
业务类:就是业务所需要实现的那些功能所需要的属性和方法。
其实在java开发中
基本不会像你那么用,把属性定义在了业务类当中。
业务类就直接在方法中new一个实体类就可以了,这样做会使得业务更清晰的。
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!