复习•创建学生成绩管理数据库student。•对student进行数据库查看、修改、删除操作。•对student进行数据库的备份、还原、分离和附加。《SQLServer数据库应用》SQLServerdatabaseapplications计1003、1004班第4讲创建数据表用户需求•用户要求学生成绩管理系统主要存储如下信息:学生基本信息:存放学生的学号、姓名、家庭、住址、年级和电子邮件等信息。课程信息:存放课程的课程编号和课程名信息;成绩信息:存放成绩信息。工作任务•通过对用户需求的分析,学生成绩管理系统数据库需要三个表:学生基本信息表课程信息表成绩信息表工作任务•使用SSMS在学生成绩数据库student中创建三个数据库表。任务分析•理解数据库表相关基本概念•掌握SQLServer常用数据类型•理解主键(PrimaryKey)基本概念•了解数据库表间关系•掌握使用SSMS创建数据库表的方法步骤准备知识——数据库表概述•表是SQLServer2005中最主要的数据库对象,它是用来存储数据和操作数据的逻辑结构。•关系数据库中的所有数据都表现为表格的形式。•与电子表格相似,数据在表中是按行和列的格式组织排列的。每行代表唯一的一条记录每列代表记录中的一个域(属性或字段)。记录域(属性或字段)准备知识——数据类型数据类型系统数据类型数据类型系统数据类型二进制image字符char[(n)]Binary[(n)]varchar[(n)]varbinary[(n)]text精确数字精确整数bigintUnicodenchar[(n)]intnvarchar[(n)]smallintntexttinyint日期和时间Datetime精确小数Decimal[(p[,s])]smalldatetimenumeric[(p[,s])]货币Money近似数字float[(n)]smallmoneyreal用户自定义用户自行命名特殊bitTimestampuniqueidentifier任务实施——创建学生基本信息表任务实施——创建学生基本信息表任务实施——创建学生基本信息表输入列名选择数据类型输入数据长度设置是否为空任务实施——创建学生基本信息表任务实施——创建学生基本信息表任务实施——修改表结构任务实施——创建课程表和成绩表知识点—自增主键(定义标识列)•列的数据类型为不带小数的数据类型。•插入数据时,该列的值由系统按一定规律生成,不允许空值。•列值不重复,唯一标识表中的一行。①指定数据类型②设置是标识③设置标识种子:第1行的值④设置标识增量:递增的幅度任务实施——建立表内数据准备知识——数据完整性•数据完整性指的是存储在数据库中的数据的一致性和准确性。•数据完整性是衡量数据库中数据质量好坏的一种标志,是确保数据库中的数据一致、正确以及符合企业规则的一种思想,是使无序的数据条理化,确保正确的数据被存放在正确的位置的一种手段。准备知识—实体完整性(EntityIntegrity)•实体完整性要求表中所有行具有唯一标识符。主键(PrimaryKey)约束•主键约束要求主键不能为空值,即单列主键不接受空值,组合主键的任何列也不能接受空值。主键(PrimaryKey)任务实施——创建主键约束在要设置成主键的字段上单击右键常见问题常见问题准备知识——实体完整性(EntityIntegrity)•实体完整性要求表中所有行具有唯一标识符。唯一性(Unique)约束•唯一性约束表明同一列的任意两行都不能具有相同值。它体现了实体完整性。•若表中已有一主键,但又想保证其他的列也是唯一的,可以定义唯一性约束。•唯一性约束指定的列可以有空值。任务实施——创建唯一性约束•设置Course表中课程名不能重复。常见问题准备知识——域完整性(DomainIntegrity)•域完整性是指表中的列必须满足某种特定的数据类型或约束。数据类型的设置默认值(Default)的设置检查(Check)约束表的数据不在特定的允许范围内如何限定?设置检查约束任务实施——创建检查约束任务实施——创建检查约束SEmaillike'_%@_%._%'常见问题Sex=‘男‘orSex=‘女’age0andage60准备知识——表间关系准备知识——参照完整性(ReferentialIntegrity)•参照完整性确保在不同表之间的关键性数据保持一致。外键(ForeignKey)约束任务实施——创建外键约束•设置Score表与Students表的外键关系•设置Score表与Course表的外键关系任务实施——创建表间关系图小结•数据库表常见的数据类型•创建数据库表的步骤:定义列名称选择数据类型设置默认值、非空设置标识列(自动增长列)•创建完整性约束主键约束唯一性约束检查约束外键约束•创建关系图数据完整性总结作业•教材30-31页•第2题