参照完整性

数据库原理复习——完整性约束

廉价感情. 提交于 2020-01-18 03:01:46
数据库完整性约束指的是数据库格式的规范,只有满足完整性约束的记录才被允许加入数据库。 数据库完整性约束大致分为四种,包括域约束,参照完整性约束,实体完整性约束和用户自定义的约束。域约束是最基本的约束,主要限制的是属性的取值范围,在SQL中用check来定义。参照完整性指的是外键都必须存在。实体完整性指的是所有的值都要在主键的值上有值,而且是唯一的。用户自定义的约束则是用户自己定义的。 断言指的是数据库必须满足的条件,域约束和参照完整性是一类特殊的断言。 触发器指的某一个数据库动作只有在某各另外的时间发生时才会发生,定义为trigger。 函数依赖指的是在数据表中,如果Y的值取决于X,那么我们就称Y到X依赖,记做X->Y。其中X可以是一组属性。函数依赖分为局部函数依赖和完全函数依赖,前者就是X中有的属性是不需要的。传递函数依赖指的是函数依赖的连续性。函数依赖是为了刻画数据库表关系结构的合理性,是否高效是否安排合理。 函数依赖的逻辑蕴含指的是函数依赖通过Armstrong定理可以展开,而闭包就是整个展开的合集。 范式是用来衡量数据库关系规范化程度的,1NF指的表中的属性有原子性就可以了。2NF指的是表中的关系不具有局部函数依赖性,3NF表示关系不具有传递依赖性。最小函数依赖集是不含有任何扩张项的函数依赖集合。 然后我们如何使得关系更加合理呢?通过规范化

PowerDesigner之PDM(物理概念模型)

ⅰ亾dé卋堺 提交于 2019-12-25 10:59:23
一、PDM概述   PDM(物理数据模型),通俗地理解,就是在PowerDesigner中以图形化的方式展示和设计数据库。   PDM中涉及到的基本概念包括: 表; 列; 视图; 主键; 候选键; 外键; 存储过程; 触发器; 索引; 完整性检查约束;   以上这些都是数据库的概念,不适合在PowerDesigner里面表述。 二、创建PDM   创建PDM有4中方法: 使用设计环境直接创建PDM; 从现有数据库或通过SQL脚本逆向工程创建PDM; 从CDM采用内部模型生成方法建立PDM; 从OOM中的类图采用模型的内部生成方法建立PDM;   利用CDM生成PDM是最符合设计思路的方法,但在很多企业开发过程中,都是在设计环境中直接建立PDM,因为大部分企业没钱发那么多工资你设计那么多图。    1、在设计环境直接建立PDM   在设计环境直接建立PDM的步骤如下:    1、在PowerDesigner主窗口选择File->New Model,在打开的创建左侧选择Physical Data Model选项       2、右侧选项的意义 Model name:模型名称; DBMS:数据库类型,也可以单击后面的文件夹按钮,选择“浏览文件夹”,选择xml文件作为目标(CDM转PDM); Share the DBMS definition:共享数据库定义; Copy the DBMS

5 数据库完整性(上)

 ̄綄美尐妖づ 提交于 2019-11-29 05:42:11
数据库完整性 完整性指数据的正确性和相容性 完整性:为了防止数据库中存在不符合语义的数据,不正确的数据 安全性:保护数据库恶意破会和非法存取 维护完整性,数据库系统必须实现 如下功能 提供定义完整性的约束条件机制:由sql数据定义语言实现,作为数据库模式的一部分存入数据字典 完整性检查的方法: 在insert ,update,delete语句执行后开始检查,也可以在事务提交时检查 违约处理: 发现用户的操作违背了完整性约束条件将采取一定的动作,如拒绝(no action)操作或(cascade)级联其他操作 sql 语言如何实现完整性控制的方法 5. 1 实体完整性 5.1.1定义实体完整性 多个属性构成的码只能定义为表级约束 create table student (sno char(9)) primary key, //列级约束 sname char20) not null … );或者 create table student (sno char(9),sname char(20) not null … primary key(sno) // 表级约束 create table student (sno char(9) not null,sname char(20) not null, …, priamry key(sno,sname)); 5.1

建表原则——参照完整性

青春壹個敷衍的年華 提交于 2019-11-28 23:59:10
1、一对多 如:课程和分数。 一个课程对应不同的分数。 因为满足参照完整性的原则是要有外键,满足一对多,选择多的一方的外键(分数,courseno为外键),少的一方(课程,courseno为主键)。 2、多对多 如:学生和课程 一名学生可以选修多门课程,而一门课程也可以被多名学生所选修。因为满足多对多的关系,因此直接建立外键的方法不再适用,但是怎样在两个表之间增加联系呢? 可以引入第三张表,将这张表作为从表,课程表和学生表作为主表。 来源: https://www.cnblogs.com/zhai1997/p/11433413.html