2011工程硕士数据库实验内容

上传人:ji****n 文档编号:45580768 上传时间:2018-06-17 格式:DOC 页数:21 大小:920.50KB
返回 下载 相关 举报
2011工程硕士数据库实验内容_第1页
第1页 / 共21页
2011工程硕士数据库实验内容_第2页
第2页 / 共21页
2011工程硕士数据库实验内容_第3页
第3页 / 共21页
2011工程硕士数据库实验内容_第4页
第4页 / 共21页
2011工程硕士数据库实验内容_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《2011工程硕士数据库实验内容》由会员分享,可在线阅读,更多相关《2011工程硕士数据库实验内容(21页珍藏版)》请在金锄头文库上搜索。

1、工程硕士工程硕士 数据库复习数据库复习实验实验 1 数据库系统基础操作数据库系统基础操作实验内容实验内容选择一个常用的数据库产品,如 MS SQL Server、Oracle 、MySQL、DB2、Sybase 、Informix 或 Visual FoxPro 等,进行实际的安装操作,并记录安装过程。 安装过程安装过程: : 1.|运行安装程序 2.接受最终用户许可协议. 3.安装 sql2005 所需的软件组件。 4.扫描计算机配置。 5.进入安装向导。 6.系统配置检查。 7.注册个人信息。 8.功能选择。 9.选择身份验证模式 10.设置错误和使用情况报告设置. 11.安装 sql20

