你的位置:首页 > 数据库

[数据库]日思夜想之用表组织数据


                            用表组织数据

1.数据完整性(指数据库的数据能够正确地反映实际情况)(通过数据库表的设计和约束实现)

   1.实体完整性约束(表中每一行数据反映不同的实体 即不存在相同的数据行)

   2.域完整性约束(指给定列输入的有效性)

   3.引用完整性约束(对于两张表而言  保持表之间已定义的关系)

   4.自定义完整性约束()

2.主键和外键

主键(Primary Key):

        用来唯一标识表中的每一行的列,称为该表的主键(用于强制表的实体完整性)

注意:

      一个表只能有一个主键,且不允许有空值(null),若表中没有主键,则强行给表设置一个Id作为该表的主键

复合主键:两列或多列组合起来唯一标识表中的每一行的主键称为复合主键

外键(Foreign Key):

        在一张表A(Student)中存在一个主键(StudentNo),在一张表B(Result)中存在一列(StudentNo),那么表B中的改键就称为表A的外键。

外键是用来强制引用完整性的。一个表可以有多个外键。

二进制数据类型存储非字符和文本的数据image存储图像
文本数据类型字符数据(任意字母、符号或数字字符的组合)

char(固定程度非Unicode字符最长为8000个字符)

varchar(可变长度的非Unicode字符)

nchar(固定长度的Unicode字符)

nvarchar(可变长度的Unicode字符)

text=nvarchar(max)(存储长文本信息)

ntext(存储可变长度的长文本)

 
日期和时间数据类型存储日期和时间datetime 
数字数据类型该数据仅包含数字,包括正数、负数及分数int  及smalliint存储整数 
货币数据类型用于十进制货币值

money

decimal(18,0)

 
bit数据类型只表示两种选择  用0和1表示  1代表是  0代表否bit存储布尔类型数据

 

 

 

 

 

 

 

 

 

 

3.如何完善表的设计结构

 1.是否允许为空值

 2.建立主键

 3.默认值

 4.标识列

    有标识种子,标识增值  设为标识列的一列不可自行赋值,系统自动生成。前提:必须是int数据类型

    设为标识列的一列,如果输入错误一次,该值就会被占用,会出现值断续的情况

5.通配符:

  “—”:表示任意的任意一个字符

 “%”:表示任意多个任意字符

  两者皆用like ’ ‘

4.建立表间关系

  建立表间关系实际上就是实施引用完整性约束、建立主表和从表关系。

5.建立数据关系图

6.建立检查约束

  或者:or

  并且:AND

  通配符的应用

7.删除数据库表

   注意:删除有主从表关系的数据库表,若要删除主表,则首先要删除相关的从表以保证数据的引用完整性