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

享用 Balsamiq Mockups

前段时间在博客园上看到有介绍这款软件,试用了一下,发觉还是不错的。该软件是基于Adobe AIR框架的一个富客户端,当然了,你也可以直接在官方网站上进行试用。

官方网站的网址为:http://www.balsamiq.com/products/mockups/desktop

试用是很简单的,可以直接从菜单栏上把BUTTON进行拖放,在页面中拖放控件时,还会有XY轴的水平线进行各个控件的相对定位,可以让你控件能够整齐的显示在页面上。

手绘风格的网页原型还是很容易被用户所能接受。字体也很漂亮,对于中文的支持则需要在菜单的View下选择Use System Fonts来解决。宋体的感觉不是特别好。

在程序的右上角还有一个全屏功能,该功能激活后,会在页面上有一个很大的光标箭头,你可以用鼠标控制该箭头来对你所做的页面进行演示。

花了十分钟把我的博客的页面做了一次原型(当然是根据我现在的博客做的,稍改了一下布局,我自己也觉得这样会比较好一点吧?文章页内的)

大小: 81.56 K
尺寸: 481 x 376
浏览: 1668 次
点击打开新窗口浏览全图

价格为$79的软件在没有注册前是不能保存、导出的,我做的图还是用系统的Print来进行截屏的(忘了装截屏软件了)。动不动跳出的提示注册框还是让你很郁闷的。不过相对于这款软件来说,还是值得被弹两下的。

由于作者表示进行推广可以赠送license,于是我在自己的博客上也想试试,看看能不能获取序列号,毕竟这款软件确实是值得试用。

Tags: mockups, balsamiq, adobe, air, design

主键和外键的设计原则

从MYSQL4.1开始,它终于支持了外键。在数据库设计中,主键和外键是一种能够把多个表组织为一个有效的关系数据库的粘合剂。它们的设计良好与否对数据库的性能和可用性有着决定性的影响。

不得不说的是,在系统设计的时候,必须将数据库模式从理论上的逻辑设计转换为实际的物理设计。而主键和外键的结构是这个设计过程的症结所在。毕竟,一旦将所设计的数据库用于了生产环境,就很难对他们进行修改,因此,在开发阶段设计好主键和外键就显得犹为重要。

对于主键而言,它是不可被重复的,而且尽量不包含特殊含义,毕竟主键的使用只是为了让数据库多一条高效的索引,而且在被外部引用的时候不会产生重复。同样重要的是主键最好不要和其他键一起组成复合主键,而应该单独用一列来表示。

正因为主键的特殊性,所以在大多数情况下我们都采用了自增字段来表示(但由于前台应用的特殊性,建议在表字段中增加一列有唯一约束的字段,用作前台显示用。比如,原来查看新闻可能是:news.php?newsId=123,这样别人很容易猜出下一条是124,前一条是122,平时这样使用是无所谓,但如果是使用在订单上,别人就很容易知道你的订单数量等,如果采用了GUID这样的值,虽然看起来复杂了一点,但永远不会被人猜出你的订单)

当然主键也可以使用这种GUID来进行设定,但确实是不太建议使用,我主要是指MYSQL,因为MYSQL默认没有默认生成这样键值的函数。而且使用定长字符串做主键,在被外部引用的时候,就显得太长了。

而外键就相对来说比主键约束要小的多,但也是有一定规范的。比如,用主键作外键,这是大多数人的用法。即使在MYSQL尚未支持外键的时候,大多数情况下。也都是通过这样的方式来进行关联。

在使用外键的时候,一般建议是不要超过4张表关联,超过4张,可能你在某些个表里就纯粹看到的是ID记录(类似于数据库的索引),这个时候麻烦的问题就来了。该如何维护这样一个全是ID记录的表呢?一旦这个表被人误操作了。那么。所有的数据都将失去关联了。(如果数据库支持外键功能,在删除这样的外键关联数据,我记得是会出错的。)

外键,除了使用主键外,还有就是那种具有唯一索引的列,仔细想想也确实这样,如果没有唯一,那么关联出来的数据怎么能够具有唯一性?

利用外键进行数据的更新删除,应该是最方便的了。这样也可以避免数据库里会存在冗余数据。

——END——

纯粹是在这里发发牢骚,真正的表设计不是这么简单的。还要根据实际的应用,但这些可以算是一些小小的经验。也许在真正的高手眼里这些都不值一提。但,千里马常有,而伯乐不常有啊。很多人都认为是理所当然的事情,不代表我们这些新手就明白。

记录下来,作为参考,也算是一个笔记

Tags: mysql, primary key, index key, foreign key, design