《工信版(中职)计算机组装与维护A0302教学课件.pptx》由会员分享,可在线阅读,更多相关《工信版(中职)计算机组装与维护A0302教学课件.pptx(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、YCF(中职)计算机组装与维护A0302教学课件我们毕业啦其实是答辩的标题地方任务二 创建数据表SQL Server数据库项目教程教学课件项目3:创建和管理数据表1.知识准备2.使用SSMS创建数据表3.使用T-SQL创建数据表4.导出Create Table脚本CONTANTS思维导图1.知识准备1.知识准备1.1 数据类型 在SQL Server 中常用数据类型有以下几种:数值数据、字符数据、货币数据、日期和时间数据、二进制字符串等。数值型数据就是通常所说的数字,它可以由09之间的数字、正负符号与小数点组成。整数类型是不带小数的类型;而带小数点的类型通常称为浮点型。数字、字母、汉字及标点符
2、号都可以称为字符。货币型数据是代表货币或货币值的数据类型。日期和时间数据是用来存储日期和时间的数据。二进制类型是以二进制字符的格式来存储字符串的。1.知识准备1.2 数值型数据类型 整数类型主要包括int、smallint、tinyint、bigint和bit这5种,其中,int数据类型是SQL Server中比较常用的数据类型。但是当int的取值范围满足不了要求时,可以考虑使用bigint数据数据类型,具体范围如表所示。数据类型 范围 存储in t-231 到 231-1 4 字节smallin t-215 到 215-1 2 字节tin yin t 0 到 255 1 字节bit 0、1
3、或者NULL 若表中的列为8 列或更少,则这些列作为1 个字节存储。若列为9 到16 列,则这些列作为2 个字节存储,以此类推。bigin t-263 到 263-1 8 字节1.知识准备1.3 浮点型 浮点型数据可以分为精确数字和近似数字两种。精确数字分numeric和decimal两种,是带固定精度和小数位数的数值数据类型。例如:numeric(6,2),表示小数的长度是6,但是只有2位小数。近似数字分float和real两种,用于表示浮点数值数据的大致数值数据类型。float(n)其中n为用于存储float数值尾数的位数(以科学记数法表示)下表表示了float和real的范围。数据类型
4、范围 存储floa t-1.79E+308 至-2.23E-308、0 以及 2.23E-308 至 1.79E+308 取决于 n 的值r eal-3.40E+38 至-1.18E-38、0 以及 1.18E-38 至 3.40E+38 4 个字节1.知识准备1.4 字符型数据类型 字符型数据被放在单引号()中,用于区别其他类型的数据。例如,student、计算机、123456789等都是字符型数据。每个字符型数据都有长度,其长度是该字符型数据的字符个数。常用的字符数据类型有 char、varchar、text三种,用于存储ANSI字符。nchar、nvarchar和ntext三种类型,这三
5、种类型用于存储Unicode字符,在Unicode字符串中,一个字符用2个字节来存储。1.知识准备1.5 货币型数据类型 常用的有money和smallmoney数据类型,能精确到它们所代表的货币单位的万分之一。下表表示了这两个数据类型的范围数据类型 范围 存储mone y-922,337,203,685,477.5808 到 922,337,203,685,477.58078 字节smallmone y-214,748.3648 到 214,748.3647 4 字节1.知识准备1.6 日期和时间数据类型 常用的类型有datetime、smalldatetime、date、time、date
6、time2和datetimeoffset六种。datetime和smalldatetime这两种类型都是日期和时间混合的类型。date用于专门存放日期数据。time用于专门存放时间数据。datetime2用于存放日期和时间的混合数据,但是提高了时间的精度。datetimeoffset用于存放日期、时间和时区的混合数据。1.知识准备1.7 二进制数据类型 二进制类型是以二进制字符的格式来存储字符串的,例如“01110110”,也可以是一个二进制文件。该类型主要有三种binary、varbinary和image,其数据范围如下所示。数据类型 范围 存储长度binar y(n)1 至8000 个字节
7、 固定长度n 字节v arbinar y(n|ma x)n:1 至8000 个字节max:1 至231-1 个字节n:可变长度,输入数据的实际长度max:输入数据的实际长度+2 个字节imag e 1 至231-1 个字节 可变长度,输入数据的实际长度1.知识准备1.8 约束 在创建表结构时,同时也要对约束进行设置。列约束主要有以下几项:UNIQUE唯一性约束、PRIMARY KEY主键约束、FOREIGN KEY外键约束、CHECK检查约束、DEFAULT默认约束。1.知识准备1.8.1 主键约束 主键(Primary key)约束是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录
8、。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表的主键可以由多个关键字共同组成,并且主键的列不能包含空值。1.知识准备1.8.2 唯一性约束 唯一约束确保表中的一列数据没有相同的值。与主键约束类似,唯一约束也强制唯一性,但唯一约束主要用于非主键的一列或者多列的组合,且一个表可以定义多个唯一约束。唯一性约束允许该列上存在空值,主键则不允许出现空值。1.知识准备1.8.3 检查约束 CHECK 约束用于限制列中的值的范围。通过逻辑表达式来判断数据的有效性,用来限制输入一列或多列的值的范围,在列中更新数据时,所要输入的内容必须
9、满足约束的条件,否则将无法正确输入。比较运算符:=、=、=、通配符:%、_、charlist、charlist 函数:len()1.知识准备1.8.3 检查约束 举例:1)要求字段名中的输入项为4位数字:(字段名 LIKE 0-90-90-90-9)2)性别只能填写男和女:(字段名=男or 字段名=女)3)规定密码长度不能小于6位数:(len(字段名)(5)4)要求成绩在0到100之间:(字段名0 AND 字段名100)5)检查邮件地址是否有效:(字段名 LIKE%)1.知识准备1.8.4 默认约束 若在表中定义了默认值约束,用户在插入新的数据行时,如果该行没有指定数据,那么系统将默认值赋给该
10、列。如果不设置默认值,系统默认为NULL。若要输入文本字符串,请用单引号()将值括起来;不要使用双引号(),因为双引号已保留用于带引号的标识符。若要输入数值默认值,请输入数值并且不要用引号将值括起来。若要输入对象/函数,请输入对象/函数的名称并且不要用引号将名称括起来。1.知识准备1.8.5 外键约束 如果公共关键字在一个关系中是主关键字,那么这个公共关键字被称为另一个关系的外键。外键表示了两个关系之间的相关联系。以另一个关系的外键作主关键字的表被称为主表,具有此外键的表被称为主表的从表。外键又称作外关键字。外键约束并不仅仅可以与另一表的主键约束相链接,它还可以定义为引用另一个表中唯一约束的列
11、。外键约束仅能引用位于同一服务器上的同一数据库中的表。外键约束可引用同一表中的其他列,此行为称为自引用。1.知识准备1.9 CREATE TABLE语法 CREATE TABLE是创建数据表的完整语法,它的参数非常多,在业务应用中,很少会使用到全部的参数。以下是 CREATE TABLE创建数据表的简洁语法 说明:NULL|NOT NULL指定列的非空性,默认为NOT NULL。IDENTITY(SEED,INCREMENT)指定标识列,SEED为标识种子,INCREMENT为增量。1.知识准备1.10 在创建表格同时设置约束 列约束主要有:UNIQUE唯一性约束、PRIMARY KEY主键约
12、束、FOREIGN KEY外键约束、CHECK检查约束、DEFAULT默认约束。1.知识准备1.10 在创建表格同时设置约束 说明:一般uq_name格式为:uq_表名_列名,Sort是排序规则,默认是ASC升序,也可以是DESC降序1.知识准备1.11 举例:创建带约束的数据表2.使用SSMS创建数据表2.使用SSMS创建数据表实训案例1 任务概述:1.根据任务1设计的表结构,在数据库dbStudentScore中创建8个简单表:“院系表”、“专业表”、“教师表”、“班级表”、“学生表”、“课程信息表”、“课程教学任务表”和“成绩表”。2.使用SSMS创建数据表2.1 任务分析使用SSMS图
13、形界面方式创建数据表“院系表”、“专业表”、“教师表”。(1)“院系表”命名为tbDepartment。对院系代码创建主键约束,对院系名称创建唯一性约束。(2)“专业表”命名为tbMajor。对专业代码创建主键约束,对专业名称创建唯一性约束,设置院系代码为关联表tbDepartment的外键。(3)“教师表”命名为tbTeacher。对教师代码创建主键约束,对性别创建检查约束。任务配备微课视频2.使用SSMS创建数据表2.2 实施步骤1.在“对象资源管理器”中的“dbStudentScore”数据库展开,单击选中“表”选项,单击鼠标右键,弹出的快捷菜单中选择【新建表】。2.弹出表设计界面,按照
14、表tbDepartment的内容填写“列名”、“数据类型”、根据属性勾选“允许NULL值”选项。2.使用SSMS创建数据表2.2 实施步骤3.选择DepartmentID字段,单击鼠标右键,从弹出的快捷菜单中选择“设为主键”命令。4.完成设置后,DepartmentID字段的开头会出现钥匙形状的图标。5.选择任意一个字段,单击鼠标右键,从弹出的快捷菜单中选择“索引/键”命令,打开【索引/键】对话框。2.使用SSMS创建数据表2.2 实施步骤6.单击“添加”按钮,在右侧属性列表的“类型”下拉列表框中选择“唯一键”。7.单击“列”后面的按钮,打开【索引列】对话框,在“列名”下拉列表框中选择“Dep
15、artmentName”字段,排序采用默认设置。2.使用SSMS创建数据表2.2 实施步骤8.单击“确定”按钮,返回【索引/键】对话框。单击“关闭”按钮,返回【表设计器】。以“tbDepartment”名称进行“保存”。9.按以上的操作方法,创建tbMajor表。设置MajorID字段为主键,设置MajorName字段为唯一键。2.使用SSMS创建数据表2.2 实施步骤10.在任一个字段上单击鼠标右键,从弹出的快捷菜单中选择“关系”命令,弹出【外键关系】对话框,单击“添加”按钮,添加一个外键约束。单击“表和列规范”后面的按钮,打开【表和列】对话框。在“关系名”文本框中输入“fk_tbDepar
16、tment_DepartmentID_tbMajor_DepartmentID”;在“主键表”下拉列表框中选择tbDepartment,并在下方选择列名DepartmentID;在“外键表”tbMajor的下方选择列名DepartmentID。最后数据表以“tbMajor”表名进行“保存”,完成数据表的创建。2.使用SSMS创建数据表2.2 实施步骤11.按以上的操作方法,创建tbTeacher表。设置TeacherID字段为主键。选择任一个字段,单击鼠标右键,从弹出的快捷菜单中选择“CHECK约束”命令,打开【CHECK 约束】对话框。单击“添加”按钮,添加检查约束,命名为ck_tbTeac
17、her_Sex,逻辑表达式为:Sex in(男,女)。最后数据表以“tbTeacher”表名进行“保存”,完成数据表的创建。3.使用T-SQL创建数据表3.使用T-SQL创建数据表使用TSQL语句创建“班级表”、“学生表”、“课程信息表”、“课程教学任务表”和“成绩表”。(1)“班级表”命名为tbClass。对班级代码创建主键约束,对班级名称创建唯一性约束,设置班主任的教师代码为关联表tbTeacher的外键,设置专业代码为关联表tbMajor的外键。(2)“学生表”命名为tbStudent。对学生学号创建主键约束,对性别、是否团员创建检查约束,设置班级代码为关联表tbClass的外键。(3)
18、“课程信息表”命名为tbCourse。对课程代码创建主键约束,对课时数、考试类型、课程类型创建检查约束。实训案例23.使用T-SQL创建数据表(4)“课程教学任务表”命名为tbTeachingTasks。对教学任务代码创建主键约束,对学期创建检查约束,对选课时间创建默认约束,设置课程代码为关联表tbCourse的外键,设置教师工号为关联表tbTeacher的外键,设置学生学号为关联表tbStudent的外键。(5)“成绩表”命名为tbScore。它包含了成绩代码的主键约束,课程代码的外键约束,学生学号的外键约束,平时成绩、期中成绩、期末成绩、总评成绩和学分的检查约束,备注信息的检查约束,成绩录
19、入时间的默认约束和成绩录入教师工号的外键约束。任务配备微课视频实训案例23.使用T-SQL创建数据表3.1 实施步骤1.创建班级表为tbClass,在查询窗口输入代码,然后按F 5键执行。3.使用T-SQL创建数据表3.1 实施步骤2.创建成绩表为tbStudent,在查询窗口输入代码,然后按F 5键执行。3.使用T-SQL创建数据表3.1 实施步骤3.创建成绩表为tbCourse,在查询窗口输入代码,然后按F 5键执行。3.使用T-SQL创建数据表3.1 实施步骤4.创建成绩表为tbTeachingTasks,在查询窗口输入代码,然后按F 5键执行。3.使用T-SQL创建数据表3.1 实施步
20、骤5.创建成绩表为tbScore,在查询窗口输入代码,然后按F 5键执行。3.使用T-SQL创建数据表拓展实训案例1 现有关系数据库如下:(1)数据库名:宿舍管理数据库(2)住宿生信息表(学号,姓名,性别,年龄,民族,身份证号,宿舍号),其中要求创建主键,宿舍电话为7位电话号码(3)宿舍表(宿舍号,宿舍电话),其中要求创建主键、外键,非空(姓名,年龄,民族)、唯一(身份证号)、检查(性别)请使用SQL语句创建数据库表。本案例配备微课视频3.使用T-SQL创建数据表拓展实训案例2按要求写出相应的T-SQL语句:(1)对student数据库的stu_info学生信息表中的学号stu_id列建立一个名为idx_stu_id索引。(2)对hospital数据库的doctor医生信息表中的编号doctor_id列建立一个名为idx_doctor_id索引。(3)对company数据库的employee员工信息表中的工号employee_id列建立一个名为idx_employee_id索引。4.导出Create Table脚本4.导出Create Table脚本创建数据表“教师表”的脚本任务配备微课视频实训案例34.导出Create Table脚本4.1 实施步骤使用菜单进行操作:THANKS