北邮数据库实验二用SQL Server实现数据库设计

合集下载

SQL SERVER数据库系统设计与实现实验报告

SQL SERVER数据库系统设计与实现实验报告

SQL SERVER数据库系统设计与实现实验报告编制教师傅荣会(适用于计算机科学学院各专业)计算机科学学院实验一:数据库的定义、建立和维护指导教师:实验日期:年月日实验地点:成绩:实验目的:了解SQL Server数据库的逻辑结构和物理结构;了解表的结构特点;了解SQL Server的基本数据类型;了解空值概念;学会在“对象资源管理器”中创建数据库和表;学会使用T-SQL语句创建数据库和表。

实验内容及基本要求:l、创建一个新的数据库。

创建用于企业管理的员工管理数据库,数据库名为YGGL。

数据库YGGL的逻辑文件初始大小为10MB,最大大小50MB,数据库自动增长,增长方式是按5%比例增长。

日志文件初始大小为2MB,最大可增长为5MB(默认为不限制),按1MB增长(默认是按5%比例增长)。

数据库的逻辑文件名和物理文件名均采用缺省值。

事务日志的逻辑文件名和物理文件名也均采用缺省值。

要求分别使用“对象资源管理器”和T-SQL命令完成数据库的创建工作。

2、在创建好的数据库YGGL中创建数据表。

考虑到数据库YGGL要求包含员工的信息、部门信息以及员工的薪水信息,所以数据库YGGL 应包含下列3个表:Employees(员工信息)表、Departments(部门信息)表、Salary(员工薪水情况)表。

各表的结构分别为表T2.1、T2.2和表T2.3所示。

表T2.1 Employees表结构表T2.2 Departments表结构表T2.3 Salary表结构要求分别使用“对象资源管理器”和T-SQL语句完成数据表的创建工作。

基本要求:1.写出实验步骤2.写出实验中遇到的问题及解决的方法实验总结:实验评价(教师):实验二:数据查询指导教师:实验日期:年月日实验地点:成绩:实验目的:掌握SELECT语句的基本语法;掌握子查询的表示;掌握连接查询的表示;掌握SELECT语句的GROUP BY子句的作用和使用方法;掌握SELECT语句的ORDER BY子句的作用和使用方法;实验内容及基本要求:在企业管理器中向数据库YGGL表加入数据在企业管理器中向表Employees中加入如表1所示的记录。

院校资料-北邮数据库实验-实验一实验二

院校资料-北邮数据库实验-实验一实验二

北邮数据库实验-实验一实验二学姐们倾情奉献~跪安吧少年少女们!北京邮电大学实验报告课程名称数据库系统原理实验内容实验一SQL SERVER安装、数据库创建与维护实验班级姓名指导老师成绩_________2014年03月18日实验一SQL SERVER安装、数据库创建与维护实验实验目的:1.通过对SQL SERVER2000的安装和简单使用:(1)了解安装SQL SERVER2000的软硬件环境和安装方法;(2)熟悉SQL SERVER2000相关使用;(3)熟悉SQL SERVER2000的构成和相关工具;(4)通过SQL SERVER2000的使用来理解数据库系统的基本概念。

实验内容。

2.通过创建数据库、并进行相应的维护,了解并掌握SQL SERVER数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素。

实验内容:1.SQL SERVER2000 安装(1)在windows2000/XP上安装并运行SQL SERVER2000。

(2)练习启动和停止数据库服务。

(3)通过SQL SERVER Enterprise Manager连接数据库。

(4)熟悉SQL SERVER Enterprise Manager的各项功能,了解SQL SERVER的主要对象。

(5) 了解SQL SERVER在安装时自动创建的数据库和几类系统表。

2.数据库创建与维护(1)创建“学生选课”数据库;要求主文件组包含主要文件和次要文件,建立两个次要文件组,分别包含两个次要文件,要求有相应的日志文件;(2)对数据库属性和参数进行查询、相应的修改和维护,内容包括:调整数据库的大小,完成数据库大小的增加、减小;增加文件组;修改日志文件的最大值;查看数据库的属性值;(3)练习数据库的删除等维护;(4)用Enterprise Manager管理工具和交互式的Transact_SQL语句分别完成以上操作。

