实验3:SQL-SERVER数据表管理_第1页
实验3:SQL-SERVER数据表管理_第2页
实验3:SQL-SERVER数据表管理_第3页
实验3:SQL-SERVER数据表管理_第4页
实验3:SQL-SERVER数据表管理_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验3:SQLSERVER数据表理一、实验的1、学会在图界面和T-SQL语句建表。二、实内容1、创建个表在实验建的数据库中,根据分需要如下几个表:表student(学生息表)字段名称

宽度

允许空值

明snosnamesexnativebirthdaydnospnoclassnoentimehometel

char8NOTNULLchar8NOTNULLchar2NULLchar20NULLsmalldate4NULLchar6NULLchar8NULLchar4NULLsmalldate4NULLvarchar40NULLvarchar40NULL

学生学号学生姓名学生性别籍贯学生出生日学生所在院专业代码(键)班级号学生入校时学生家庭住学生联系电表course表课程信息)字段名称

类型

宽度

允许空值

主键

说明.ospno.amectnoexperimentlecturesemestercredit

char10NOTNULLchar8NULLchar20NOTNULLtinyint1NULLtinyint1NULLtinyint1NULLtinyint1NULLtinyint1NULL

课程编号专业代码(键)课程名称课程类型编(外键)实验时数授课学时开课学期课程学分表student_course表(生选课成绩)字段名称

类型

允许空值

主键

明snotcidscore

char8smallint2tinyint1

NOTNULLNOTNULLNULL

是是

学生学号上课编号学生成绩表teacher表(师信息表)字段名称

类型

允许空值

说明tnotnamesexbirthdaydnopnohomezipcodetelemail

char8NOTNULLchar8NOTNULLchar2NULLsmalldateNULLchar6NULLtinyintNULLvarchar40NULLchar6NULLvarchar40NULLvarchar40NULL

教师编号教师姓名教师性别教师出生日教师所在院教师职务或称编号教师家庭住邮政编码联系电话电子邮件表teacher_course表(教上课课表)字段名称类型宽度允空值tcidsmallint2NOTNULLtnochar8NULLspnochar8NULLclassnochar4NULL.ochar10NOTNULLsemesterchar6NULLschoolyearchar10NULLclasstimevarchar40NULLclassroomvarchar40NULLweektimetinyint1NULL

说明上课编号教师编号(键)专业代码(键)班级号课程编号(键)学期学年上课时间上课地点每周课时数

使用SSMS立EDUC数据中的各个表根据如上表构用语创建各表,将创建表SQL语句以sql文件的形式保存磁盘上。使用SSMS图形界删除建立表Student_course,Student和Course,在查询分析器用sql语句删表Tearch_course和表Teacher。在Server2005的查询析器中,用sql语句建student表CREATETABLEstudent(snochar(8)PRIMARY--学号(主键snamechar(8)NOTNULL,--名sexchar(2),别nativechar(20),--籍贯birthdaysmalldatetime,--出生期dnochar(6),在院系spnochar(8),专业码(键)classnochar(4),级号entimesmalldatetime,--入校间homevarchar(40),--庭住址telvarchar(40)--系电话)2、修改的定义

将Student表中的birthday字设为不能为空(notnull。用SQL语将Student表的属性snochar(8)成varchar(20)类型。用企业管理在Course表中添加一year,类型为varchar认置为空。用SQL语句在year字段加约束的属性值在2004-2008之间。用SQL语句Course表中的year字段删除。AlterTABLE参考语(1)向表中添字段:Altertable[名add列名]类ALTERTABLEdbo.doc_exacolumn_bVARCHAR(20)NULL(2)删除字段Altertable[表]dropcolumn[列名ALTERTABLEdbo.doc_exbCOLUMNcolumn_b(3)修改表中段类型(以修改列类型,是否为空Altertable[表名altercolumn列名]类型ALTERTABLEdbo.doc_exyALTERCOLUMNcolumn_aDECIMAL(5,2)(4)添加主键Altertable[表]addconstraint[

约束名primarykey([列名)(5)添加唯一束:Altertable[表名addconstraint[

约束名unique([列])(6)添加表中列的默认:Altertable[表名addconstraint约束名default(认值for[列名]ALTERTABLEdbo.doc_exzADDCONSTRAINTcol_b_defDEFAULT50FORcolumn_b(7)添check束:Altertable[表名addconstraint[约名]check(内容ALTERTABLEdbo.doc_exdNOCHECKADDCONSTRAINTexd_checkCHECK(column_a1)(8)加外键约:Altertable表名addconstraint约束名]foreignkey(列名)referencese另一表名(列名ALTERTABLEPerson.ContactBackupADDCONSTRAINTFK_ContactBacup_ContactFOREIGN(ContactID)REFERENCESPerson.Person(BusinessEntityID);删除约束:Altertable名dropconstraint约名重命名表:sp_rename'[原名]','[新表]'(11)重命名列名execsp_rename名].[列名]','[表名].[新列名]'3、使用据库实验中涉及张表:部表、职工。部门表包括部门号、名称、经理、地址、话号以及个部门号主约束和一名称的唯性约束。职工表包括工号、姓、年龄、务、工资、部门号以及一个职工号主键约束一个部门好的外约束和一年龄的检约束。本实验通过这两张表操作来验数据库约束的相关概念。(1)建立据和关结useqixindroptable职工droptable部门createtable部(部门号char(4),名称varchar(20)notnull,经理名varchar(8),地址varchar(50),电话号varchar(20),constraint部门号primary部门),constraintU_名unique(称)createtable职(职工号char(4),姓名varchar(8)null,年龄int,职务varchar(10),工资money,部门号char(4),constraint职工号primary职号),constraintFK_部门号foreignkey(部号)references部部门号)deletecascade,constraint年龄check(年龄=60))验主键)束insertinto部门values('0001','财务','张','北汽车工学院','8238787')如果次insertinto部门values('0001','财务科','张三','湖北汽车工学院','8238787')则会违了PRIMARYKEY约束'PK__部门__571DF1D5'。不在对象部门中插入重复键验唯性UNIQUE)束如果执行insertinto部门务科','张三湖北汽车工学院','8238787')则会反了UNIQUEKEY约束'UQ__部门__5812160E'。能在对象'部门'中插入重复键。验检查CHECK)约insertinto部门values('0002','教务科,'李四','湖北汽车工业学','8238787')insertinto部门values('0003','人事科,'王二','湖北汽车工业学','8238787')insertinto职工values('0001','张','30','科长,2000,'0001')insertinto职工values('0002','李','25','副科',1500,'0001')insertinto职工values('0003','王','33','科长,2000,'0002')insertinto职工values('0004','赵','34','副科',1500,'0002')insertinto职工values('0005','陈','29','科长,2000,'0003')insertinto职工values('0006','孙','28','副科',1500,'0003')如果执行insertinto职values('0007','陈红','70','副科长',1500,'0003'),会INSERT语句与COLUMNCHECK约束'CK__职工__年龄__656C112C'突。冲突发生于数据库'qixin',表'工',column'年龄'。验外键约当指定ondeletecascade为级联删,删除部表记录时职工表中相关的记录也会同时删除deletefrom部门where部门号='0001'deletefrom部门where部门号='0002'deletefrom部门where部门号='0003'如果不指定ondeletecascade时默认为受删除,除部表记录时,会DELETE语句与COLUMNREFERENCE约束'FK__职_部门__6D0D32F4'冲突冲突发生数据库'qixin',表'职工',column'

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论