- 博客(5)
- 收藏
- 关注
转载 通俗地理解数据库设计的三个范式
<br /> <br />通俗地理解三个范式,对于数据库设计大有好处。在数据库设计中,为了更好地应用三个范式,就必须通俗地理解三个范式(通俗地理解是够用的理解,并不是最科学最准确的理解):<br />第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解; 第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性; 第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。 <br />没有冗余的数据库设计可以做到。但是,没有冗余的数据库未
2010-11-13 15:39:00 826
转载 数据库设计准则(第一、第二、第三范式说明)
I、关系数据库设计范式介绍1.1 第一范式(1NF)无重复的列 所谓第一范式(1NF)是指数据库表的每一列都是不可分割的基本数据项,同一列中不能有多个值,即实体中的某个属性不能有多个值或者不能有重复的属性。如果出现重复的属性,就可能需要定义一个新的实体,新的实体由重复的属性构成,新实体与原实体之间为一对多关系。在第一范式(1NF)中表的每一行只包含一个实例的信息。简而言之,第一范式就是无重复的列。说明:在任何一个关系数据库中,第一范式(1NF)是对关系模式的基本要求,不满足第一范式(1NF)的数据
2010-11-11 15:20:00 446
转载 C/C++:memmove、memcpy、strcpy三者的区别
<br />strcpy只能处理字符串;如果拷贝带有特殊字符的串,就只能用memcpy或memmove。memcpy和memmove功能基本上差不多,但是当源串和目标串有Overlap时,memmove可以正确处理,memcpy则不行。<br /> <br />memcpy()和memmove()都是C语言中的库函数,在头文件string.h中,其原型分别如下:<br />void *memcpy(void *dst, const void *src, size_t count); void *memmo
2010-11-10 09:50:00 947 1
转载 一个简单的simhash算法
<br />simhash是个很常用的计算文本相似度的算法,网上一般说用64bit的签名,这里采用times33作为普通hash函数,用32bit的签名,算法如下:<br />#!/usr/bin/env perl # sub hash { my ($input) = @_; my @chars = split "", $input; my $hash = 5381; foreach(@chars){ $hash = $hash + ord($_
2010-11-08 11:13:00 2107
转载 simhash算法的原理-用于实现文本判重复算法
<br /><br />第一次听说google的simhash算法[1]时,我感到很神奇。传统的hash算法只负责将原始内容尽量均匀随机地映射为一个签名值,原理上相当于伪随机数产生算法。传统hash算法产生的两个签名,如果相等,说明原始内容在一定概率下是相等的;如果不相等,除了说明原始内容不相等外,不再提供任何信息,因为即使原始内容只相差一个字节,所产生的签名也很可能差别极大。从这个意义上来说,要设计一个hash算法,对相似的内容产生的签名也相近,是更为艰难的任务,因为它的签名值除了提供原始内容是否相等的信
2010-11-08 11:12:00 1817
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人