微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SqlServer2008—概念模型设计

1.概念数据模型

概念模型也称之为信息模型。它是以实体-联系(Entity-Relationship,E-R)理论为基础。

它从用户出发,对现实生活中的 信息进行建模。

把现实生活中的客观对象抽象为实体和联系(ER)。

2.用途

其主要用途是,数据库设计当中的概念模型的设计。

3.模型元素集合:

3.1,数据结构: 表现为实体和属性。(即数据库中的表名和表头)

3.2,数据操作: 表现为实体中记录的增删改查操作

3.3,完整性约束: 包括自身的完整性约束(数据类型,检查,规则等)和数据间的参照完整性约束(联系等)以及用户定义的完整性

3.3举例:

3.3.1自身完整性约束:

域完整性约束:包装数据字段取值的合法性

check,default,not null;

3.3.2实体完整性约束:实体完整性是指关系的主关键字不能取空也不能重复!

一个关系可看成数据库中的若干张表,是实体的集合!

3.3.3参照完整性约束:指的是表与表之间的主关键字和外部关键字引用的约束条件

3.34用户自定义的完整性约束:

根据使用环境的要求和实际的需要,对某一具体应用所涉及的应用提出约束条件。

----------------------------------------------------------------------------------------------------------------------------------------------------------------

完整性是针对某一具体关系数据库的约束条件,它反映某一具体应用所涉及的数据必
须满足的语义要求。主要包括非空约束、唯一约束、检查约束、主键约束、外键约束
1、非空约束(Not Null Constraint) 
   这个可能大家都了解,就是我们在添加那个表 userinfo,在id、name后面都添加
了not null,就是有些列不能把它设为空,相信大家都理解,我就说下我在一个英文
资料看到的一段英文:The not null specification prohibits the insertion 
of a null value for this attribute.Any database modifucation that would 
cause a null to be inserted in an attribute declared to be not null 
generates an error diagnostic.(大家就得自己翻译了) 
2、唯一约束(Unique Constraint) 
一个唯一约束并不包括一个NULL值。直接在字段定义后加入UNIQUE即可定义该唯一约
束。 
1) 一个表只能创建一个主键约束,但一个表可以根据需要对不同的列创建若干
unique约束 
2)主键字段不允许为null ,unique允许为空 
3)一般创建主键约束时,系统自动产生簇索引,unique约束自动产非簇索引 
3、检查约束(The Check Clause) 
通过在定义数据库表里,在字段级或者是在表级加入的检查约束,使其满足特定的要
求。 
我来举一个例子 
create table student ( 
   name varchar(15) not null, 
  student_id varchar(15), 
  degree_level varchar(15), 
  primary key(student_id), 
  check(degree_level in('Bachelors','Masters','Doctorate'))); 
Here,we use the check clause to simulate an enumerated type by 
specifying that degree_level must to be one of 
'Bachelors','Doctorate'; 
4、主键约束(Primary Key Constraint) 
其实主键约束就是一张表只能建立一个主键约束,其实就是唯一约束+非空约束。大家
通过上课讨论那么多关于“依赖”的事情,估计大家都能理解了 
5、外健约束( Foreign Key Constraint) 
Foreign Key Constraint主要是确保同一个表或者不同表之间的引用完整性,所以必
须引用一个PRIMARY KEY或者UNIQUE约束,用户必须在应用表上具有REFERENCES权限
一个表中最多可以有31个外部键约束; 在临时表中,不能使用外部键约束; 主键
和外部键的数据类型必须严格匹配 。

-------------------------------------------------------转自http://blog.csdn.net/maggiedorami/article/details/8124744--------------------------------------------------

例:

  create table student( Sno char(12) not null primary key,Sname varchar(20) not null,Ssex varchar(4) not null check(Ssex ='男'or Ssex ='女') default ('男'),Sdate Date not null,Sdept char(10) default('SE') );

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