为什么数据库表名需要表前缀
回答一:
多个项目放在同一个数据库就会有用了
项目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权限
个人觉得这样的设计对数据的安全性(当一个实例被攻击破解时不会暴露全部数据),逻辑分明性有很大的提高,但同时也要求开发人员对数据库有更多的理解和掌握.
但往往我们看到的是,开发人员所有的表放在一个库里.权限的控制也只是从业务逻辑上来控制.
为什么数据库表名需要表前缀相关推荐
- SQL Server2019数据库查询所有数据库名、表名、表结构、表字段、主键方法演示,执行sql提示对象名‘user_tab_columns‘、 ‘user_cons_columns‘ 无效问题解决
SQL Server2019 数据库查询所有数据库名.表名.表结构.表字段.主键方法演示 第一章:查询方法 ① 查询所有数据库名 ② 查询所有表名方法 ③ 查询表结构.表字段方法 ④ 查询主键方法 第 ...
- mysql删除盘点表,用友U8数据库表名参照表修改号参考.doc
用友U8数据库表名参照表修改号参考 用友U8数据库表名参照表 Accessaries 成套件表 AccInformation 帐套参数表 AdjustPVouch AdjustPVouchs Ap_A ...
- 用友数据库表名参照表
-- 用友数据库表名参照表 TableID ETableName CTableName 1 Accessaries 成套件表 2 AccInformation 帐套参数表 3 AdjustPVouch ...
- MySQL查看数据库内所有的表名、表备注、字段名称、字段类型、字段备注
1.单次查看表及字段备注 show full columns from 表名;或者show full fields from 表名; 2.查看整个数据库内查看数据库内所有的表名.表备注.字段名称.字 ...
- 使用PDMReader工具,将pdm格式的文件的表名和表说明导出
一.使用PDMReader工具,将pdf格式数据库表名和表说明导出成Word格式 选中数据库右键-–>文档导出-–>word格式 二.将表名和表说明粘贴到Excel中,并去除重复 两种方法 ...
- oracle 中查询当前用户可以看到的表名、表对应的所有字段
2019独角兽企业重金招聘Python工程师标准>>> 1.oracle 查询当前用户下的表名,表注释 select t.table_name, f.comments from ...
- Oracle查询对应表是否在使用,oracle 中查询当前用户可以看到的表名、表对应的所有字段...
1.oracle 查询当前用户下的表名,表注释 select t.table_name, f.comments from user_tables t inner join user_tab_comme ...
- mysql查询表的列名主键_SQl查询数据库表名、表的列名、数据类型、主键
1.获取所有数据库名: 2.Select Name FROM Master..SysDatabases order by Name 3. 4.2.获取所有表名: 5. (1) 6.Select N ...
- qt mysql查询中文相等_请教:Qt如何实现查询数据库中具有中文表名的表
就好像我上面所说的,你要保证源代码转换后的中文是正确的编码.你估计是 msvc 编译的吧.那货默认 gbk 编码,但 tr 不知道,转换后到内存里面的文字可能就乱码了. 办法好几个,不过不具可移植性. ...
最新文章
- Matlab与线性代数 -- 数组的乘法与除法
- Fedora15使用笔记
- [每日一问]虚拟化网络设计中为什么建议采用链路聚合
- Maven-Maven中添加Oracle驱动包到本地仓库
- 网站添加自己公司的地图(使用的百度地图)时只显示一个空白框
- 数据运营者的福音:海量数据处理利器Greenplum
- 半个月两次投资,百度健康再扩服务版图
- webapi 获取请求参数
- Java EE 7社区调查结果!
- 如何在MATLAB下把模糊推理系统转化为查询表(转载)
- 云丁智能锁说明书_真硬核!行业爆发前夜,这把锁登上航母
- java程序的编程规范
- ADAS功能介绍 - ACC(一)
- 中国危废处理行业深度调研与未来发展规划研究报告2022-2027年新版
- 虚拟地址转换成物理地址
- shardingsphere读写分离+分表【笔记】
- AM335x DDR3配置
- PE文件中对DOS存根的一些想法
- 政府移动信息化解决方案
- 国科大 计算机学院 雁栖湖校区(研一上)
热门文章
- KKT(Karush-Kuhn-Tucher)条件
- C# Windows桌面应用 ---- 实例:文件读写
- 汇编inc为什么不影响cf_为什么INC和DEC指令不会影响进位标志?
- surging教学视频资源汇总
- import和export在浏览器中的使用方式
- Micropython——HC-SR04超声波测距模块
- 比较 KAZE 与 SIFT 的算法
- 计算机网络专用术语基本概念
- Android 性能测试小工具 Emmagee
- vue编程式导航跳转到当前路由多次执行抛出NavigationDuplicated: Avoided redundant navigation to current location: