数据库实验答案

合集下载

数据库实验内容-答案

数据库实验内容-答案

实验内容:实验一:数据库的操作使用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的外部键。

数据库实验(实验七数据查询)实验报告答案

数据库实验(实验七数据查询)实验报告答案

实验7数据查询【实验内容】7.1单表查询1、指定列或全部列查询1) 查询S表中全体学生的详细记录use jxsk select * from S出言岂select - f Tdtt s|.1结杲SEX AGE DEPT NATEVEJ_a,i soi王青山19计算机NULL2SI—赵亦17软件MULL 35218计算机NULL4S3弓綽明胃IS信息NULL554李四21包动ft NULL&S519软件NULL756昊丽20计算机NULL8S7范思明女ie NULL9S820自动化NULL10S919枫牛NULL2) 查询所有学生的姓名及其岀生年份。

use jxsk select SN, 2012 - AGEfrom S1「王諭】1&932赵亦1995J钱尔15944號慣明隔&李四1S516周展憫15537昊丽13828范思明1994S?«1S9210张海涛2、按条件查询及模糊查询1)查询考试成绩有不及格的学生的学号。

use jxsk selectdistinct SNOfrom SCwhere SCORE<602)查询年龄在20 —23岁之间的学生的姓名、系名和年龄use jxsk select SN,DEPT, AGEfrom Swhere AGE>=20 and AGE<= 30□ us* select 5N, DEET, troni 5L AGE>=20 ard AGE<-30V结果J消息| SH DEPT ,<SE1[ SS'J自动化212昊丽计算机203补珊自动化203)查询姓李的学生的姓名、学号和性别。

use jxsk select SN, SNO, SEXfrom S where SNlike '李%'□ use jxsk select ^NO f SEX from 5 wriere EE 丄是'李虽「Array4) 查询名字中第二个字为明”字的男学生的姓名和系名use jxsk select SN, DEPTfrom Swhere SNlike '_% 明’and SEX='男’SN DEPTi !信息h^iiiiauaB in KI ■■■■■&■■■■#3、对查询结果排序1) 查询信息系、计算机系学生的姓名、系名,结果按系名升序,按姓名降序排序。

数据库实验五题目答案

数据库实验五题目答案

实验五实验5.1 数据查询1)要求以School数据库为例,在该数据库中存在四张表格,分别为:●表STUDENTS(sid, sname, email, grade);●表TEACHERS(tid, tname, email, salary);●表COURSES(cid, cname, hour);●表CHOICES(no, sid, tid, cid, score)在数据库中,存在这样的关系:学生可以选择课程,一个课程对应一个教师。

在表CHOICES中保存学生的选课记录。

按以下要求对数据库进行查询操作:(1)查询年级为2001的所有学生的名称并按编号升序排列。

程序:Select snamefrom studentswhere grade='2001'order by sid asc;(2)查询学生的选课成绩合格的课程成绩。

程序:Select scorefrom choiceswhere score>'59';(3)查询课时是48或60的课程的名称。

程序:select cnamefrom courseswhere hour='48'or hour='60';(4)查询所有课程名称中含有data的课程编号。

程序:select cidfrom courseswhere cname like'%data%';(5)查询所有选课记录的课程号(不重复显示)。

程序:select distinct cidfrom choices;(6)统计所有教师的平均工资。

程序:select avg(salary)from teachers;(7)查询所有教师的编号及选修其课程的学生的平均成绩,按平均成绩降序排列。

程序:select tid,avg(score)from choicesGROUP BY tidorder by avg(score)desc;(8)统计各个课程的选课人数和平均成绩。

数据库实验答案

数据库实验答案

1 使用图形化界面,创建一个名为“SM”的数据库,创建在U盘上2 使用T-SQL语句,创建SM数据库中的学生表Student,表中包括的字段有学号,班级编号,姓名,性别,出生日期,年龄。

create table SM.dbo.student(学号int ,姓名nvarchar(5) not null,性别nchar(1),出生日期datetime,班级编号char(1))3 使用T-SQL语句,创建SM数据库中的班级表Class,表中包含的字段有班级编号,教师编号,院系编号,班级名称。

create table SM.dbo.class(班级编号char(11),教师编号char(2),院系编号tinyint ,班级名称nchar(8))4 使用T-SQL语句,创建SM数据库中的课程表Course,表中包含的字段有课程编号,课程类型编码,课程名称,课程介绍,学分,总学时,先修课程,学期。

