desktop

t

数据库设计范式(NF)

设计范式:
(范式, 数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系数据库中,这种规则就是范式。关系数据库中的关系必须满足一定的要求,即满足不同的范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)、第五范式(5NF)和第六范式(6NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。
1 第一范式(1NF)
在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据库就不是关系数据库。
所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。例如,对于图3-2 中的员工信息表,不能将员工信息都放在一列中显示,也不能将其中的两列或多列在一列中显示;员工信息表的每一行只表示一个员工的信息,一个员工的信息在表中只出现一次。简而言之,第一范式就是无重复的列。
2 第二范式(2NF)
第二范式(2NF)是在第一范式(1NF)的基础上建立起来的,即满足第二范式(2NF)必须先满足第一范式(1NF)。第二范式(2NF)要求数据库表中的每个实例或行必须可以被惟一地区分。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。如图3-2 员工信息表中加上了员工编号(emp_id)列,因为每个员工的员工编号是惟一的,因此每个员工可以被惟一区分。这个惟一属性列被称为主关键字或主键、主码。
第二范式(2NF)要求实体的属性完全依赖于主关键字。所谓完全依赖是指不能存在仅依赖主关键字一部分的属性,如果存在,那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体,新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实例的惟一标识。简而言之,第二范式就是非主属性非部分依赖于主关键字。
3 第三范式(3NF)
[...]

使用simplexml来处理xml

先放到这里,没准哪天就忘了。
<?php
    $xml = simplexml_load_file(’test.xml’);
//    echo ‘<pre>’;
//    print_r($xml);
    $sql = "INSERT INTO `user_pay`(`date`,`cname`,`view`,`click`,`basepay`,`divide`,`pay`) VALUES";
    foreach ($xml->members->member as $key => $val)
    {
        $insert .= "(’$val->date’,'$val->cname’,$val->view,$val->click,’$val->basePay’,'$val->divide’,'$val->pay’),";
    }
    $sql .= $insert;
    $sql = substr($sql,0,-1);
    echo $sql;
?>

四个妻子

      有一个人,取了四个妻子。  第四个妻子最得他得疼爱, 他不管去哪都带着他。她每天沐浴更衣、饮食起居,都要丈夫亲手照顾,她想吃什么、喜欢什么衣服,他都尽力满足,对她百般呵护,万千宠爱。  第三个妻子是众多人追求的对象,他是千辛万苦,打败众人得到她的。所以,他每天都要去关心她,牵挂她,常常在她身边甜言蜜语,又造了漂亮的房子给她住。  第二个妻子和他是最知心的,每当他又什么心事或困扰,他总是来找第二位妻子为他分忧解劳,互相安慰,只要和她在一起就会觉得很满足,分开了就会挂念  至于他的第一个妻子,他几乎忘了她似的,根本很少去看她,可她却像婢女一般,家中一切繁重的工作都由她处理,她身负各种责任烦恼,却得不到他的注意和重视 
       一天,他必须离开故乡,到遥远的另一个地方,不能回来。他对第四个妻子说:“我现在有事非离开不可,你跟我一块走吧?” 第四个妻子回答:我可不愿意跟你去。“ 他惊异万分,不解的问:“我最疼爱你。对你言听计从,我们一刻都没有分开过,怎么现在不愿陪我一起去呢?” “不论你怎么说,我都不可能陪你去的”第四个妻子坚定的说  他恨她的无情,就把第三个妻子叫来问到:“那你能陪我一块去吗?” 第三个妻子回答:“连你最心爱的第四个妻子都不愿陪你去,我为什么要陪你去?”  她只好把第二个妻子叫来说:“你总愿意陪我去吧?” 第二个妻子说:“嗯,你要离开我很难过,但我也只能送你到城外,之后的路你就自己走吧。”  他没想到第二个妻子也不原陪她去,这才想起第一个妻子,把她叫来问一样的话。第一个妻子回答:“不论你去哪里,不论苦乐或生死,我都不会离开你的身边,无论你去哪里我都陪你。”  这时他才知道,真正可以和他永不分离的只有第一个妻子。 
       其实他要去的是死亡的地界  第四个妻子,是人的身体。人对自己的身体倍加珍惜,为满足这个身体的物质欲望所做的一切,不亚于他体贴第四个妻子的情形,但死时你为之不惜一切的身体,却不会随着你。  第三个妻子,是人间的财富。不论你多么辛苦追求的财富、储存起来的财宝,死时都不能带走一分一毫。  第二个妻子,是妻子、亲戚朋友。人活在世上,彼此关爱是应该的,但人往往为了人情而忘了做人的目的。妻子、亲朋好友在人死后,只能把你送到城外坟墓的地方,回来后会伤心一段时间,之后又各自为了生活奔波,把你淡忘,百年后,谁也不认识谁了。  而第一个妻子,则是人的心灵。它和我们形影相随,生死不离,它和我们的关系如此密切,但我们也最容易忽略的,反而全神贯注于物质和欲望这些虚幻的色身。我们沉醉于自身,沉醉于亲情金钱,殊不知,最重要的是我们的内心和灵魂,只有它才是永生永世与我们同在的。
                                                                                                                              (转自:开花石头的blog)

jquery的ajax

这几天在研究jquery框架,弄到ajax这块的时候就郁闷了(因为以前没用过),我浪费了2天的时间才搞明白它(做了N多次测试,差点就……),郁闷时间有点长了,但是还有点小兴奋,呵呵。
现在我把我的笔记发上来,希望能给刚刚开始看到同学们有点帮助,start:
首先做好html页面,很简单的页面,只是做测试用的。这页面html,css,js,是分离开来的。
_______________________________________________________________________________
html代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh" lang="zh" dir="ltr">
<head profile="http://www.w3.org/2000/08/w3c-synd/#">
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <meta name="keywords" content="Leo,HEnT Studio,LAMP,PHP,MySQL" />
 <meta name="DEscription" content="HEnT Studio" />
 <meta name="Author" content="Leo,HEnT Studio" />
 <title>New Page | xHTML1.0 Transitional</title>
 <link rel="shortcut icon" href="favicon.ico" />
 
<link rel="stylesheet" type="text/css" href="css.css" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
<table >
<tr>
<td>用户名</td>
<td>
<input type="text" name="name" id="name" value="" />
</td>
<td>
<div id="rere" ></div>
<div id="detail" ></div>
<td>
</tr>
</td>
<span></span>
</div>
</table>
</body>
</html>
__________________________________________________________________________________
css代码:css.css
.top { background-color:#ff0000; height:50px; width:30%;}
.test { background-color:#00ff00;height:10px; width:5px; }
#rere { height:20px;width:150px;background-color:#f9f9f9;display:none; [...]

memcached本地windows系统测试

下午去经典论坛,看到一版主发了一篇关于memcached的帖子
也在本地做了一下测试,用的是windows系统。
1.下载Memcache for win32
下载地址: http://jehiah.cz/projects/memcached-win32/
选择memcached 1.2.1 for Win32 binaries (Dec 23, 2006) 是exe的程序
2.下载php_memcache.dll
下载地址: http://pecl4win.php.net/ext.php/php_memcache.dll
选择和Php版本对应的,我php版本是5.2.6的,里边没有,索性down了个5.2.1的也能用
打开php.ini文件,添加扩展extension=php_memcache.dll(没有分号)
重启apache
phpinfo看一下,现在应该有memcached的了
memcache主要应用方法:
(1) Memcache::getVersion 返回memcache的版本信息.
(2) Memcache::connect 创建一个memcache连接对象.
(3) Memcache::pconnect 创建一个memcacher持久连接对象.
(4) Memcache::close 关闭一个Memcache对象.
(5) Memcache::set 用来添加一个值.
有四个参数,第一个参数是key,第二个参数是value,第三个参数可选,表示是否压缩保存,第四个参数可选,用来设
置一个过期自动销毁的时间.
(6) Memcache::add 作用和Memcache::set方法类似.
两个方法的区别是如果Memcache::add方法的返回值为false,表示这个key已经存在,而Memcache::set方法则会直
接覆写.
(7) Memcache::get 用来获取一个值.
只有一个参数(key,在Memcache::set时设置)
(8) Memcache::replace 对一个已有的key进行覆写操作.
有四个参数,与 Memcache::set 相同.
(9) Memcache::increment 对保存的某个key中的值进行加法操作.
(10) Memcache::decremen 对保存的某个key中的值进行减法操作.
(11) Memcache::setCompressThreshold 对大于某一大小的数据进行压缩。
(12) Memcache::delete 删除一个key
有两个参数,第一个是key名称.第二个是删除延迟时间
(13) Memcache::flush 清除所有缓存的数据,但是不会削去使用的内存空间.
(14) Memcache::addServer 添加一个可供使用的服务器地址.
(15) Memcache::setServerParams 在运行时修改服务器的参数.
写个php程序测试一下:
<?php
    /*创建memcached对象*/
    $mem = new Memcache();
    /*创建一个链接,memcache默认端口是11211*/
    $mem->connect(’127.0.0.1′,11211);
  [...]