数据库表及字段的命名等等相关规则

对象命名应该遵循的规则

1.可读性原则

使用大写和小写来格式化的库对象名字以获得良好的可读性(注意有些DBMS系统对表名大小写敏感)

2.表意性原则

对象的名字应该能描述它所标识的对象

3.长名原则

尽可能少使用或者不使用缩写,适用于数据库database名之外的任一对象

字段类型的选择原则

列的数据类型: 会影响数据存储空间的开销,影响数据库的查询功能

(优先:数字类型-->日期或二进制类型-->字符类型     相同级别则选择占用空间小的数据类型)

以上原则主要是从两个方面考虑:

1.对数据进行比较(查询条件、join条件及排序)操作时:同样的数据,字符处理往往比数字慢

2.在数据库中,数据处理以页为单位,列的长度越小,利于性能提升

 相同级别的数据类型如何选择:

      char与varchar如何选择

1.如果列中要存储的数据长度差不多是一致的(像身份证、学号等),则先char,否则varchar

2.如果列中的最大数据长度小于50byte,则char

(如果这个列很少用,则基于空间和减少I/O考虑,还是可以选择用varchar)

3.一般不宜定义大于50byte的char类型列

  decimal和float如何选择

1.decimal用于存储精确数据,float用于存储非精确数据

2.float存储空间开销较小

时间类型如何存储

      1.用int类型来存储的优缺点(适用于只用来存储很少查询的数据,eg:生日日期,否则适合用日期类型存储

优点:字段长度比decimal小

缺点:使用不方便,要进行函数转换

限制:只能存储到2038-1-19  11:14:07即2^32为2147483648

2.需要存储的时间粒度

年 月  日 小时  分  秒  周

如何选择主键(最好的顺序增长的,这样就不会出现逻辑数据的迁移,对I/O性能带来好处)

避免使用外键约束:

       1.降低数据导入的效率

       2.增加维护成本

       3.但是相关联的列上一定要建立索引

避免使用触发器:

       1.降低数据导入的效率

       2.可能会出现意想不到的数据异常

       3.使业务逻辑变得复杂

 关于预留字段:意义不大,严禁使用预留字段

 

      

           

时间: 2024-11-04 13:15:46

数据库表及字段的命名等等相关规则的相关文章

一、数据库表中字段的增删改查,二、路由基础.三、有名无名分组.四、多app共存的路由分配.五、多app共存时模板冲突问题.六、创建app流程.七、路由分发.八、路由别名,九、名称空间.十、反向解析.十一、2.x新特性.十二、自定义转换器

一.数据库表中字段的增删改查 ''' 直接在modules中对字段进行增删改查 然后在tools下点击Run manage.py Task执行makemigrations和migrate 注意在执行字段的删除过程中需不需要对数据进行备份 ''' 二.路由基础 ''' # url中含有四个参数 # url(regex, view, kwargs=None, name=None) # 正则路径 视图函数地址 默认关键字参数(了解) 路由别名 # r'index' 只要请求中含有index都可以匹配成

基于SQL脚本将数据库表及字段提取为C#中的类

开发时,勉不了需要使用SQL直接与数据库交互,这时对于数据库中的表名及字段名会使用的比较多.如果每使用一次都复制一个,实在蛋疼. 所以就考虑将其做成const常量.但是数据库中的表和字段相当多,一个一个敲,不但累,还有可能敲错.要保证正确,最好的办法当然是使用工具或者脚本. 这里提供一个SQL脚本的实现. 原理:获取数据库的表--->遍历每个表中的字段--->生成数据 SQL代码 DECLARE @tableName VARCHAR(MAX) DECLARE @tableCount int D

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv

数据库表、字段命名规范

一.数据库命名规范 采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔,一个项目一个数据库,多个项目慎用同一个数据库 二.数据库表命名规范 2.1数据表命名规范 (1)采用26个英文字母(区分大小写)和0-9的自然数(经常不需要)加上下划线'_'组成,命名简洁明确,多个单词用下划线'_'分隔 (2)全部小写命名,禁止出现大写 (3)禁止使用数据库关键字,如:name,time ,datetime,password等 (4)

对数据库中的表或字段重命名

mysql> alter table test rename as T; Query OK, 0 rows affected (0.21 sec) //对字段重命名 alter table test change t_name t_name_new varchar(20);

[转]基于SQL脚本将数据库表及字段提取为C#中的类

开发时,勉不了需要使用SQL直接与数据库交互,这时对于数据库中的表名及字段名会使用的比较多.如果每使用一次都复制一个,实在蛋疼.所以就考虑将其做成const常量.但是数据库中的表和字段相当多,一个一个敲,不但累,还有可能敲错.要保证正确,最好的办法当然是使用工具或者脚本. 这里提供一个SQL脚本的实现. 原理:获取数据库的表--->遍历每个表中的字段--->生成数据 SQL代码 DECLARE @tableName VARCHAR(MAX)DECLARE @tableCount intDECL

MySQL数据库中查询数据库表、字段总数量,查询数据总量

最近要查询一些数据库的基本情况,由于以前用oracle数据库比较多,现在换了MySQL数据库,就整理了一部分语句记录下来. 1.查询数据库表数量 1 #查询MySQL服务中数据库表数据量 2 SELECT COUNT(*) TABLES, table_schema FROM information_schema.TABLES GROUP BY table_schema; 3 #查询指定数据库表数量 4 SELECT COUNT(*) TABLES, table_schema FROM infor

ruby数据库表添加字段、修改字段类型、修改字段名称

Rails 手册 3.8 使用 change 方法 1.为表添加字段 rails g migration add_column_to_d_groups_equip_num class AddColumnToDGroupsEquipNum < ActiveRecord::Migration[5.1] def change add_column :d_groups, :equip_num ,:integer end end 2.修改表字段类型 rails g migration change_col

C#实现GRID字段别名显示,利用MS SQL数据库表及字段描述

大家看到现有的大多数ERP系统向用户展示的都是中文的字段名,如果维护过ERP就会发现后台的数据库里面用的都是英文字段名的,这时就需要一个字段名别名转换处理,我有想过用[字段名 AS 别名]的方法不过我觉得好麻烦 也写了好多的代码,后面我无意中看到了MSDN上的文档发现了DataTableMapping 以下代码示例创建一个 DataTableMapping(从 System.Data.Common 命名空间)并通过将其命名为"Table"来使其成为指定 DataAdapter 的默认映