实验三数据表的创建与管理_第1页
实验三数据表的创建与管理_第2页
实验三数据表的创建与管理_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、实验三数据表的创立与管理一、实验目的要求学生熟练掌握SQLserverManagementStudio的使用和利用T-SQL语句进展数据表的创立和删除,并对数据表和表中数据进展有效的管理。二、实验内容分别使用SQLServerManagementStudio和T-SQL语句创立和删除数据表,修改表构造,输入数据、更新数据。三、实验指导1. 数据表定义实验在“JXGL"数据库中,使用SQLServerManagementStudio建立S、C和SC三个表,其构造如表表学生表S构造列名描述数据类型允许空值说明sno学号char(8)NO主键sname姓名char(8)NOage年龄Sma

2、llintYESsex性别char(2)YESsdept所在系Varchar(50)YES表课程表C构造列描述数据类型允许空值说明cno课程号char(4)NO主键cname课程名char(20)NOcredit学分FloatYESpcno先修课char(4)YESdescribe课程描述varchar(100)YES表选课表SC构造列描述数据类型允许空值说明sno学号char(8)NO主键同时都是外键cno课程号char(4)NOgrade成绩FloatYES具体步骤如下:(1)在SQLServerManagementStudio的对象管理器中,单击数据库前面的“+"号,选择“表并

3、击右键,在弹出的快捷菜单中选择“新建表菜单项,那么进入设计表字段对话框,如图图设计字段对话框(2)在设计表字段对话框中,共有三列参数:列名,数据类型,允许Null值。“列名"就是数据库表的字段名,而“数据类型'是字段值的类型即整型、字符型、日期时间型等类型,“允许Null值'是用来设置该字段中的值能不能为空。“列属性"显示在表设计器的底部窗格中。主要有:常规展开此项可显示“名称、“允许空值、“数据类型、“默认值或绑定、“长度、“精度和“小数位数。名称:显示所选列的名称。长度:显示基于字符的数据类型所允许的字符数。此属性仅可用于基于字符的数据类型。默认值或绑定

4、:当没有为此列指定值时显示此列的默认值。此字段的值可以是SQLServer默认约束的值,也可以是此列被绑定到的全局约束的名称。该下拉列表中包含数据库中定义的所有全局默认值。假设要将该列绑定到某个全局默认值,可以从下拉列表中进展选择。另外,假设要为该列创立默认约束,可以直接以文本格式键入默认值。数据类型:显示所选列的数据类型。假设要编辑此属性,只需单击该属性的值,展开下拉列表,然后选择其它值。允许Null值:指示此列是否允许空值。假设要编辑此属性,只需在表设计器的顶部窗格中单击与列对应的“允许Null值'复选框。表设计器展开表设计器局部。标识标准:显示此列是否对其值强制唯一性的相关信息。

5、此属性的值是否为标识列以及是否与子属性“是标识"的值一样。标识种子:显示在此标识列的创立过程中指定的种子值。默认情况下,会将值1赋给该单元格。标识增量:显示在此标识列的创立过程中指定的增量值。默认情况下,会将值1赋给该单元格。计算列标准:显示计算所得列的相关信息。该属性显示的值与“公式"子属性的值一样,可显示计算所得列的公式。公式:显示计算所得列的公式。简洁数据类型:按与SQLCREATETABLE语句同样的格式显示有关字段的数据类型的信息。排序规那么:显示当使用列值对查询结果的行进展排序时,SQLServer默认情况下对列应用的排序规那么顺序。 设计好表的字段后,单击“关

6、闭"按钮或直接按“保存"按钮,弹出是否要保存更改的提示对话框,如图图是否要保存更改提示对话框 单击“是"按钮,弹出选择名称提示对话框,在这里命名为Student,单击“确定"按钮,那么建立好了Student表。用同样方法,可以建立起如表实验在学生管理数据库“EDUC"中,利用T-SQL语句创立数据表。表构造如下:表学生信息表Student_info的构造列名描述数据类型允许空值说明sno学生学号char(8)NO主键sname学生姓名char(8)NOsex学生性别char(2)YESs_native籍贯varchar(50)YESbirthd

