mysql如何创建数据表设计出比较好的mysql数据表

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
论坛徽章:17
话题背景:
最近有了孩子,很长时间没有写文章了,上来还是习惯性的想写。就现在来说,随着互联网的飞速发展,技术更新的随之变快,很多新技术已经拿到生产中使用。
作为一个mysql dba 学过很多的数据库。以前用过oracle ,后来去创业公司维护过pg ,现在主要做mysql 还学了点nosql。
待过创业公司见过太多的误区,原来技术负责人开发出身。一句话以后我们用nosql 解决在线业务数据量大的情况。这听得我蛋疼。
其实我们用关系型数据库可以解决好多问题,今天我想跟大家聊下mysql的未来是什么样子的。
作为未来的一个讨论的话,我们就要有个需求。我从来就说一句话,没有业务的架构想法,就是耍流氓。
多以我们 拿个简单的例子,如果你的业务上升10倍,如果你的业务量太小的话 ,那就100倍。
话题讨论:
1.如果你的业务暴涨10倍或者100倍&&你会把你得什么业务放在mysql 中
2.未来我们的关系型数据库会发展成什么样子呢?
3. 其实业务就是成倍的增长的,结合你的业务暴涨10倍or100倍 你要怎么设计的架构。让你得系统可以抗过去
活动奖励:
优质回复用户获得精品图书一本。回复用户均可以获得50个可用积分。
更有机会获得DTCC 2016大会门票一张哦~
限时优惠!购票立享8.8折!
作为国内数据库与大数据领域最大规模的技术盛宴,2016第七届中国数据库技术大会(DTCC)将于日-14日召开。
大会以&数据定义未来&为主题,云集了国内外顶尖专家,共同探讨MySQL、NoSQL、Oracle、缓存技术、云端数据库、智能数据平台、大数据安全、数据治理、大数据和开源、大数据创业、大数据深度学习等领域的前瞻性热点话题与技术。本届大会共设定2个主会场,24个分会场,并将吸引5000多名IT人士参会,为数据库人群、大数据从业人员、广大互联网人士及行业相关人士提供最具价值的交流平台。
<font color="#ff日前,订购DTCC大会门票即享7.8折优惠!团购更有折上折!
官网链接:
欢迎扫码关注DTCC官方微信,获取最新信息!
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
富足长乐, 积分 5986, 距离下一级还需 2014 积分
论坛徽章:129
待过创业公司见过太多的误区,原来技术负责人开发出身。一句话以后我们用nosql 解决在线业务数据量大的情况。这听得我蛋疼。
很多技术管理,说起技术,一腔热血来潮,其实做事能力
丰衣足食, 积分 862, 距离下一级还需 138 积分
论坛徽章:3
本帖最后由 ylky_2000 于
13:36 编辑
话题讨论:
1.如果你的业务暴涨10倍或者100倍&&你会把你得什么业务放在mysql 中
A:前提是业务暴涨100倍。传统上从基础建设方面下手、ssd、光通道、读写分离、cdn、分布式存储、结构化与非结构化数据分离、集群化通过主机量的方式来应对暴涨的访问等,至于说到mysql,我觉得mysql都可以应用起来,对于非互联网业务的企业,基本很少采用mysql的解决方案,大都是用商业化的产品,如oracle、sql server等。
2.未来我们的关系型数据库会发展成什么样子呢?
A:朝分布式方向发展。变成易横向扩展的融合性数据库。
3. 其实业务就是成倍的增长的,结合你的业务暴涨10倍or100倍 你要怎么设计的架构。让你得系统可以抗过去。
A:将业务分拆为一个个都微服务器、云化、容器化,高内聚轻耦合。
论坛徽章:69
sql和nosql配合使用相得益彰
论坛徽章:135
刚好要写这方面的文章,如果配合,能否详细说明下,谢谢啦回复
论坛徽章:69
关系型数据库(sql)的一个特性就是支持事务,这是它的一大亮点,同样是这个亮点使得它的分布式实现变得异常困难(CAP理论)
而非关系型数据库(nosql)不支持事务或者说不支持严格的事务(最终一致性),使得它在实现分布式的时候能保持不错的性能
sql和nosql并不是谁取代谁的问题,而是可以根据不同的数据特点,应用于不同的业务。
论坛徽章:69
1.如果你的业务暴涨10倍或者100倍,你会把你得什么业务放在mysql 中
我们做的是物联网的项目,业务数据主要是一些关系数据(用户信息、公司信息、终端信息及其关系信息等)和历史数据(增量数据),目前关系数据和历史数据分别保存在不同的MySQL实例中,由于历史数据不断增多(每天上千万条,数据每天增加20GB),所以我们将历史数据分片保存在4个MySQL实例中。
如果说我们的业务暴涨10倍或者100倍,那么我们还会将关系数据保存在MySQL中,因为单表规模不会超过千万,并且这些数据需要事务型保证,即使这些表数据过亿,我们也会保存在MySQL中(可能会尝试PG),大不了采用SSD、分库分表嘛。
在业务暴涨10倍或者100倍情况下,我们的存储历史数据每天数据增长200GB或2TB(每天增长数十亿条数据),不管是从存储空间利用率(想一下MySQL的空间利用率:raid10,1M2S,index占用空间等),还是性能方面的考虑(从上亿条数据表中去查找数据),用MySQL都有点力不从心,更关键的是我们对数据的一致性要求不高(我们要的是趋势曲线,而不是曲线上的所有的点),综合考虑,历史数据会考虑采用nosql存储:hbase、mongo、cassandra等。
note:请不要被“关系数据”误导,我这里说的关系数据和关系数据库、非关系数据库没有直接关系。
2.未来我们的关系型数据库会发展成什么样子呢?
未来关系型数据库我也说不上来,从用户角度来说,我希望未来的关系型数据库支持弹性扩容、分布式事务、性能好。
3. 其实业务就是成倍的增长的,结合你的业务暴涨10倍or100倍你要怎么设计的架构。让你得系统可以抗过去
目前的情况就是改造业务后台,实现后台服务程序无状态横向扩展,解耦服务依赖,对服务进行分级,添加中间层(mq、proxy、lb等),应对业务暴涨的带来的压力。
信誉积分 +10
大富大贵, 积分 19438, 距离下一级还需 562 积分
论坛徽章:299
不求票, 也不求书, 只是开开眼界.
论坛徽章:17
& & 我觉得&&分布式mysql 数据库&&会升级现在的mysql 可以应对 oltp 很大一部分东西&&
cap 理论方面&&舍弃强一致性& &用最终一致性 换取分区容错性的&&需求&&
论坛徽章:69
最终一致性意思是努力送达直到成功(即是最终会成功、会一致),不能回滚也不需要回滚
事务是能够回滚的,不能回滚如何实现事务。
想一下那个经典的转账的例子(A转给B一千块钱:A-1000,B+1000),如果说不能回滚将会是什么样子
阿里沈询是这方面的专家,有兴趣可以看看他的文章:
.cn/s/blog_693fvibt.html1267人阅读
数据库设计(原则、工具)(8)
其他数据库(30)
一:表中应该避免可为空的列;
二:表不应该有重复的&#20540;或者列;
三:&表中记录应该有一个唯一的标识符&
  在数据库表设计的时候,数据库管理员应该养成一个好习惯,用一个ID号来 唯一的标识行记录,而不要通过名字、编号等字段来对纪录进行区分。每个表都应该有一个ID列,任何两个记录都不可以共享同一个ID&#20540;。另外,这个ID&#20540;最 好有数据库来进行自动管理,而不要把这个任务给前台应用程序。否则的话,很容易产生ID&#20540;不统一的情况。
  另外,在数据库设计的时候,最好还能 够加入行号。如在销售订单管理中,ID号是用户不能够维护的。但是,行号用户就可以维护。如在销售订单的行中,用户可以通过调整行号的大小来对订单行进行 排序。通常情况下,ID列是以1为单位递进的。但是,行号就要以10为单位累进。如此,正常情况下,行号就以10、20、30依次扩展下去。若此时用户需 要把行号为30的纪录调到第一行显示。此时,用户在不能够更改ID列的情况下,可以更改行号来实现。如可以把行号改为1,在排序时就可以按行号来进行排 序。如此的话,原来行号为30的纪录现在行号变为了1,就可以在第一行中显示。这是在实际应用程序设计中对ID列的一个有效补充。这个内容在教科书上是没