SQL数据库实验报告实验二

SQL数据库实验报告实验二

SQL数据库实验报告实验二第一篇:SQL数据库实验报告实验二实验2SQL Server数据库的管理1.实验目的(1)了解SQL Server 数据库的逻辑结构和物理结构的特点。

(2)掌握使用SQL Server管理平台对数据库进行管理的方法。

(3)掌握使用Transact-SQL语句对数据库进行管理的方法。

2.实验内容及步骤(1)在SQL Server管理平台中创建数据库。

① 运行SQL Server管理平台,在管理平台的对象资源管理器中展开服务器。

② 右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。

在新建数据库对话框的数据库名称文本框中输入学生管理数据库名studentsdb,单击“确定”按钮。

(2)选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“文件”、“文件组”、“选项”、“权限”和“扩展属性”等页面。

(3)打开studentsdb数据库的“属性”对话框,在“文件”选项卡中的数据库文件列表中修改studentsdb数据文件的“分配的空间”大小为2MB。

指定“最大文件大小”为5MB。

修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。

(4)单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL语句CREATE DATABASE创建studb数据库。

然后通过系统存储过程sp_helpdb查看系统中的数据库信息。

(5)在查询设计器中使用Transact-SQL语句ALTER DATABASE 修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。

(6)在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。

(7)使用SQL Server管理平台将studb数据库的名称更改为student_db。

(8)使用Transact-SQL语句DROP DATABASE删除student_db数据库。

北邮大三下数据库实验报告2

北邮大三下数据库实验报告2

北京邮电大学实验报告课程名称数据库系统原理实验内容实验(2)数据库表/视图的创建与维护班级2013211** 姓名 ***指导老师卢向群成绩_________2016年4月10日实验二数据库表/视图的创建与维护实验实验目的1.通过进行数据库表的建立操作,熟悉并掌握SQL SERVER数据库表的建立方法,理解关系数据库表的结构,巩固SQL标准中关于数据库表的建立语句;2.通过进行数据库表数据的增加、删除和插入等维护操作,熟悉并掌握SQL SERVER数据库数据的操作方法,巩固SQL中关于数据维护的语句;3.通过对SQL SERVER中建立、维护视图的实验,熟悉SQL SERVER中对视图的操作方法和途径,理解和掌握视图的概念。

实验内容建立相应的表及视图,并熟悉基本操作,例如数据增删改、表结构修改等。

实验环境C/S结构,SQL Server企业版服务器及客户端;数据库存储在服务器上,表和视图定义也存储在服务器上,同学可通过网络使用客户端连接到服务器上进行操作。

实验要求详尽记录每一步骤。

截图并注解。

实验步骤1.熟悉课程实验背景知识;2.根据物理模式使用SQL Server创建相应的表可采用两种方法创建表:A.使用对象资源管理器。

B.SQL语句。

A.使用对象资源管理器的方法:①光标移到“表”上,右键选择新建表。

②输入表的属性、数据类型等信息,还可以设置主键、外键。

但是本次实验不需要先新建表,可以直接导入表。

导入表的步骤见下。

B.用SQL语句创建表。

①在对象资源管理器中单击右键,选择“新建查询”,在空白框中写入创建表的SQL语句。

如图所示:执行命令后,刷新可在资源管理器中看见新建好的book 表。

3.将教师提供的数据导入表;①如图选择“导入数据”。

②选择数据源和路径。

③勾选相应的表格④点击下一步,直到完成数据导入。

刷新可见到导入成功的表。

4.对表做增加记录的操作。

①右键,选择新建查询②在中间空白框内输入SQL语句,用于执行增加记录的操作初始的class 表插入一条记录后的class 表成功插入第13条记录。

sql server 数据库实验2