2、05 12.完成安装实验实验 2 数据库的基本操作数据库的基本操作实验内容实验内容通过数据库管理系统提供的管理界面程序交互式操作(记录交互式界面操作过程)或 通过命令创建数据库 JXGL。使用使用 T-sqlT-sql 语句创建数据库语句创建数据库CREATE DATABASE JXGL On Primary (NAME = JXGLFILENAME = C:JXGL.MDF SIZE =10240KB, MAXSIZE = UNLIMITED, FILEGROWTH =10 % LOG ON (NAME = JXGL_LOG FILENAME = C:JXGL_LOG.LDG, SIZE =

3、1024KB, MAXSIZE =5120KB, FILEGROWTH =1024KB ) 图形方式实验实验 3 表与视图的基本操作表与视图的基本操作实验内容实验内容1 1、创建数据库及表、创建数据库及表 用掌握的某种方法,创建订报管理子系统的数据库 DingBao,在 DingBao 数据库中用 交互式界面操作方法或 CREATE TABLE 命令创建如下三表的表结构(表名及字段名使用 括号中给出的英文名) ,并完成三表所示内容的输入,根据需要可自行设计输入更多的表记 录。创建表结构时要求满足:(1)报纸编码表(PAPER)以报纸编号(pno)为主键;(2)顾客编码表(CUSTOMER)以顾

4、客编号(cno)为主键;(3)报纸订阅表(CP)以报子编号(pno)与顾客编号(cno)为主键,订阅份数(num)的缺省值为 1。10.3 报纸编码表报纸编码表(PAPER) 10.4 报纸订阅表(报纸订阅表(CP)报纸编号(pno)报纸名称(pna)单价(ppr)000001人民日报12.5000002解放军报14.510.5 顾客编码表顾客编码表(CUSTOMER)使用使用 T-sqlT-sql 语句创建数据库语句创建数据库 方式方式 1 1:Create database jxgl方式方式 2 2CREATE DATABASE DingBao On Primary (NAME = Din

5、gBaoFILENAME = C:DingBao.MDF SIZE =10240KB, MAXSIZE = UNLIMITED, FILEGROWTH =10 % LOG ON (NAME = JXGL_LOG FILENAME = C:DingBao_LOG.LDG, SIZE =1024KB, MAXSIZE =5120KB, FILEGROWTH =1024KB ) 使用使用 T-sqlT-sql 语句创建数据库语句创建数据库Create table paper ( Pno INT PRIMARYKEY,Pna varchar(20) not null,PPR INT not null

6、check (PPR0)Create table CP (CNO INT PRIMARYKEY,PNO INT PRIMARYKEY,000003光明日报10.5000004青年报11.5000005扬子晚报18.5顾客编号(cno)报纸编号(pno)订阅份数(num)000100000120001000002400010000056000200000120002000003200020000052000300000320003000004400040000011000400000330004000005200050000034000500000210005000004300050000055

7、00050000014顾客编号(cno)顾客姓名(cna)顾客地址(adr)0001李涛无锡市解放东路 123 号0002钱金浩无锡市人民西路 234 号0003邓杰无锡市惠河路 270 号0004朱海红无锡市中山东路 432 号0005欧阳阳文无锡市中山东路 532 号NUM INT default(1)Create table CUSTOMER ( CNO INT PRIMARYKEY,CAN VARCHAR(20) NOT NULL,ADR VARCHAR(20) NOT NULL)图形方式:创建一个 ACCESS 数据库 DingBao(DingBao.MDB 文件) ,把你创建的三表

8、导出到 ACCESS 数据库中。点击下一步,系统将自动完成数据导出工作2 2、创建与使用视图、创建与使用视图(1)在 DingBao 数据库中,创建含有顾客编号、顾客名称、报纸编号、报纸名称、订 阅份数等信息的视图,视图名设定为 C_P_N。 Create view C_P_N(CNO,CNA,PNO,PNA,NUM) as select o, customer.CNA, paper.pno,paper.pna,cp.num from paper,cp,customer where paper.pno= cp.pno and o=o(2)修改已创建的视图 C_P_N,使其含报纸单价信息。 Al

9、ter view C_P_N(CNO,CNA,PNO,PNA,NUM,PPR) as select o, customer.CNA, paper.pno,paper.pna,cp.num,paper.ppr from paper,cp,customer where paper.pno= cp.pno and o=o(3)通过视图 C_P_N,查询“人民日报”被订阅的情况,能通过视图 C_P_N 实现对数据的更新操作吗?请尝试各种更新操作,例如修改某人订阅某报的份数,修改某报的名 称等。 查询: Select CNO,CNA,PNO,PNA,NUM,PPR from C_P_N where pn

10、a=人民日报 更新:将“人民日报”修改成“新民晚报” UPDATE C_P_N SET pna=新民晚报 where pna=人民日报 (4)删除视图 C_P_N DROP VIEW C_P_N实验实验 4 SQL 语言语言SELECT 查询操作查询操作实验内容实验内容下面实验中要使用到包括如下三个表的简易“教学管理”数据库 jxgl: (1)学生表 Student,由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系 (Sdept)五个属性组成,记作:Student(Sno,Sname,Ssex,Sage,Sdept),其中主码为 Sno。 (2)课程表 Cour

11、se,由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分 (Ccredit)四个属性组成,记作:Course(Cno,Cname,Cpno,Ccredit),其中主码为 Cno。 (3)学生选课 SC,由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记作: SC(Sno,Cno,Grade),其中主码为(SNO,CNO)。 首先,先创建数据库 jxgl,然后创建 Student、SC、Course 三表,添加表记录。 参阅 MS SQL Server 中的创建命令如下:USE jxgl Create Table Student ( Sno CHAR(5)

12、NOT NULL PRIMARY KEY(Sno), Sname VARCHAR(20), Sage SMALLINT CHECK(Sage=15 AND Sage 23) AND (Ssex = 男 )(2)检索至少选修一门课程的女学生姓名。 select a.Sname from student as a ,sc as b where a.Ssex= 女 and a.Sno=b.Sno group by a.Sname having count(b.Cno)=1(3)检索王同学不学的课程的课程号。 Select Cno from Course where Cno not in(select

13、 Cno from SC where Sno in (select Sno from student where Sname like 王%) (4)检索至少选修两门课程的学生学号。 select Sno from sc group by Sno having count(*)=2(5)检索全部学生都选修的课程的课程号与课程名。 select Cno,Cname from Course where not exists(select * from Student where not exists(select * from sc where sc.Sno=Student.Sno and sc.

14、Cno=Course.Cno) (6)检索选修了所有 3 学分课程的学生学号。 select Sno from sc where Cno in (select Cno from Course where Ccredit=3)2 2、基于、基于“教学管理教学管理”数据库数据库 jxgljxgl,试用,试用 SQLSQL 的查询语句表达下列查询:的查询语句表达下列查询: (1)统计有学生选修的课程门数。 SELECT COUNT(DISTINCT Cno) FROM SC(2)求选修 4 号课程的学生的平均年龄。 SELECT AVG(a.Sage) from Student as a,Sc as

15、 b where a.Sno=b.Sno and b.Cno=4(3)求学分为 3 的每门课程的学生平均成绩。 SELECT AVG(a.Grade) from Sc as a,Course as b where a.Cno=b.Cno and b.Ccredit=3(4)统计每门课程的学生选修人数,超过 3 人的课程才统计。要求输出课程号和选修人 数,查询结果按人数降序排列,若人数相同,按课程号升序排列。 SELECT Cno,Count(*)as 选修人数from sc group by cno having count(*)3 order by 选修人数DESC,cno ASC(5)检索

16、学号比王非同学大,而年龄比他小的学生姓名。 SELECT Sname from student where Sno(select sno from student where Sname=王非) and Sage(Select avg(Sage) from Student where Ssex=女) and Ssex=男(9)求年龄大于所有女同学年龄的男学生姓名和年龄。 SELECT Sname,Sage from Student where Sage(Select Max(Sage) from Student where Ssex=女) and Ssex=男(10) 检索所有比“王华”年龄大的学生姓名、年龄和性别。SELECT Sname,Sage,Ssex from

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 初中教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号