实验一SQL SERVER2008环境 一、实验目的 1、了解SQL SERVER20O8的安装过程中关键配置的设置: 2、掌握通过SQL Server Management Studio管理数据库服务器、操作数据库对象 的方法: 3、掌握数据库的还原与备份操作。 二、实验前准备 I、启动SQLSERVER服务 实验室机器上既安装了SQL Server2008服务器端工具又安装了客户端工具, 在使用客户端工具SQL Server Management Studio连接数据库引擎之前,需要将本 地数据库引擎服务启动,启动方法如下: (1)打开配置管理器 开始菜单 一>所有程 -> Microsoft SQL Server2008-->配置工具 ->SQL Server配置管理器 回☒ (2)启动SOL Server服务 单击左窗格的“SQL Server服务”选项,在右窗格中就会显示所有的服务, 找到“SQLServer(MSSQLSERVER)”服务,在服务上单击右键,选择“启动” 百风 1G10.0 erver VE
-1- 实验一 SQL SERVER 2008 环境 一、实验目的 1、了解 SQL SERVER 2008 的安装过程中关键配置的设置; 2、掌握通过 SQL Server Management Studio 管理数据库服务器、操作数据库对象 的方法; 3、掌握数据库的还原与备份操作。 二、实验前准备 1、启动 SQLSERVER 服务 实验室机器上既安装了 SQL Server 2008 服务器端工具又安装了客户端工具, 在使用客户端工具 SQL Server Management Studio 连接数据库引擎之前,需要将本 地数据库引擎服务启动,启动方法如下: (1)打开配置管理器 开始菜单——>所有程序——> Microsoft SQL Server 2008——>配置工具— —>SQL Server 配置管理器 (2)启动 SQL Server 服务 单击左窗格的“SQL Server 服务”选项,在右窗格中就会显示所有的服务, 找到“SQL Server(MSSQLSERVER)”服务,在服务上单击右键,选择“启动
SQLServer数据库引擎服务启动。 2、登录服务器 在使用SQL Server Management Studio管理数据库引擎服务器时,需要首先登 录到服务器上,第一次登录时需要将登录界面的“服务器名称”选项修改为本地 的计算机名。同时将身份验证方式改为“Windows身份验证 连养到康务香 ☒ SOLServer 2008 服务得关型) 约得己壁 服务器名称但》 身份验证丝) Windows身份检证 用户名 密码 住密码 ■连接G)☐取消☐帮助☐达项@)》 获取本地计算机名:右键点击“我的电脑”一一>属性一一>“计算机名”标 签页 2
-2- SQL Server 数据库引擎服务启动。 2、登录服务器 在使用 SQL Server Management Studio 管理数据库引擎服务器时,需要首先登 录到服务器上,第一次登录时需要将登录界面的“服务器名称”选项修改为本地 的计算机名。同时将身份验证方式改为“Windows 身份验证” 获取本地计算机名:右键点击“我的电脑”——>属性——>“计算机名”标 签页
系统性 常规计算机名硬件高系统还原自动更新远程 使用以下信在络中标这台计 计算机描述) 完整的计草机名称:1 工作组 RSHOME 吾使耀药褐2法加入城并健本地用户帐 同络印) 要重新命名此计算机成加入城,单击“更改”, 更改C. 确定☐取消门应用 三、实验内容 1、创建数据库 建立名为“Student”的数据库。 2、建立基本表 在“Student”"数据库中建立如下三个关系: (1)“学生”关系S由学号(Sno人、姓名(Sname)、性别(Ssex)出生日期 (Sbirth)、专业(Major)、备注(Note)六个属性组成,关系模式为: S (Sno,Sname,Ssex,Sbirth,Major,Note) (2)“课程”关系C由课程号(Cno)、课程名(Cname)、学期(Term)、学时 (Period)、学分(Credit)五个属性组成,关系模式为: C (Cno,Cname,Term,Period,Credit) (3)“选课”关系SC由学号(Sno)、课程号(Cno)、成绩(Grade)三个属 性组成,关系模式为: 3
-3- 三、实验内容 1、创建数据库 建立名为“Student”的数据库。 2、建立基本表 在“Student”数据库中建立如下三个关系: (1)“学生”关系 S 由学号(Sno)、姓名(Sname)、性别(Ssex)、出生日期 (Sbirth)、专业(Major)、备注(Note)六个属性组成,关系模式为: S (Sno,Sname,Ssex,Sbirth,Major,Note) (2)“课程”关系 C 由课程号(Cno)、课程名(Cname)、学期(Term)、学时 (Period)、学分(Credit)五个属性组成,关系模式为: C (Cno,Cname,Term,Period,Credit) (3)“选课”关系 SC 由学号(Sno)、课程号(Cno)、成绩(Grade)三个属 性组成,关系模式为:
SC(Sno,Cno,Grade) 要求: (1)创建各个表的主键,有外键的创建外键。 (2)Sname和Cname属性列取值非空。 (3)Term属性列取值只能为1、2、3、4、5、6、7或8。 (4)Grade属性列的取值在0-100之间。 3、录入数据 在每个表中录入以下数据,录入数据时注意数据的录入顺序,先在主键表中 录入数据,再在外键表中录入数据。 S表 Sno Sname Ssex Sbirth Major Note 101101佟双 男 1992-3-18 软件工程 101102胡胜军 男 1993-10-1 软件工程 101103郭向昭 男 1992-4-23 软件工程 101104任静凯 女 1993-8-15 软件工程 三好学生 101105董雪 女 1990-1-18 软件工程 101106杨自然 男 1991-12-6 软件工程 101107赵勇 究 1993-3-9 软件工程 三好学生 101108乔芳芳 女 1994-5-5 软件工程 10109张丽 女 1991-11-7 软件工程 101110薛鹏 男 1993-5-14 计算机 101111魏宗凯 男 1993-8-15 计算机 优秀干部 101112滕林 男 1994-2-14 计算机 101113张斌 男 1992-12-11 计算机 101114何倩倩 女 1993-3-22 计算机 101115曾真真 女 1991-6-6 计算机 101116误庆明 男 1993-12-17 计算机 101117张华 1992-8-27 计算机 优秀党员 101118谢天 1993-3-19 计算机 101119李海莹 1993-2-22 计算机 101120刘志跃 男1993-11-11 网络工程 4
-4- SC(Sno,Cno,Grade) 要求: (1)创建各个表的主键,有外键的创建外键。 (2)Sname 和 Cname 属性列取值非空。 (3)Term 属性列取值只能为 1、2、3、4、5、6、7 或 8。 (4)Grade 属性列的取值在 0—100 之间。 3、录入数据 在每个表中录入以下数据,录入数据时注意数据的录入顺序,先在主键表中 录入数据,再在外键表中录入数据。 S 表 Sno Sname Ssex Sbirth Major Note 101101 佟双 男 1992-3-18 软件工程 101102 胡胜军 男 1993-10-1 软件工程 101103 郭向昭 男 1992-4-23 软件工程 101104 任静凯 女 1993-8-15 软件工程 三好学生 101105 董雪 女 1990-1-18 软件工程 101106 杨自然 男 1991-12-6 软件工程 101107 赵勇 男 1993-3-9 软件工程 三好学生 101108 乔芳芳 女 1994-5-5 软件工程 101109 张丽 女 1991-11-7 软件工程 101110 薛鹏 男 1993-5-14 计算机 101111 魏宗凯 男 1993-8-15 计算机 优秀干部 101112 滕林 男 1994-2-14 计算机 101113 张斌 男 1992-12-11 计算机 101114 何倩倩 女 1993-3-22 计算机 101115 曾真真 女 1991-6-6 计算机 101116 误庆明 男 1993-12-17 计算机 101117 张华 女 1992-8-27 计算机 优秀党员 101118 谢天 男 1993-3-19 计算机 101119 李海莹 女 1993-2-22 计算机 101120 刘志跃 男 1993-11-11 网络工程
Sno Sname Ssex Sbirth Major Note 101121安雅婧 1994-1-30 网络工程 101122徐磊 夕 1995-5-29 网络工程 101123王煜 夕 1993-11-30 网络工程 三好学生 101124余丹妮 1993-10-8 网络工程 101125李晓光 1993-7-15 网络工程 101126付志敏 1992-12-2 网络工程 101127田旭 1993-46 网络工程 优秀团员 101128李艳 1992-6-9 网络工程 101129刘忠琦 夕 1993-5-10 网络工程 101130刘香焕 女 1993-11-8 网络工程 C表 Cno Cname Term Period Credit C01 英语 1 108 6 C02 计算机图形学 7 64 C03 高等数学 108 6 C04 数据结构 54 C05 离散数学 5 4 C06 计算机网络 5 3 C07 概率论与数理统计 C08 面向对象程序设计 4 SC表 Sno Cno Grade Sno Cno Grade 101101 C01 9 101109 C02 89 101101 C02 74 101109 C03 6 101101 c03 86 101109 C04 3 101101 C04 80 101109 C05 58 101101 C05 101109 C06 101101 C06 101110 C07 101101 C07 72 101110 C08 5-
-5- Sno Sname Ssex Sbirth Major Note 101121 安雅婧 女 1994-1-30 网络工程 101122 徐磊 男 1995-5-29 网络工程 101123 王煜 男 1993-11-30 网络工程 三好学生 101124 余丹妮 女 1993-10-8 网络工程 101125 李晓光 男 1993-7-15 网络工程 101126 付志敏 男 1992-12-2 网络工程 101127 田旭 男 1993-4-6 网络工程 优秀团员 101128 李艳 女 1992-6-9 网络工程 101129 刘忠琦 男 1993-5-10 网络工程 101130 刘香焕 女 1993-11-8 网络工程 C 表 Cno Cname Term Period Credit C01 英语 1 108 6 C02 计算机图形学 7 64 4 C03 高等数学 1 108 6 C04 数据结构 2 54 3 C05 离散数学 5 72 4 C06 计算机网络 5 54 3 C07 概率论与数理统计 2 64 4 C08 面向对象程序设计 4 64 4 SC 表 Sno Cno Grade Sno Cno Grade 101101 C01 94 101109 C02 89 101101 C02 74 101109 C03 66 101101 C03 86 101109 C04 65 101101 C04 80 101109 C05 58 101101 C05 68 101109 C06 95 101101 C06 67 101110 C07 74 101101 C07 72 101110 C08 88
Sno Cno Grade Sno Cno Grade 101102 C08 101113 C01 98 101102 C01 101113 C02 101102 C02 96 101113 C03 87 101102 C03 86 101114 C04 100 101102 C04 53 101115 C05 101103 C05 76 101116 C06 91 101103 101117 C07 92 101103 Co7 62 101118 C08 94 101104 C01 5 101118 C01 101104 C02 94 101118 C02 101104 C03 101118 c03 8 101104 C04 82 101118 C04 101104 C05 73 101124 C05 % 101104 C06 94 101124 C06 92 101104 C07 101124 95 101104 C08 9 101124 C08 101105 C01 101124 C01 101105 C02 f 10125 C02 84 101105 C03 8 101125 c03 97 101105 C04 中 101125 C04 91 101106 C05 % 101125 101106 C06 101126 C06 1% 101106 0 101126 C07 101106 101126 C08 99 101106 101127 101107 C02 80 101127 4 101107 C03 83 101127 C03 % 101107 C04 101127 101108 C05 101127 C05 101108 C06 87 101128 C06 101108 C07 76 101129 C07 97
-6- Sno Cno Grade Sno Cno Grade 101102 C08 96 101113 C01 98 101102 C01 52 101113 C02 94 101102 C02 96 101113 C03 87 101102 C03 86 101114 C04 100 101102 C04 53 101115 C05 92 101103 C05 76 101116 C06 91 101103 C06 72 101117 C07 92 101103 C07 62 101118 C08 94 101104 C01 51 101118 C01 98 101104 C02 94 101118 C02 90 101104 C03 74 101118 C03 86 101104 C04 82 101118 C04 92 101104 C05 73 101124 C05 90 101104 C06 94 101124 C06 92 101104 C07 92 101124 C07 95 101104 C08 93 101124 C08 85 101105 C01 88 101124 C01 84 101105 C02 87 101125 C02 84 101105 C03 95 101125 C03 97 101105 C04 85 101125 C04 91 101106 C05 96 101125 C05 67 101106 C06 96 101126 C06 78 101106 C07 63 101126 C07 89 101106 C08 72 101126 C08 79 101106 C01 79 101127 C01 94 101107 C02 80 101127 C02 79 101107 C03 83 101127 C03 97 101107 C04 77 101127 C04 88 101108 C05 87 101127 C05 82 101108 C06 87 101128 C06 98 101108 C07 76 101129 C07 97
Sno Cno Grade Sno Cno Grade 101109 C08 92101130C08 100 101109 C01 59 101130C06 92 101109 c07 100101130C0795 4、修改数据表逻辑结构 (1)在C表中添加课程所在系列,列名为deptname,类型为varchar(20),自己 为deptname属性列添加数据。 (2)在S表中为Ssx属性列添加取值只能为“男”或“女”的约束。 5、数据别除操作 (1)删除S表中的某一行数据,看能否删除,分析出现的错误信息,找出原因并 写入实验报告。 (2)删除SC表中的某一行数据,看能否删除,想想为什么可以删除,在实验报 告中分析原因。 6、数据库的备份与还原 (1)备份“Student”数据库 (2)还原“Student”数据库(可先删除“Student”数据库,后完成还原。)
-7- Sno Cno Grade Sno Cno Grade 101109 C08 92 101130 C08 100 101109 C01 59 101130 C06 92 101109 C07 100 101130 C07 95 4、修改数据表逻辑结构 (1)在 C 表中添加课程所在系列,列名为 deptname,类型为 varchar(20),自己 为 deptname 属性列添加数据。 (2)在 S 表中为 Ssex 属性列添加取值只能为“男”或“女”的约束。 5、数据删除操作 (1)删除 S 表中的某一行数据,看能否删除,分析出现的错误信息,找出原因并 写入实验报告。 (2)删除 SC 表中的某一行数据,看能否删除,想想为什么可以删除,在实验报 告中分析原因。 6、数据库的备份与还原 (1)备份“Student”数据库 (2)还原“Student”数据库(可先删除“Student”数据库,后完成还原。)
实验二数据定义和查询 一、实验目的 1、掌握使用SQL语句创建和删除数据表,创建各种完整性约束。 2、掌握使用SQL语句修改表的结构。 3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。 二、实验内容 L.创建名为“Project”的数据库 2.在Project数据库下使用SQL语句建立4个关系,如下: 供应商表S(Sno,Sname,Ctiy)》 零件表P(Pno,Pname,Color,,Weights) 工程项目表J(Jno,Jname,City) 供应情况表SPJ(Sno,Pno,Jno,QTY) 其中: 供应商表S由供应商代码(SNO)、供应商姓名(SNAME、供应商所在城市 (CITY)组成: 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量 (WEIGHTS)组成: 工程项目表J由工程项目代码(NO)、工程项目名(NAME)、工程项目所 在城市(CITY)组成: 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)人工程项目代码(NO) 供应数量组成(QTY),表示某供应商供应某种零件给某工程项目的数量为QTY 数据如下: S表 SNO SNAME CITY 精益 天津 S2 盛锡 北京 S3 东方红 北京 S4 丰泰盛 天津 S5 为民 上海 P表 PNO PNAME COLOR WEIGHTS
-8- 实验二 数据定义和查询 一、实验目的 1、掌握使用 SQL 语句创建和删除数据表,创建各种完整性约束。 2、掌握使用 SQL 语句修改表的结构。 3、掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。 二、实验内容 1.创建名为“Project”的数据库 2.在 Project 数据库下使用 SQL 语句建立 4 个关系,如下: 供应商表 S (Sno, Sname, Ctiy) 零件表 P(Pno, Pname, Color, Weights) 工程项目表 J(Jno, Jname, City) 供应情况表 SPJ(Sno, Pno, Jno, QTY) 其中: 供应商表 S 由供应商代码(SNO)、供应商姓名(SNAME)、供应商所在城市 (CITY)组成; 零件表 P 由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量 (WEIGHTS)组成; 工程项目表 J 由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所 在城市(CITY)组成; 供应情况表 SPJ 由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、 供应数量组成(QTY),表示某供应商供应某种零件给某工程项目的数量为 QTY。 数据如下: S 表 SNO SNAME CITY S1 精益 天津 S2 盛锡 北京 S3 东方红 北京 S4 丰泰盛 天津 S5 为民 上海 P 表 PNO PNAME COLOR WEIGHTS
PNO PNAME COLOR WEIGHTS S4 P6 J4 200 PI 螺母 12 S5 J4 100 螺栓 绿 17 P3 200 螺丝刀 蓝 14 J2 200 P4 螺丝刀 红 14 S5 P6 J4 500 凸轮 40 P6 齿轮 30 J表 JNO JNAME CITY 三建 北京 J2 长春 3 弹簧 天津 J4 造船厂 天津 5 机车厂 唐山 6 无线电厂 常州 J7 半导体厂 南京 SP表 SNO PNO JNO QTY PI 200 PI J3 4 100 S1 400 200 S2 P3 名 S2 5 400 P5 PI 08 S3 P3 200 P5 100 S4 P6 3 300
-9- PNO PNAME COLOR WEIGHTS P1 螺母 红 12 P2 螺栓 绿 17 P3 螺丝刀 蓝 14 P4 螺丝刀 红 14 P5 凸轮 蓝 40 P6 齿轮 红 30 J 表 JNO JNAME CITY J1 三建 北京 J2 一汽 长春 J3 弹簧厂 天津 J4 造船厂 天津 J5 机车厂 唐山 J6 无线电厂 常州 J7 半导体厂 南京 SPJ 表 SNO PNO JNO QTY S1 P1 J1 200 S1 P1 J3 100 S1 P1 J4 700 S1 P2 J2 100 S2 P3 J1 400 S2 P3 J2 200 S2 P3 J4 500 S2 P3 J5 400 S2 P5 J1 400 S3 P1 J1 200 S3 P3 J1 200 S4 P5 J1 100 S4 P6 J3 300 S4 P6 J4 200 S5 P2 J4 100 S5 P3 J1 200 S5 P6 J2 200 S5 P6 J4 500
要求: (1)创建每个关系的主键,有外键的创建外键。 (2)S表中的Sname属性列的取值唯 (3)P表中weight属性列的取值范围在1-50之间 (4)J表中的Jname取值不能为空并且是唯一的 (5)SPJ表中QTY属性列的数据类型必须为int 2.用SQL语句完成以下操作: (1)给S表增加Sphone和Semail两个属性列,分别用来存放供应商的联系电 话和电子信箱。 (2)删除Jname属性列取值唯一的约束。 (3)将QTY属性列的数据类型修改为smallint型 (4)删除S表中的属性列Semail 3.完成以下查询: (1)查询所有供应商所在的城市。 (2)查询零件重量在10-20之间(包括10和20)的零件名和颜色。 (3)查询工程项目的总个数。 (4)查询所有零件的平均重量。 (5)查询供应商S3供应的零件号。 (6)查询各个供应商号及其供应了多少类零件。 (7)查询供应了2类以上零件的供应商号。 (8)查询零件名以“螺”字开头的零件信息。 (9)查询工程项目名中最后一个字为“厂”字的工程项目所在的城市。 (10)查询给每个工程供应零件的供应商的个数。 (11)查询供应数量在1000一2000之间(包括1000和2000)的零件名称 4.对实验一创建的Student数据库进行还原,完成以下查询: (1)查询计算机专业学生的姓名和年龄。 (2)查询成绩在70-80分(包括70和80分)之间的学生的学号、课程号和成 绩。 (3)查询C01号课程的最高成绩。 (4)统计每个专业的学生人数。 (5)统计每门课程的修课人数和考试最高分。 (6)统计每个学生的选课门数和考试总成绩,并按总成绩的递减顺序显示结果。 (7)查询总成绩超过200分的学生,要求列出学号和总成绩。 (8)查询姓名为余丹妮的学生所学课程的课程名与学分
10 要求: (1)创建每个关系的主键,有外键的创建外键。 (2)S 表中的 Sname 属性列的取值唯一 (3)P 表中 weight 属性列的取值范围在 1-50 之间 (4)J 表中的 Jname 取值不能为空并且是唯一的 (5)SPJ 表中 QTY 属性列的数据类型必须为 int 2.用 SQL 语句完成以下操作: (1)给 S 表增加 Sphone 和 Semail 两个属性列,分别用来存放供应商的联系电 话和电子信箱。 (2)删除 Jname 属性列取值唯一的约束。 (3)将 QTY 属性列的数据类型修改为 smallint 型。 (4)删除 S 表中的属性列 Semail 3.完成以下查询: (1)查询所有供应商所在的城市。 (2)查询零件重量在 10-20 之间(包括 10 和 20)的零件名和颜色。 (3)查询工程项目的总个数。 (4)查询所有零件的平均重量。 (5)查询供应商 S3 供应的零件号。 (6)查询各个供应商号及其供应了多少类零件。 (7)查询供应了 2 类以上零件的供应商号。 (8)查询零件名以“螺”字开头的零件信息。 (9)查询工程项目名中最后一个字为“厂”字的工程项目所在的城市。 (10)查询给每个工程供应零件的供应商的个数。 (11)查询供应数量在 1000—2000 之间(包括 1000 和 2000)的零件名称。 4.对实验一创建的 Student 数据库进行还原,完成以下查询: (1)查询计算机专业学生的姓名和年龄。 (2)查询成绩在 70-80 分(包括 70 和 80 分)之间的学生的学号、课程号和成 绩。 (3)查询 C01 号课程的最高成绩。 (4)统计每个专业的学生人数。 (5)统计每门课程的修课人数和考试最高分。 (6)统计每个学生的选课门数和考试总成绩,并按总成绩的递减顺序显示结果。 (7)查询总成绩超过 200 分的学生,要求列出学号和总成绩。 (8)查询姓名为余丹妮的学生所学课程的课程名与学分