7、ay学生岀生日期SmalldatetimeYES续表列名描述数据类型允许空值说明dno学生所在院系编号char(4)YES外键classno班级号char(4)YES外键entime学生入校时间SmalldatetimeYEShome学生家庭住址varchar(50)YEStel学生联系char(12)YES表课程信息表Course_info的构造列名描述数据类型允许空值说明cno课程编号char(10)NO主键cname课程名称char(20)NOexperiment实验时数tinyintYESlecture授课学时tinyintYESsemester开课学期tinyintYEScredit

8、课程学分tinyintYES表学生成绩信息表SC_info的构造列名描述数据类型允许空值说明sno学生学号char(8)NO主键又分别是外键tcid上课编号smallintNOscore学生成绩tinyintYES表教师信息表Teacher,_info的构造列名描述数据类型允许空值说明tno教师编号char(8)NO主键tname教师姓名char(8)NOsex教师性别char(2)YESbirthday教师岀生日期smalldateYESdno教师所在院系编号char(4)YES外键title教师职称char(14)YEShome教师家庭住址varchar(50)YEStel教师char(1

9、2)YES表教师上课信息表TC.info的构造列名描述数据类型允许空值说明tcid上课编号char(2)NO主键tno教师编号char(8)YES外键score学生成绩tinyintYESclassno班级号char(4)YES外键cno课程编号char(10)NO外键semester学期char(6)YESschoolyear学年char(10)YESclassroom上课地点varchar(50)YESclasstime上课时间varchar(50)YES表院系信息表Dept_info的构造列名描述数据类型允许空值说明dno院系编号char(4)NO主键dname院系名称char(16)N

10、Od_chair院系领导char(8)YESd_address院系地址varchar(50)YEStel号码char(12)YES表班级信息表Class_info的构造列名描述数据类型允许空值说明classno班级编号char(4)NO主键classname班级名称char(16)NOmonitor班长char(8)YESinstructor辅导员姓名char(8)YESdno院系编号char(4)NO外键由各数据表之间的联系可以看出,应依次创立院系信息表Dept_info、班级信息表Classnfo、学生信息表Student_info、教师信息表Teachernfo、课程信息表Coursen

