-
使用商业数据库需要将成本纳入考虑当中,开源数据库不用支付任何版权费用。 oracle性能高,适合大的事物操作,事物成本低;mysql之类的数据库事物成本高。 商业数据库适用于企业级项目,开源数据库适用于互联网项目。 物理设计 1.选择合适的数据库管理系统(考虑成本特点之类) 2.定义数据库、表及字段的命名规范 3.根据选择的DBMS系统选择合适的字段类型(各种数据类型适合的东西) 4.反范式化设计(有时候用空间换时间) 物理设计要做什么 常见DBMS系统(商业、企业级:oracle大,口碑好、SqlServer小) (开源、互联网项目:MySQL、PgSQL小) 版权、功能 Oracle:大事务操作,支持Windows、Linux,语音Java。。。。,企业级项目 SQLServer:支持Windows运行,语音.net开发,企业级项目ERP, MySQL、PgSql:开源,互联网查看全部
-
维护(修改)表结构 注意事项 1、MySQL5.5之前会锁表,可使用第三方工具;5.6之后本身支持在线表结构变更 2、同时维护数据字典 3、控制表的宽度和大小 适合的操作 1、批量操作(数据库中)逐条操作(应用程序中) 2、尽量少用"select * "查询 3、控制使用用户自定义函数(使用函数,索引不起作用) 4、不要使用全文索引(中文支持不好,需要另建索引文件)查看全部
-
维护索引 建立索引的列:1、出现在where、group by、order by 从句中的列 2、可选择性高的列放到索引前面(条件列顺序不要求与索引列顺序一致) 3、索引列数据不要太长,(如text进行md5处理) 注意:1、索引不是越多越好(过多的索引也会降低读的效率:多个索引选择的过程) 2、定期维护索引碎片 3、(MySQL)SQL中不要使用强制索引关键字查看全部
-
操作异常查看全部
-
表关系查看全部
-
字段类型选择具体原则 1、列中存储的数据长度差不多一致的,char 最大长度小于50字节 char 也可以用varchar(查询少,尽量节省空间时) 2、非精确小数优先float 3、时间类型,int长度小,只能到20130119 11:14:07,查询需要转换,查询少时用int 查询多时用datetime存储较好查看全部
-
一、数据库的设计过程---->需求分析-逻辑设计-物理设计-维护优化 二、具体来说: 需求分析: 数据是什么,数据的属性,数据和属性各自的特点 逻辑设计: ER建模 物理设计: ora,mysql等特点 维护优化: 新的需求进行建表,索引优化,大表拆分查看全部
-
数据库维护和优化: 1、维护数据字典; 2、维护索引; 3、维护表结构; 4、在适当的时候对表进行水平拆分或垂直拆分;查看全部
-
其他注意事项
如何选择主键:区分业务主键和数据库主键、根据数据库类型考虑主键是否要顺序增长、主键字段类型所占空间要尽可能的小
避免使用外键约束:会降低数据导入效率、增加维护成本,在相关联的列上一定要建立索引
避免使用触发器:会降低数据导入效率、出现意想不到的数据异常、是业务逻辑变得复杂
严禁使用预留字段
查看全部 -
以上选择原则主要是从下面两个角度考虑:
在对数据进行比较(查询条件、JOIN条件及排序)操作时:同样的数据,字符处理往往比数字处理慢。
在数据库中,数据处理以页为单位,列的长度越小,利于性能提升。
查看全部 -
各个类型,及其对应的存储空间
查看全部 -
字段类型的选择原则:
优先选择数字类型,其次是日期或二进制类型,最后是字符类型。对于相同级别的数据类型,应该有限选择占用空间小的数据类型。
查看全部 -
表和字段的命名规则 1.可读性原则 使用大写和小写来格式化的库对象名字以获得良好的可读性 2.表意性原则 对象的名字应该能够描述它所标识的对象 3.长名原则 尽可能少使用或不使用缩写查看全部
-
了解系统中要存储的数据以及特点:时效性(清理、规整)。例如日志数据,增长快,时效性。
实体与实体之间的关系(一对一、一对多、多对多)
实体的属性和特性:标识。
存储特性:有些数据具有时效性,可采取过期清理或归档方式处理。
增长量特性:如日志类实体,数据增长量较快需要分库分表或者按实体进行归档处理(这些需要在物理设计过程实现但要在需求分析阶段考虑到)。
查看全部 -
第一范式 所有字段不可拆分
第二范式 非关键属性不存在对关键属性的部分函数依赖
第三范式 非关键字段不存在对关键字段的传递函数依赖(关键字端a决定非关键字段b,b决定非关键字段c)
查看全部
举报