suntoto/
共13个网摘 [
1 ] |
访问suntoto的个人空间
suntoto收录,使用标签:IT民工,时间:2008-4-26 20:09:20 | 相关网摘,我也收藏
真正的IT民工
04月 25th, 2008 — Dreamer
在和菜头写的一篇日志《IT民工写真》里发现这么一个图片,这才知道什么叫做IT民工……(图片来自左岸读书)
it-mingong.jpg
这张图片一看就是 Adobe 圈里的人PS出来的,AS 3、Flash、Flex 赫然在列。哪位仁兄 PS 的,能不能站出来让俺老乡看看?
找工作的时候本来打算去做Flex开发工程师的,结果人家招聘都要求工作经验N年以上,用Flash开发过XXX,我没工作经验,也不懂Flash,一上来就啃Flex,结果就是我没有得逞,以后估计是个PHPer 了。也好,我感觉我的Flex、AS3也就学了个皮毛,离高手差太远了,出去混的话图片最右边的人估计就是我了…………
BTW,和菜头的Blog很好看,以前我订阅了他的RSS,后来发现这厮每日更新N篇,我看不过来,就退订了,有空的时候直接去网站上翻页看,很过瘾。
http://www.zhuoqun.net/html/y2008/1003.html
suntoto收录,时间:2008-4-23 10:59:28 | 相关网摘,我也收藏
在Powerbuilder中实现并应用树形视图
来源: 作者: 更新时间:[2006-08-14] 点击次数:0次
【聚杰网 数据库编程】
树形视图控件最适合显示具有层次关系的数据,在Windows9x/2k中文件和文件夹(子目录)之间的关系就是用树形视图来表现的。在数据库中,树形视图是管理大量数据的好方法,因为用户只需简单地点击鼠标就可以选择自己需要的数据。
当我们对数据的表现有以下要求时,我们可首先考虑使用树形视图控件:
* 显示层次结构中元素之间的关系;
* 元素在层次结构之间漫游(元素间的拷贝、移动等);
* 描述每个元素相关信息;
* 将大量数据检索的过程划分为若干步骤,只表现其中需要的部分。
在Powerbuilder中,对树形视图的编程是窗口中较为复杂的部分,它无法像数据窗口那样使用一条Retrieve()函数就可以将数据表现出来。下面我们结合树的数据结构及其存储和遍历,探讨一下树形视图的构建和应用。
1. 树的数据结构及其存储结构
树是一种常见的非线性的数据结构,使用非常广泛。一般人们用孩子表示法、孩子兄弟表示法(二叉树表示法)和双亲表示法来存贮一棵树。其中前两种表示法或因各结点不同构或冗余度太大,或因存贮量太大而不适合在PowerBuilder中应用,而数据库中表的结构和特性正与树的双亲结点表示法的要求相符合,因而最好是采用双亲节点表示法。
树的双亲节点表示法利用了每个节点(除根节点外)只有唯一的双亲的性质,每个结点的结构分为两个域,即Data域和Link域。Data域用以存储本节点的有关信息,Link域为指向双亲节点的指针。
2.数据库中表的设置
为了便于说明问题,我们以商品传销网为例,传销网中每个人都对应到树中的一个节点。我们把有关数据存储在表Persons中。
根据树的双亲节点表示法的特点,同时考虑到便于查询,将Data域分成本人代号(code)和本人姓名(name)两个字段,而Link域对应到上线代号字段(pcode)。虽然在关系型数据库中,数据的操作是以集合为基础的,而集合中的元素是没有顺序的,但在构建树形视图时必须一个一个地将节点添加进去,且PowerBuilder不支持指针型变量,因而我们在表Persons中增加一字段Handno,记录每个结点的句柄,配合Pcode字段,以实现"指针"的功能,其原理是:通过查找本结点的上线代号来查找其双亲结点的句柄号。由于树形视图等级结构非常明显,我们采用按层次遍历树,所以我们在Persons表中再增加一个字段Grade,便于按层次顺序构建树形视图。表Persons的结构如下表,主键为code列。当然可在表中设置一个或多个字段,以存储各结点的其他信息,但本文旨在说明问题,故不予考虑。
表Persons的结构如表1所示。
表1 Persons表的结构
http://www.itjj.net/biancheng/shujuku/20060814/43118.html
suntoto收录,时间:2008-4-21 21:45:50 | 相关网摘,我也收藏
数据库正规化和设计技巧(1)
文章类别:数据库教程 | 发表日期:2001-4-26 |
添加到QQ书签 雅虎收藏 添加到百度搜藏 添加到Google书签 添加到新浪ViVi 添加到奇客发现 添加到天极网摘 添加到和讯网摘 添加到博拉网 添加到挖客 LiveBookmarks Del.icio.us Myspace Facebook Ask StumbleUpon Digg Reddit Spurl BlinkList
-
在动态网站的设计中,数据库设计的重要性不言而喻。如果设计不当,查询起来就非常吃力,程序的性能也会受到影响。无论你使用的是mySQL或者Oracle数据库,通过进行正规化的表格设计,可以令你的PHP代码更具可读性,更容易扩展,从而也会提升应用的性能。
简单说来,正规化就是在表格设计时,消除冗余性和不协调的从属关系。在本文中,我将通过五个渐进的过程来告诉你在设计中应该了解的正规化技巧。从而建立一个可行而且 效率高的数据库。本文也会详细分析一下可以利用的关系类型。
这里假定我们要建立一个用户信息的表格,其中要存储用户的名字、公司、公司地址和一些个人的收藏夹或url。在开始时,你可能定义一个如下的表格结构:
零状态形式
users
name company company_address url1 url2
Joe ABC 1 Work Lane abc.com xyz.com
Jill XYZ 1 Job Street abc.com xyz.com
由于没有进行任何的正规化处理,我们将这种形式的表称为零状态形式的表。留意其中的url1和url2字段---如果我们在应用中需要第三个url呢?这样你就要在表格中多加一列,很明显,这不是一个好办法。如果你要创建一个富有扩展性的系统,你就要考虑使用第一个正规化的形式,并且应用到该表格中。
第一级正规化形式
1.消除每个表格中重复的组
2.为每套相关的数据建立一个独立的表格
3.使用一个主键来标识每套相关的数据
以上的表格明显违反了上面第一条的规定,那么第三条的主键又是什么意思呢?很简单,它只是在每个记录中加入一个唯一的、自动增加的整型值。通过这个值,就可以将两个姓名一样的记录区分开来。通过应用第一级正规化形式,我们得到了以下的表格:
users
userId name company company_address url
1 Joe ABC 1 Work Lane abc.com
1 Joe ABC 1 Work Lane xyz.com
2 Jill XYZ 1 Job Street abc.com
2 Jill XYZ 1 Job Street xyz.com
现在我们的表格可以说已经处在第一级正规化的形式了,它已经解决了url字段的限制问题,不过这样的处理后又带来了一个新的问题。每次在user表中插入一条记录的时候,我们都必须重复所有的公司和用户数据。这样不仅令数据库比以前大了,而且很容易出错。因此还要经过第二级正规化处理。
http://www.knowsky.com/1834.html
suntoto收录,时间:2008-4-21 21:45:18 | 相关网摘,我也收藏
数据库正规化和设计技巧(2)
文章类别:数据库教程 | 发表日期:2001-4-26 |
添加到QQ书签 雅虎收藏 添加到百度搜藏 添加到Google书签 添加到新浪ViVi 添加到奇客发现 添加到天极网摘 添加到和讯网摘 添加到博拉网 添加到挖客 LiveBookmarks Del.icio.us Myspace Facebook Ask StumbleUpon Digg Reddit Spurl BlinkList
-
第二级正规化形式
1.为应用在多条记录的字段建立独立的表格
2.通过一个foreign key来关联这些表格的值
我们将url的值放在一个独立的表格中,这样我们就可以在以后加入更多的数据,而无需担心产生重复的值。我们还通过主键值来关联这些字段:
users
userId name company company_address
1 Joe ABC 1 Work Lane
2 Jill XYZ 1 Job Street
urls
urlId relUserId url
1 1 abc.com
2 1 xyz.com
3 2 abc.com
4 2 xyz.com
如上所示,我们创建了独立的表格,users表中的主键userid现在与url表中的foreign key relUserId关联。现在的情况好象已经得到了明显的改善。不过,如果我们要为ABC公司加入一个员工记录呢?或者更多,200个?这样我们就必须重
复使用公司名和地址,这明显不够冗余。因此我们将应用第三级正规化方法:
第三级正规化形式
1.消除不依赖于该键的字段
公司名及地址与User Id都是没有关系的,因此它们应用拥有自己的公司Id:
users
userId name relCompId
1 Joe 1
2 Jill 2
companies
compId company company_address
1 ABC 1 Work Lane
2 XYZ 1 Job Street
urls
urlId relUserId url
1 1 abc.com
2 1 xyz.com
3 2 abc.com
4 2 xyz.com
这样我们就将companies表中的主键comId和users表中名字为relCompId的foreign key关联起来,就算为ABC公司加入200个员工,在companies中也只有一条记录。我们的users和urls表可以不断地扩大,而无需担心插入不必要的数据。大部
分的开发者都认为经过三步的正规化就足够了,这个数据库的设计已经可以很方便地处理整个企业的负担,此看法在大多数的情况下是正确的。
我们可以留意一下url的字段--你注意到数据的冗余了吗?如果给用户用户输入这些url数据的HTML页面是一个文本框,可任意输入的话,这并没有问题,两个用户输入同样收藏夹的概率较少,不过,如果是通过一个下拉式的菜单,只让用户选择两个url输入,或者更多一点。这种情况下,我们的数据库还可以进行下一级别的优化--第四步,对于大多数的开发者来说,这一步都是忽略的,因为它要依赖一个很特别的关系--一个多对多的关系,这在我们的应用中是还没有遇到过的
http://www.knowsky.com/1835.html
共13个网摘 [
1 ]