手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表全部文章

精通MYSQL数据库——连载十一

一个好的数据库设计应该符合以下几点要求:
1、数据表里没有重复冗余的数据(如果总是往里面插入同样的数据,那应该是设计上有问题,当然现在在利用空间换时间的时候,多数人还是保留了这样的想法)
2、数据表里没有column1,column2,column3……这类没有明确意义的字段,因为这样会让后来人摸不清头脑
3、数据表占用的空间越小越好
4、使用频率高的数据表的查询,应该都能以简单高效的方式执行(表内数据少的时候,你就是10几个left join,你可能都感觉不出什么,但数据量一大,你一个left join都会让你感觉到速度慢下来,如果最初设计时没有满足这个要求,那么,以后想改可能也没有机会了)
这些也只是一些总的原则,也只是简单的介绍,以后会详细说明,当然上面这几点并非完全正确,就象第三范式,这是一个标准,但这个标准真的就是最好的吗?并非如此,但我们现在是在讲设计数据库,它好不好,目前不讲。以后一起讨论

为MYSQL的数据库和数据表甚至字段起名字还是有讲究的,最重要的是,千万不要使用保留关键字,而且有一些单词很奇怪,在4.0里面并不是关键字,但升级后,却变成了关键字。
详细的关键字列表请看:MYSQL手册中保留字部分
对于一个完整的设计应该注意以下几项:
1、由于MYSQL对数据列的命名不区分大小写,而对库名和表名区分大小写,因此为了规范和统一,请使用同样的规则,不要象程序代码那样来个骆驼命名啥的,这样只会给开发带来困难,建议是全部采用小写,移植、升级都方便
2、不要采用特殊字符或者中文,MYSQL对于多字节的处理并不十分完美,虽然支持中文建库、建表等,但实在不建议使用,如果你的服务器对中文支持不好,可能建库的时候就会是乱码,字段里,明明看到有值就是查不出,所以,为了规范,还是采用英文,26个字母的排列组合,没有那么复杂的。
3、数据库、表、字段的长度请不要超过64个字符,
4、表名和数据列名,请尽量采用有意义的名称,不要出现上文提到的那种column1,colnmn2之类的,时间长了,你自己都可能不知道是什么意思
5、给字段命名,需要有规范,因为这样会减少粗心带来的错误,比如username,user_name,如果分在各个表里,恐怕你每次写程序的时候,都得再检查一遍吧?对于由多个单词组成的字段,要么全部加下划线,要么全部不加,这样也比较有利于开发和维护
6、数据列的单复数,原因和5一样,要么全部单数,要么全部复数,一会单数一会复数的,开发和维护的时候,你就得盯着数据表来进行了。

数据库的设计是一件很复杂的事情,要在短时间内把一批数据分割开,并存储到数据库中,还得为开发人员提供足够的优化空间,不是一天两天就能完成的,当然现在有很多这样的工具,比如powerdesign(PD),在设计完后,还能导出数据库,确实是挺方便,但这样的软件,价格就太高了,不是我们所买得起的。
平时,我们还是使用WPS的电子表格,或者openoffice的电子表格功能,设计好数据表(电子表格最大的好处就是有几乎无穷的sheet,可以让你把一个很大的库放在这些sheet里),而且,几乎每台电脑上都会有这样的工具,便于交流。这样可以在最初的阶段对于一些数据列进行安排(没办法建立索引的,只是简单的用来布局,检查设计上是否有缺陷)

对于管理MYSQL,也有很多工具,比较常见的,就是:phpMyadmin;MYSQL自已也提供过,好象是mysqlFront?记不太清,现在我自己用的是navicat for mysql lite ,不用钱的东西都是好的。虽然在国内,大家都了解软件业的行情。自己也处于软件业的下游,能够使用正版,还是使用一下正版吧。不能使用正版的,找找免费版。
在我看的书上,它介绍说openoffice里其实还隐藏着连接数据库这个功能的,而且可以能够象创建视图一样来创建SQL,这个功能不错,我以后要好好看看,如果确实有用,那我WPS也不装了,直接使用openoffice。
不过,最常用的,最方便的,还是使用phpmyadmin,它实在是居家旅行、杀人灭口之大杀器。

Tags: mysql, 精通, 数据库, 连载

国庆休闲看电影