create table SM.dbo.course_info(程编号varchar(6),课程类型编码varchar(7),课程名称nchar(4),课程介绍nvarchar(30),学分numeric(3,1),总学时int),先修课程nchar(6),term char(1))5 使用图形化界面为表Student增加一列,列名为Address,数据类型为VARCHAR,长度为30,允许空。

Use smAlter table studentAdd address varchar(3) not null6 用SQL语句修改表Course的列属性,将课程名称的长度改为40,且不允许空。

Use smAlter table studentAlter column CName varchar(40) not null7 用SQL语句删除表Student中的列Address。

Use smAlter studentDrop column address8使用SQL语句向表中插入数据。

数据库实验报告及答案

数据库实验报告及答案

实验任务书(实验一、实验二)课程名称:数据库原理与技术实验报告要求: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。

数据库技术实验报告的答案

数据库技术实验报告的答案

数据库技术实验报告的答案实验目的:本次实验旨在加深对数据库管理系统(DBMS)的理解,掌握数据库设计、实现和查询的基本技能,并通过实际操作来熟悉SQL语言的运用。

实验环境:1. 操作系统:Windows 102. 数据库管理系统:MySQL 8.03. 开发工具:Visual Studio Code实验内容:1. 数据库的创建与设计2. 数据表的创建与数据类型选择3. 数据的插入、更新与删除4. SQL查询语句的编写与执行5. 数据库的备份与恢复实验步骤与结果:1. 数据库的创建与设计:- 使用MySQL命令行工具创建名为“StudentsDB”的数据库。

- 设计了三个表:Students(学生信息),Courses(课程信息),Enrollments(选课信息)。

2. 数据表的创建与数据类型选择:- 为Students表创建字段:StudentID(INT,主键),Name (VARCHAR(50)),Age(INT),Gender(CHAR(1))。

- 为Courses表创建字段:CourseID(INT,主键),CourseName (VARCHAR(100)),Credits(INT)。

- 为Enrollments表创建字段:EnrollmentID(INT,主键),StudentID(INT),CourseID(INT),Grade(CHAR(2)),并设置StudentID和CourseID为外键。

3. 数据的插入、更新与删除:- 向Students表插入了10条学生记录。

- 向Courses表插入了5门课程记录。

- 通过Enrollments表记录了学生的选课情况,包括成绩。

- 使用UPDATE语句更新了学生的选课成绩。

- 使用DELETE语句删除了某些学生的选课记录。

4. SQL查询语句的编写与执行:- 编写了多条SELECT语句,查询了学生信息、课程信息以及学生的选课情况。

- 使用了JOIN操作查询了学生与其选修课程的关联信息。

数据库技术与应用实验报告及答案

数据库技术与应用实验报告及答案

数据库技术与应用实验报告册所在学院________________班级________________学号________________姓名________________批阅教师________________时间:2008.9—2008.12实验一实验名称数据库的规范化设计得分实验要求1.熟悉ACCESS数据库的建库过程2.理解数据库规范化设计的基本内容3.根据给定的数据表作出分解,达到规范化的要求实验设备实验地点实验内容:1.使用SQL语句写出根据下列表格创建Access数据库并输入数据操作内容;学号姓名性别出生年月联系电话课程号课程名成绩20000101沈吉洁女1982-10-16021-68120304000006C语言程序设计67 20000101沈吉洁女1982-10-16021-68120304000007数据库原理20000102丁爽女1981-11-15021-32450120000006C语言程序设计56 20000102丁爽女1981-11-15021-32450120000007数据库原理76 20010101李颖女1982-9-240771-56703630000001高等数学78 20010101李颖女1982-9-240771-56703630000003毛泽东思想65 20010101李颖女1982-9-240771-56703630000005计算机专业英语85 20010101李颖女1982-9-240771-56703630000006C语言程序设计60 20010101李颖女1982-9-240771-56703630000007数据库原理78 20010101李颖女1982-9-240771-56703630000010大学体育60 20010102王玉华女1982-10-2021-61424229000001高等数学60 20010102王玉华女1982-10-2021-61424229000003毛泽东思想80 20010102王玉华女1982-10-2021-61424229000005计算机专业英语75 20010102王玉华女1982-10-2021-61424229000006C语言程序设计60 20010102王玉华女1982-10-2021-61424229000007数据库原理75 20010102王玉华女1982-10-2021-61424229000010大学体育80计算机软件技术课群——数据库技术与应用实验报告2.指出该表格有哪些不合理的地方(主键、冗余、传递等问题)?你是如何加以解决的(如何分解,分解的依据)?分解后如何保持表格的完整性(建立了哪些关系,画图说明)?实验收获:实验二实验名称网络数据库应用的设计与实践得分实验要求1.熟悉SQL SERVER的环境与设置2.了解SQL Server数据库与其他数据库数据导入导出操作3.了解SQL Server数据库备份操作4.会使用系统存储过程查看数据库信息实验设备实验地点实验内容:1.在Windows 2000 Server环境中使用SQL Server,并将上个实验报告建立的Access数据库导入到SQL Server实例中,写出具体的操作步骤。