11、fo、最后创立学生成绩信息表SC_info和教师上课信息表TCnfo。该实验中只给出前三个数据表的代码,其它数据表创立的代码类似。在数据库引擎查询文档中输入如下代码。 创立院系信息表Dept_info代码:USEEDUCGOCREATETABLEDept_info(dnochar(4)primarykey,dnamechar(16)notnull,d_chairchar(8),d_addressvarchar(50),telchar(12)GO 创立班级信息表Class_info代码:USEEDUCGOCREATETABLEClass_info(classnochar(4)primarykey

12、,classnamechar(16)notnull,monitorchar(8),instructorchar(8),telchar(12),dnochar(4),foreignkey(dno)REFERENCESDept_info(dno)GO 创立学生信息表Student_info代码:USEEDUCGOCREATETABLEStudent_info(snochar(8)primarykey,snamechar(8)notnull,sexchar(2),s_nativevarchar(50),birthdaysmalldatetime,dnochar(4),classnochar(4),e

13、ntimesmalldatetime,homevarchar(50),telchar(12),foreignkey(dno)REFERENCESDept_info(dno),foreignkey(classno)REFERENCESClass_info(classno)GO2. 数据输入和更新(1)使用SQLServerManagementStudio直接输入和修改数据在“对象资源管理器'中,依次展开“数据库JXGL表,选择要输入数据的表,单击右键,在弹出的快捷菜单中选择“编辑前200行菜单项,如图图SQLServerManagementStudio输入和修改数据界面如果要删除记录,只

14、需选择行头,然后单击右键,在弹出的快捷菜单中选择“删除命令,弹出删除提示对话框,单击“是按钮,就可以删除所选择的记录。如果要修改某条记录,选择该记录所对应的字段项就可以直接修改。注意:对于有外关键字字段值的输入,需要先输入参照数据表的数据。(2)使用T-SQL语句向数据表中插入和更新数据实验使用T-SQL语句向数据表中插入和更新数据。 向数据表S中插入记录(S13','吕淑霞,19,'女,'CS'),那么在数据库引擎查询文档中输入如下代码:USEJXGLGOINSERTINTOS(sno,sname,age,sex,sdept)VALUES('S

15、13','吕淑霞',19,'女','CS')GO在上述代码中,利用插入语句向数据表中插入了一条记录。语句格式为:INSERTINTO表名(字段名1,字段名2,)valuses(字段值1,字段值2,)使用插入语句时要注意以下几点:字段名的个数要与字段值的个数一样。在插入时,字段名与字段值按对应位置进展插入,所以字段值的类型要与相应字段名的数据类型一样。如果字段名允许为空,那么可以用NULL代替没有填写的项。在这里要注意允许为空的含义,允许为空是指该字段值存在,但现在不知道。正确输入后,按下键盘上的“F5"键或“执行"按钮

16、就执行该SQL语句了,这样就可以向数据表插入数据了。 吕淑霞同学选修了“电子商务这门课,期未的考试成绩为95分,SQL语句如下:USEJXGLGOINSERTINTOSC(sno,cno,grade)VALUES('S13','C10',95)GO其中'S13'、'C10'分别为吕淑霞同学的学号和“电子商务的课程号。或只给指定属性赋值:USEJXGLGOINSERTINTOSC(sno,cno)VALUES('S13','C9')GO 修改吕淑霞同学“电子商务的成绩为90。USEJXGLGOUPDA

17、TESCSETGRADE=90WHERESNO='S13'ANDCNO='C10'GO 在表SC中删除学号为S13'和课号C10'的记录。USEJXGLGODELETEFROMSCWHEREsno='S13'andcno='C10'GO3. 数据表构造的修改(1)使用SQLServerManagementStudio修改表构造选定要修改的数据表单击右键弹出快捷菜单,选定“设计菜单,出现图(2)使用T-SQL语句修改表构造先翻开表所在的数据库,再使用ALTER语句增加、修改或删除字段的相关信息。实验修改数据表构造。

18、为学生表“S"中年龄“age"字段增加约束,限制年龄在15岁到30岁之间包括15岁和30岁。USEJXGLGOALTERTABLESADDCONSTRAINTCON_ageCHECK(age>=15andage<=30)GO 在学生表“S"中增加班级字段“class"为可变字符串类型varcha门,长度为20。USEJXGLGOALTERTABLESADDclassvarchar(20)GO 修改学生表“S"中的“class"字段的长度为50。USEJXGLGOALTERTABLESALTERCOLUMNclassvarc

19、har(50)GO 删除学生表“S"中的“class"字段。USEJXGLGOALTERTABLESDROPCOLUMNclassGO4查看数据表信息利用sp_spaceused和sp_MSforeachtable这两个存储过程,可以方便的统计出用户数据表的大小,包括记录总数和空间占用情况。实验查看数据表的相关信息(1) 查看指定表“S"的空间大小等信息。USEJXGLGOEXECsp_spaceused'S'GO(2) 查看所有用户表的空间表大小等信息。USEJXGLGOEXECsp_MSforeachtable"execsp_spac

20、eused'?'"GO四、考前须知输入数据时要注意数据类型、主键和数据约束的限制。(2)数据更改和数据删除时要注意外键约束。五、思考题(1)数据库中一般不允许更改主键数据。如果需要更改主键数据时,应怎样处理?为什么不能随意删除被参照表中的主键。六、练习题1.创立数据表。分别使用SQLServerManagementStudio和T-SQL命令创立图书管理数据库“TSGL"中的四个数据表的构造:借阅信息表、readtype读者类型表readers读者信息表、books(图书信息表)、borrowinf。各表的构造如下:readers表构造列名描述数据类型允许空值说明ReaderID读者编号Char(10)

温馨提示

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

最新文档

评论

0/150

提交评论