数据库设计相关内容

数据库 - Mysql中,一张表的数据删除的同时,在另一张表中插入的问题。

问 题 问题可能很小白。 想做到如下效果: 有一张表(关联了其他很多表),删除其中数据,同时在另一张表中插入一条同样的数据,以用作备份。。 功能就是这样,备份这条数据可在日后直接恢复到生产环境中。 这时该怎么做呢,有没有什么数据库黑科技可以简单实现呢。。 我删除一条数据在另一个表中插入一条,这种效率吗?有别的方法可以做吗。 谢谢大家。 解决方案 用 ..
发布时间:2017-09-06 11:46:12 数据库

php - 求帮忙设计个多字段的数据表

问 题 我有一些数据,共十几个字段,每个字段都可能成为搜索的关键字。 我每次请求几乎都要把所有字段都读出来做展示。 请大神指教: 是否有必要把每个字段独立出来做成单独表,查询的时候做join? 还是说写到一张表里就可以了? 解决方案 每个字段搞一张映射表那还不得累shi,查询的时候也不好查,关联n张表,修改删除的时候也不方便,然后增加了一个字段,就需要增加一张表,并且所有 ..
发布时间:2017-09-06 11:25:30 PHP

数据库设计 - 数据库主键的问题

问 题 问题是这样的,我有一个博客平台,其中有相册表 album,表结构很简单: id, user_id, name, count_photo 这个 id 是 int 自增主键。 这个时候有个问题,相册本来是可以删除的,假设硬删除,那某个人恶意建了删删了建(虽然相册总数做了限制),id 就会留下许多“空洞”,如果是软删除,那 album 这张表数据会疯涨而且不好控制(限制每 ..
发布时间:2017-09-06 11:21:38 其他开发

mysql - 文章发布系统数据设计 审核部分该如何设计

问 题 文章发布系统 有管理员和编辑 文章包含分类、标签、标题、内容等、 要实现无论编辑在 发表、修改、删除文章时都要审核后才可以在前台显示、 关于审核部分,数据库如何设计合适呢? 解决方案 给文章加状态,post_status,默认是未审核状态,管理员审核就把状态改成已审核 ..
发布时间:2017-09-06 11:17:32 数据库

数据库 - 设计一个合同数据表,文档该怎么存放

问 题 有一个合同数据表,设置字段img_url保存路径 需要存放多张图片,改怎么做。新建一个图片子表专门放图片用吗?似乎有点别扭啊。 解决方案 我见过有在一个字段里用分隔符来把每个图片路径分开保存的。 另外就是题主说的用子表来存附件。 (其实整个数据库设计一个公共的附件表,跟其他业务表关联,然后业务表有附件了就往公共附件表里记录,这样也差不多能用) ..
发布时间:2017-09-06 10:03:03 其他开发

python - 数据库需不需要冗余字段?

问 题 比如 Topic 表一个回复数的字段, Reply 表有一个楼层的字段。 (我用的是 Flask Sqlchemy ) 这样每次增加一条回复,查一次写两个表 t = Topic.query.get(1) r = Reply(楼层=t.回复数+1) t.回复数 += 1 这样可以直接用 t.回复数 在模板查询, 如果去掉这个字段,查两次写一次 t = T ..
发布时间:2017-09-06 09:57:56 Python

php - 高并发网站的自增主键如何防止出现重复情况?

问 题 比如说新浪微博的微博id,注册用户的用户uid,百度贴吧的帖子号tid等等我观察过都是按照发布时间呈现递增关系,但是我很好奇这种高并发网站一般都是分布式数据库,数据库之前肯定还有缓存,消息队列等中间件,那么如何保证最终插入多个数据库时他们之间主键自增的情况下不出现重复? 而且现在也有很多碰撞概率较低的随机id生成算法为什么没有被这些高并发网站所采用?是否是效率原因? 解决 ..
发布时间:2017-09-06 09:54:29 PHP

数据库设计中创建人、创建时间等公共字段有哪些场景,是否每个表都需要设计,在互联网应用中是否需要?

问 题 created_at、created_by、updated_at、updated_by等公共字段 解决方案 created_by 一般使用 user_id updated_by 理应没有必要,因为后面的会替换前面的,所以并不能起到追溯修改者的作用,如果有需求,一般使用完整的历史记录表来实现 例如: articles 使用 articles_history 具有 ar ..
发布时间:2017-09-06 09:23:43 其他开发

数据库设计 - Binary Allow Null Default mysql数据库字段属性问题 ?

问 题 数据库字段有 Binary AllowNull Default 等属性设置,现在就是想问问有大神知道这些属性的应用场景和一些坑吗?? 我们的项目总是因为column not null等问题困扰 解决方案 必须要用户填的字段 用not null 不必须要用户填但是必须要有的字段 可以用 not null + default 防止存进去null了 ..
发布时间:2017-09-06 08:53:39 数据库

java - 数据库表结构设计

业务需求描述如下: 如上图所示,定义了一组规则,有区域规则,城市规则,机房规则,数量规则,比例规则,类型规则。设置规则的时候,可以将上述规则进行组合,生成一条规则集(由上述规则并集得到)。那么这样可以编辑好多规则集,形成一个list列表。如下图所示: 那么我们定义的规则集就可以生成一组的规则集列表,当生成一个订单,用户可以填写一些规则,那么服务端根据传过来的规则,匹配规则列表中的规则, ..
发布时间:2017-09-06 08:49:19 Java开发

java - 分析统计表结构设计

1.最近产品提出基于用户表做一些报表分析如下: 用户注册分析 2.如果每次都是基于用户表去查询,这个报表的功能实现没有问题,但是数据库的性能消耗比较大,而且耗时慢。 3.这边想做成离线统计的,但是问题是注册来源那个是不固定的,可能有20个,可能也有30个,一直想不到比较好的表结构来存储数据。(即每天晚上去查询用户表,将统计结果存储起来,第二天直接查询统计结果表就是) ..
发布时间:2017-09-06 07:09:19 Java开发

mysql - 数据库设计问题

问 题 我想这么去设计 user表存 用户id 账号和密码相关信息 user_info 表存 这个用户的性别 年龄等个人信息 10个字段 user_pic 在我们网站里面图库版块的信息 8个字段 user_zixun 在我们网站里面咨询师版块的信息 8个字段 user_shop 在我们网站里面商城版块的信息 5个字段 我是应该如此去分表 然后join联表查询吗 还是一个表存 ..
发布时间:2017-09-06 06:44:57 数据库

日志 - 数据库设计中后台管理用户和app前台用户是否应设计在一张表里

问 题 o2o项目中,有以下几种用户类型,前端app用户,后台商户用户,管理员web管理端用户。 首先,分为3个表肯定是不合理。 是否应把app端和web管理端分开建表,譬如,table_admin_users,table_app_users(table_app_users里包含商户user和用户user), 如何分开,那么操作日志,势必要分开,否则必须要规定web用户和app用户不能 ..
发布时间:2017-09-06 05:30:04 其他开发

mysql优化 - 数据库设计原则中字段的位置对数据库性能有影响吗

问 题 例如:table_test包含cus_id(客户id),bill_id(单据记录)2个字段 分别对应客户表和单据记录表的主键,客户表是小表,bill表是大表。 想问的是 1、设计的时候cus_id,bill_id在表中第一和第二的位置摆放对性能有区别吗? 2、select cus_id,bill_id from table_test 和select bill_id,cu ..
发布时间:2017-09-06 05:26:51 其他开发

数据库设计 - o2o项目中,管理员,商户,终端用户应该分开建表还是合并呢

问 题 虽然以上3个都可以建在一张表,好处是登陆的时候只验证一张表 坏处是对于攻击缺乏安全性,第一能想到的就是sql注入,所以打算把管理员和终端用户分开, 但是如果把商户和终端用户分开,那似乎又太繁琐,如果不分开,商户信息和终端用户信息有很多的不同,比如商户有地址,经理名,营业证书号等等,个人有年龄,兴趣爱好,等等。他们唯一相同的字段只有登陆用户可以抽取出来。合并会造成表的臃肿。 所以 ..
发布时间:2017-09-06 05:26:38 其他开发

数据库设计 - 考虑到数据库的效率,有必要把所有的时间datetime都设置为timestamp吗?

问 题 各种表从10行数据到100万行数据 虽然timestamp的缺点只支持到2035年,但是在这个缺点忽略不计的情况下,是否每个表都应该把datetime设置为timestamp呢? 从维护的角度考虑是否一些小表可以保留datetime呢 解决方案 你需要考虑到 timestamp 潜在的时区问题: MySQL converts TIMESTAMP values f ..
发布时间:2017-09-06 05:16:57 其他开发

数据库设计 - 数据库表设计:主外键合用是否多此一举?

问 题 本人在项目练习中遇到一个问题,具体如下: 现设计了两个数据库的表,分别是: 学生表(id,name,sex,age),其中id为主键; 成绩表(id,chinese,math,english),其中id既是主键又是参照学生表id的外键。 学生和成绩是一对一的关系,请问这样的设计合不合理? 因为后面还会有志愿这一需求的设计,学生和志愿的关系也是一对一,所以 ..
发布时间:2017-09-06 05:04:59 其他开发

php - 数据库设计上的菜鸟问题

问 题 不知道怎么简说,直接详说吧。 比如现在有一个订单表,有字段发货人id。现在的实际情况,经常会用到需要按照发货负责人进行查询订单,所以需要先找负责人下的发货人,再去查找订单。 假设用户表非常大,订单表也是数据量非常大,所以在订单表里面直接加了个发货负责人字段,于是省去了连表查,请问这样效率有更高吗,高多少?这样设计是否合理?为什么? 解决方案 这样做效率肯定会高,单表查 ..
发布时间:2017-09-06 03:37:21 PHP