资源描述:
《《数据库原理》实验3(使用SQL-Server管理数据表).doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验三:使用SQLServer管理数据表一、实验目的1.熟悉数据表的特点,理解数据库模式的概念;2.了解主键约束、外键约束、UNIQUE约束和CHECK约束的创建和应用;3.熟悉在ManagementStudio中创建、编辑及删除数据表;4.熟悉使用T-SQL语句创建、修改及删除数据表;二、实验环境已安装SQLServer2005企业版的计算机;三、实验学时2学时四、实验要求1.了解表的结构特点;2.了解SQLServer的基本数据类型;3.了解各种数据完整性约束;4.熟悉使用T-SQL语法;5.完成实验报告。五、实验准备知识(也可参考SQLServer联机丛书)
2、1.创建表时一定要指定表名,名个列的列名,数据类型和长度。同时也可为某个列指定是否允许为空(NULL
3、NOTNULL),列级约束(PRIMARYKEY
4、UNIQUE
5、FOREIGNKEY
6、CHECK),默认值,标识列以及表级约束。2.命令方式下创建数据表(命令中用方括号[]括起的部分为可选项,
7、表示二者选其一)CREATETABLE表名(列名1数据类型[(长度)][NULL
8、NOTNULL]//设置列是否为空[[CONSTRAINTconstraint_name]DEFAULT默认表达式
9、[IDENTITY[(标识种子,增长值)]//设置列的默认值或是否为标识列]
10、[[CONSTRAINTconstraint_name]PRIMARYKEY
11、UNIQUE
12、[FOREIGNKEY]REFERENCES参照表(参照列)//设置列级约束
13、CHECK(逻辑表达式)][,列名2…]//定义其它的列[,表级约束]//定义表级约束)1.命令方式下修改表(ALTERTABLE命令中有三个子句,一个命令中只能使用一个子句)ALTERTABLE表名ALTERCOLUMN列名数据类型[(长度)]//修改表中已有的某个列的类型或长度
14、ADD列定义//添加列,与创建表时的列定义一致
15、表级约束//添加表级约束,与创建表时的表级约束一致[,...n]//
16、一个ADD子句中允许添加多项
17、DROP[CONSTRAINT]约束名//删除表中指定名称的约束
18、COLUMN列名//删除表中指定名称的列[,...n]//一个DROP子句中允许删除多项2.命令方式下删除表DROPTABLE表名[,...n]//DROP命令中可删除多个表六、实验示例两个示例:l一个是书上的学生选课数据库S_T,S_T数据库中有学生表student,课程表course和学生选课表sc。各表的结构如下:学生表studentSnochar(9)Notnullprimarykey学号Snamevarchar(20)Notnull姓名Ssexchar(2)N
19、otnull性别SagesmallintNotnull年龄Sdeptvarchar(20)Notnull系别课程表courseCnochar(4)Notnullprimarykey课程号Cnamevarchar(40)Notnull课程名Cpnochar(4)先行课CcreditsmallintNotnull学分学生选课表scSnochar(9)Notnullprimarykey学号Cnochar(4)Notnullprimarykey课程号Gradesmallint成绩l另一个示例是某公司的产品销售数据库company,company数据库中存在人事表emplo
20、yee、客户表customer、销售表sales、销售明细表sale_item、产品表product。各表的结构如下:员工人事表employeeemp_nochar(5)Notnullprimarykey员工编号emp_namevarchar(10)Notnull员工姓名sexchar(2)Notnull性别deptvarchar(10)Notnull所属部门titlevarchar(10)Notnull职称date_hireddatetimeNotnull雇佣日birthdaydatetimeNull生日salaryintNotnull薪水telephoneva
21、rchar(20)Null电话addrvarchar(50)null住址客户表customercust_idchar(5)Notnullprimarykey客户号cust_namevarchar(20)Notnull客户名称addrvarchar(40)Notnull客户住址tel_novarchar(20)Notnull客户电话zipchar(6)null邮政编码销售主表salesorder_nointNotnullprimarykey订单编号cust_idchar(5)Notnull客户号sale_idchar(5)Notnull业务员编号tot_amtnum
22、eric(