09 2013 档案

摘要:为了建立冗余较小、结构合理的数据库,设计数据库时必须遵循一定的规则。在关系型数据库中这种规则就称为范式。范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。在实际开发中最为常见的设计范式有三个:1.第一范式(确保每列保持原子性)第一范式是最基本的范式。如果数据库表中的所有字段值都是不可分解的原子值,就说明该数据库表满足了第一范式。第一范式的合理遵循需要根据系统的实际需求来定。比如某些数据库系统中需要用到“地址”这个属性,本来直接将“地址”属性设计成一个数据库表的字段就行。但是如果系统经常会访问“地址”属性中的“城市”部分,那么就非要将“地址”这个属性重新拆分 阅读全文
posted @ 2013-09-04 08:51 qanholas 阅读(318) 评论(0) 推荐(0) 编辑
摘要:很多人都知道SQL注入,也知道SQL参数化查询可以防止SQL注入,可为什么能防止注入却并不是很多人都知道的。本文主要讲述的是这个问题,也许你在部分文章中看到过这块内容,当然了看看也无妨。首先:我们要了解SQL收到一个指令后所做的事情:具体细节可以查看文章:Sql Server 编译、重编译与执行计划重用原理在这里,我简单的表示为:收到指令 -> 编译SQL生成执行计划 ->选择执行计划 ->执行执行计划。具体可能有点不一样,但大致的步骤如上所示。接着我们来分析为什么拼接SQL 字符串会导致SQL注入的风险呢?首先创建一张表Users:CREATE TABLE [dbo].[U 阅读全文
posted @ 2013-09-03 15:51 qanholas 阅读(931) 评论(0) 推荐(0) 编辑
摘要:Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示如果还为了这个纠结,就直接看看后面的解说,做决定吧。一般如果用到中文或者其它特殊字符,我就会使用n开头的类型,否则的话直接使用var开头的。sql server中的varchar和Nvarchar有什么区别?答:varchar(n)长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。nvarchar(n)包含 n 个字符的可变长度 Unicode 字符数据。 阅读全文
posted @ 2013-09-03 15:48 qanholas 阅读(29628) 评论(1) 推荐(6) 编辑
摘要:在做项目中,使用了float类型来定义一些列,如:Price,但是发现了很多问题1、当值的位数大于6位是float型再转varchar型的时候会变为科学技术法显示 此时只好将float型转换成numeric型,再转换成varchar2、float型变量在存入值时,有时值得大小会发生改变。这个现象发生在对报价保存时,如:保存一个3.8,但到了数据库中变成了3.80001124或3.79998999等在SqlServer的帮助中是这样描述float类型的:用于表示浮点数字数据的近似数字数据类型。浮点数据为近似值;并非数据类型范围内的所有数据都能精确地表示。所以今后这个类型一定要慎用评论#1楼218 阅读全文
posted @ 2013-09-03 12:02 qanholas 阅读(7143) 评论(0) 推荐(0) 编辑
摘要:今天在将txt文件导入MSSQL2005时,出了这个错误,到网上查了一下资料,说是因为没有安装SQL 2005 SP1的原因,所以我就下载了个。安装后,再次导入数据,OK 没问题了。http://www.microsoft.com/zh-cn/download/details.aspx?id=22954 阅读全文
posted @ 2013-09-02 09:33 qanholas 阅读(312) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示