web测试和数据库设计相关积累,不…
来源:互联网 发布:python文件编码转换 编辑:程序博客网 时间:2024/06/09 22:42
1. 数据库设计一般都要遵循三个范式
第一范式:
内容相似的数据列必须消除(消除的办法是再创建一个数据表来存放他们)
必须为每一组相关数据分别创建一个数据表
每条数据记录必须用一个主键标识
第二范式:
只要数据列里的内容出现重复,就意味着应该把数据表拆分成多个子表
拆分形成的数据表必须用外键关联起来
第三范式:
与主键没有直接关系的数据列必须消除(消除的办法是再创建一个数据表来存放他们)
通俗地理解三个范式
第一范式:1NF是对属性的原子性约束,要求属性具有原子性,不可再分解;
第二范式:2NF是对记录的惟一性约束,要求记录有惟一标识,即实体的惟一性;
第三范式:3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余。
没有冗余的数据库设计可以做到。但是,没有冗余的数据库未必是最好的数据库,有时为了提高运行效率,就必须降低范式标准,适当保留冗余数据。具体做法是:在概念数据模型设计时遵守
第三范式,降低范式标准的工作放到物理数据模型设计时考虑。降低范式就是增加字段,允许冗余。
,达到以空间换时间的目的。
〖例2〗:有一张存放商品的基本表,如表1所示。“金额”这个字段的存在,表明该表的设计不满足第三范式,因为“金额”可以由“单价”乘以“数量”得到,说明“金额”是冗余字段。但是,
增加“金额”这个冗余字段,可以提高查询统计的速度,这就是以空间换时间的作法。
在Rose2002中,规定列有两种类型:数据列和计算列。“金额”这样的列被称为“计算列”,而“单价”和“数量”这样的列被称为“数据列”。
表1 商品表的表结构
商品名称 商品型号 单价 数量 金额
电视机 29吋 2,500 40 100,000
2.
Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下:
1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form
的数据体中,按照变量和值相对应的方式,传递到action所指向URL。
3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有
一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。
4、Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post(当然还有一个原因,将在后面的提到)。
5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
6、Get是Form的默认方法。
- web测试和数据库设计相关积累,不…
- 数据库设计学习积累
- 数据库设计原则(积累)
- Jmeter如何测试web和数据库
- Java Web的相关知识积累
- 数据库设计优化(慢慢积累,欢迎补充)
- 数据库设计相关
- 数据库相关设计优化
- 转载和积累系列 - Linux Yum 相关
- 进程和现成相关知识积累查找
- Robotium 测试工具,android 开发相关知识积累
- SSS测试数据库设计
- 测试权限数据库设计
- web权限数据库设计
- web数据库设计过程
- 开始用mysql进行数据库设计和测试
- Web网站评论功能数据库设计和开发
- 功能测试用例设计积累(一):软件界面
- 查看數據庫中所有表的屬性及使用情況
- ubuntu的命令行启动
- GConf 错误:联系配置服务器失败;某些可能原因是需要为 ORBit 启用 TCP/IP 联网
- hdu 4525 威威猫系列故事——吃鸡腿
- 施一公:优秀博士如何养成(全文) 清华大学演讲
- web测试和数据库设计相关积累,不…
- loadrunner 参数化,用户登录
- 正则表达式
- loadrunner 关联(转载)
- Jmeter和loadrunner的异同
- url中的jsessionid解释
- LoadRunner 的 web_set_user 函数
- Loadrunner JSESSIONID 问题解决
- 如何在 LoadRunner 脚本中做关联 (…