sql server 数据库实验2
《数据库原理与设计》实验报告
年级、专业、班级 实验题目 实验时间 实验成绩 姓名
实验 2 数据库基本操作
实验地点 实验性质 DS1501
√ 验证性 □设计性 □综合性
教师评价:
□算法/实验过程正确; □实验结果正确; 其他: 评价教师签名: □源程序/实验内容提交 □语法、语义正确; □程序结构/实验步骤合理; □报告规范;
Library_1 已删除
四、实验结果及分析和(或)源程序调试过程
T-SQL 参数创建数据库: use master go create database Library on primary ( name = Library, filename = ‘ c:\database\Library.mdf’ , size =6mb, maxsize = 20mb, filegrowth = 20%), go T-SQL 完整数据库备份 backup database Library to disk = ‘ c:\database\Librarybak’ T-SQL 差异数据库备份 backup database Library to disk = ‘ c:\database\Librarybak’ T-SQL 事物日志备份 backup log Library to disk = ‘ c:\database\Librarybak’ T-SQL 数据库的还原 restore database Library_1 from disk ‘ c:\database\Librarybak’ T-SQL 数据库的删除 use master with norecovery with differential
差异化备份前大小
执行差异化备份操作
差异化备份后大小

实验2:SQL SERVER数据库管理

实验2:SQL SERVER数据库管理

实验2:SQL SERVER数据库管理一、实验目的1、掌握使用向导和T-SQL语句创建数据库二、实验内容(要求所创建的数据库和相应的SQL语句存盘到U盘上)1、创建产品销售数据库CPXS数据文件初始大小为5MB,最大大小50MB,增长方式按10%比例增长;日志文件初始为2MB,最大可增长到10MB,按2MB增长;其余参数取默认值。

