学习一个东西最开始都是概念开始,哪有直接就上手操作的,什么都不知道,就XJBG,结果是会了,但是为什么这么弄都不知道,让自己的上升空间为000000;所以从概念开始:
表的基本概念:由行和列组成的二维表;
1.表结构:组成表的各列的名称及数据类型;
2.记录:行数据就是记录;
3.字段:构成记录的每个数据项;
4.空值:没有值的,将在以后添加数据;
5.关键字:唯一标识记录(不允许为空值);
表中数据的完整性:
1.规则:满足一些基本条件;如:性别只能是男女;
2.默认值:数据的默认取值;可以设置性别的默认值为男;
3.约束:表中数据应该满足强制性条件;
(1).非空约束(NOT NULL):不接受NULL值;
(2).检查约束(CHECK约束):输入可能的值;如:性别只能是男女;
(3).唯一约束(UNIQUE约束):一列中不允许出现两个和两个以上的相同值;
(4).主键约束(PRIMARY KEY约束):定义为主键的列不允许出现两个和两个以上的相同值;
(5).外键约束(FOREIGN约束):输入的外键值必须在对应的候选码中存在;
数据类型:
精度:十进制数的总位数;
小数位数:小数点右边的数字位数;
长度:存储数据所使用的字节数;
1.数字数据类型:可以存储整数精确数据;
(1).Bjgint:8个字节,可以存储正负数;(2的63次方)
(2).Int:4个字节,可以存储正负数;(2的32次方)
(3).Smallint:2个字节,可以存储正负数;(3的16次方)
(4).Decima(精度可变化)l和Numeric:带固定精度和位数;用法:Decimal(5,2),精度就为10,小数位数就为2
(5).Money(8个字节)和Smallmoney(4个字节):存储货币数值的数据,他们两个大小的取值不同;他们是确定性数值类型;
(6).float(8个字节)和Real(4个字节):科学计算使用;
(7).Bit:存储0,1,null;主要用于逻辑判断;
2.字符数据类型:用于存储字符数据;字符数据用单引号引起来;
(1).char:存储固定长度的字符数据类型;(1--8000)
(2).Varchar:可以存储可变的字符数据类型;(1--8000)
(3).Unicode数据类型:如果存储的数据有可能涉及到多种语言时使用
Nchar,Nvarchar,Ntext(这个将被取消)(1--4000)
3.Datetime(1900-9999 精度3.33毫秒)和Smalldatetime(1900-2079 精度1分钟)数据类型:时间精度和范围不同。
4.二进制数据类型:存储二进制数据
(1).Binary:存储固定长度的数据
(2).Varbinary:存储可变的数据(大于8000时建议使用)
(3).Image:存储图像信息 ,被Varbinary大数值类型取代;
5.其他数据类型:
(1).Cursor:变量或者存储过程输出的参数使用;
(2).Sql_Variant:包含有关数据的类型信息;
(3).Table:存储结果集;
(4).Timestamp:表示先后是顺序的时间戳数据类型,当对数据操作室,就会增加时戳值
(5).Uniqueidentifier(16个字节):确保对象的唯一性;
表结构的设置步骤:
确定表的名字和属性--->确定表的列的属性
最好的建表及其对象是预先将设计写在纸上:设计时应该注意:
(1).表中所含的数据的类型
(2).表的各列及每列的数据类型;
(3).哪些列允许为空
(4).是否使用以及何时使用约束
(5).所需的索引类型,哪里需要索引,哪些列设置为主键,哪些列设置为外键。
例如:学生管理系统的三个表
student表:
course表:
grade表: