实验:使用SQLServer管理数据表一、实验目的1.熟悉数据表的特点;2.熟悉在ManagementStuio中创建、编辑及删除数据表;3.熟悉使用T-SQL创建、编辑及删除数据表;二、实验环境已安装SQLServer2005企业版的计算机;具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.了解表的结构特点;2.了解SQLServer的基本数据类型;3.熟悉使用T-SQL语法;4.完成实验报告。五、实验内容请分别使用ManagementStuio及T-SQL完成以下内容:1、请在指定数据库内完成以下内容:1)依据数据表的结构创建相对应的数据表,表结构如下所示;学生信息表(student)字段名称字段类型及长度说明备注SnoChar(9)学生学号主关键字SnameChar(6)学生姓名非空SsexChar(2)学生性别可为空SageInt学生年龄可为空SdeptVarChar(8)学生所在院系可为空课程信息表(course)字段名称字段类型及长度说明备注CnoChar(4)课程编号主关键字CnameVarChar(20)课程名称非空CpnoChar(4)先行课可为空CcreditInt学分可为空选课信息表(sc)字段名称字段类型及长度说明备注SnoChar(9)学生学号主关键字CnoChar(4)课程编号主关键字GradeInt成绩可为空2)在表student中增加新字段“班级名称(sclass)“;usestudentinfogoaltertablestudentaddsclasschar(5)go3)在表student中删除字段“班级名称(sclass)”;usestudentinfogoaltertablestudentdropcolumnsclassgo4)修改表student中字段名为“sname”的字段长度由原来的6改为8;usestudentinfogoaltertablestudentaltercolumnSnamechar(8)go5)修改表student中字段“sdept”名称为“dept”,长度为20;usestudentinfogoaltertablestudentaltercolumnsdeptchar(20)EXECsp_rename'student.sdept','dept','column'go6)修改表student中sage字段名称为sbirth,类型为smalldatetime;usestudentinfogoaltertablestudentaltercolumnsagesmalldatetime;execsp_rename'student.sage','sbirth','column';go7)修改表student新名称为stu_info;USEstudentinfogoEXECsp_rename'student','stu_info','table'go8)删除数据表student;droptablestudentinfo.dbo.student2、创建教师授课管理数据库JSSK,并完成以下内容;1)在数据库JSSK中创建下列三张表;表名:teachers列名数据类型说明描述Tno字符型,长度7主键教师号Tname字符型,长度10非空姓名Tsex字符型,长度2默认取值为“男”性别Birthday小日期时间型允许空出生日期Dept字符型,长度20允许空所在部门Sid字符型,长度18身份证号表名:lessons列名数据类型说明描述Cno字符型,长度10主键课程号Cname字符型,长度20非空课程名Credit短整型学分property字符型,长度为10课程性质表名:shouke列名数据类型说明描述Tno字符型,长度7主键教师号Cno字符型,长度10主键课程名Hours整数课时useJSSK;gocreatetableteachers(Tnochar(7)primarykeynotnull,Tnamechar(10)notnull,Tsexchar(2)default('男'),Birthdaysmalldatetimenull,Deptchar(20)null,Sidchar(18))createtablelessons(Cnochar(10)primarykeynotnull,Cnamechar(20)notnull,Creditsmallint,propertychar(10))createtableshouke(Tnochar(7)notnull,Cnochar(10)constraintPk_shoukeprimarykey(Tno,Cno)notnull,Hoursint)Go2)在shouke表里添加一个授课类别字段,列名为Type,类型为Char,长度为4;useJSSK;GOaltertableshoukeaddTypechar(4)go3)将shouke表的Hours的类型改为smallint;useJSSK;GOaltertableshoukealtercolumnHourssmallintgoMB4)删除lessons表中的property列;useJSSK;GOaltertablelessonsdropcolumnpropertygo3、(选做)创建产品销售数据库CPXS,数据文件的逻辑文件名为cpxs_data,物理文件名为D:\sql\cpxs.mdf;文件初始大小为2MB,自动增长,每次增长1MB;日志文件逻辑文件名为cpxs_log,物理文件为D:\sql\cpxs.ldf;文件初始大小2MB,自动增长,每次增长15%;createdatabasecpxsON(NAME=cpxs_DATA,FILENAME='E:\sql\cpxs.mdf',SIZE=3MB,FILEGROWTH=1MB)LOGON(NAME=CPXS_LOG,FILENAME='E:\sql\cpxs.ldf',SIZE=2MB,FILEGROWTH=15%)go1)在数据库CPXS中创建下列三张表;表名:产品表(cp)表结构列名数据类型说明描述Cpbh字符型,长度6主键产品编号Cpmc字符型,长度30非空产品名称Jg浮点型,长度8允许空价格Kcl整型,长度4允许空库存量表名:销售商(xss)表结构列名数据类型说明描述Xsbh字符型,长度6主键销售商编号Xsmc字符型,长度30非空销售商名称Dq字符型,长度10允许空地区Fzr字符型,长度8允许空负责人Dh字符型,长度12允许空电话Bz文本,长度16允许空备注表名:产品销售(xss)表结构列名数据类型说明描述Cpbh字符型,长度6主键产品编号Xsbh字符型,长度6主键销售商编号XssjDatetime,长度8非空销售时间Sl整型,长度4非空数量Je浮点型,长度8非空金额usecpxsgocreatetable产品表(Cpbhchar(6)primarykeynotnull,Cpmcchar(30)notnull,Jgchar(8)null,Kclintnull)createtable销售商(Xsbhchar(6)primarykeynotnull,Xsmcchar(30)notnull,Dqchar(10)null,Fzrchar(8)null,Dhchar(12)null,Bzxmlnull)createtable产品销售(Cpbhchar(6)notnull,Xsbhchar(6)notnullconstraintPk_产品销售primarykey(Cpbh,Xsbh),XssjDatetimenotnull,Slintnotnull,Jefloat(8)notnull)go六、出现问题及解决方法如数据表无法创建或删除等问题;遇到如下问题:在用T-SQL语言创建表的过程中,两个字段均为主键的定义问题。通过定义复合主键constraintPK_(table_name)primarykey(字段1,字段2)来实现;int数据类型不能指定长度。