有的。需要在实际应用程序设计中,才会掌握到这个技巧。
四:数据库对象要有统一的前缀名&
  一个比较复杂的应用系统,其对应的数据库表往往以千计。若让数据库管理员看到对象名就了解这个数据库对象所起的作用,恐怕会比较困难。而且在数据库对象引用的时候,数据库管理员也会为不能迅速找到所需要的数据库对象而头疼。
   为此,笔者建立,在开发数据库之前,最好能够花一定的时间,去制定一个数据库对象的前缀命名规范。如笔者在数据库设计时,喜欢跟前台应用程序协商,确定 合理的命名规范。笔者最常用的是根据前台应用程序的模块来定义后台数据库对象前缀名。如跟物料管理模块相关的表可以用M为前缀;而以订单管理相关的,则可 以利用C作为前缀。具体采用什么前缀可以以用户的爱好而定义。但是,需要注意的是,这个命名规范应该在数据库管理员与前台应用程序开发者之间达成共识,并 且严&#26684;按照这个命名规范来定义对象名。
  其次,表、视图、函数等最好也有统一的前缀。如视图可以用V为前缀,而函数则可以利用F为前缀。如此数据库管理员无论是在日常管理还是对象引用的时候,都能够在最短的时间内找到自己所需要的对象。
五:尽量只存储单一实体类型的数据&
  这里将的实体类型跟数据类型不是一回事,要注意区分。这里讲的实体类型 是指所需要描述对象的本身。笔者举一个例子,估计大家就可以明白其中的内容了。如现在有一个图书馆里系统,有图书基本信息、作者信息两个实体对象。若用户 要把这两个实体对象信息放在同一张表中也是可以的。如可以把表设计成图书名字、图书作者等等。可是如此设计的话,会给后续的维护带来不少的麻烦。
   如当后续有图书出版时,则需要为每次出版的图书增加作者信息,这无疑会增加额外的存储空间,也会增加记录的长度。而且若作者的情况有所改变,如住址改变 了以后,则还需要去更改每本书的记录。若这个作者的图书从数据库中全部删除之后,这个作者的信息也就荡然无存了。很明显,这不符合数据库设计规范化的需 求。
  遇到这种情况时,笔者建议可以把上面这张表分解成三种独立的表,分别为图书基本信息表、作者基本信息表、图书与作者对应表等等。如此设计以后,以上遇到的所有问题就都引刃而解了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:3388732次
