实体完整性、参照完整性、完全函数依赖、部分函数依赖

前端之家收集整理的这篇文章主要介绍了实体完整性、参照完整性、完全函数依赖、部分函数依赖前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

实体完整性:如果A是二维表的主码,那么A不能为空。
(若属性A是基本关系R的主属性,则属性A不能取空值)

参照完整性:如果F是外码,那么他要么是空值,要么就是另一个表的主码.
(若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码相对应(基本关系R和S不一定是不同的关系),则对于R中每个元祖在F上必须为:

  1. 或者取空值(F的每个属性均为空值)
  2. 或者等于S中某个元祖的主码值)

数据库的完整性: 不能有空值,取值要合语义。要么是立即检查,要么是整个结束后再检查。
数据库的完整性是指数据的正确性和相容性,为了防止不合语义的数据进入数据库。完整性的类型一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。系统完整性的检查方法例如:在一条语句执行完后检查是否违背完整性约束,即立即执行完整性检查。有时完整性检查延迟到整个事务执行结束后再进行,检查正确方可提交,即延迟执行完整性检查。】

可串行化的调度: 程序并发运行的结果与串行化运行的结果一致,这就说明并行程序成功。
(多个事物的并发执行是正确的,当且仅当其结果与按某一次序串行地执行它们时的结果相同,我们称这种调度策略为可串行化地调度。)

数据模型: 画完了E-R图,下一步就是编码。
(数据模型是数据库中用来对现实世界进行抽象的工具,是数据库中用于提供信息表示和操作手段的形式架构。一般地讲,数据模型是严格定义的概念的集合。这些概念精确地描述系统地静态特性、动态特性和完整性约束条件。因此数据模型通常由数据结构、数据操作和完整性约束三部分组成。

  1. 数据结构:是所研究的对象的类型的集合,是对系统地静态特性的描述
  2. 数据操作:是指对数据库中各个对象的实例允许进行的操作的集合,包括操作,及有关的操作规则,是对系统地动态特性的描述。
  3. 数据的约束条件:是完整性规则的集合,完整性规则是给定的数据模型中数据及其联系所具有的制约和依存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确,有效,相容。

数据库的三级模式:数据库分层管理,有助于是我们使用。换句话说,我们只顾建表用表就行了,至于那些底层的东西就让被人去给我们做吧。
【外模式:也成子模式或用户模式,是数据库用户看到的数据视图。
模式:也称存储模式,是数据在数据库系统地逻辑结构和特性的描述,是所有用户的公共数据视图。
内模式:存储模式,是数据库系统的内部的表示,即对数据库的物理结构和存储方法的描述
这种体系结构的优点:数据库系统地三级模式是对数据的三个抽象级别,他把数据的具体组织库给DBMS管理。使用户能逻辑抽象的处理数据,而不必关心数据在计算机中的表示和存储。为了能在内部三层抽象层次的联系和转换,数据库系统在这三级模式之间提供了两层映像:外模式/模式映像和模式/内模式映像。正式这两层映像保证了数据库系统中的数据能够具有较高的逻辑独立性和物理独立性。】

日志文件可以用来恢复数据库
【日志文件是用来记录事务对数据库更行操作的文件
用日志文件恢复事务的过程如下:
1. 反向扫描文件日志(从最后向前扫描日志文件),查找该事物的更新操作。
2. 对该事务的更新操作执行逆运算】

二段锁协议:用完我的锁子后,你就别再想用了。
【两段锁协议是指所有事物必须分两个阶段对数据项枷锁和解锁。
1. 在对任何数据进行读写操作之前,首先要申请并获得对该数据的封锁。
2. 在释放一个封锁之后,事务不再申请和获得任何其他封锁。
“两段”的含义是,事务分为两个阶段:
第一阶段是获得封锁,也称为扩展阶段。在这阶段,事务可以申请获得任何数据项上的任何类型的锁,但是不能释放任何锁。

触发器:触发器就像是火灾报警器,一旦出现火灾,就会鸣笛。0
【触发器是用户定义在关系表上的一类由事件驱动的特殊过程。一旦定义,触发器将被保存在数据库服务器中。任何用户对表的增删改查操作均有服务器自动激活相应的触发器,在关系数据库管理系统核心层进行集中的完整性控制。】

完全函数依赖:要是有任何一个非主属性敢对候选码的子集产生依赖,那他肯定不是2NF。也就是说非主属性对候选码的部分产生了依赖,那它就不是2NF。 【如果X->F,并且对于X的任何一个真子集X’,都有X’!->Y,则称Y对X完全函数依赖】

原文链接:https://www.f2er.com/javaschema/283010.html

猜你在找的设计模式相关文章