关于现在手上做的项目的数据库设计思考

简介:
  1. 主键不应该有任何意义,只是为了标志数据的唯一性.
  2. 现在做的项目,因为牵涉到数据转移的原因,对主键没有进行大的改动,现在的主键,除了标志数据来源以外,还有数据信息的年月日等,非常的麻烦
  3. 自动编号的主键,如果动态的生成表单后,还需要重复生成trigger和sequence来自增长,非常难以维护,而且以后数据迁移也会变得相当的棘手
  4. max+1,现在采用的就是这个方法,如果数据量非常大的情况下,取max会很慢,而且在并发的情况下会产生相同的数据而导致数据不能正常的插入数据库
  5. GUID主键,这是目前比较好的生成主键的办法,在.NET里可以直接使用System.Guid.NewGuid()进行生成,在SQL里也可以使用 NewID()生成
  6. 缺点是: 
    GUID 值较长,不容易记忆和输入,而且这个值是随机、无顺序的 
    GUID 的值有 16 个字节,与其它那些诸如 4 字节的整数相比要相对大一些。这意味着如果在数据库中使用               uniqueidentifier 键,可能会带来两方面的消极影响:存储空间增大;索引时间较慢。

 

 

分类:  Oracle

本文转自Lei Zhang的博客博客园博客,原文链接:http://www.cnblogs.com/threestone/archive/2010/05/01/1725552.html,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
NoSQL Java 数据库
【问题篇】springboot项目通过数据库限制实例端口号
【问题篇】springboot项目通过数据库限制实例端口号
19 0
|
2月前
|
编解码 人工智能 数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
Google Earth Engine(GEE)——全球道路盘查项目全球道路数据库
43 0
|
4月前
|
存储 关系型数据库 MySQL
项目8总结:数据库的安全性维护
项目8总结:数据库的安全性维护
51 0
|
5月前
|
存储 缓存 NoSQL
LeveIDB数据库企业项目中的用法
LeveIDB数据库企业项目中的用法
50 0
|
3月前
|
前端开发 IDE Java
基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
165 0
|
8天前
|
SQL 监控 druid
Druid数据库连接池简介及应用推广(老项目翻出来做下记录)
Druid数据库连接池简介及应用推广(老项目翻出来做下记录)
|
3月前
|
JSON API 数据库
C++文件服务器项目—数据库表设计 与 后端接口设计—6(三)
C++文件服务器项目—数据库表设计 与 后端接口设计—6(三)
72 0
|
3月前
|
前端开发 Java 数据库连接
基于SpringBoot+Thymeleaf+Mybatis实现大学生创新创业管理系统(源码+数据库+项目运行指导文档)
基于SpringBoot+Thymeleaf+Mybatis实现大学生创新创业管理系统(源码+数据库+项目运行指导文档)
|
3月前
|
JavaScript 关系型数据库 MySQL
基于JavaWeb和mysql实现网上书城前后端管理系统(源码+数据库+开题报告+论文+答辩技巧+项目功能文档说明+项目运行指导)
基于JavaWeb和mysql实现网上书城前后端管理系统(源码+数据库+开题报告+论文+答辩技巧+项目功能文档说明+项目运行指导)
|
3月前
|
Java 数据库 Android开发
基于JavaWeb企业电子商城(源码+数据库脚本+项目讲解)
基于JavaWeb企业电子商城(源码+数据库脚本+项目讲解)

热门文章

最新文章