数据库实验答案

数据库实验答案

实验3 使用T-SQL语言完成单表查询一、实验目的掌握使用T—SQL语言完成单表查询掌握常用谓词的用法掌握where子句的用法掌握order by 子句的用法掌握group by 子句和having短语的用法二、实验环境Microsoft SQL Server 2000。

三、实验内容和要求1.查询全体学生的详细信息。

2.查询所有课程的详细信息.3.查询所有选课记录的详细信息,要结果表中的列名以中文的形式显示,分别为:学号,课程号,成绩。

4.查询已被学生选修了的课程的编号。

5.查询系别编号为“d002”的学生的姓名和性别。

6.查询年龄在19至21岁或者性别为“女”的学生的学号和所在系别编号。

7.查询系别编号为d001、d002和d003的学生的学号和姓名。

8.查询课程名为“C_”开头的课程名和学分.9.某些学生入学后还没有确定所在的系,查询还没有确定系的学生的姓名。

10.查询成绩大于60分的学生的学号、课程号和成绩,并将查询结果按课程编号升序排列,同一课程的成绩按分数降序排列。

11.查询学校所开设的总的课程数.12.计算2号课的学生成绩总和以及平均成绩,对应的列名分别为“总成绩”和“平均成绩”。

13.查询选修了3号课程的学生的最高分和最低分,对应的列名分别为“最高分”和“最低分"。

14.求各个系别的编号以及各系的人数。

15.查询选课人数大于等于2人的课程编号以及选课的人数。

16.查询学生200215122选修课程的总成绩对应的列名为“总成绩”,并显示出学号。

17.查询有2门以上课程是80分以上的学生的学号及课程数。

18.查询选修了1号课的学生的学号和成绩,结果按成绩降序、学号升序排列.实验1 使用T-SQL语言建库、建表实验2 向表中增、删、改数据四、实验目的掌握使用T-SQL建库、建表、修改表;掌握使用T-SQL对表中数据进行插入、删除和修改.五、实验环境Microsoft SQL Server 2000.六、实验内容和要求19.建立数据库STDB20.在数据库STDB中建立四个表:Student表Department表Course表21.分别向以上四个表中增加数据。

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

实验二1.打开数据库SQL Server 2000的查询分析器,用SQL语言建表student,表结构如下图所示:字段名类型长度含义id varchar 17 学生编号name varchar 10 姓名sex varchar 2 性别age integer 年龄score numeric 6,2 总成绩CREATE TABLE student( id varchar(17),name varchar(10),sex varchar(2),age integer,score numeric(6,2))2.用SQL语言向表student插入如下6条记录:A0001 赵一男24 480.00insert into student values('A0001','赵一','男','24','480.00');..........3.把所有学生年龄加一岁。

update student set age=age+14.把吴六改名为吴九。

update student set name=‘吴九’where name=‘吴六’5.添加学生李梅,学号H0007。

in sert into student values(‘H0007’, ‘李梅’, ‘女’, 19, ‘435.00’);6.删除1990年后出生的人。

(获取当前年的函数为YEAR(GETDATE()))delet from student where age<year(getdate())-19907.把李梅的性别和年龄分别用女和19岁填充。

update studentset sex=‘女’set age=‘19’where name= ‘李梅’7.删除分数低于400的人。

delet from student where score<4008.添加学生郭八,学号I0008,性别男,年龄20,总分411。

insert into student values(‘I0008’, ‘郭八’, ‘男’, 20, ‘411.00’);9.将所有学生的分数按总分为500,换算成百分制。

updata student set score=score/500*10010.删除学号为“C0003”的学生。

delet form student where id=‘C0003’11.将年龄为25岁的学生分数加3。