(1)请写出相应的SQL语句:CREATE DATABASE CPXSON(NAME = 'CPXS_Data',FILENAME = 'E:\SQL \CPXS_Data.MDF' ,SIZE = 5MB,MAXSIZE = 50MB,FILEGROWTH = 10%)LOG ON(NAME = 'CPXS_Log',FILENAME = ‘E:\SQL \CPXS _Log.LDF' ,SIZE = 2MB,MAXSIZE=10MB,FILEGROWTH = 2MB)(2)用T-SQL语句将CPXS数据文件的增长方式改为按5MB增长请给出相应语句和结果截图:ALTER DATABASE CPXSMODIFY FILE(NAME=CPXS_Data,FILEGROWTH=5MB)2、建立多文件组数据库(1) 使用SQL语句创建GXGL数据库数据库名称是JXGL,该数据库所包含的文件均存储在E:\project下。

其中主数据库文件逻辑名称为JXGL_Data,物理名称为JXGL.mdf,初始大小为5MB,最大容量为20MB,增长速度为10%。

次数据库文件1的逻辑名称为JXGL1_Data,物理名称为JXGL1.ndf,初始大小为2MB,最大容量为5MB,增长速度为1MB,将次数据文件1放在FG1这个文件组中。

日志文件逻辑名称为JXGL_log,物理名称为JXGL.ldf,初始大小为2MB,最大容量为10MB,增长速度为15%。

sql server设计与实现教程

sql server设计与实现教程

sql server设计与实现教程SQL Server是一款由Microsoft开发的关系型数据库管理系统。

它具有强大的功能和扩展性,可以满足各种规模和复杂度的应用需求。

下面是一个SQL Server设计与实现的教程,帮助你学习如何使用SQL Server进行数据库的设计和实现。

1. 数据库设计- 确定需求:确定数据库的目标和功能,了解需要存储的数据类型和关系。

- 创建数据库:使用SQL Server Management Studio(SSMS)创建一个新的数据库。

- 设计表结构:根据需求,设计数据库中的表结构,包括列名、数据类型、主键、外键等。

- 设计关系:根据表之间的关系,设计主键和外键的关联关系,确保数据的一致性和完整性。

2. 数据库实现- 创建表:使用SSMS创建数据库中的表,按照设计好的表结构创建相应的列和约束。

- 插入数据:使用INSERT语句将数据插入到表中,确保数据的准确性和完整性。

- 查询数据:使用SELECT语句查询数据库中的数据,可以使用WHERE子句和JOIN操作进行复杂的查询。

- 更新数据:使用UPDATE语句更新数据库中的数据,可以使用WHERE子句指定更新的条件。

- 删除数据:使用DELETE语句删除数据库中的数据,可以使用WHERE子句指定删除的条件。

3. 数据库管理- 备份和恢复:使用SQL Server的备份和恢复工具,定期备份数据库以防止数据丢失,并在需要时进行恢复。

- 安全管理:设置数据库用户和角色,控制用户对数据库的访问权限,确保数据的安全性。

- 性能优化:使用SQL Server的性能优化工具,分析和优化数据库的查询性能,提高数据库的响应速度。

- 监控和调优:使用SQL Server的监控工具,监控数据库的运行状态和性能指标,及时发现和解决潜在的问题。

这个教程只是一个简要的介绍,SQL Server的设计与实现非常复杂,需要深入学习和实践。

你可以通过阅读官方文档、参加培训课程或使用在线资源来进一步学习和提升你的SQL Server技能。

北邮数据库实验二用SQL Server实现数据库设计

北邮数据库实验二用SQL Server实现数据库设计

实验二用SQL Server实现数据库设计实验目的:1.掌握使用企业管理器创建和管理SQL Server数据库及相关数据库对象。

2.掌握使用SQL语言中的SELECT命令实现查询功能。

上机准备:1.复习有关关系数据库的基本知识和概念;2.复习有关SQL语言中SELECT命令的使用;3.了解有关SQL Server系统的组成;4.复习有关SQL Server服务器的使用和管理;5.复习有关企业管理器的基本操作;6.复习有关查询分析器的基本操作;7.了解有关SQL Server服务器的登陆账号,密码;实验内容:本实验将建立一个学校教学管理数据库,在这个数据库中,存储以下信息:1.有关学生的信息,包括学生的学号,姓名,班级,性别,出生时间,政治面貌,籍贯,入学时间,联系电话,简历;Student(Sno,Sname, Ssex,Classno,Sbirth,Status,Hometown,Enrollment,Telephone,Resume)2.有关班级的信息,包括班级的班名,专业,年级,人数,班主任;SClass(ClassNo,ClassName,Major,Grade,Number,Advisor)3.有关课程的信息,包括课程编号,课程名称,课程类别(是指该课程为必修,指选还是任选),适用专业,适用年级,开课时间(是指在每个学年的第一学期,还是第二学期),学分,周学时;Course(CourseNo,CourseName,Category,Major,Grade,StartTM,Credits, WeekHours)4.有关学年课程安排的信息,包括课程编号,开设课程的学年(例如:2002学年),开设课程的班级,任课教师;Schedule(CourseNo,StartYear,ClassNo,Teacher)5.有关学生选课的信息,包括课程编号,学生的学号,成绩;SC(CourseNo,Sno,Score)一、熟悉开发环境练习:1.启动和停止SQL Server服务2.注册服务器3.使用企业管理器和查询分析器二、使用企业管理器完成数据库及数据库对象的创建和管理实验步骤:1.创建数据库(1)要求参数:数据库名称:teaching数据库逻辑文件名:teaching_data 日志逻辑文件名:teaching_log操作系统数据文件名:e:\xxx\teaching.mdf 操作系统日志文件名:e:\xxx\teaching.ldf数据文件初始大小:5MB 日志文件初始大小:1MB 数据文件最大大小:10MB 日志文件最大大小:2MB数据文件增长增量:10% 日志文件增长增量:10%(2)创建后在database节点查看是否已包含了刚创建的数据库teaching;(3)展开teaching 节点,以下的所有对象均创建在teaching 数据库中;2.创建用户定义的数据类型(1)练习按要求创建以下数据类型数据类型名称数据描述student_no 长度为10且不允许空值的字符型;member_no 整数,且存储的值不超过30000shortstring 最多15个字符的可变长字符型(2)考虑在该数据库中可能使用的自定义数据类型(例如:学号的数据类型),并创建3.创建表(1)根据上述数据库存储的信息,决定创建几个表,并给每一个表指定一个有意义的表名;(2)根据每个表中每列存储的数据的情况,为每个列指定列名,数据类型,数据的长度,是否允许为空等列的属性;(3)使用企业管理器建立所有的表;(4)创建之后,还可以根据具体情况,再对表的结构进行修改;(包括添加列,删除列,修改已存在的列)4.实现数据完整性(1)针对每一个表分析并定义主码(Primary Key)(2)定义UIQUE约束用来规定一个列中的两行不能有相同的值;例如:希望学生的姓名是唯一的;StudentSClassCourseScheduleSC(3)针对每一个表分析外部码,并利用“关系图”定义外部码(Foreign Key),建立表之间的参照关系;Create table SC(Sno char(9),CourseNo char(4),Score smallint,Primary key(Sno,CourseNo),Foreign key(Sno) refrences Student(Sno),Foreign key(CourseNo) refrences Course(CourseNo))(4)定义缺省值方法1:直接在表设计时,定义列的default属性;例如:练习在定义“性别”列时,定义它的缺省值为“男”;方法2:创建一个缺省值对象,然后绑定到任何一个需要的列;例如:练习创建并绑定一个缺省值到学生的联系电话,缺省值为“unknown”;Create defult telephone_defult as ‘unknown’(5)创建以上约束后,练习修改约束的操作(包括增加,修改和删除以上约束);5.根据自己所在班级的情况,对已经创建的表自己输入一些相关示例数据,在输入的过程中,特地输入一些违反上述约束条件的数据,观察处理的效果;(1)使用企业管理器,完成一些记录的插入、修改和删除;(2)练习使用INSERT、UPDATE、DELETE命令完成记录的插入、修改和删除;(3)练习使用TRUNCA TE TABLE命令删除表数据;t runcate table sc(4)在练习使用命令删除数据之前,可以使用SELECT INTO命令把数据保存到一个新建的表中;select * into B from SCselect * from Bdrop table Cselect Sno,CourseNo into C from SCselect * from C三、使用企业管理器创建和管理索引1.利用表的属性对话框,观察每个表已经自动创建的索引;exec sp_help Studentexec sp_help SClassexec sp_help Scheduleexec sp_help Courseexec sp_help SC2.针对学生选课信息表创建如下索引(1)按学号+课程编号建立主键索引,索引组织方式为聚簇索引;create clustered index PK_SC on SC(Sno,CourseNo)alter table SCdrop SC_primexec sp_help SC(2)按学号建立索引,考虑是否需要创建唯一索引,索引组织方式为非聚簇索引;create unique index PK_Sno on Student(Sno)exec sp_help Student(3)按课程编号建立索引,考虑是否需要创建唯一索引,索引组织方式为非聚簇索引;create index PK_CoursNo on Course(CourseNo)drop index Course.PK_CoursNoexec sp_help Course(4)再针对学生选课信息表输入一些数据,观察表中记录位置的变化;通过观察比较非聚簇索引和聚簇索引的不同之处;3.针对其它表,练习创建索引;(考虑:是否对每个列都应创建索引?应该从哪些方面考虑是否应为此列创建索引?)4.练习索引的修改和删除操作exec sp_helpindex SCexec sp_rename'SC.PK_SC','PL_SCindex'drop index Student.PK_Snoexec sp_helpindex Student四、使用查询分析器实现以下查询1.练习课堂上举例介绍的几类查询;2.实现以下查询(1) 检索选修了课程号为C1或C2课程,且成绩高于或等于70分的学生的姓名,课程名和成绩。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二用SQL Server实现数据库设计实验目的:1.掌握使用企业管理器创建和管理SQL Server数据库及相关数据库对象。

2.掌握使用SQL语言中的SELECT命令实现查询功能。

上机准备:1.复习有关关系数据库的基本知识和概念;2.复习有关SQL语言中SELECT命令的使用;3.了解有关SQL Server系统的组成;4.复习有关SQL Server服务器的使用和管理;5.复习有关企业管理器的基本操作;6.复习有关查询分析器的基本操作;7.了解有关SQL Server服务器的登陆账号,密码;实验内容:本实验将建立一个学校教学管理数据库,在这个数据库中,存储以下信息:1.有关学生的信息,包括学生的学号,姓名,班级,性别,出生时间,政治面貌,籍贯,入学时间,联系电话,简历;Student(Sno,Sname, Ssex,Classno,Sbirth,Status,Hometown,Enrollment,Telephone,Resume)2.有关班级的信息,包括班级的班名,专业,年级,人数,班主任;SClass(ClassNo,ClassName,Major,Grade,Number,Advisor)3.有关课程的信息,包括课程编号,课程名称,课程类别(是指该课程为必修,指选还是任选),适用专业,适用年级,开课时间(是指在每个学年的第一学期,还是第二学期),学分,周学时;Course(CourseNo,CourseName,Category,Major,Grade,StartTM,Credits, WeekHours)4.有关学年课程安排的信息,包括课程编号,开设课程的学年(例如:2002学年),开设课程的班级,任课教师;Schedule(CourseNo,StartYear,ClassNo,Teacher)5.有关学生选课的信息,包括课程编号,学生的学号,成绩;SC(CourseNo,Sno,Score)一、熟悉开发环境练习:1.启动和停止SQL Server服务2.注册服务器3.使用企业管理器和查询分析器二、使用企业管理器完成数据库及数据库对象的创建和管理实验步骤:1.创建数据库(1)要求参数:数据库名称:teaching数据库逻辑文件名:teaching_data 日志逻辑文件名:teaching_log操作系统数据文件名:e:\xxx\teaching.mdf 操作系统日志文件名:e:\xxx\teaching.ldf数据文件初始大小:5MB 日志文件初始大小:1MB 数据文件最大大小:10MB 日志文件最大大小:2MB数据文件增长增量:10% 日志文件增长增量:10%(2)创建后在database节点查看是否已包含了刚创建的数据库teaching;(3)展开teaching 节点,以下的所有对象均创建在teaching 数据库中;2.创建用户定义的数据类型(1)练习按要求创建以下数据类型数据类型名称数据描述student_no 长度为10且不允许空值的字符型;member_no 整数,且存储的值不超过30000shortstring 最多15个字符的可变长字符型(2)考虑在该数据库中可能使用的自定义数据类型(例如:学号的数据类型),并创建3.创建表(1)根据上述数据库存储的信息,决定创建几个表,并给每一个表指定一个有意义的表名;(2)根据每个表中每列存储的数据的情况,为每个列指定列名,数据类型,数据的长度,是否允许为空等列的属性;(3)使用企业管理器建立所有的表;(4)创建之后,还可以根据具体情况,再对表的结构进行修改;(包括添加列,删除列,修改已存在的列)4.实现数据完整性(1)针对每一个表分析并定义主码(Primary Key)(2)定义UIQUE约束用来规定一个列中的两行不能有相同的值;例如:希望学生的姓名是唯一的;StudentSClassCourseScheduleSC(3)针对每一个表分析外部码,并利用“关系图”定义外部码(Foreign Key),建立表之间的参照关系;Create table SC(Sno char(9),CourseNo char(4),Score smallint,Primary key(Sno,CourseNo),Foreign key(Sno) refrences Student(Sno),Foreign key(CourseNo) refrences Course(CourseNo))(4)定义缺省值方法1:直接在表设计时,定义列的default属性;例如:练习在定义“性别”列时,定义它的缺省值为“男”;方法2:创建一个缺省值对象,然后绑定到任何一个需要的列;例如:练习创建并绑定一个缺省值到学生的联系电话,缺省值为“unknown”;Create defult telephone_defult as ‘unknown’(5)创建以上约束后,练习修改约束的操作(包括增加,修改和删除以上约束);5.根据自己所在班级的情况,对已经创建的表自己输入一些相关示例数据,在输入的过程中,特地输入一些违反上述约束条件的数据,观察处理的效果;(1)使用企业管理器,完成一些记录的插入、修改和删除;(2)练习使用INSERT、UPDATE、DELETE命令完成记录的插入、修改和删除;(3)练习使用TRUNCA TE TABLE命令删除表数据;t runcate table sc(4)在练习使用命令删除数据之前,可以使用SELECT INTO命令把数据保存到一个新建的表中;select * into B from SCselect * from Bdrop table Cselect Sno,CourseNo into C from SCselect * from C三、使用企业管理器创建和管理索引1.利用表的属性对话框,观察每个表已经自动创建的索引;exec sp_help Studentexec sp_help SClassexec sp_help Scheduleexec sp_help Courseexec sp_help SC2.针对学生选课信息表创建如下索引(1)按学号+课程编号建立主键索引,索引组织方式为聚簇索引;create clustered index PK_SC on SC(Sno,CourseNo)alter table SCdrop SC_primexec sp_help SC(2)按学号建立索引,考虑是否需要创建唯一索引,索引组织方式为非聚簇索引;create unique index PK_Sno on Student(Sno)exec sp_help Student(3)按课程编号建立索引,考虑是否需要创建唯一索引,索引组织方式为非聚簇索引;create index PK_CoursNo on Course(CourseNo)drop index Course.PK_CoursNoexec sp_help Course(4)再针对学生选课信息表输入一些数据,观察表中记录位置的变化;通过观察比较非聚簇索引和聚簇索引的不同之处;3.针对其它表,练习创建索引;(考虑:是否对每个列都应创建索引?应该从哪些方面考虑是否应为此列创建索引?)4.练习索引的修改和删除操作exec sp_helpindex SCexec sp_rename'SC.PK_SC','PL_SCindex'drop index Student.PK_Snoexec sp_helpindex Student四、使用查询分析器实现以下查询1.练习课堂上举例介绍的几类查询;2.实现以下查询(1) 检索选修了课程号为C1或C2课程,且成绩高于或等于70分的学生的姓名,课程名和成绩。

SELECT sname,coursename,score FROM student,sc WHERE student.sno = sc.sno and (courseno=’C1’ or courseno=’C2’) and score >= 70(2) 检索姓“王”的所有学生的姓名和年龄。

SELECT sname, year(GETDATE()) - YEAR(birth) FROM sWHERE sname LIKE ‘王%’(3) 检索没有考试成绩的学生姓名和课程名。

SELECT sname,coursename FROM student,sc,course WHERE student.sno=sc.sno and sc.courseno=course.courseno and score is null(4) 检索年龄大于女同学平均年龄的男学生姓名和年龄。

SELECT sname,year(GETDATE()) - YEAR(birth) age FROM student WHERE ssex =’男’ and year(GETDATE()) - YEAR(birth) > (SELECT AVG(year(GETDATE()) - YEAR(birth)) FROM student WHERE ssex =’女’)注:上述查询中所用的课程号和学号的值,可以根据自己表中的数据作修改;为了验证查询的正确,可能还需要输入或修改表中的示例数据;五、创建和管理视图1.创建视图:使用企业管理器或使用CREATE VIEW命令例1:创建视图,包含所有通信工程专业的学生的信息;CREATE VIEW TX_Student ASSELECT * FROM Student WHERE Major = ‘通信工程’ WITH CHECK OPTION 例2:创建视图,包含所有学生的学号,姓名,选课的课程名和成绩;CREATE VIEW SC_Grade ASSELECT sno,sname,coursename,score FROM Student,Course,SCWHERE Student.sno=SC.sno and o=oWITH ENCRYPTION OPTION例3:创建视图,包含所有课程的课程号,名,班级名称及每班选课的人数;CREATE VIEW SC_CLASS ASSELECT courseno,coursename,(SELECT classname,count(*) FROM SC,(SELECT student.sno sno,classname FROM sclass,student WHEREsclass.classno = student.classno and student.sno = SC.sno)CStudentWHERE CStudent.sno = SC.sno and SC.courseno = course.coursenoGROUP BY classname)FROM course2.练习修改视图的定义第一个视图,包括with check option 选项第二个视图,包括with encryption选项;(查看视图的属性,观察和以前有和不同)3.利用已经创建的视图进行查询;select distinct Sno from SC_Grade4.利用已经创建的视图修改数据(观察是否所有通过视图的修改都能实现?)5.练习删除视图。

相关文档
最新文档