首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 数据库 第二书店 程序员

suntoto/ 


共13个网摘 [ 1 ]   |  访问suntoto的个人空间

Dreamer’s Blog � 真正的IT民工

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篇,我看不过来,就退订了,有空的时候直接去网站上翻页看,很过瘾。


出家如初,成佛有余

suntoto收录,时间:2008-4-23 11:31:51 | 相关网摘我也收藏

“产品类


在Powerbuilder中实现并应用树形视图--聚杰网-IT聚杰

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表的结构


数据库正规化和设计技巧(1)_数据库教程_www.knowsky.com

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表中插入一条记录的时候,我们都必须重复所有的公司和用户数据。这样不仅令数据库比以前大了,而且很容易出错。因此还要经过第二级正规化处理。


数据库正规化和设计技巧(2)_数据库教程_www.knowsky.com

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输入,或者更多一点。这种情况下,我们的数据库还可以进行下一级别的优化--第四步,对于大多数的开发者来说,这一步都是忽略的,因为它要依赖一个很特别的关系--一个多对多的关系,这在我们的应用中是还没有遇到过的


2008 第二届中国软件技术英雄会归来感受 - 阿朱=行业趋势 开发管理 架构 - CSDNBlog

suntoto收录,时间:2008-4-16 22:36:40 | 相关网摘我也收藏

何发生质变,成了自己一直没有想明白的事情。(突然想起李维老师的苦笑的脸,累并快乐着)

所以,想和业界的朋友们再多交流交流。也抬起头来看看现在的世界(前几年为了公司生存发展所以一直在

低头干活,没心思抬头看)。



共13个网摘 [ 1 ] 

suntoto/相关标签



网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
Copyright © 2000-2008, CSDN.NET, All Rights Reserved