powerdesigner设置唯一键,但不是主键的方式

唯一约束

唯一约束与创建唯一索引基本上是一回事,因为在创建唯一约束的时候,系统会创建对应的一个唯一索引,通过唯一索引来实现约束。不过唯一约束更直观的表达了对应列的唯一性,使得对应索引的目的更加清晰,所以一般建议创建唯一约束而不是只创建唯一索引。

在PD中创建唯一约束的操作,以教室表来说,RoomID是主键,必然是唯一的,RoomName如果我们也要去必须是唯一的,那么具体操作如下:

在PD的模型设计面板中,双击“教室”表,打开属性窗口,切换到 Keys 选项卡,可以看到里面有一行数据PK_ClassRoom,这是主键约束。添加一行数据,命名为UQ_RoomName,不能将右边的“P”列选上,然后单击工具栏的“属性”按钮,弹出UQ_RoomName的属性窗口,切换到列选项卡,单击增加列按钮,选择将RoomName列添加到其中,然后单击确定即可完成唯一约束的添加。

总结:

加入方法与加主键相同,只是不用选定成主值.具体方法:

1.在Table Properties对话框的keys页中,增加AK(即一个keys名.注意:不要选成主键了!);

2.进入自定义的AK的属性页,在Cloumn页中增加需要设定unique约束的cloumn即可。

时间: 2024-10-26 04:54:06

powerdesigner设置唯一键,但不是主键的方式的相关文章

JDBC insert后得到主键的方式

使用JDBC,或者通过hibernate,mybatis等orm框架,执行insert语句,要怎么得到新生成记录的主键呢? 大体有两种方式,1. 在执行insert前,生成主键,那么主键和普通的列就没有区别,2. 执行insert后,通过某种方式得到新生成的主键:严格的说,还有第三种方式,没有主键: 对于第一种方式,常见的是使用oracle的sequence,在执行insert前,通过select <seq>.nextval from dual 得到主键:或者使用UUID的方式,或者其他可以保

hibernate mapping 主键配置方式

1. 主键(id) Hibernate的主键生成策略有如下几种: 1)  assigned 主键由外部程序负责生成,在 save() 之前指定. 2)  hilo 通过hi/lo 算法实现的主键生成机制,需要额外的数据库表或字段提供高位值来源. 3)  seqhilo 与hilo 类似,通过hi/lo 算法实现的主键生成机制,需要数据库中的 Sequence,适用于支持 Sequence 的数据库,如Oracle. 4)  increment 主键按数值顺序递增.此方式的实现机制为在当前应用实例

hibernate联合主键 注解方式

1.方法一 主键类用@Embeddable,pojo类仍然用@Entity但是引用主键类的对象用@Id 主键pojo类: @Embeddable public class composeIdPK implements Serializable { private String name; private int id; @Column(length=20,name="pkName") public String getName() { return name; } @Column(le

mybatis随机生成可控制主键的方式

mybatis生成的主键,一般都是用数据库的序列,可是还有不同的写法,比如: 一.NUMBER类型的主键 <insert id="insertPeriodical" parameterType="cn.edu.hbcf.plugin.periodical.pojo.PeriodicalType">     <selectKey keyProperty="id" resultType="java.lang.Integer

主键与唯一键的区别

sql 的三大类型分别是:数值类型,整形类型,字符串类型 字符串类型的char 和varchar 的区别: 在定义的时候都要指向char(M)varchar(M)的长度,varchar只是表示一定的范围, 1, varchar对存储空间的使用更加灵活 2, char的效率更高 3, 如果存储的字符串的长度是已知固定的,就用char,如果是可变的,就用varchar 案例代码: primary key 主键 unique key 唯一键的区别和用法 设置主键有两种方法: 1.在定义一个字段的时候直

主键、自增、唯一键和三大范式

主键.自增.唯一键和三大范式 主键primary key, 加在建表语句中primary key(主键列表),主键对应的字段不允许重复 自增长,在建表语句字段后加auto_increment,这样当对应的字段设置值不给值或给null或直接给默认值时会从表中最大值+1,一个表中只能有一个自增长 唯一键unique key,解决多个字段需要保证唯一性的问题 范式 第一范式:字段中的数据具有原子性,表中数据取出就不用在处理 第二范式:如果有复合主键,某种数据只依赖主键中的某个字段而不是全部主键 (主键

MySQL 处理插入过程中的主键唯一键重复值办法

200 ? "200px" : this.width)!important;} --> 介绍 本篇文章主要介绍在插入数据到表中遇到键重复避免插入重复值的处理方法,主要涉及到IGNORE,ON DUPLICATE KEY UPDATE,REPLACE:接下来就分别看看这三种方式的处理办法. IGNORE 使用ignore当插入的值遇到主键(PRIMARY KEY)或者唯一键(UNIQUE KEY)重复时自动忽略重复的记录行,不影响后面的记录行的插入, 创建测试表 CREATE TA

字段属性--主键

字段属性 主键,唯一键和自增长 主键 主键:primary key,主要的键,一张表只能有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复:这种称之为主键 一张表里只能有最多一个主键 增加主键SQL操作中有多种方式可以给表增加主键:大体可以分为三种方案1:在创建表的时间,直接在字段之后,跟primary key关键字(主键本身不允许为空) 优点:非常直接:缺点:只能使用一个字段作为主键 方案2:在创建表的时候,在所有的字段之后,使用primary key(主键字段列表)来创建主

SQLServer 唯一键约束和唯一索引有什么区别?

以前也想了解到底有什么区别,但是搁着又忘记了,因为我们很少用唯一键约束.直到几天前同事给我个脚本来约束某个字段的唯一性,用的是唯一键约束,这问题又萦绕脑中了.看似有区别,又没发现什么大的区别!实际上也没多大区别,还是测试看看吧. USE [DemoDB] GO CREATE TABLE [dbo].[TableUniqueKey]( id int not null, name varchar(20) null ) GO CREATE TABLE [dbo].[TableUniqueIndex](