国庆在家里,几乎没有时间写什么东西,也就看看电影放松一下,写代码的时候总是被小孩哭声打断,而看电影则没有这样的困扰。
对于动画片还是一象的有爱好,好莱坞的动画片也越来越吸引人了,这两天看的是《霍顿与无名氏》,3D方面,中国短时间内是比不上美国了。
国内注重的是个人修养,有3D制作能力的人,不是很懂艺术,有艺术细胞的人,不懂3D。大多数有艺术细胞的人,都还是采用电脑来制作插画等。兔斯基也是这样而出名的,但几乎没有3D的东西出现。
最近几年看过的动画片有:《超人总动员》《汽车总动员》《篱笆墙外》《马达加斯加》《忍者神龟》等,实在太多了,并非总有的动画片都是那样的娱乐和搞笑,象《僵尸新娘》就很有好莱坞大片风范,《功夫熊猫》则有动作片风范,当然即使这样,片中也总还是存在了一些娱乐元素。
正如很多人说的:国外的动画片是给8岁~80岁的人看的,国内的动画片是给3~8岁的人看的。
《奥特曼》吸引了几代人?现在又改成了《灰太狼和喜羊羊》了,我实在看不出,这样的动画片为什么能够拿大奖,或许,这就是代沟吧。
现在很多FLASH都在制作《80年出生的所怀念的事》,动画片也是其中一项,国内国外都有,什么一休啦、希曼希瑞啦,花仙子,蓝精灵啥的。国内的黑猫警长,葫芦兄弟啥的。有多少人记得现在的动画片?
今年的《风云》我没有去看,是因为正好小孩出生,也没有时间去看。或许不错吧。。。
记得小时候动画最多的还是上海美影的,什么牧童、鱼盆啥的。最长的应该是《天书奇谭》吧,忘了是哪个制片厂出的了。
看过的朋友请留言,记忆中最多的动画片。呵呵

Tags: 电影, 休闲, 记忆, 怀念

杂谈

又是一年十月一日,同样的,祝福大家国庆快乐
平时没有什么休假的朋友们,可以乘着长假出去走走,难得回家的朋友也可以乘此机会回家看看

听说,从明年开始也要取消国庆长假了,如果这项提议转为事实,那么以后出行的机会又要少上很多,那些单位年假不多的人,又要痛哭了。

除此之外,新闻里报道美国国会在投票7000亿救市的时候,选择了否诀,个人认为这是一个明智的决定,如果真的同意了,那么有了第一次就会有第二次,虽说经济和政治挂钩,但政治不应该去主动的影响经济,顺其自然,不过这次也算是全球性的影响。我们国家可能损失会更大。

光靠一两个救市是没有用的,而应该让民众感觉到对市场的放心。乱就一个字

世事无常,今年的灾害特别多,可能也是与全球变暖有关吧,少开点空调,少有点污染,世界将会变得清静。

不多废话

希望明年的国庆会更好,朋友们,快乐!

Tags: 国庆, 垃圾评论

JS取当时间的一个很妖的方法

关于new Date().getTime()的简写方式.

原文来自cssrain,只取了其中的一小部分。http://www.cssrain.cn/demo/3/newDate.html

小结:
(1)getTime(new Date.getTime 方法)
返回指定的 Date 对象自 1970 年 1 月 1 日午夜(通用时间)以来的毫秒数。当比较两个或更多个 Date 对象时,使用此方法表示某一特定时刻。
返回值类型:Number -- 一个整数。

(2)
function now(){
return +new Date;
}
jQuery 源代码里就是使用的 +new Date ;

(3)
用来判断 google 浏览器:
if( !isNaN(Date.parse("1970.01.01")) ){
alert("This is Google Chrome!");
}else{
alert("This is NOT!");
}
结果:1和2的结果是一样的。但这个number是13位的number,和PHP中的时间戳并非同一个意义

Tags: time, jquery, gettime, date

祝贺:微软也开源 将采用jQuery JavaScript库

微软和诺基亚正式宣布支持开源的 jQuery JavaScript库,另外,微软还称他们将把jQuery作为Visual Studio工具集的一部分。他将提供包括jQuery的智能提示,代码片段,示例,文档编制等内容在内的功能。微软和诺基亚将长期成为jQuery的用户成员,其他成员还有Google, Intel, IBM, Intuit, 路透社等。

Tags: javascript, jquery, microsoft, nokia, google