数据库命名规则

数据库命名规则详解

       之前虽然做过《机房收费系统》但是它们之间的命名规范还是迷迷糊糊,尤其是对数据库。在进行个人版重构时就先来学习下数据库命名规则。

1. 数据库名

数据库名采用首字母大写,避免系统保留的表名。如:LibraryMaintainSystem

2. 数据库表

使用T_表名,表名采用首字母大写。

        如:T_Class

如果系统分多个子系统模块,那么将模块的缩写加在T后,用下划线与表名分开。

        如:

                基础系统:TB_Class                (Basic

评教系统:TA_表名                (Assess

考试系统:TE_表名                (Exam

选课系统:TC_表名                (Choose

关联数据表:TR_AB        ,两个表首字母大写。        

一对多关系,多在前,一在后。

一对一和多对多关系,两个表的先后,以字母排序。

如果分模块,那么将模块缩写添加在T

        如:TBR_ClassGrade 表示基础系统,班级和年级的关系表。

3. 表字段

第一个字母小写,后面的单词或拼音,采用第一个字母大写,命名规则只来自于业务,尽量表达出列的含义。命名一般为名词或形容词。

4. 视图

视图名 =V + _+ 名称

5. 主键

主键名 =PK + _+ 表名

6. 外键

外键名 =FK + _+ 表名

7. 索引

索引名 =IDX + “_+ 表名 + 相关字段/索引含义。

8. 关联

关联指数据库表之间的外键关系

关联名 = RL +“_+ 主表名+ 从表名。

9. 存储过程

存储过程名 =PROC + “_+ 存储过程含义。

10. 触发器

触发器名 =TR + _+ 表名 +_+ 触发器类型/自定义名称

触发器类型:Insert触发器加"_I"Delete触发器加"_D"Update触发器加"_U",如:

TR_Customer_I,TR_Customer_DTR_Customer_U

 

### 数据库命名规范的简洁规则与最佳实践 数据库命名规范是数据库设计中的重要环节,它直接影响到数据库的可维护性和可读性。以下是根据提供的引用内容总结出的数据库命名简洁规则与最佳实践: #### 1. 命名组成规则 数据库名称和名称应由26个英文字母(区分大小写)、0-9的自然数以及下划线`_`组成[^1]。多个单词之间使用下划线分隔,确保命名清晰易懂。 #### 2. 简洁明确原则 命名应当简洁且具有明确的意义,避免冗长或模糊不清。例如,名称一般不超过三个英文单词[^2],并且尽量使用名词或动宾短语来描述的内容。 #### 3. 字母大小写 所有数据库对象(包括数据库、字段等)均采用小写命名。这种统一的风格有助于减少因大小写敏感而导致的错误。 #### 4. 关键字避让 禁止使用数据库关键字作为命名的一部分,例如`name`、`time`、`datetime`、`password`等[^1]。这些关键字可能会导致语法冲突或解析错误。 #### 5. 单复数形式 名称应使用单数形式示,例如使用`employee`而不是`employees`。如果需要示明细,则可以在主名称后加上`dtl`(detail缩写),如`po_order`的明细为`po_orderdtl`[^1]。 #### 6. 描述信息 在创建时,必须为其添加描述信息。这可以通过SQL语句中的注释功能实现,帮助后续开发者快速理解的用途[^2]。 #### 7. 字符集与排序规则 对于MySQL数据库,建议设置字符集为`utf8mb4`,排序规则为`utf8mb4_general_ci`。这可以确保对多语言字符的良好支持,并提高排序效率。 #### 8. 名与列名长度限制 根据不同数据库系统的限制,名和列名的长度应控制在合理范围内。例如,在MySQL中,名和列名的最大长度为64个字符;而在Oracle中,这一限制为30个字符[^3]。因此,在设计时应尽量缩短名称以适应不同环境的需求。 #### 9. 字段默认值 除特定数据类型(如`timestamp`、`image`、`datetime`等)外,所有字段在设计时都应指定默认值。字符型字段的默认值为空字符串`''`,数值型字段的默认值为`0`,逻辑型字段的默认值也为`0`[^4]。 ```sql CREATE TABLE example_table ( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(255) DEFAULT '' COMMENT '用户名称', age INT DEFAULT 0 COMMENT '年龄', is_active TINYINT DEFAULT 0 COMMENT '是否活跃', created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', PRIMARY KEY (id) ) COMMENT='示例'; ``` 以上代码展示了如何遵循上述规则创建一张符合规范的。 --- ###
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值