积分:30193
积分:30193
排名:第151名
原创:356篇
转载:1189篇
评论:81条
(1)(2)(1)(12)(3)(25)(37)(9)(32)(19)(7)(5)(11)(26)(37)(29)(76)(26)(19)(41)(63)(76)(32)(33)(88)(41)(16)(25)(37)(73)(63)(92)(75)(120)(159)(55)(67)(13)(1)2007年10月 PHP大版内专家分月排行榜第一2007年12月 其他数据库开发大版内专家分月排行榜第一2007年10月 其他数据库开发大版内专家分月排行榜第一2007年9月 其他数据库开发大版内专家分月排行榜第一
2014年6月 其他数据库开发大版内专家分月排行榜第二2008年11月 其他数据库开发大版内专家分月排行榜第二2006年12月 PHP大版内专家分月排行榜第二2007年9月 PHP大版内专家分月排行榜第二2007年6月 PHP大版内专家分月排行榜第二2008年2月 其他数据库开发大版内专家分月排行榜第二2008年1月 其他数据库开发大版内专家分月排行榜第二2007年11月 其他数据库开发大版内专家分月排行榜第二
2005年7月 其他数据库开发大版内专家分月排行榜第三2005年6月 其他数据库开发大版内专家分月排行榜第三2004年12月 其他数据库开发大版内专家分月排行榜第三
2007年10月 PHP大版内专家分月排行榜第一2007年12月 其他数据库开发大版内专家分月排行榜第一2007年10月 其他数据库开发大版内专家分月排行榜第一2007年9月 其他数据库开发大版内专家分月排行榜第一
2014年6月 其他数据库开发大版内专家分月排行榜第二2008年11月 其他数据库开发大版内专家分月排行榜第二2006年12月 PHP大版内专家分月排行榜第二2007年9月 PHP大版内专家分月排行榜第二2007年6月 PHP大版内专家分月排行榜第二2008年2月 其他数据库开发大版内专家分月排行榜第二2008年1月 其他数据库开发大版内专家分月排行榜第二2007年11月 其他数据库开发大版内专家分月排行榜第二
2007年10月 PHP大版内专家分月排行榜第一2007年12月 其他数据库开发大版内专家分月排行榜第一2007年10月 其他数据库开发大版内专家分月排行榜第一2007年9月 其他数据库开发大版内专家分月排行榜第一
2014年6月 其他数据库开发大版内专家分月排行榜第二2008年11月 其他数据库开发大版内专家分月排行榜第二2006年12月 PHP大版内专家分月排行榜第二2007年9月 PHP大版内专家分月排行榜第二2007年6月 PHP大版内专家分月排行榜第二2008年2月 其他数据库开发大版内专家分月排行榜第二2008年1月 其他数据库开发大版内专家分月排行榜第二2007年11月 其他数据库开发大版内专家分月排行榜第二
本帖子已过去太久远了,不再提供回复功能。推荐五款较好的MySQL GUI工具_数据库技术_Linux公社-Linux系统门户网站
你好,游客
推荐五款较好的MySQL GUI工具
来源:Linux社区&
作者:Linux
  大多数数据库都是由两个截然不同的部分组成的:后端(存储数据的地方)和前端(一个用于连接数据组件的用户界面)。这种架构可以把用户界面从数据层分离出来。这样的话,第三方就可以创建自己的应用程序来和数据库进行交互了。
  在本文中,我会介绍一些最常用的MySQL GUI工具。
  1.Workbench
  这是一个Sun Systems/开发的免费工具。对于Microsoft Windows, Mac OS X和Linux平台来说,Workbench都十分有用。
  MySQL Workbench是一个可视化的数据库设计工具,它把SQL开发,管理,数据库设计,创建和维护合并到了一个统一的开发环境中。它是来自于fabFORCE.net的DBDesigner 4的“继任者”。它可以用来代替MySQL GUI Tools Bundle。当前的版本是5.2,最早的版本是5.0。
  2.Sequel Pro
  Sequel Pro是The Sequel Pro Project的一个产品。它支持Mac OS平台。Sequel Pro是一个开源的应用程序。它是流行的CocoaMySQL Mac database management application(关于CocoaMySQL。
  3.HeidiSQL
  HeidiSQL是Ansgar Becker的一个产品。它是一个支持Windows 2000, XP, Vista 和 7的免费工具。HeidiSQL过去是一个MySQL的前端。它是德国程序员Ansgar Becker和几个Delphi程序员开发的一个开源工具。要通过HeidiSQL来管理数据库,用户应该用有效地凭证登陆到MySQL服务器,创建一个会话。
  4.phpMyAdmin
  phpMyAdmin是一个支持Microsoft Windows, Mac OS X and Linux, PHP 4 - 5 和 MySQL 3 – 5的免费应用程序。这个工具是用PHP编写的,主要用于MySQL的管理。
相关资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款

我要回帖

更多关于 mysql如何删除数据表 的文章

 

随机推荐