为什么数据库表名需要表前缀

回答一:

多个项目放在同一个数据库就会有用了

项目1用户表 - p1_user
项目2用户表 - p2_user

用来区分所有项目使用同一个数据库中不同项目的数据表

回答二:

前缀很有用的,比如我想知道所有关于user的表,直接show tables like '%user%'就可以了,用mysql命令行的就知道了

尤其是很多插件或者模块的项目,加了这些前缀还有利于数据库表的批处理等操作

回答三:

表名称的前缀只是一个命名规范,对于功能实现没有影响。

在比较复杂的系统中,通过表名前缀可以大概了解到表所在的模块和分类,这样做日常开发和运维的时候看起来比较方便,新人了解系统数据结构的时候也有章可循。

个人比较赞同这种做法,成本很低,但对后期的运维方便,为什么不做呢?

回答四:

一个项目有100多张表以上时,你会懂为什么需要用到.

理想的是user_tabel1可以写成user.table1(建立多库) 
问题是在很多开发人员对数据库的认识也只是简单的增删改查,包括很多框架也是(只能连接一个库)

打个比方,oracle最经典的scott实例.
scott拥有部门与部门人员的名单, hr(另一个实例)拥有部门列表名单. 还有一个产品实例拥有产品列表名单. 
hr实例拥有对scott.emp的select权限但是没有update权限

个人觉得这样的设计对数据的安全性(当一个实例被攻击破解时不会暴露全部数据),逻辑分明性有很大的提高,但同时也要求开发人员对数据库有更多的理解和掌握. 
但往往我们看到的是,开发人员所有的表放在一个库里.权限的控制也只是从业务逻辑上来控制.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值