SQLServer2008基本表操作_第1页
SQLServer2008基本表操作_第2页
SQLServer2008基本表操作_第3页
SQLServer2008基本表操作_第4页
SQLServer2008基本表操作_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

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

文档简介

1、实验一 SQL Server 2008 基本表操作、实验目的1 .掌握使用 SQL语句创建和修改表结构。2 .掌握使用 SQL语句进行索引操作。3 .掌握使用 Management Studio添加、修改和删除数据。、实验要求1 .使用SQL语句完成创建、修改和删除表结构等操作。2 .使用SQL语句完成索引的创建、修改和删除等操作。3 .使用 Management Studio图形界面完成数据的添加、修改和删除操作。4 .请参考如下表结构完成以上操作。现有学生成绩管理数据库,数据库名为ST,包含学生信息、课程信息、教师信息、选5 信息以及教学任务信息等。因此,为数据库ST设计了 5张表,分别是

2、:(1) StudentInfo:学生信息表。(2) CourseInfo:课程信息表。(3) TeacherInfo:教师信息表。(4) SC:选课信息表。(5) TeachTasksInfo:教学任务信息表。各表的表结构和表中数据示例分别如表3-1至表3-10所示。表 3-1 StudentInfo 表结构表名:StudentInfo说明:学生基本信息表属性列数据类型长度空值列约束Snochar12Not NullPK学生学号Snamenvarchar20Null学生姓名Sexchar2Null学生性别BirthdaydateNull出生日期Departnvarchar30Null学生系别

3、Majornvarchar50Null学生专业LengSchtinyintNull学生学制表3-2 StudentInfo 表中数据不例SnoSname SexBirthdayDepartMajorLengSch201001903051辛月娟 女1990-4-27经济管理系,商管理(本科)4201001903057谭文娟 女1990-11-12计算机系计算机科学与技术4(本科)201001903029明梅女1991-3-15计算机系计算机科学与技术4(本科)201011002031徐雁男1989-07-02计算机系信息管理与信息系4统(1 + 3)201011002032秦赵璇 女1989-0

4、8-21计算机系信息管理与信息系4统(1 + 3)201011801017王鹏飞 男1991-1-5服装系服装设计与工程 3(专科)201011801018哈菲菲 女1991-9-9服装系服装设计与工程(1 4+ 3)表 3-3 Courseinfo 表结构表名Courseinfo说明:课程信息表属性列数据类型长度空值列约束说明Cnochar6Not NullPK课程编号Cnamenvarchar50Null课程名称Cpnochar6NullFK先行课CreditDecimal2Null学分表3-4 Courseinfo表中数据不例CnoCnameCpnoCredit140173数据库系统概论

5、1401763140174C语言程序设计2140175操作系统1401763140176数据结木与1401743.5140178计算机英语2140179软件工殂n1401732140180计算机组成原理4表 3-5 Teacherinfo 表结构J表名:Teacherinfo说明:教师信息表属性列数据类型长度空值列约束说明TeacheriD char5Not NullPK职工号Tnamenvarchar20Null姓名Sexchar2Null性别Departnvarchar30Null所在院系ProfTitlenvarchar10Null职称Degreechar6Null学位表3-6 Teac

6、herinfo表中数据不例TeacheriDTnameSexDepartProfTitleDegree04001白红霞女计算机系教授博士090016之女J女计算机系讲师本科09004董敏女化学系教授博士09006冯李宁男计算机系副教授本科06067范美丽女数学系讲师硕士09011华玉山男计算机系助教硕士09016王洪亮男计算机系副教授本科表3-7 TeachTasksInfo表结构表名:TeachTasksInfo说明:教学任务信息表属性列数据知N 长度空值列约束说明TeachTaskIDchar26Not NullPK教学任务编号Cnochar6NullFK课程编号TeacherIDchar

7、5NullFK教师编号AcadYearchar9Null开设学年Termchar1Null开设学期ExamMethodvarchar10Null考试方式Departvarchar30Null开设部门TimeTablenvarchar 50Null上课时间表3-8 TeachTasksInfo 表中数据不例TeachTaskIDCnoTeacheAcadYear TermExamMeDepart TimeTablerIDthod(2009-2010-1)-140173040012009-20101考试计算周二第3,4节40173-04001考查机系 第1-20周(2009-2010-2)-114

8、0176090062009-20102计算周第1,2下40176-09006机系 第1-20周(2009-2010-2)-1140178060672009-20102考试数学周三第1,2节40178-06067系第1-20周(2009-2010-1)-1140180090162009-20101考查计算周三第5,6节40180-09016机第1-20周;周五第3,4节第1-20 周注:教学任务编号TeachTaskID的组成规则为(学年-学期)-课程号-教师号。如教务任务(2009-2010-1)-140173-04001 ,表示该教学任务是2009-2010学年第1学期开设,由04001号教

9、师讲授的140173号课程。表3-9 SC表结构表名:SC 说明:选课信息表属性列数据类型长度空值列约束Snochar12Not NullPK学号TeachTaskIDchar26Not NullPK任力编pGradedecimal5Null成绩表3-10 SC表中数据示例(2009-2010-1)-140173-0400120100190305784.2(2009-2010-1)-140173-0400120100190302987.7(2009-2010-1)-140173-0400120101100203182.1(2009-2010-2)-140176-0900620100190305

