数据库实验1-6参考答案
数据库实验内容-答案
实验内容:实验一:数据库的操作使用Management Studio和sql语句分别完成以下操作:1.创建一个名为“SM”的数据库,数据文件初始大小为3MB,最大为50MB,数据库自动增长,增长方式按10%;日志文件初始大小为2MB,数据大小不受限制,按1MB增长。
create database smon(name='smdata',filename='e:\smdata.mdf',size=3,maxsize=50,filegrowth=10%)log on(name='smlog',filename='e:\smlog.ldf',size=2,maxsize=unlimited,filegrowth=1)2.修改数据库“SM”,将数据文件名改成“sm_data”,初始大小改成5MBalter database smmodify file( name='smdata',newname='sm_data',size=5)3.分别查看数据库“SM”,该数据库中的文件和文件组。
exec sp_helpfile smexec sp_helpfilegroup sm4.删除数据库“SM”。
drop database sm实验二:创建表1. 在数据库SM中创建学生表student,课程表course,选课表scstudent(sid,sno,clno,sname,ssex,sage,sbir)说明:sid int identity(1,1) 序号sno 为主关系键,为字符类型学号clno 字符类型,班级号sname 字符类型,并不为空ssex 字符类型,check的值的范围为男女sbir 日期类型出生日期sage int;use smcreate table student( sid int identity(1,1),sno char(10) constraint pk_st primary key,clno char(10),sname varchar(20) not null,ssex char(2) constraint ck_ssex check(ssex in('男','女')),sbir datetime,sage int)course(cno,cname,ccredits,ctno,cpno,ctime)说明:cno 字符类型,主关系键cname 字符类型,唯一键ccredits 学分,精确数值型,精确长度为2,小数位为1ctno ,cpno 字符类型ctime 整型create table course(cno char(4) constraint pk_c primary key,cname varchar(20) constaint uk_cname unique,ccredit decimal(2,1),ctno char(2),cpno char(4),ctime tinyint)sc(sno,cno,score)说明:sno+cno为主键,并且sno是student的外部键,cno是course的外部键。
数据库实验报告及答案
实验任务书(实验一、实验二)课程名称:数据库原理与技术实验报告要求:1.列出所有的SQL语句和源代码;2.程序要求有适当的注释;3.对数据完整性约束实施要求给出相应的测试用例。
4.实验报告提交电子档。
实验内容:一:创建表、更新表和实施数据完整性1.运行给定的SQL Script,建立数据库GlobalToyz。
2.了解表的结构,建立所有表的关系图。
3.利用系统定义的存储过程sp_helpdb查看数据库的相关信息,例如所有者、大小、创建日期等。
4.查看所有表中出现的约束(包括Primary key, Foreign key, check constraint, default, unique)5.把价格在$20以上的所有玩具的信息拷贝到称为PremiumToys的新表中。
SELECT*INTO PremiumToysFROM ToysWHERE Toys.mToyRate>20;6.对表Toys实施下面数据完整性规则:(1)玩具的现有数量应在0到200之间;(2)玩具适宜的最低年龄缺省为1。
ALTER TABLE ToysADD CONSTRAINT C1CHECK (siToyQoh BETWEEN 0 AND 200);ALTER TABLE ToysADD CONSTRAINT C2default(1)for siLowerAge;7.给id为‘000001’玩具的价格增加$1。
update Toys set mToyRate=mToyRate+1 where cToyId='000001';8. 列出表PickofMonth中的所有记录,并显示中文列标题。
SELECT cToyId[玩具编号],siMonth[生产月份],iYear[生产年份],iTotalSold [销售总量]FROM PickofMonth;二:查询数据库1.显示属于California和Illinoi州的顾客的名、姓和emailID。
数据库实验答案分析总结
实验实验 实验一实验一熟悉SQL SERVER2000 1.在“程序”菜单中寻找“Microsoft SQL Server”菜单项。
菜单项。
2.如果“Microsoft SQL Server”菜单项下有“服务管理器”,则启动服务管理器,在其界面中启动SQL SERVER 服务。
服务。
3.在“Microsoft SQL Server”菜单项下打开“企业管理器”。
4.点击工具栏上的图标,注册一个SQL SERVER 服务器。
服务器。
5.在注册向导的“可用服务器”中选择一个服务器添加到“添加的服务器”中,点击下一步。
中,点击下一步。
6.选择“系统管理员分配的SQL Server 登录信息”。
7.填写登录名和密码。
填写登录名和密码。
8.不改变默认选项,添加到现有组中。
不改变默认选项,添加到现有组中。
9.完成SQL Server 注册。
注册。
10.熟悉SQL Server 的使用环境,可以完成简单的建库、建表操作,可查看联机帮助。
的使用环境,可以完成简单的建库、建表操作,可查看联机帮助。
11.打开“工具”菜单下的“查询分析器”,可以完成SQL 语句的执行操作。
语句的执行操作。
实验二实验二实验要求:用sql 语句建立如下的表结构并输入数据:语句建立如下的表结构并输入数据: 学生表:student (主键Sno ) 课程表:Course (主键Cno )学号学号 Sno 姓名姓名 Sname 性别性别 Ssex 年龄年龄 Sage 所在系所在系 Sdept 95001 李勇 男 20 CS 95002 刘晨 女 21 IS 95003 王敏 女 18 MA 95004 张力 男19IS选课表:SC (主键Sno,Cno ,外部键Sno ,Cno ) 学号学号 Sno 课程表课程表 Cno 成绩成绩 Grade 95001 1 92 95001 2 85 95001 3 88 95002 2 90 950023856.查询选修了3号课程的学生姓名及成绩,并按成绩降序排序。
数据库原理实验答案
3)向SC表中插入数据
Insert Into SC(Sno,Cno, Grade) Values(200215121,1,92);
Insert Into SC(Sno,Cno, Grade) Values(200215121,2,85);
Insert Into SC(Sno,Cno, Grade) Values(200215121,3,88);
Insert Into SC(Sno,Cno, Grade) Values(200215122,2,90);
Insert Into SC(Sno,Cno, Grade) Values(200215122,3,80);
Insert Into SC(Sno,Cno, Grade) Values(200215121,4,92);
Insert Into SC(Sno,Cno, Grade) Values(200215121,5,85);
Insert Into SC(Sno,Cno, Grade) Values(200215121,6,88);
Insert Into SC(Sno,Cno, Grade) Values(200215123,2,90);
select sno,grade from sc where cno='3' order by grade desc;
8)查询各个课程号与相应的选课人数。
select cno, count(sno) from sc group by cno;
2. 连接查询操作。该实验包括等值连接、自然连接、求笛卡儿积、一般连接、外连接、内连接、左连接、右连接和自连接等。
数据库系统原理实验报告册(带答案)
河南工程学院计算机科学与工程系数据库系统原理实验报告册学期:课程:专业:班级:学号:姓名:指导教师:目录实验一 SQL Server 2000安装、数据库创建及管理 (1)一、实验学时 (1)二、实验目的 (1)三、实验内容 (1)四、实验要求 (13)五、代码清单 (13)六、实验中出现的问题及解决的方法 (15)七、思考讨论题或体会或对改进实验的建议 (16)实验二表和表数据的操作 (17)一、实验学时 (17)二、实验目的 (17)三、实验内容 (17)四、实验要求 (22)五、代码清单 (22)六、实验中出现的问题及解决的方法 (24)七、思考讨论题或体会或对改进实验的建议 (25)实验三索引和视图 (26)一、实验学时 (26)二、实验目的 (26)三、实验内容 (26)四、实验要求 (31)五、代码清单 (31)六、实验中出现的问题及解决的方法 (33)七、思考讨论题或体会或对改进实验的建议 (34)实验四 T-SQL程序设计 (35)一、实验学时 (35)二、实验目的 (35)三、实验内容 (35)四、实验要求 (39)五、代码清单 (39)六、实验中出现的问题及解决的方法 (41)七、思考讨论题或体会或对改进实验的建议 (42)实验五数据库安全性 (43)一、实验学时 (43)二、实验目的 (43)三、实验内容 (43)四、实验要求 (46)五、代码清单 (47)六、实验中出现的问题及解决的方法 (49)七、思考讨论题或体会或对改进实验的建议 (49)实验六数据库完整性 (51)一、实验学时 (51)二、实验目的 (51)三、实验内容 (51)四、实验要求 (54)五、代码清单 (54)六、实验中出现的问题及解决的方法 (56)七、思考讨论题或体会或对改进实验的建议 (57)实验一 SQL Server 2000安装、数据库创建及管理一、实验学时:2学时二、实验目的(1)了解安装SQL Server2000的硬件和软件环境。
数据库系统原理实验一参考答案
,'C++',-,3)
INSERT
INTO Courses
VALUES ('C06'
,'网络原理’,'C07', 3)
INSERT
FILENAME='E:\ SQL_DATEBASE \',
SIZE=5MB
MAXSIZE25MB
FILEGROWT=5MB
)
GO
(2)调用(USE数据库:Students_Mis_2018
use Stude nts_Mis_2018
GO
(3)分别建立4个数据表的表结构(CREATE TABLE):系(Depts),学生(Students ),课程(Courses ),选课(Reports )
CREATETABLE Depts
(
Dno CHAR5) PRIMARYKEY
DnameCHAR20) NOTNULL
)
GO
CREATETABLE Students
(
Sno CHAR5) PRIMARYKEY
Sname CHAR20) NOTNULL,
Ssex CHAR2),
Sage INT,
Dno CHAIR5),
INSERT
INTO depts
VALUES ('D05','电子')
INSERT
INTO depts
VALUES ('D06','化学')
SELECT*
FROMDepts
INSERT
INTO Students
数据库原理实验答案
课程结束各班学委统一收实验报告数据库原理及应用(本科)实验指导书1(报告)计算机信息教研室桂林理工大学信息科学与工程学院二○二○年八月目录实验 1 创建数据库与数据表 (2)实验2 简单查询和连接查询 (10)实验3 嵌套查询和集合查询 (12)实验4 数据完整性 (14)桂林理工大学实验报告班级学号姓名同组实验者无实验名称实验1 创建数据库与数据表日期年月日一、实验目的:1.熟悉SQL SERVER环境;2.掌握数据库和数据表的创建和删除,实践SQL的CREATE、ALTER和DROP命令;3.掌握数据表的创建和数据记录的插入方法。
二、实验环境:Sqlserve数据库管理系统三、实验内容:1. 创建教学管理“JXGL”数据库,并建立学生STUDENT、课程COURSE和选修SC 三个数据表,各表中的数据如下所示:学生STUDENT:(注:CS计算机科学,IS信息系统,MA数学)Sno Sname Ssex Sage Sdept95001李勇M20CS95002刘晨F19IS95003王敏F18MA95004张立M18IS课程COURSE:(注:Pcno 先修课课程号)Cno Cname Pcno Ccredit1数据库542数学23信息系统144操作系统635数据结构746数据处理27C语言64选修SC:Sno Cno Grade9500119295001285 95001388 9500229095002 950033380实验步骤:1.创建教学管理“JXGL”数据库。
(注:可采用可视窗体和SQL命令两种方法创建。
以下是SQL命令方法)(1) 创建教学管理“JXGL”数据库。
在命令窗格中输入如下命令,然后单击“运行”功能钮执行该命令。
CREATE DATABASE JXGL;(2) 在JXGL数据库中建立STUDENT表,并插入记录。
CREATE TABLE STUDENT( Sno char(5) not null unique,Sname char(20) not null unique,Ssex char(1),Sage int,Sdept char(20));INSERT INTO STUDENT V ALUES('95001','李勇','M',20,'CS');INSERT INTO STUDENT V ALUES('95002','刘晨','F',19,'IS');INSERT INTO STUDENT V ALUES('95003','王敏','F',18,'MA');INSERT INTO STUDENT V ALUES('95004','张立','M',18,'IS');1(3) JXGL数据库中建立COURSE表,并插入记录。
数据库实验1-6参考答案
数据库实验1-6参考答案实验⼀SQL Server使⽤初步⼀、实验⽬的1、熟悉SQL Server2000的组成及基本功能。
2、掌握SQL Server2000的登录及注册。
3、掌握SQL Server2000企业管理器的使⽤⽅法。
4、熟悉查询分析器的基本使⽤。
⼆、实验预习1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些?答:DBMS是位于⽤户和操作系统之间的⼀层数据管理软件。
常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。
2、SQL Server 2000(2005)的安装步骤?答:以企业版安装为例,步骤为:将企业版安装光盘插⼊光驱后,出现以下提⽰框。
请选择“安装 SQL Server 2000 组件”出现下⾯对话框后,选择 "安装数据库服务器" 。
选择 "下⼀步",然后选择 "本地计算机" 进⾏安装。
在 "安装选择" 窗⼝,选择 "创建新的SQL Server实例..."。
对于初次安装的⽤户,应选⽤这⼀安装模式,不需要使⽤ "⾼级选项" 进⾏安装。
"⾼级选项"中的内容均可在安装完成后进⾏调整。
在 "⽤户信息" 窗⼝,输⼊⽤户信息,并接受软件许可证协议。
在“安装定义”窗⼝,选择“服务器和客户端⼯具”选项进⾏安装。
在“实例名”窗⼝,选择“默认”的实例名称。
在“安装类型”窗⼝,选择“典型”安装选项,并指定“⽬的⽂件夹”。
在 "服务账号" 窗⼝,请选择 "对每个服务使⽤统⼀账户..." 的选项。
在 "⾝份验证模式" 窗⼝,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。
mysql数据库实验答案
实验一创建、修改数据库和表结构1、用create建立教学数据库的五个基本表:(1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ;(2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ;(3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ;(4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址),T(Tno,Tname,ssex,birthday,dept,title,address) ;(5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj);Create Database Student default character set utf8 default COLLATE utf8_bin;Use Student;Create Table Student(SNo c har(20) primary key,SName char(20) ,SSex char(4) default '男',SAge int) ENGINE=InnoDB;Create Table Course(CNo c har(20) primary key,CName char(20) NOT NULL,CRedit f loat) ENGINE=InnoDB;Create Table SC(SNo c har(20) NOT NULL,CNo c har(20) NOT NULL,Grade float,Primary Key(SNo, CNo),Foreign Key(SNo) References Student(SNo) On Delete Cascade,Foreign Key(CNo) References Course(CNo))ENGINE=InnoD B;Create Table T(TNo c har(20) Primary Key,TName char(20) NOT NULL,TSex char(4) default '男',birthday DateTime,dept char(20),title char(20),address char(20))ENGINE=InnoDB;Create Table Salary(TNo c har(20) NOT NULL,jbgz float,zwgz float,hj float,Foreign Key(TNo) References T(TNo) On Delete Cascade)ENGINE=InnoDB;2、用alter修改基本表(1)在已存在的学生表student中增加一个sdept(系)的新的属性列;alter table Student add Dept char(20);(2)将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。
数据库系统原理实验一参考答案
)
GO
(4)分别对4个表插入表数据(INSERT)
INSERT
INTOdepts
VALUES('D01','自动化')
INSERT
INTOdepts
VALUES('D02','计算机')
INSERT
INTOdepts
VALUES('D03','数学')
INSERT
INTOdepts
VALUES('D04','通信')
INSERT
INTOdepts
VALUES('D05','电子')
INSERT
INTOdepts
VALUES('D06','化学')
SELECT*
FROMDepts
INSERT
INTOStudents
(A)若先建立学生(Students)表,后建立系(Depts)表,行吗?为什么?
答:不行,对Students的Dno作外键约束,必须引用到Depts表的主键Dno。必须先建立系(Depts)表,后才能建立学生(Students)表。
(B)若先建立选课(Reports)表,后建立课程(Courses)表,行吗?为什么?
(
NAME='Students_Log',
FILENAME='E:\ SQL_DATEBASE \Students_Mis_log.ldf',
数据库实验答案
insert into course values('7','PASCAL语言','6',4)
insert into course values('8','C_语言',null,4)
insert into sc values('','1',92)
--实验1、2
create database stdb1
go
use stdb1
go
create table department
(
deptno char(10) primary key,
dname varchar(50)
)
go
create unique index deptname on department(dname)
student表列名类型约束或索引说明snochar9主键约束学号snamevarchar20非空约束姓名ssexchar2性别sageint年龄deptnochar10外键约束所在系别编号department表列名类型约束或索引说明deptnochar10主键约束系别编号dnamevarchar50唯一索引系名称course表列名类型约束或索引说明cnochar4主键约束课程编号cnamevarchar40唯一约束课程名称cpnochar4先行课ccreditsmallint学分sc表列名类型约束或索引说明snochar9外键约束与cno共同构成主键学号cnochar4外键约束与sno共同构成主键课程编号gradeint成绩21
数据库系统原理及应用答案.
数据库系统原理及应用实验指导书(本科)福建工程学院计算机与信息科学系目录实验一数据定义语言 (2)实验二SQL Sever中的单表查询 (5)实验三SQL Serve中的连接查询 (8)实验四SQL Serve的数据更新、视图 (11)实验五数据控制(完整性与安全性) (16)实验六语法元素与流程控制 (19)实验七存储过程与用户自定义函数 (23)实验八触发器 (27)实验一数据定义语言一、实验目的1.熟悉SQL Server2000/2005查询分析器。
2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表的定义、删除与修改,掌握索引的建立与删除方法。
3.掌握SQL Server2000/2005实现完整性的六种约束。
二、实验内容1.启动SQL Server2000/2005查询分析器,并连接服务器。
2.创建数据库: (请先在D盘下创建DB文件夹)1)在SQL Server2000中建立一个StuDB数据库:有一个数据文件:逻辑名为StuData,文件名为“d:\db\StuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB;有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10%2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。
3.设置StuDB为当前数据库。
4.在StuDB数据库中作如下操作:设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE),其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。
写出实现下列功能的SQL语句。
数据库实验答案
实验四五、实验方法和步骤:1.向数据库的USERS表空间添加一个大小为10M的数据文件userdata02.dbf。
Alter tablespace users add datafile ‘c:\oracle\oradata\orcl\userdata02.dbf’ size 10M;2.向数据库的TEMP表空间添加一个大小为5N的临时数据文件temp02.dbf。
Alter tablespace temp add tempfile’c:\oracle\oradata\orcl\temp02.dbf’ size 5M;3.修改userdata02.dbf为自动增长方式,每次增长512k,没有限制大小。
Alter database datafile ‘c:\oracle\oradata\orcl\userdata02.dbf’ autoextend on next 512k maxsize unlimited;4.取消userdata02.dbf的自动增长方式。
Alter database datafile ‘c:\oracle\oradata\orcl\userdata02.dbf’ autoextend off;5.将userdata02.dbf大小设置为8MB。
Alter database datafile ‘c:\oracle\oradata\orcl\userdata02.dbf’ resize 8M;6.将userdata02.dbf设置为脱机。
Alter database datafile ‘c:\oracle\oradata\orcl\userdata02.dbf’ offline;7.将userdata02设置为联机。
Alter database datafile ‘c:\oracle\oradata\orcl\userdata02.dbf’ online;8.改变userdata02的名称。
《数据库原理与应用》实验题目及答案
《数据库原理与应用》实验作业布置实验1 数据库的建立修改与删除完成以下实验报告:《数据库原理与应用》实验报告实验1 数据库的建立修改与删除二、实验环境操作系统:Windows XP。
数据库管理系统:MS SQL Server 2000 或MS SQL Server 2008。
三、实验目的1.熟悉SQL Server 2000上机环境,学会SQL Server 2000“企业管理器”以及“查询分析器”的启动与退出;或熟悉MS SQL Server 2008上机环境,学会SQL Server Management Studio的启动与退出。
2.掌握建立数据库的两种方法。
3.掌握查看和修改数据库的两种方法。
4.掌握删除数据库的两种方法。
四、实验内容(一) 规定内容1. 在用户方便的存储空间上建立存放用户数据库的文件夹。
本实验在D盘根目录下建立文件夹:D:\SQL2000DB,再建立存放T_SQL源代码的文件夹:D:\SQL2000DB\T_SQL 2.利用企业管理器创建学生课程数据库ST,参数如表1.1所示。
3.利用企业管理器查看ST数据库的属性。
4.使用T-SQL语句建立学生-课程数据库ST,参数如表1.1所示。
5.使用T-SQL语句建立数据库JXDB,参数如表1.2所示。
6.使用T-SQL语句为数据库JXDB添加文件组JX_Group2,并为此文件组添加1个数据文件JXDB_Data4;添加1个日志文件JXDB_log1。
参数由用户自己设定。
7.使用T-SQL语句修改数据库JXDB中次数据文件JXDB_Data4的属性:文件初始大小改为5M,增长方式改为每次按20%增长。
删除日志文件JXDB_log1。
8.使用T-SQL语句删除数据库JXDB。
(二) 自定内容五、出现的问题及解决方法实验2 表结构的建立修改删除及完整性约束条件定义完成以下实验报告:《数据库原理与应用》实验报告一、实验题目实验2 表结构的建立修改删除及完整性约束条件定义二、实验环境操作系统:Windows XP。
数据库实验和参考答案
数据库实验和参考答案上机实验三1.在“学生管理数据库”中用查询分析器创建p82页的课程数据表(表名为kcb),并输入数据内容。
2.用查询分析器在student表中增加一个字段:“电话号码”,字符型,并设置默认值为“1111111”。
3.用查询分析器删除kcb表的主键4.用企业管理器或查询分析器修改course表,设置约束:学时>=学分*16。
5.用查询分析器修改学生管理数据库中的students_dat文件增容方式为一次增加3MB.6.将“学生管理数据库”更名为“学生管理”。
7.将“学生管理”数据库备份到外存中。
8.将“学生管理”数据库的数据导出为excel文件,并保存在外存中。
9.为course表中的课程名建立唯一性索引。
10.将“学生管理”数据库从系统中分离出来。
11. 将“学生管理”数据库附加到企业管理器中。
上机实验四1.分别查询学生表和学生修课表中的全部数据。
2.查询计算机系的学生的姓名、年龄。
3.查询选修了c01号课程的学生的学号和成绩。
4.查询成绩在70到80分之间的学生的学号、课程号和成绩。
5.查询计算机系年龄在18到20之间且性别为“男”的学生的姓名、年龄。
6.查询0412101号学生的修课情况。
7.查询c01号课程成绩最高的分数。
8.查询学生都选修了哪些课程,要求列出课程号。
9.查询Northwind数据库中orders 表的OrderlD、CustomerID和OrderDate,并将最新的定购日期(OrderDate)列在前边。
10.查询Northwind数据库中orders 表的ShipCountry列以B,C,D,F 开始且第三个字符为“a”的OrderlD、CustomerID和ShipCountry的信息。
11.查询Northwind数据库中orders 表的ShipCountry列不以A,B,C,D,E,F开始且最后一个字母是“a”的OrderlD、CustomerlD和ShipCountry的信息。
数据库实验答案
《数据库系统概论》实验报告书专业班级学号姓名指导教师安徽工业大学计算机学院实验一:数据定义语言[ 实验日期 ] 年月日[ 实验目的 ]熟悉Oracle上机环境及Oracle客户端的配置;熟练掌握和使用DDL语言,建立、修改和删除数据库表、主键、外键约束关系和索引。
[ 实验内容 ]Oracle上机环境以及Oracle客户端的配置参见附录。
1. SQL数据定义语句:例1-1: (建立数据库表) 建立教学数据库的四个数据库表,其中Student表中不包含SSEX(C,2) 字段,Sname 字段为Sname(C,8)且可为空。
1,创建表StudentCREATE TABLE Student (SNO CHAR(5) ,SNAME CHAR(10) NOT NULL,SDEPT CHAR(2) NOT NULL,SCLASS CHAR(2) NOT NULL,SSEX CHAR(2),SAGE NUMBER(2),CONSTRAINT SNO_PK PRIMARY KEY(SNO))2,创建表CourseCREATE TABLE Course(CNO CHAR(3),CNAME VARCHAR2(16) ,CTIME NUMBER(3),CONSTRAINT CNO_PK PRIMARY KEY(CNO))3,创建表TeachCREATE TABLE Teach(TNAME VARCHAR(8),TSEX CHAR(2),CNO CHAR(3),TDATE DATE,TDEPT CHAR(2),CONSTRAINT TT_PK PRIMARY KEY(TNAME,CNO,TDEPT),CONSTRAINT CNO_FK FOREIGN KEY(CNO) REFERENCES Course(CNO))4,创建表ScoreCREATE TABLE Score(SNO CHAR(5),CNO CHAR(3),SCORE NUMBER(5,2),CONSTRAINT SC_PK PRIMARY KEY(SNO,CNO),CONSTRAINT SNO_FK FOREIGN KEY(SNO) REFERENCES Student(SNO), CONSTRAINT CNOM_FK FOREIGN KEY(CNO) REFERENCES Course(CNO))二、插入数据1,StudentINSERT INTO Student VALUES('96001','马小燕','CS','01',21,'女') INSERT INTO Student VALUES('96002','黎明','CS','01',18,'男') INSERT INTO Student VALUES('96003','刘东明','MA','01',18,'男') INSERT INTO Student VALUES('96004','赵志勇','IS','02',20,'男') INSERT INTO Student VALUES('97001','马蓉','MA','02',19,'女') INSERT INTO Student VALUES('97002','李成功','CS','01',20,'男') INSERT INTO Student VALUES('97003','黎明','IS','03',19,'女') INSERT INTO Student VALUES('97004','李丽','CS','02',19,'女') INSERT INTO Student VALUES('96005','司马志明','CS','02',18,'男')2,CourseINSERT INTO Course VALUES('001','数学分析',144)INSERT INTO Course VALUES('002','普通物理',144)INSERT INTO Course VALUES('003','微机原理',72)INSERT INTO Course VALUES('004','数据结构',72)INSERT INTO Course VALUES('005','操作系统',64)INSERT INTO Course VALUES('006','数据库原理',64)INSERT INTO Course VALUES('007','DB_Design',48)INSERT INTO Course VALUES('008','程序设计',56)3,TeachINSERT INTO Teach VALUES('王成钢','男','004',TO_DATE( '1999-09-05', 'YYYY-MM-DD'),'CS'); INSERT INTO Teach VALUES('李正科','男','003',TO_DATE( '1999-09-05', 'YYYY-MM-DD'),'CS') INSERT INTO Teach VALUES('严敏','女','001',TO_DATE( '1999-09-05', 'YYYY-MM-DD'),'MA') INSERT INTO Teach VALUES('赵高','男','004',TO_DATE( '1999-09-05', 'YYYY-MM-DD'),'IS') INSERT INTO Teach VALUES('李正科','男','003',TO_DATE( '2000-02-23', 'YYYY-MM-DD'),'MA') INSERT INTO Teach VALUES('李玉兰','女','006',TO_DATE( '2000-02-23', 'YYYY-MM-DD'),'CS') INSERT INTO Teach VALUES('王成钢','男','004',TO_DATE( '2000-02-23', 'YYYY-MM-DD'),'IS') INSERT INTO Teach VALUES('马悦','女','008',TO_DATE( '2000-09-06', 'YYYY-MM-DD'),'CS') INSERT INTO Teach VALUES('王成钢','男','007',TO_DATE( '1999-09-05', 'YYYY-MM-DD'),'CS') to_date( '05-09-1999', 'DD-MM-YYYY' );4,ScoreINSERT INTO Score VALUES('96001','001',77.5)INSERT INTO Score VALUES('96001','003',89)INSERT INTO Score VALUES('96001','004',86)INSERT INTO Score VALUES('96001','005',82)INSERT INTO Score VALUES('96002','001',88)INSERT INTO Score VALUES('96002','003',92.5)INSERT INTO Score VALUES('96002','006',90)INSERT INTO Score VALUES('96005','004',92)INSERT INTO Score VALUES('96005','005',90)INSERT INTO Score VALUES('96005','006',89)INSERT INTO Score VALUES('96005','007',76)INSERT INTO Score VALUES('96003','001',69)INSERT INTO Score VALUES('97001','001',96)INSERT INTO Score VALUES('97001','008',95)INSERT INTO Score VALUES('96004','001',87)INSERT INTO Score VALUES('96003','003',91)INSERT INTO Score VALUES('97002','003',91)INSERT INTO Score VALUES('97002','004','')INSERT INTO Score VALUES('97002','006',92)INSERT INTO Score VALUES('97004','005',90)INSERT INTO Score VALUES('97004','006',85)INSERT INTO Score VALUES('97004','008',75)INSERT INTO Score VALUES('97003','001',59)INSERT INTO Score VALUES('97003','003',58)例1-2: (修改数据库表) 在Student表中增加SEX(C,2) 字段。
数据库原理实验报告(6)(含答案)
南京晓庄学院《数据库原理与应用》课程实验报告实验六分组统计查询和集合查询设计所在院(系):数学与信息技术学院班级:学号:姓名:1.实验目的(1)熟练掌握数据查询中分组条件表达、选择组条件的表达方法。
(2)熟练使用统计函数和分组函数。
(3)熟练各类计算和分组计算的查询操作方法。
(4)掌握集合查询的实现方法。
2.实验要求(1)针对“TM”数据库,在SQL Server查询分析器中,用T-SQL语句实现以下查询操作:a)查询各个院系学生的总人数,并按人数进行降序排列。
b)查询各系各门课程的平均成绩。
c)查询每个院系各种职称的教师人数,输出院系、职称、人数。
d)查询数学与信息技术学院学生的平均年龄。
e)查询07294003课程的最高分和最低分。
f)查询选修人数超过30人,且课程号以07开头的课程号、课程名称和选修人数。
按选修人数降序排列。
g)查询选修了5门以上课程的学生学号。
h)查询年龄大于女同学平均年龄的男同学姓名和年龄。
i)查询SC表中最高分与最低分之差大于20分的课程号。
j)查询平均成绩大于75分的课程的课程号、课程名、平均分。
k)查询期末考试平均分排名前10%的学生,输出学号和平均分。
l)查询教师人数最多的前3个院系,输出院系和教师人数。
m)查询全校老师和学生的姓名,输出姓名和类别两列(类别中显示教师或学生),结果按类别排序。
n)用集合查询实现同时讲授过07294003和07295007两门课的老师的工号。
o)用集合查询实现教师表中职称不是教授的老师的详情。
(2)按要求完成实验报告。
3.实验步骤、结果和总结实验步骤/结果将调试成功的T-SQL语句写在下方(标明题号)。
a)查询各个院系学生的总人数,并按人数进行降序排列。
select DEPT_ID, COUNT(*) 总人数 from dbo.Studentgroup by DEPT_IDorder by DEPT_ID descb)查询各系各门课程的平均成绩。
数据库实验及作业部分参考答案
实验三关系查询与连接首先,将sales表中tot_amt的值计算出来。
update sales set tot_amt=0goselect order_no,tot=sum(qty*unit_price)into aa1from sale_itemgroup by order_nogoselect * from aa1goupdate sales set tot_amt=totfrom sales,aa1where aa1.order_no=sales.order_nogo1、查找所有经理的姓名、职称、薪水。
select emp_name ,title,salaryfrom employeewhere title='经理'2、查找出姓“王”并且姓名的最后一个字为“功”的员工。
select *from employeewhere emp_name like '王%功'//3、添加一条记录至employee表(用INSERT…..INTO)。
insert into employee(emp_no,emp_name,sex,dept,title,date_hired,salary)values('E0025','彭江','M','业务','职员',1900/01/21,43200)//4、将每个员工的薪水上调3%。
update employeeset salary=salary*1.03select *from employee3、查找住在上海或北京的女员工,并显示其姓名、所属部门、职称、住址select emp_name,dept,title,addrfrom employeewhere (addr='上海市' or addr= '北京市')and sex='F'4、在表sales中挑出销售金额大于等于10000元订单select *from saleswhere tot_amt>=10000.005、选取订单金额最高的前10%的订单数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一SQL Server使用初步一、实验目的1、熟悉SQL Server2000的组成及基本功能。
2、掌握SQL Server2000的登录及注册。
3、掌握SQL Server2000企业管理器的使用方法。
4、熟悉查询分析器的基本使用。
二、实验预习1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些?答:DBMS是位于用户和操作系统之间的一层数据管理软件。
常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。
2、SQL Server 2000(2005)的安装步骤?答:以企业版安装为例,步骤为:将企业版安装光盘插入光驱后,出现以下提示框。
请选择“安装 SQL Server 2000 组件”出现下面对话框后,选择 "安装数据库服务器" 。
选择 "下一步",然后选择 "本地计算机" 进行安装。
在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。
对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。
"高级选项"中的内容均可在安装完成后进行调整。
在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。
在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。
在“实例名”窗口,选择“默认”的实例名称。
在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。
在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。
在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。
最后按“下一步”即可完成安装。
检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。
可以通过服务管理器来进行启动。
三、实验内容和要求1、注册服务器基本步骤:(1)打开企业管理器(2)右击SQL Server组→新建SQL Server注册(3)添加可用的服务器(实际数据库服务器的名称或IP地址)(4)选择身份验证模式(选“系统管理员分配给我的登录信息”)(5)输入正确的登录名和密码(6)选择SQL Server组(选“在现有的SQL Server组中添加SQL Server”)(7)完成注册若注册成功,则显示注册成功的信息。
2、连接SQL Server服务器(1)右键单击上面注册的数据库服务器,选择连接,建立与数据库服务器的连接。
观察连接后服务器图标的变化;(2)右键单击选择编辑SQL Server注册属性,观察已注册数据库服务器的属性信息;(3)右键单击选择删除SQL Server注册。
为保证数据库的安全性,使用完毕自己的数据库后,可采取删除的方式,断开与数据库的连接;(4)重复注册服务器的步骤,再次建立与数据库的连接;3、熟悉企业管理器(1)单击建立的服务器连接,观察服务器的7个项目,写出它们的名称。
通过查看联机帮助,总结7个项目的基本功能。
(2)单击数据库,观察Northwind数据库下的11个项目,写出项目名称,通过联机帮助了解它们的基本功能。
(3)查看Northwind的表项目,单击表,观察表的名称、所有者、类型以及创建日期。
回答:▪这些表的所有者有哪几种?▪这些表的类型有哪几种?▪选择表Employees,在右键菜单中选择打开表->返回所有行,观察表中的数据,说出这些数据的实际含义。
观察其他用户类型的表,你还能说出它们数据的实际含义吗?(4)查看Northwind的视图项目,单击视图,观察视图的名称、所有者、类型以及创建日期。
选择视图Product Sales for 1997,同上面观察表中数据的方法一样,观察视图中的数据,说出这些数据的意义。
(5)查看Northwind的用户项目,单击用户。
回答:▪有哪类用户?查看它们的属性对话框,它们的角色和权限是否相同?▪通过联机帮助,写出dbo、Guest用户的区别。
(6)查看Northwind的角色项目,单击角色。
回答:▪有哪些角色类型?通过查看联机帮助,写出它们各自的含义和作用。
(7)查看Northwind的安全性项目,单击项目中的登录,观察不同的登录名称、类型、服务器访问、默认数据库,找到你自己的登录名称,右键单击打开属性对话框,观察对话框中的设置,写出登录属性对话框中的设置作用。
4、熟悉查询分析器(1)打开查询分析器。
基本步骤:▪单击注册的数据库服务器,确定服务器已经连接;▪在主菜单“工具”中选择“SQL查询分析器”;▪在打开的查询分析器窗口中,左侧的对象浏览器为注册的服务器,在工具栏的数据库选择中选择Northwind数据库为当前数据库;右侧窗口为查询窗口。
(2)分别在查询窗口中输入如下查询语句,观察查询结果,写出结果的数据记录个数:查询语句1:SELECT *FROM ShippersORDER BY CompanyName结果记录数:3查询语句2:SELECT FirstName, HomePhoneFROM Northwind.dbo.EmployeesORDER BY FirstName ASC结果记录数:9查询语句3:SELECT ROUND( (UnitPrice * .9), 2) AS DiscountPriceFROM ProductsWHERE ProductID = 58结果记录数:1查询语句4:SELECT OrderID,DATEDIFF(dd, ShippedDate, GETDATE() ) AS DaysSinceShipped FROM Northwind.dbo.OrdersWHERE ShippedDate IS NOT NULL结果记录数:809查询语句5:SELECT ProductID, ProductNameFROM Northwind.dbo.ProductsWHERE CategoryID = 1 OR CategoryID = 4 OR CategoryID = 5结果记录数:29四、实验小结五、评阅成绩实验二数据定义一、实验目的1、掌握SQL数据定义功能:数据库定义、表的定义、索引定义。
2、掌握利用企业管理器和SQL语句定义表、索引的方法。
二、实验预习1、SQL中基本表定义语句格式:2、SQL中修改基本表语句格式:三、实验内容和要求1、在企业管理器中,利用菜单操作的方式在各自的数据库中建立如下四个基本表:(1)供应商表S:(2)零件表P:(3)工程项目表J:(4)供应情况表SPJ:2、用CREATE语句建立如下三个表,并写出相应的语句。
语句:CREATE TABLE Student(Sno char(7) PRIMARY KEY,Sname char(10) not null,Ssex char(2) CHECK(Ssex='男' or Ssex='女'),Sage smallint CHECK(Sage>=15 and Sage<=45),Sdept char(20) DEFAULT '计算机系')(2)课程表Course:语句:CREATE TABLE Course(Cno char(10) PRIMARY KEY,Cname varchar(20) NOT NULL,Ccredit smallint check(ccredit>0),semster smallint check(semster >0),period smallint check(period>0))CREATE TABLE SC(Sno char(7),Cno char(10),Grade smallint check(grade>=0),PRIMARY KEY (Sno,Cno),FOREIGN KEY (Cno) REFERENCES Course(Cno),FOREIGN KEY (Sno) REFERENCES Student(Sno))3、利用SQL语句对表结构进行修改。
(1)为零件表P增加一个规格(GUIGE)列,数据类型为字符,长度50;Alter Table P Add GUIGE char(50)(2)修改课程表Course的CNAME属性列的类型为VARCHAR(30);Alter Table Course Alter Column CNAME varchar(30)(3)为供应情况表SPJ添加参照完整性约束;SPJ的SNO列参照S表SNO列Alter Table SPJ Add Foreign Key (SNO) References S(SNO)SPJ的PNO列参照P表PNO列Alter Table SPJ Add Foreign Key (PNO) References P(PNO)SPJ的JNO列参照J表JNO列Alter Table SPJ Add Foreign Key (JNO) References J(JNO)(4)删除零件表P的规格(GUIGE)列Alter Table P Drop Column GUIGE4、利用企业管理器向表中添加数据(1)供应商表S:继续往表中增加一条记录:四个字段的数据分别是S1,东方红,30,北京,会出现什么情况?为什么?不能增加,因为SNO是主键,不能取重复值。
(2)零件表P:是否能够正常输入三条数据?如果否,问题出在哪里,为什么?第三条记录不能输入,因为P3的WEIGHT属性取值违法了其检查约束。
(3)工程项目表J:第三条记录是否能够正常输入,若否,会出现什么问题,为什么?第三条记录不能输入,因为JNAME不能取NULL值。
(4)供应情况表SPJ:输入过程中是否会遇到问题,若有,出在哪,为什么?第三条记录不能输入,因为在工程项目表J中没有J3,破坏了参考完整性。
四、实验小结五、评阅成绩实验三数据查询一、实验目的1、掌握查询语句的基本组成和使用方法2、掌握常用查询技巧二、实验预习1、SQL中查询语句格式:2、连接查询有哪些不同的连接方式?有什么特点。
三、实验内容和要求1、按照下表中的内容,在企业管理器中为数据库表输入相应的数据。
选课表:SC2、完成下列查询(1)查询全体学生的信息。
select * from student(2)查询“信息系”学生的学号,姓名和出生年份。