`
pengting
  • 浏览: 11132 次
  • 性别: Icon_minigender_2
  • 来自: 湖南
社区版块
存档分类
最新评论

得到主键效果的方式

阅读更多

   主键在表中是一个非常重要的约束
    那么得到主键效果有几种方式:
    在oracle中有大概的四种
    1,序列,这个是我们最常用的一种方式
      create sequence sql_name ---序列头
      increment by 1 --步长
      start with 1  --开始值
      nomaxvalue  --最大值(这里是没有最大值)
      nominvalue  --最小值(这里没有最小值)
      nocache  --定义预先分配多少个值cache到内存中以加快访问(这里是没有缓存)
     2,参数表
     A表中的id每增加一次的时候就从C表中A对应id中读取值+1放入到A表中增加的这个id中,在提交之前修改C中的A对应的id里面的值,这个值每次都是A表中id的最大值

 

A
id name
2 ..
3 ..

  

 

B
id name
8 ..
9 ..

 

 

C
table_name param_id
A max(id)
B max(id)

 

 

3用max(id)+1这个作为主键

4quid 这个做主键可以说是最不可能重复的

 

如果不是oracle,像mysql主键就只要一个自增长列  auto_increment 这个就比较方便

 

那么比较一下他们的优缺点

序列:能够解决重复问题,但是不能解决空档就是跳号

参数表:解决了空档,不能解决重复(尽管重复的机会可以做到很少,但是还是会存在)

max(column)+1:这个跟参数列表差不多

quid:做主键很好,几乎不可能重复,但是它不是连续的

 

 

 


   

 

分享到:
评论
1 楼 剑事 2012-02-15  
oracle 最好还是不使用自动递增

相关推荐

    oracle 主键自增相关命令

    在Oracle数据库中,主键自增是一种常见的设计方式,它使得每条新插入的数据自动获得一个唯一的标识符。以下是对创建和使用Oracle主键自增的相关知识点的详细说明: 1. **创建表并定义主键**: 当我们创建表时,...

    面向Java 3D的CAD模型简化与转换.pdf

    3DMax是一个专业的3D模型和动画制作软件,通过它来优化模型结构,往往能得到更好的效果。 两种方法可以根据实际需要选择使用或结合使用。文章还提到了通过Java3D的导入程序接口,调用格式转换后的VRML文件,使得...

    小游戏数据库分析

    最后,经验获取类(Experience Acquisition)描述了获得经验的方法,这可能涉及到打怪、完成任务、参与活动等多种方式,对于玩家的成长系统至关重要。 综上所述,小游戏数据库的分析涉及了玩家、角色、技能、战斗和...

    前端、后端代码自动生成

    通过效果演示,我们可以看到从条件查询区、头部按钮区到明细区、分页信息区,以及各种弹窗和输入项的设置,都得到了详尽展示。特别地,系统还展示了各种校验功能,如必须项校验、主键唯一校验、业务主键唯一校验,...

    文件中存储图片,一个可以直接运行看效果的实例,带有sql2005的数据库

    本实例探讨了如何在SQL Server 2005中实现这一功能,以供直接运行并查看效果。SQL Server 2005是微软推出的一款强大的关系型数据库管理系统,支持多种数据类型,包括用于存储图像、文档和其他大文件的BLOB类型。 1....

    凡人网数据字典

    - `goodsIntegral`:商品积分,表示用户购买商品可获得的积分,默认值为0。 - `goodsParam1`、`goodsParam2`:商品描述参数,用于提供额外的商品特性信息。 - `goodsSimpleIntro`、`goodsDetails`:商品的简短...

    android实现搜索效果并将搜索历史保存到SQLite中

    以下是对这个"android实现搜索效果并将搜索历史保存到SQLite中"项目的详细解读。 首先,`EditText`是用户输入搜索关键词的地方。当`EditText`获取焦点时,我们可以通过监听`FocusChange`事件来触发显示历史记录的...

    1Z0-061 .pdf

    为了获得Oracle 12c OCP认证,考生需要通过一系列的考试,其中包括1Z0-061,它主要评估数据库的基本知识和SQL语言的运用。 题库中涉及的SQL语句评估和表结构考察,体现了对基本数据库设计概念的理解,包括主键、...

    SQLServer索引调优实践

    不恰当的索引使用会导致其他优化措施的效果大打折扣,甚至变得毫无意义。因此,了解如何正确地创建、管理和优化索引对于提高数据库系统的整体性能至关重要。 #### 聚簇索引与非聚簇索引 - **聚簇索引(Clustered ...

    JAVA项目固定资产管理计划书范本.doc

    - **主界面大小**:推荐使用 800x600 的分辨率大小,这可以保证大多数用户能够在不同尺寸的显示器上获得良好的视觉效果。 - **布局方式**:使用 `null` 布局,这意味着组件的放置将由开发者手动设定位置和大小,而...

    数据库经典笔试题

    - **定义**:也称为投影连接范式(Projection-Join Normal Form, PJ/NF),确保所有视图都可以通过基本表和自然连接及投影操作得到。 - **示例**:在处理复杂查询时,确保可以通过基本表和简单的操作获得所需结果。 ...

    16030199025_张俊华_上机报告(源码+运行结果+选做)1

    等级由供应商的供应量总和除以100得到。 总结,构建SPJ数据库是一个典型的数据库设计任务,涵盖了数据库设计的基础概念和操作技巧。通过这个过程,我们可以学习到如何根据业务需求定义实体、属性,建立实体间的关系...

    sql 全国省市区联动

    描述中提到"直接导入数据库即可",暗示我们有现成的SQL脚本文件,只需将其导入到数据库中,就能得到所需的数据结构。 标签"sql 全国省市区联"进一步强调了这个话题的核心,即SQL与省市区数据的关联操作。 在提供的...

    反规范化技术

    然而,随着规范化程度的提高,虽然数据的正确性和一致性得到了保障,但也可能导致数据查询变得复杂且性能下降。因此,在实际应用中,往往会采用反规范化技术来平衡这些负面影响。 #### 二、数据库的规范化设计 ...

    MySQL 省市区三级联动

    这种交互方式提高了用户体验,减少了错误输入的可能性。 接下来,我们探讨如何在MySQL数据库中实现这样的设计。通常,我们会创建三个关联的表:province(省份)、city(城市)和district(区县)。每个表都有一个...

    2021-2022计算机二级等级考试试题及答案No.18732.docx

    选项D,LEN(SPACE(3)) - 1的结果为数值,因为LEN函数返回字符串的长度,SPACE(3)创建一个包含三个空格的字符串,其长度为3,减去1后得到2。其他选项不是数值类型的结果。 3. 打开数据库文件的方式:如果不想修改...

    数据库分页优化技术分析与实现

    在传统方法中,分页查询通常采用(limit, offset)方式,但这种方式随着数据量的增长及翻页数量的增加,查询效率会显著降低。尤其在数据量较大的情况下,limit与offset值较大时,会导致数据库进行大量不必要的数据扫描...

    2021-2022计算机二级等级考试试题及答案No.16034.docx

    5. 随机数函数:在编程中,Int(10*Rnd)通常用于生成[0,9]范围内的整数,因为Rnd函数返回的是[0,1)之间的浮点数,乘以10后再取整会得到[0,9]区间内的整数。 6. Java 多态与接口:题目中的代码展示了Java中一个类同时...

Global site tag (gtag.js) - Google Analytics