10、184.9(2009-2010-2)-140176-0900620100190305776.0(2009-2010-2)-140176-0900620100190302980.0(2009-2010-2)-140178-0606720101100203186.0(2009-2010-2)-140178-0606720101100203290.0TeachTaskIDSnoGrade三、实验步骤1.用 SQL语句创建 Studentinfo表在查询窗口中输入如下创建Studentinfo表白S SQL语句,并执行。USE STGOCREATE TABLE Studentinfo (Sno cha

11、r(12) primary key NOT NULL ,Sname nvarchar(20) NULL ,Sex char(2) NULL ,Birthday Date NULL ,Depart nvarchar(30) NULL ,Major nvarchar(50) NULL ,LengSch tinyint NULL )注意:在执行 CREATE TABLE 语句前必须使用USE ST命令将当前数据库切换到ST,否则Studentinfo表将加入到命令执行时的当前数据库中,而不是 ST数据库中。2.用SQL语句创建SC表在查询窗口中输入如下创建SC表的SQL语句,并执行。USE STGO

12、CREATE TABLE SC (Sno char(12),TeachTaskID char(26),Grade decimal(5, 2) NULL, primary key(Sno,TeachTaskID),FOREIGN KEY (Sno) REFERENCES StudentInfo(Sno)FOREIGN KEY (TeachTaskID) REFERENCES TeachTasksInfo(TeachTaskID)GO注意: 此语句中建立了两个外键约束,因此必须在StudentInfo, StudentInfo 中 Sno 字段,TeachTaskInfo 表, TeachTask

13、Info 表中的 TeachTaskID 字段都存在的情况下语句才能执行成功。3.为“Teacherinfo”表添加“教龄”歹U,数据类型为字符型,允许为空。( 1)在查询窗口中输入如下SQL 语句,并执行。ALTER TABLE Teacherinfo ADD working_day char(2) NULL( 2)语句执行后如果出现如下错误信息:消息4902,级别16,状态1 ,第 1 行找不到对象"Teacherinfo" ,因为它不存在或者您没有所需的权限。错误原因是没有建立Teacherinfo 表, 或者当前数据库不是ST, 必须使用use 命令将当前数据库切换

14、到ST。( 3)利用Management Studio 打开表结构设计器,查看新增列。4.修改“Teacherinfo"表的"working_day ”列数据类型为int。( 1)在查询窗口中输入如下SQL 语句,并执行。ALTER TABLE Teacherinfo ALTER COLUMN working_day int( 2)利用Management Studio 打开表结构设计器,查看working_day 的数据类型。5.删除“Teacherinfo"表的"working_day ”歹U( 1)在查询窗口中输入如下SQL 语句,并执行。ALTE

15、R TABLE Teacherinfo DROP COLUMN working_day( 2) 利用 Management Studio 打开表结构设计器,查看 working_day 是否已经被删除。6用SQL 语句删除表( 1)在查询窗口中输入如下SQL 语句,并执行。DROP TABLE Teacherinfo( 2)利用Management Studio 的对象资源管理器查看Teacherinfo 是否已经删除。7 用 SQL 语句在 Courseinfo 表上建立关于Cno 的索引名为Coursecno 的唯一索引在查询窗口中输入如下SQL 语句,并执行。CREATE UNiQUE

16、iNDEX Coursecno ON Courseinfo(Cno)8用SQL 语句根据studentinfo 表的学号和姓名列创建索引,索引名为xhxm。在查询窗口中输入如下SQL 语句,并执行。CREATE INDEX xhxm ON Studentinfo(sno,sname)9用SQL 语句删除CourseInfo 表上的索引Coursecno。在查询窗口中输入如下SQL 语句,并执行。DROP INDEX CourseInfo.coursecno注意:在SQL Server 中索引前必须限定表名。10验证是否可用DROP INDEX 语句删除主键索引( 1)查看 StudentInf

17、o 表的主键名称为:PK_StudentInfo 。( 2)在查询窗口中输入如下SQL 语句。DROP INDEX StudentInfo.PK_StudentInfo( 3)进行语法检查,显示“命令已经完成”,保证语法的正确性。( 4)执行语句,显示如下消息:消息3723,级别16,状态4,第1 行不允许对索引'StudentInfo.PK_StudentInfo' 显式地使用DROP INDEX 。该索引正用于PRIMARY KEY 约束的强制执行。说明 DROP INDEX 不能删除主键索引,只能删除利用CREATE INDEX 命令建立的普通索引。11.利用Manage

18、ment Studio 完成 StudentInfo 表数据的添加、修改、删除操作。(1)在对象资源管理器中找到需要添加数据的表名Studentinfo,右击,选择“编辑前200 行”,打开数据编辑窗口。( 2)如果要添加数据,在最后一行,即数据内容全部是NULL 的行中填写相应数据即可。如果填写的数据为无效值或违反某种约束,则会弹出提示框。如在LengSch (学制)的数据类型为tinyint ,只能是数字,如果输入字母r,则会弹出提示对话框,表示某单元格的值是无效值。按“确定”按钮可返回单元格进行修改。( 3)如果要修改数据,只需将光标移动到要修改的单元格,直接修改即可。( 4) 如果要删除数据,拖动鼠标选择要删除的行,击右键, 在快捷菜单中选择 “删除” 。注意:在数据编辑窗口中所进行的数据添加、修改、删除操作无需保存,立即生效。尤其是删除操作不可恢复,一定谨慎操作。12利用Management Studio 完成 Courseinfo 表数据的添加按照表 3-4 中的数据顺序进行输入,即先输入第一条记录( 140173, 数据库系统概论,140176,3),会弹出对话框,以示

温馨提示

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

评论

0/150

提交评论