gpt4 book ai didi

database - 请求有关在 Oracle 11g 中定义主键的建议

转载 作者:搜寻专家 更新时间:2023-10-30 23:19:24 24 4
gpt4 key购买 nike

全部,

have read several other posts在向您提出我的问题之前。

我有很多其他数据库的编程/管理经验:MySql、MSSQL、PostGres 和 one which will not be named .我只是对 Oracle 没有太多经验。

我的任务是设计一些网络应用程序和支持数据库表。这些表是使用 ER 图设计的,并发送给开发组进行实现。当他们发回建议的表创建语句时,我看到有两件事对我来说似乎是错误的。主键是 NUMBER(5),序列将 MAXVALUE 设置为 99999。

我原以为 MAXVALUE 会被省略以支持 NOMAXVALUE 主键列是 NUMBER(*,0) 或一个LONG。由于我对 Oracle 表设计经验不多,能否请您提供您的建议?

真诚的

克里斯托弗霍赫

编辑感谢您提供有关 LONG 的信息。我会确保使用 NUMBER,但我仍然不清楚定义它的最佳方式:NUMBER,或 NUMBER(*,0),或 NUMBER(9)

最佳答案

我同意你的看法:因为该列是用来保存从序列生成的代理键的,所以 5 位数限制的唯一可能目的是将表中允许的总行数限制在 100,000 以下 - 这会显得有悖常理。它当然不会带来任何性能或空间效率优势。可能这只是他们 ERD 工具的 DDL 生成器的默认设置。

不要使用 LONG:在 Oracle 中,这是一种过时且不推荐使用的存储大文本字符串的方式(现在首选 CLOB)。

关于database - 请求有关在 Oracle 11g 中定义主键的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8507958/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com