sql建表的时候是一张多字段的表好还是分开多张表好?

问题描述

sql建表的时候是一张多字段的表好还是分开多张表好?
比如用户信息中有用户在系统中的账号信息还有用户的真实信息,是应该把这些信息都存放在用户表中呢?
还是分开建一张user表,一张user_info表?

请分析两者的优劣

解决方案

看你存放的内容有哪些,如果就是一般的字段信息,一张表就行。专业一点建两张表,用户表,用户信息表,通过用户id进行主外键关联即可。

设计的东西没有绝对的标准,关键还是在便于开发和扩展二者之间寻找平衡。

解决方案二:
这个问题怎么没有人回答?

解决方案三:
账号信息和用户的真实信息,一般放在一个表中比较好。
字段:登录名,密码,用户名...

但是,也可分别存放二个表,但二表之间设置一个关联字段。

主要还是要看,各人的喜爱和习惯了。

解决方案四:
账号信息和用户的真实信息,一般放在一个表中比较好。
字段:登录名,密码,用户名...

但是,也可分别存放二个表,但二表之间设置一个关联字段。

主要还是要看,各人的喜爱和习惯了。

解决方案五:
设计数据库要看一下范式定义

建表可根据实际情况去处理,以后系统的扩展最好分开 ,把人和账号分开,一个人有可拥有多个账号,在不同时间段有没有可能同一个账号给不同的人使用,比如:销售员维护自己的客户,销售员离职了其他销售员需要跟进。

用一张表当一个人有两个账号以上是,你是分多张记录会造成数据重复区别不了是同一个人

解决方案六:
看习惯,一般是建两个表

解决方案七:
根据实际情况吧 ,看情况而定,看看哪种情况更好,就用哪种

解决方案八:
如果用户需要存储的信息多(或者关联的信息)的话就拆开,以后维护也轻松些,也有利于扩展,

时间: 2024-09-20 00:14:52

sql建表的时候是一张多字段的表好还是分开多张表好?的相关文章

sqlserver-sql2008,对比2张同结构字段的表,找出值不同的字段和他们的值

问题描述 sql2008,对比2张同结构字段的表,找出值不同的字段和他们的值 有两张相同的表A1,A2字段为a,b,c,d,e,f,类型都是char(50),字段的值是未知的.要找出两张表同字段但值不同的字段,并以 字段,A1值,A2值写到A3表.A3表只有一个字段t,类型为varchar(100). 比如: 假定A1,A2表情况如下 A1 A2 a b c d e f a b c d e f 1 2 3 4 5 6 1 3 3 4 4 6 那么C中t字段的值为 b,2,3,e,5,4 sql语

sql建表时间输入格式问题

问题描述 sql建表时间输入格式问题 在SQL建表时如何把varchar2型的时间设置输入格式为YYYYMM.如:年月,ym varchar2(6)--200109格式. 解决方案 建触发器字段建议或者入库的时候格式化. 解决方案二: 不建议使用触发器,最好入库前弄好格式,或者使用默认格式,读取数据的时候格式化一下时间就行. 解决方案三: 要么写触发器,插入,更新都要要么通过程序控制 解决方案四: 我觉得还是入库前先弄好格式比较靠谱! 解决方案五: 还是写一个阻止非法时间格式输入的方法把

sql-频繁查询一张不会变(很少变)的表,有什么办法提高效率,表中数据较多,大约千万条以上

问题描述 频繁查询一张不会变(很少变)的表,有什么办法提高效率,表中数据较多,大约千万条以上 如题,对于频繁查询一张不会变(很少变)的表,有什么办法提高效率,即使变了,也不需要即时数据,就像缓存一样定期更新一下都行,表中数据较多,大约千万条级别,求思路,对SQL只了解皮毛 解决方案 看你怎么查询,是统计还是取得某个条件的数据,还是根据id找某个数据. 可以采用的方式,索引,创建冗余的临时表和临时字段,存储过程 解决方案二: 另外,sql server 2014/2016数据库,支持内存表,只要你

sql索引-sql建索引之后的查询时间提高不大

问题描述 sql建索引之后的查询时间提高不大 我的索引是创建在uid上面,uid是int类型的,我在网上看到有个帖子,1000万条数据查询处25万条数据,加了索引之后用了2秒.没用索引之前利用表扫描用了128秒.然后我在1000万条数据中查询24万条,用了索引之后只提升了2秒不到..求指导啊拜托大神教一教 解决方案 A)128秒和2秒的条件都不一样,没有可比性.B)索引可以保证性能不会很差.并不表示不建索引肯定会差,这受到数据量大小.碎片多少.缓存情况等各种影响,波动很大.你正好碰到表现比较好的

sqlserver-学生公寓管理系统SQL建数据库连接VB.NET

问题描述 学生公寓管理系统SQL建数据库连接VB.NET 设计表:1.学生信息包括学号.姓名.宿舍号.性别等 2.学生交费管理包括学号.费用价格.是否已交 3.公寓楼房包括公寓号.楼型等 4.宿舍信息包括公寓号.宿舍号.人数等 至少有两个form,有查询.修改.更新.删除.增加的功能 我们学的是机械工业出版社的信息系统与数据库技术这本书,系统不需要很复杂,求大神帮忙 解决方案 参考:http://www.docin.com/p-449234173.htmlhttp://download.csdn

mysql-下面sql建表语句哪里错了? 有错误提示

问题描述 下面sql建表语句哪里错了? 有错误提示 create table salary( salaryId int identity(1,1), employeeId char(100), employeeName char(100), year char(100), month char(100), basicWage float, overtimeWage float, trafficWage float, totalWage float, kaoqinReduce float, sec

sql server 怎么判断一个表里面的字段拆分之后是否可以在另一个表的字段里面查到数据

问题描述 sql server 怎么判断一个表里面的字段拆分之后是否可以在另一个表的字段里面查到数据 其中F_Split是分割以逗号连接的字符串的方法 怎么判断string字段拆分之后的数据是否能在@a表中的id字段找到对应的记录 insert into @a(idname)values(1'A')insert into @a(idname)values(2'B')insert into @a(idname)values(3'C')select * from @ainsert into @c(s

数据库-SQL表中如何增加一个自动的字段来描述此记录的更新时间

问题描述 SQL表中如何增加一个自动的字段来描述此记录的更新时间 如题,假设在表中建立一个F_Updatedatetime字段,当此记录被更新了,会自动将F_Updatedatetime置为更新记录的当前电脑时间? 解决方案 不需要什么自动字段,你在查询中插入getdate()就可以了. 解决方案二: 这通常需要用触发器来实现,在更新触发器中将F_Updatedatetime同时更新为当前时间. 解决方案三: 跟新这条记录是把这个字段也带上设值为new Date(); 解决方案四: 吧字段的值设

JAVA+Mysql程序,想在Mysql的一张表中让数据库自动生成一个字段的Icq号

问题描述 JAVA+Mysql程序,想在Mysql的一张表中让数据库自动生成一个字段的Icq号 我想做个聊天系统,想在Mysql的一张注册表中,加入注册信息后,让数据库自动生成一个Icq号.好像我们的QQ账号似的.简单的只要能实现就行.我新手. 解决方案 添加一个字段,设置为int或bigint类型,在设置主键自增长(AUTO_INCREMENT ). 解决方案二: 添加一个字段,设置为int 主键 自动增长就可以了. 解决方案三: 数据库增加一列,设置为标识列,有种子和增量. 解决方案四: 可