`

Arc-05-19- 数据库设计总结

 
阅读更多

以下几条经验从别处 K 来的,我也比较认同。

 

1. 不依赖单一数据库,尽量不用数据库的特性;

2. 大表设计;

3. 减少关联查询的表数量,实在要关联,控制在3个以内;

4. 表设计时能冗余就冗余,数据的一致性靠业务逻辑去控制;

5. 抛弃外键,不要依靠底层db给你检查数据的不一致;

6. 查询语句中尽量不用in,not,left join,right join;

7. 数据库字段设计尽量设计成非空的,便于作索引;

8. 对于查询条件用到的字段,一定要索引;

9. 查询条件中,尽量避免用 like ,尽量使用等值查询;

10. 为每个表设置一个默认主键,即使它没有任何用处;

11. 为每个表设置一个creation,modification字段,表示记录的创建时间和最后修改时间;

12. 对数据库中的数据作软删除--设计表时增加一个is_deleted字段,当删除时,修改该字段的值,不做物理删除;

13. 字段的长度设计尽量贴近实际;

14. 各个字段尽量设计成非空的,不要设置默认值;

15. 尽量使用标准的 SQL 语句,便于迁移;

16. SQL中所有的数据库字段和关键字大写;

17. SQL 语句要合理缩进,建议使用 sqlplus 之类的工具格式化;

18. 不要用 SELECT * ,而是一个一个的把要查询的字段列举出来--否则后期添加字段是一种灾难!

19. INSERT 后要把所有的字段依次列举,防止后期字段顺序变化或字段增删;

20. 数据库中使用 user_detail 形式的命名规则(包括表名和字段名);

21. 不要把表和字段名设计为 SQL 的关键字。

 

分享到:
评论

相关推荐

    ArcEngine接口总结.pdf

    以下是根据标题、描述和部分内容给出的详细知识点总结: 1. IField接口(esriGeoDatabase): - 用于表示数据表中的单个字段。 - AliasName属性:表示字段的别名,此属性为只读。 - CheckValue方法:用于校验...

    Oracle 19.1.0.4+ogg搭建指南

    alter system set log_archive_format="lfoadb_%t_%s_%r.arc" scope=spfile; ``` - 关闭数据库实例并立即重启到mount状态,开启归档模式,并重新打开数据库: ```sql shutdown immediate; startup mount; ...

    ArcEngine加载不同数据源

    加载Shapefile数据,加载栅格数据,加载CAD数据, 加载PersonGeodatabase数据,加载SDE数据库数据. 做项目整理出来的,用的时候,直接拷入即可,方便、快捷。 1 IWorkspaceFactory pWorkspaceFactory; 2 ...

    [数据库+ArcEngine]吉大核酸采样点空间分布与可达性分析系统集采样管理一键式平台序

    5.1.1 SQL类用来方便数据库的链接 21 5.1.2 STATIC类用来存储一些全局变量: 23 5.2 登录与注册界面 24 5.2.1 登录 24 5.2.2 注册 26 5.3 普通人员系统 28 5.3.1 首页 28 5.3.2 修改和保存个人信息 29 5.3.3 记录和...

    ArcEngine_开发接口集

    本知识点主要集中在ArcEngine的开发接口上,这些接口是GIS开发的核心部分,帮助开发者操作和管理地理数据。以下是对这些接口的详细说明: 1. **IField接口**:这个接口代表了数据库中的一个字段,提供了对字段属性...

    arcgis10授权文件txt

    - **ARC/INFO**:提供高级地理信息系统功能。 - 版本:10.0 - 生效日期:2019年1月1日 - 许可证数量:2048 - 许可证密钥:CDAE10B116760E4FDB41 - 供应商信息:H20N2LR9LATPX7NJJ055 - 校验码:119 - **...

    oracle 11G 月巡检手册

    oracle 2380 2 10 05:09 ? 00:00:33 ora_j000_CKDB 19 ``` **关键进程解释**: - `ora_dbw0_CKDB`:负责写入数据文件。 - `ora_lgwr_CKDB`:负责写入日志文件。 - `ora_smon_CKDB`:监控实例状态并执行实例恢复。 -...

    Oracle 19c rac+adg.docx

    alter system set log_archive_format='%t_%s_%r.arc' scope=spfile sid='*'; alter system set remote_login_passwordfile='EXCLUSIVE' scope=spfile; ``` RAC + ADG 是 Oracle 19c 中两个非常重要的组件,能够...

    autocad2014快捷键命令大全借鉴.doc

    AutoCAD 2014是一款强大的计算机辅助设计软件,广泛应用于工程、建筑和设计领域。在提高工作效率方面,快捷键命令起着至关重要的作用。以下是一份详细的AutoCAD 2014快捷键命令大全: 1. **CTRL+A**:编组 - 用于...

    线路板设计工程师中级

    .DSN 用于设计数据库文件。 7. **Pads Layout 提供的单位系统:** - 选项:A) Mils B) Metric C) Inches - 解析:Mils、Metric 和 Inches 分别表示千分之一英寸、公制单位和英寸单位。 8. **Pads Layout 支持的...

    AutoCAD快捷键一览表(全).pdf

    AutoCAD是一款广泛应用于机械设计、建筑制图、土木工程等领域的计算机辅助设计软件。它以强大的绘图功能和灵活的操作界面深受工程师和设计师们的喜爱。为了提高工作效率,AutoCAD提供了一套快捷键,允许用户通过键盘...

    部署安装Oracle 19c rac+adg完美手册

    alter system set log_archive_format='%t_%s_%r.arc' scope=spfile sid='*'; ``` 3. 创建物理备库。 - 通过传输文件的方式初始化备库。 - 配置备库参数,如日志文件路径等。 - 使用`switchover`或`failover`...

    2009.6.19—30举办3S研讨会暨Google Earth与Google Map等仿真建模与共享及ARCGIS与遥感高级程序员培训班

    1、介绍目标前国际上最优秀的GIS软件ARCCIS9体系结构及全面了解ARCCIS9.0桌面系统的体系结构和功能介绍,介绍ESRI的ARC-CATALOG,ARCTOOLBOX通用GIS解决方案的精彩设计以及最新的ARCCISENGINE和ARCCIS SERVER。...

    行业-19 MySQL是如何将LRU链表的使用性能优化到极致的.rar

    MySQL数据库在内存管理方面采用了非常高效的设计,尤其是其对LRU(Least Recently Used)链表的优化,使得数据库能够高效地管理和利用内存资源,从而提高整体的查询性能。本篇文章将深入探讨MySQL如何将LRU链表的...

    windows环境DataGuard配置[定义].pdf

    SQL> alter database add standby logfile group 5 ('D:\app\oradata\orcl\redo05.log') size 50m; SQL> alter database add standby logfile group 6 ('D:\app\oradata\orcl\redo06.log') size 50m; SQL> alter ...

    iOS面试题 2017年12月30日11-16-431

    在iOS开发领域,面试题通常会涵盖多个方面,包括内存管理、多线程、UI设计、网络编程、数据存储以及算法等。以下是对这些面试题的详细解释: 1. **ARC(Automatic Reference Counting)**:是iOS 4.0之后引入的一种...

Global site tag (gtag.js) - Google Analytics