易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL——数据完整性


一.数据完整性
     就是为了防止数据库中存在不符合语义规定的数据,和防止因输入输出错误而造成的无效操作或者错误信息而提出的,制定的一些对元组、属性和域的一些约束和规定。
     解决办法由:规则,默认值,约束和触发器等。
二.约束
    用于增强数据完整性,防止合法用户使用数据库时,想数据库中添加不符合语义的数据。约束分为三种:与表有关的约束,域约束,断言约束。
   。与表有关的约束:行约束,列约束。
   。域约束:在域定义中被定义的,并且与在域中定义的任何列都有关系的一种约束。
   。.断言约束:在断言定义时定义的一种约束,可以与一个或者多个表有关。
下面是DEFAULT约束,CHECK约束,PRIMARYKEY约束,UNIQUE约束,FOREIGN KEY约束,NOU NULL约束,列约束,表约束。
1.DEFAULT约束
     主要就是针对表中的某个列,创建一个默认值,在用户插入值时,如果没有给定值,那就默认为此值。
    (1).创建数字类型的DEFAULT约束
     数字类型有:整数(bigint , int , smallint , tinyint),精确数字(decimal[p( , s)] , 
numeric[p( , s]),浮点数(float[(n)] , real),货币值(money , smallmoney)。
假设表goods,属性:gNO,gNAME,gCOUNT,gPRICE,gADDRESS,StartDate
现在为gCOUNT和gPRICE创建默认值:
ALTER TABLE goods ADD DEFAULT 0 FOR gCOUNT;
ALTER TABLE goods ADD DEFAULT 0 FOR gPRICE;
输入以下语句:INSERT INTO goods (gNO,gNAME,gADDRESS) VALUES('1001','毛巾','吉林长春','2010-1-20 15:25:30.120')。执行成功后,在擦看一下,你会发现结果中gCOUNT和gPRICE列的值为0。
注意:在执行插入语句时,一定要列出插入的列,要不然你会遇到插入数据列与表属性列不一致的错误。
    (2).设置DEFAULT日期型约束
     为goods表的货物到货日期StartDate设置默认值为系统当前日期。
     ALERT TABLE 


相关文档:

Asp.Net中sql server 2000/2005 连接字符串


http://zhanglei1286.blog.163.com/blog/static/1895797120091112113019600/
在后台代码里:
SQL 2000:
static string StrConn = "server=.;uid=sa;pwd=sa;database=MyCUDS";
SQL2005:
con = new SqlConnection(@"Server=.\SQLExpress;Database=db_CMS;Persist Security Info=True;User ID=sa;Password=Masslong"); ......

SQL子查询实例

子查询是在一个查询内的查询。子查询的结果被DBMS使用来决定包含这个子查询的高级查询的结果。在子查询的最简单的形式中,子查询呈现在另一条SQL语句的WHERE或HAVING子局内。 
    列出其销售目标超过各个销售人员定额综合的销售点。
SELECT CITY
from OFFICES
WHERE TARGET&nbs ......

sa登陆失败 SQL Server错误18456的解决方法

昨天我的SQL(Microsoft SQL Server 2005 )登录不上去了,原来是出现了几个小问题,现在记录一下我的解决这几个情况的办法。(解决方法有很多种,这些只是我的解决方法,仅供参考)
查找问题的过程:(注:用windows账号还是可以登录的)
第一步:启动所有与SQL有关的服务,问题依旧;
第二步:查看windows防火墙,被默 ......

SQL Group By Top 实现

DECLARE @temp TABLE(
id INT,
[name] VARCHAR(50),
class VARCHAR(50)
)
INSERT INTO @temp
SELECT 1,'a','A'
UNION ALL SELECT 2,'b','C'
UNION ALL SELECT 3,'c','B'
UNION ALL SELECT 4,'d','C'
UNION ALL SELECT 5,'e','B'
UNION ALL SELECT 6,'f','A'
SELECT * from @temp AS _temp WHERE [name] IN
( ......

sql语句优化原则

1.多where,少having
where用来过滤行,having用来过滤组
2.多union all,少union
union删除了重复的行,因此花费了一些时间
3.多Exists,少in
Exists只检查存在性,性能比in强很多,有些朋友不会用Exists,就举个例子
例,想要得到有电话号码的人的基本信息,table2有冗余信息
select * from table1;--(id,n ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号