updata student set score=score+3 where age=25实验三1.打开数据库SQL Server 2000的查询分析器,用Create Table建表Student,表结构如下所示:字段名类型长度含义ID Varchar 20 学号Name Varchar 10 姓名Age Int 年龄Department Varchar 30 所在系create table student(id varchar(20),name varchar(10),age int,department varchar(30))2.用Create Table建表Course,表结构如下所示:字段名类型长度含义CourseID Varchar 15 课程号CourseName Varchar 30 课程名CourseBefore Varchar 15 先行课create table course(courseid varchar(15),coursename varchar(30),coursebefore varchar(15)) 3.用Create Table建表Choose,表结构如下所示:create table choose(id varchar(20),courseid varchar(30),score dec(5,2))4.用INSERT语句向表Student中插入3条记录:ID Name Age Department00001 张三20 计算机系insert into student values('00001','张三',20,'计算机系')insert into student values('00002','李四',19,'计算机系')insert into student values('00003','王五',21,'计算机系')5.INSERT语句向表Course中插入3条记录:CourseID CourseName CourseBeforeC1 计算机引论NullC2 PASCAL语言C1C3 数据结构C2insert into course values('C1','计算机引论','Null ').........\6.用INSERT语句向表Choose中插入7条记录:ID CourseID Score00001 C1 95 insert into choose values('00001','C1','95')....................7.用SELECT语句求计算机系学生的学号和姓名。

select department AS 计算机系,id AS 学号,name AS 姓名from student8.用SELECT语句求学生的学号、姓名、选的课程名及成绩。

select student.id AS 学号, AS 姓名,course.coursename AS 课程,choose.score AS 成绩from student,course,choosewhere student.id=choose.id and course.courseid=choose.courseid9.用SELECT语句求C1课程的成绩低于张三的学生的学号和成绩。

select id AS 学号,score AS 成绩from choosewhere courseid='C1'and score<9510.用SELECT语句求选了C2课程并且也选了C3课程的学生的学号。

select id AS 学号from choosewhere (courseid='C1')and(courseid='C3')实验四1. 建立教学数据库teaching2. 建立教学数据库的三个基本表:S (S#, SNAME, AGE, SEX) 学生(学号,姓名,年龄,性别)SC (S#, C#, GRADE ) 选修(学号,课程号,成绩)C (C#, CNAME, TEACHER) 课程(课程号,课程名,任课教师)CREATE DATABASE teachingcreate table S (S# varchar(20), SNAME varchar(30) ,AGE int,SEX varchar(2));create table SC (S# varchar(20), C# varchar(30) ,GRADE dec(5,2));create table C(C# varchar(30) ,CNAME Varchar(15),TEACHER varchar(30));3.输入数据基本表S的数据S1 WANG 20 M基本表C的数据C2 MATHS MA基本表SC的数据(空格为未修课)S#S1 S2 S3 S4 S5 S6C#C1 80 85 90 75 70 90C2 70 85 60insert into S values('S1','WANG','20','M');............insert into C values('C2','MATHS','MA');.........................insert into SC values('S1','C1','80');............4.建立男学生的视图schoolboy,属性包括学号、姓名和年龄。

CREATE VIEW schoolboyASSELECT S.S#, S.SNAME, S.AGEFROM S where S.SEX=('M')5在视图schoolboy中查询年龄为19的学生学号与姓名。

SELECT S#,SNAME FROM schoolboy where AGE='19'6将学号为S2的年龄改为21。

update schoolboy set S#=('21') where S#=('S2')7向男学生视图schoolboy中插入一个新的男生记录,其中学号为S7,姓名为MING,年龄为20。

insert into schoolboy values('S7','MING',20);8删除视图schoolboy中学号为S3的记录。

delete from schoolboy where S#=('S3')9建立女学生的视图,属性包括学号、姓名、选修课程名和成绩。

CREATE VIEW schoolgirlAS SELECT S.S#, S.SNAME,SC.GRADE, AMEFROM S INNER JOINSC ONS.S# = SC.S# INNER JOINC ON SC.C# = C.C#where S.SEX=('F')10在女学生视图中查询平均成绩大于80分的学生学号与姓名。

SELECT S#,SNAME FROM schoolgirl where GRADE>('80')11删除女学生视图。

DROP VIEW shoolgirl实验五1、在SQL SERVER 2000任一示例数据库中建立如下三个学生选课相关的表,并输入相应的记录行。

create table Student (sno varchar(20), sname varchar(30) , age int, sex varchar(2));create table Course(cno varchar(30) , cname Varchar(15), teacher varchar(30), office varchar(30));create table SC (sno varchar(20), cno varchar(30) , score dec(5,2));学生表Studentsno sname age sex98601 李强20 男insert into Student values('98601','李强','20','男');课程表Coursecno cname teacher officeC601 高等数学周振兴416 insert into Course values('C601','高等数学','周振兴','416');选课表SCsno cno score98601 C601 90insert into SC values('98601','C601','90');2、用SQL完成下列查询。

相关文档
最新文档