数据库上机作业答案

合集下载

mysql上机考试题及答案

mysql上机考试题及答案

mysql上机考试题及答案1. 题目:请写出在MySQL中创建一个名为`students`的表,该表包含`id`(主键,自增)、`name`(姓名,字符串类型)、`age`(年龄,整型)和`class`(班级,字符串类型)四个字段的SQL语句。

答案:```sqlCREATE TABLE students (id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50),age INT,class VARCHAR(50));```2. 题目:向`students`表中插入一条新记录,记录的姓名为“张三”,年龄为18,班级为“高一1班”。

答案:```sqlINSERT INTO students (name, age, class) VALUES ('张三', 18, '高一1班');```3. 题目:查询`students`表中所有学生的姓名和年龄,并按年龄降序排列。

答案:```sqlSELECT name, age FROM students ORDER BY age DESC;```4. 题目:更新`students`表中姓名为“张三”的学生记录,将其年龄改为20。

答案:```sqlUPDATE students SET age = 20 WHERE name = '张三';```5. 题目:删除`students`表中年龄小于18岁的所有学生记录。

答案:```sqlDELETE FROM students WHERE age < 18;```6. 题目:创建一个名为`teachers`的表,该表包含`teacher_id`(主键,自增)、`teacher_name`(教师姓名,字符串类型)、`subject`(教授科目,字符串类型)和`department`(所属部门,字符串类型)四个字段。

答案:```sqlCREATE TABLE teachers (teacher_id INT AUTO_INCREMENT PRIMARY KEY,teacher_name VARCHAR(50),subject VARCHAR(50),department VARCHAR(50));```7. 题目:为`students`表和`teachers`表建立外键约束,假设每个学生只能有一个班主任,班主任的`teacher_id`与`teachers`表的主键相对应。

数据库上机答案

数据库上机答案

数据库上机11、新建工厂数据库factory。

create database factoryon(name=factory_data,filename='d:\factory.mdf')log on(name=factory_log,filename='d:\factory.ldf')2、数据库factory包括职工表worker、部门表depart和职工工资表salary。

用SQL语句建立这三个表并输入数据,其表结构及用例数据分别如下:职工表结构为:职工号:int;姓名:char(8) ;性别:char(2) ;出生日期:datetime;党员否:char(2) ;参加工作:datetime;部门号:int;其中职工号为主码。

部门表结构为:部门号:int;部门名:char(10);其中部门号为主码。

职工工资表结构为:职工号:int;日期:datetime;工资:decimal(6,1) ;其中职工号和日期为主码。

create table worker( 职工号int primary key, 姓名char(8) ,性别char(2),出生日期datetime,党员否char(2),参加工作datetime,部门号int)create table depart( 部门号int primary key, 部门名char(10))create table salary( 职工号int,日期datetime,工资decimal(6,1),Primary key(职工号,日期))3. 显示部门的详细信息。

select * from depart4.查询3号职工的工资单。

select * from salary where职工号=35.显示所有职工的姓名及年龄,并按姓名升序显示。

select 姓名, 2015-year(出生日期) '年龄' from worker order by姓名6. 求出各部门的部门号及党员人数。

数据库张上机实验点评及参考答案

数据库张上机实验点评及参考答案

上机实验三——基本表的建立和修改三、实习内容:1.启动 MSSQL Server 服务,打开 Enterprise Manager和 Query Analyzer 。

2.在 Query Analyzer 中用 CREATE TABLE命令在实验二创建的 GradeManager 数据库中定义基本表:学生表(Student )、课程表(Course ),利用 EnterpriseManager 的图形化功能建立班级表(Class )以及成绩表( Grade)。

create table Student( Sno char(7) primary key ,Sname varchar(20) not null ,Ssex char(2) not null,Sage Smallint ,Clno char(5)not null);create table Class( Clno char(5) primary key,Speciality varchar(20) not null,Inyear char(4) not null,Number integer ,Monitor char(7) );create table Course(Cno char(1) primary key,Cname varchar(20) not null,Credit Smallint );create table Grade(Sno char(7) references student(sno),Cno char(1) references course(cno),Gmark numeric,Primary key(sno,cno));四、针对以上四个表,用SQL语言完成以下各项操作。

①给学生表增加一属性Nation (民族),数据类型为Varchar(20);②删除学生表中新增的属性Nation ;③向成绩表中插入记录(”2001110”,”3,”80);④修改学号为”2001110”的学生的成绩为70 分;⑤删除学号为”2001110”的学生的成绩记录;⑥为学生表创建一个名为IX_Class的索引。

数据库上机实验题目和答案

数据库上机实验题目和答案

试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,ount,s.snamefrom(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

上机第1套参考答案

上机第1套参考答案

上机第1套参考答案Visual Foxpro 上机题参考答案及评分标准(1)一、建立数据库、数据表和表间的永久关系(共40分)1、建立数据库(5分)2、2个数据表的索引和表间的永久关系(15分)。

2、2个数据表的建立正确、数据正确(20分)。

二、基于表的表单设计(共30分)(1)界面正确及手工绑定正确(5分)(2)组合框combo1的InteractiveChange事件代码:* 编辑框输出(10分)* 文本框输出(10分)zy=alltrim(this.value)select cj.学号,姓名,成绩 from xs,cj ;where xs.学号=cj.学号 and 专业=zy into dbf zycjthisform.edit1.value=""thisform.edit1.value=thisform.edit1.value+;"学号 "+space(2)+"姓名 "+space(2)+"成绩"+chr(13)select zycjscanthisform.edit1.value=thisform.edit1.value+学号+space(2)+姓名+space(2)+str(成绩,3)+chr(13)endscanselect avg(成绩) from zycj into array xselect count(*) from zycj where 成绩<60 into array y thisform.text1.value=x(1)thisform.text2.value=y(1)(3)“退出”命令按钮的click事件代码:(5分)thisform.release三、表单设计(共30分)(1)界面正确及已给代码录入正确(6分)(2)命令按钮组的click事件代码(8分/空):①this.value=1感谢您的阅读,祝您工作顺利,生活愉快!。

数据库上机实验

数据库上机实验

实验一数据表的建立一、实验目的:熟悉Access 2000的操作环境,并了解关系数据库中关系在Access 2000中的表示——数据表,同时掌握数据表建立的不同方法。

二、实验要求:1.掌握Access 2000的启动和退出;2.了解Access 2000的特性;3.熟悉Access 2000的操作界面、窗口组成各元素;4.掌握Access 2000中建立、保存数据库的方法;5.掌握Access 2000中打开数据库的方法;6.掌握在Access 2000数据库中建立数据表的方法;7.掌握数据表中字段属性的设置和修改;8.掌握数据表中数据的输入、修改、添加、删除;9.掌握在Access 2000数据表的两种视图。

三、实验内容:1、启动Access 2000;2、打开已有的数据库文件(如“罗斯文示例数据库”);3、熟悉Access的操作环境,了解其窗口组成各元素;4、通过帮助了解Access 2000的功能和新特性;5、在Access 2000中新建一个SPJ数据库,并在其中用三种不同的方法(数据表视图、表向导、设计视图)新建S、P、J、SPJ四个数据表,各表结构及内容见下页;6、根据表中数据设置各字段的类型及大小,并设置S、P、J表的主键分别为SNO、PNO、JNO,SPJ表的主键为SNO+PNO+JNO,这些字段不能取空值、而且各记录的值互不相同;7、为S表的CITY字段设置有效性规则,限定其输入的城市只能为“天津”、“北京”、“上海”之一;为SPJ表的QTY字段设置有效性规则,限定其输入的数量在100~900之间;8、按表格所示内容输入各表数据;9、练习表中记录的浏览、修改、插入、删除;10、退出Access。

四、实验步骤:1、启动Access 2000在Windows中单击“开始/程序/Microsoft Access”命令即可启动Access,如图1-1所示。

启动Access后,即可看到一个初始对话框出现,如图1-2所示。

数据库上机实验答案5

数据库上机实验答案5

数据库上机实验答案 5学号:姓名:日期:年月日实验目的:综合练习所学的SQL语言。

学习日期函数。

实验内容:基于提供的食堂交易记录trans表,进行查询,记录SQL语句及查询结果。

食堂交易记录表trans的数据说明如下:trans食堂交易记录(stuID,学生学号posID,刷卡机编号transTime,交易时间transValue,交易金额)1 食物销量大比拼创建一张表格posSummary,表格内容如下: pos机编号,就餐人数,刷卡次数,销售金额,平均每次刷卡金额。

以pos机编号为主键。

利用insert语句填充数据。

选择并展示posSummary中销售金额前10的pos机。

2 评选食堂忠实粉丝创建一个视图stuSummary,视图内容如下:学生ID,刷卡次数,刷卡总金额,刷卡平均金额。

基于创建的视图,分别找出刷卡次数最多、刷卡总金额最多、刷卡平均金额最多的同学。

3 学习日期函数datepart执行如下语句。

将执行结果复制到excel中,绘制散点图。

解释图的意思。

select datepart(hour,transtime)*60+datepart(minute,transtime)as minuteOfDay,count(*) as freq from trans group by datepart(hour,transtime)*60+datepart(minute,transtime) order by datepart(hour,transtime)*60+datepart(minute,transtime)其中,日期函数datepart(hour,transtime)的意思是将transtime中小时的部分取出来。

4 就餐规律研究计算某一天是星期几的方法如下:datepart(weekday,transtime),其计算结果周日为1,周一为2,周六为7。

基于题3中的方法,绘制上课日(周一到周五)学生的就餐规律和休息日(周六、周日)学生的就餐规律图。

数据库期末上机试题参考答案

数据库期末上机试题参考答案

公司数据库由下面三个表组成:上机测试题目:要求完成以下操作:一、使用SQL命令创建名为‘corporation’的公司数据库(参数自己定义)。

(5分)CREATE DATABASE corporationON(name=CP_dat,filename="'+ @data_path+'saledat.mdf",size=8,maxsize=10,filegrowth=1)LOG ON(name=sales_log,filename ="'+@data_path +'salelog.ldf",size=1mb,filegrowth=1mb)二、分别将公司数据库中雇员、部门、工作三个表命名为Employee、Department、work。

按照上述表格内容创建这三个数据表(列名使用汉语拼音),并向三个数据表输入数据。

(5分)USE corporationGO--创建雇员表CREATE TABLE Employee (emp_no char(3) NOT NULL,emp_name char(6) NULL,age INT NULL,address nchar(2) NULL,sal INT NULL)INSERT INTO Employee V ALUES('E01', 'tom', 35, '广州',8000)INSERT INTO Employee V ALUES('E02', 'dennis',24,'顺德',5000)INSERT INTO Employee V ALUES('E03', 'john ',20,'广州',4000)INSERT INTO Employee V ALUES('E04', 'rick',41,'顺德',7000)INSERT INTO Employee V ALUES('E05', 'bill',45,'河源',7500)INSERT INTO Employee V ALUES('E06', 'frank',35,'广州',6000)INSERT INTO Employee V ALUES('E07', 'jank',25,'佛山',3000)INSERT INTO Employee V ALUES('E08', 'mike',23,'佛山',3500)--创建部门表CREATE TABLE Department (dep_no char(3) NOT NULL,dep_name nvarchar(2) NULL,dep_manager char(3) NULL)INSERT INTO Department V ALUES('D01','人事','E04')INSERT INTO Department V ALUES('D02','信息','E01')INSERT INTO Department V ALUES('D03','销售','E05')INSERT INTO Department V ALUES('D04','财务','E06')--创建工作表CREATE TABLE work (emp_no char(3) NULL,dep_no char(3) NULL,dep_year INT NULL)INSERT INTO work V ALUES('E01','D02',6)INSERT INTO work V ALUES('E01','D03',1)INSERT INTO work V ALUES('E01','D04',2)INSERT INTO work V ALUES('E02','D01',2)INSERT INTO work V ALUES('E02','D04',0)INSERT INTO work V ALUES('E03','D02',0)INSERT INTO work V ALUES('E04','D01',4)INSERT INTO work V ALUES('E04','D02',1)INSERT INTO work V ALUES('E05','D03',2)INSERT INTO work V ALUES('E06','D04',4)INSERT INTO work V ALUES('E07','D04',1)INSERT INTO work V ALUES('E08','D03',2)三、用SQL语句完成下列查询,上机验证之后将SQL语句按题号保存。

数据库上机习题及答案

数据库上机习题及答案

数据库上机习题及答案 Revised by Liu Jing on January 12, 2021数据库及应用复习题一、设计题有一个[学生课程]数据库,数据库中包括三个表:学生表Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept) ,Sno 为关键字。

课程表Course由课程号(Cno)、课程名(Cname)、先修课号(Cpno)、学分(Ccredit)四个属性组成,记为:Course(Cno,Cname,Cpno,Ccredit) Cno为关键字。

成绩表SG由学号(Sno)、课程号(Cno)、成绩(Grade)三个属性组成,记为: SG(Sno,Cno,Grade) (SNO, CNO)为关键字。

用SQL语言实现下列功能:1.建立学生表Student,其中学号属性不能为空,并且其值是唯一的。

2.向Student表增加“入学时间(Scome)”列,其数据类型为日期型。

3.查询选修了3号课程的学生的学号及其成绩,查询结果按分数的降序排列。

4.查询学习1号课程的学生最高分数、平均成绩。

5.查询与“李洋”在同一个系学习的学生。

6.将计算机系全体学生的成绩置零。

7.删除学号为05019的学生记录。

8.删除计算机系所有学生的成绩记录。

1.CREATETABLE Student(Sno CHAR(5) NOT NULL UNIQUE,Sname CHAR(20),Ssex CHAR(2),Sage INT,Sdept CHAR(15))2.ALTER TABLE Student ADD Scome DATETIME 3.SELECT Sno, GradeFROM SGWHERE Cno='3'ORDER BY Grade DESC4.SELECT MAX(Grade), AVG(Grade)FROM SCWHERE Cno='1'5.SELECT Sno, Sname, SdeptFROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname='李洋')6. UPDATE SGSET Grade=0WHERE Sno in( SELECT Sno FROM StudentWHERE Sdept = '计算机系')7.DELETE FROM StudentWHERE Sno='05019'8. DELETE FROM SGWHERE Sno in( SELECT Sno FROM StudentWHERE Sdept = '计算机系')二、设计题现有关系数据库如下:数据库名:教师数据库教师表(编号 char(6),姓名,性别,民族,职称,身份证号)课程表(课号 char(6),名称)任课表(ID,教师编号,课号,课时数)用SQL语言实现下列功能的sql语句代码:1. 创建上述三表的建库、建表代码(14分);要求使用:主键(教师表.编号,课程表.课号)、外键(任课表.教师编号,任课表.课号)、默认(民族)、非空(民族,姓名)、唯一(身份证号)、检查(性别、课时数),自动编号(ID)2. 将下列课程信息添加到课程表的代码(6分)课号课程名称100001 SQL Server数据库100002 数据结构100003 VB程序设计修改课号为100003的课程名称:Visual Basic程序设计删除课号为100003的课程信息3. 写出创建[任课表视图](教师编号,姓名,课号,课程名称,课时数)的代码;(4分)4. 写出创建[某门课任课教师]内嵌表值函数以及检索的代码;(6分)检索:所有代'SQL Server数据库'这门课程的老师姓名;5. 写出创建[统计课时数]:输出最大课时数、最低课时数、平均课时的存储过程以及执行代码;(6分)6.写出创建:计算某教师代课总课时,并将值返回的存储过程以及执行代码。

数据库上机考试题及答案

数据库上机考试题及答案

数据库上机考试(7)考试说明:请同学们在90分钟内完成以下内容:注意事项:1、根据题目要求,请用自己的“班级+学号+姓名”替换文件名中的*部分,例如要求建立“图书管理库*”,田鹏鹏同学则要输入“图书管理库37号田鹏鹏”,以此类推。

2、要求用SQL命令完成题目,将题目答案粘贴在题目下面红色提示出,保存为WORD文档,以“数据库上机考试+班级+学号+姓名+”命名。

一、创建一个数据库,命名为进销存管理*(10分)SQL命令:create database进销存管理应用技术_1班号on(name=进销存管理应用技术_1班号,filename='D:\进销存管理应用技术_1班号_dat.mdf',size=15M,maxsize=50M,filegrowth=5M)log on(name=进销存管理应用技术_1班号,filename='D:\进销存管理应用技术_1班号_dat.ldf',size=10M,maxsize=40M,filegrowth=5M)二、根据要求创建下表(15分)1、创建客户、产品、入库和销售四张表,表的的结构如下2、客户*SQL命令:CREATE TABLE客户(客户编号varchar(3)NOT NULL,姓名varchar(10)NOT NULL,地址varchar(20),电话varchar(20))GO产品*:SQL命令:CREATE TABLE产品(产品编号varchar(5)NOT NULL,品名varchar(20)NOT NULL,单价Decimal(8,2)NOT NULL,库存数量int NOT NULL)GO入库*:CREATE TABLE入库(产品编号varchar(5)NOT NULL,入库日期Datatime NOT NULL,入库数量int NOT NULL)GO销售*SQL命令:CREATE TABLE销售(产品编号varchar(5)NOT NULL,销售日期Datetime NOT NULL,客户编号varchar(3)NOT NULL,销售数量int NOT NULL)GO请执行以下语句,向表中添加数据:insert into客户values('001','杨婷','深圳','0755-********') insert into客户values('002','陈萍','深圳','0755-********') insert into客户values('003','李东','深圳','0755-********') insert into客户values('004','叶合','广州','020-********') insert into客户values('005','谭新','广州','020-********')insert into产品values('00001','电视',3000.00,800)insert into产品values('00002','空调',2000.00,500)insert into产品values('00003','床',1000.00,300)insert into产品values('00004','餐桌',1500.00,200)insert into产品values('00005','音响',5000.00,600)insert into产品values('00006','沙发',6000.00,100)insert into入库values('2011-1-1','00001',10)insert into入库values('2011-1-1','00002',5)insert into入库values('2011-1-2','00001',5)insert into入库values('2011-1-2','00003',10)insert into入库values('2011-1-3','00001',10)insert into入库values('2011-2-1','00003',20)insert into入库values('2011-2-2','00001',10)insert into入库values('2011-2-3','00004',30)insert into入库values('2011-3-3','00003',20)insert into销售values('2011-1-1','001','00001',10)insert into销售values('2011-1-2','001','00002',5)insert into销售values('2011-1-3','002','00001',5)insert into销售values('2011-2-1','002','00003',10)insert into销售values('2011-2-2','001','00001',10)insert into销售values('2011-2-3','001','00003',20)insert into销售values('2011-3-2','003','00001',10)insert into销售values('2011-3-2','003','00004',30)insert into销售values('2011-3-3','002','00003',20)三、将客户表中的客户编号设为主键。

数据库上机实验(有答案)

数据库上机实验(有答案)

数据库上机实验内容及要求(第二部分)1.建立工厂管理数据库工厂(包括厂名和厂长名)需要建立一个管理数据库存储以下信息:(1)一个厂内有多个车间,每个车间有车间号、车间主任姓名、地址和联系电话;(2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种;(3)一个车间生产多种产品,产品有产品号和价格;每种产品只能由一个车间生产;(4)一个车间制造多种零件,一种零件也可能为多个车间制造。

零件有零件号、重量和价格;(5)一种产品可由多种零件组成,一种零件也可以装配出多种产品;(6)产品和零件均存入仓库;(7)厂内有多个仓库,仓库有仓库号、仓库主任姓名和电话。

根据以上需求分析结果,按照下述要求,设计并建立工厂管理数据库。

◆分析实体及联系,设计E-R图。

◆将E-R图转换成关系模式,并规范化到3NF。

◆在Microsoft SQL Server2000中基于“企业管理器”建立数据库及相关对象(主码,外码,索引,约束等)。

◆测试数据入库2.基于“查询分析器”,完成并保存下述题目的SQL脚本(1)建立“工种”是“钳工”的所有职工详细信息的视图;create view View_工人_钳工asselect*from职工表where工种='钳工'with check option(2)建立“车间号”是“CJ01”的钳工详细信息的视图;create view View_钳工_CJ01asselect*from View_工人_钳工where车间号='CJ01'(3)建立使用了“零件号”是“LJ0002”的所有产品详细信息的视图;create view View_产品_零件LJ0002asselect产品表.产品号,价格,车间号,仓库号from装配表,产品表where装配表.产品号=产品表.产品号and零件号='LJ0002'(4)对零件表按照“零件号”建立唯一索引;create unique index Index_U_零件号on零件表(零件号)(5)对职工表按照“性别”建立聚簇索引;create clustered index Index_C_性别on职工表(性别)(6)查询使用了“零件号”是“LJ0002”的产品的生产车间号;select车间号from装配表,产品表where装配表.产品号=产品表.产品号and零件号='LJ0002'(7)查询“职工号”是“ZG0001”的职工所在车间的“车间主任姓名”和“联系电话”;select车间主任姓名,联系电话from职工表,车间表where职工表.车间号=车间表.车间号and职工号='ZG0001'(8)查询使用了“零件号”是“LJ0002”的所有产品的生产车间的“车间主任姓名”和“联系电话”;(连接查询、嵌套查询实现)select车间主任姓名,联系电话from产品表,装配表,车间表where产品表.产品号=装配表.产品号and产品表.车间号=车间表.车间号and装配表.零件号='LJ0002'select车间主任姓名,联系电话from车间表where车间号in(select车间号from产品表where产品号in(select产品号from装配表where零件号='LJ0002'))(9)查询使用了“零件号”是“LJ0002”的所有产品的“产品号”和“零件数量”,且查询结果按照“零件数量”降序排列;select产品号,零件数量from装配表where零件号='LJ0002'order by零件数量desc(10)查询使用了“零件号”是“LJ0002”的产品数;select count(*)as产品数from装配表where装配表.零件号='LJ0002'(11)查询“LJ0002”号零件装配产品的使用总量;select sum(零件数量)as使用总数from装配表where零件号='LJ0002'(12)查询使用了3种以上零件的产品号;select产品号from装配表group by产品号having count(*)>=3【注意】:下机时保存数据库文件(.mdf和.ldf)及SQL脚本文件到U盘。

数据库上机的所有题答案

数据库上机的所有题答案
where sal<3000 and sal>2000
JONES MANAGER 2975
CLARK MANAGER 2450
6. 列出公司中所有名字以LI开头的全部职工及其所在的部门代号
select ename,deptno
from emp
where ename like 'LI%'
WORD
JONES
MARTIN
BLACK
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER
3. 列出10号部门中全体职工的姓名及职工号
25.5
40.0
40.5
44.5
13. 对于至少有两个水手的等级,找出到了投票年龄(>18岁)的所有水手的平均年龄
select g(s.age)
from saliors s
where s.age>18
group by s.rating
having 1<(select count(*)
7844 TURNER 7698 SALESMAN 1981-09-08 00:00:00.000 0 1500 30
7876 ADAMS 7788 CLERK 1981-09-23 00:00:00.000 NULL 1100 20
SELECT distinct sname
FROM saliors
WHERE sid IN(select sid from reserves where bid in
(select bid from boats where color='red'))

数据库上机内容及答案

数据库上机内容及答案

使用T-SQL语句创建数据库YGGL启动查询分析器→在“查询”窗口中输入如下T-SQL语句:CREATE DATABASE YGGLON(NAME='YGGL_Data',FILENAME='C:\Program Files\Microsoft SQLServer\MSSQL.1\MSSQL\DATA\YGGL.mdf',SIZE=10MB,MAXSIZE=50MB,FILEGROWTH=5%)LOG ON(NAME='YGGL_Log',FILENAME='C:\Program Files\Microsoft SQLServer\MSSQL.1\MSSQL\DATA\YGGL_Log.ldf',SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)GO单击快捷工具栏的执行图标执行上述语句,并在企业管理器中查看执行结果。

4.在企业管理器中分别创建表Employees、Departments和Salary在企业管理器中选择数据库YGGL→在YGGL上单击鼠标右键→新建→表→输入Employees表各字段信息→单击保存图标→输入表名Employees,即创建了表Employees。

按同样的操作过程创建表Departments和Salary。

5.在企业管理器中删除创建的Employees、Departments和Salary表在企业管理器中选择数据库YGGL的表Employees→在Employees上单击鼠标右键-→删除,即删除了表Employees。

按同样的操作过程删除表Departments和Salary。

6.使用T-SOL语句创建表Employees、Departments和Salary启动查询分析器→在“查询”窗口中输入以下T-SQL语句:USE YGGLCREATE TABLE Employees(EmployeeID char(6)NOT NULL,Name char(10)NOT NULL,Birthday datetime NOT NULL,Sex bit NOT NULL,Address char(20)NOT NULL,Zip char(6)NULL,PhoneNumber char(12)NULL,EmailAddress char(20)NULL,DepartmentID char(3)NOT NULL)GO单击快捷工具栏的执行图标,执行上述语句,即可创建表Employees。

数据库上机考试试题及答案

数据库上机考试试题及答案

1下列说法中正确的是:( D )A 、 SQL 中局部变量可以不声明就使用B 、 SQL 中全局变量必须先声明再使用C 、 SQL 中所有变量都必须先声明后使用D 、 SQL 中只有局部变量先声明后使用;全局变量是由系统提供的用户不能自己建立。

2.哪个关键字用于测试跟随的子查询中的行是否存在( B )。

A.MOV B.EXISTSC.UNION D.HAVING3 .下列哪些语句用于创建存储过程( A )?A、CREATE PROCEDUREB、CREATE TABLEC、DROP PROCEDURED、其他5.在SQL中,SELECT语句的“SELECT DISTINCT”表示查询结果中 ( C )。

A.属性名都不相同B.去掉了重复的列C.行都不相同D.属性值都不相同6.SQL 语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATA实现下列哪类功___A_____。

A. 数据查询B. 数据操纵C. 数据定义D. 数据控制7.SQL Server 2000 采用的身份验证模式有( D )。

(A)仅Windows身份验证模式(B)仅SQL Server身份验证模式(C)仅混合模式(D)Windows身份验证模式和混合模式10.SQL Server 2000 企业版可以安装在操作系统上。

( C )(A)Microsoft Windows 98(B)Microsoft Windows 2000 Professional(C)Microsoft Windows 2000 Server(D)Microsoft Windows XP11.SQL Server是一个( C )的数据库系统。

(A)网状型(B)层次型(C)关系型(D)以上都不是12.SQL语言中,删除一个视图的命令是( B )。

A. DELETEB. DROPC. CLEARD. REMOVE13.SQL语言中,删除记录的命令是( A )。

数据库上机实验答案2-2

数据库上机实验答案2-2

数据库上机实验答案2-2学号:姓名:日期:20 年月日实验目的:练习初步的SQL查询语句,包括:字符串比较、字符串函数等。

实验内容:基于提供的诺基亚N73的淘宝数据表,包括:商品列表Goods,完成如下查询,并回答问题。

要求:(1)输出统计答案;(2)输出查询语句。

1 通配符的练习:用通配符%和_,完成下列问题(1)Goods表中,有多少个商品的名称含有“N73”?2004select count(*)from goods where good_name like'%N73%'(2)Goods表中,有多少个商品的名称以“诺基亚”开头?1102select count(*)from goods where good_name like'诺基亚%'(3)根据商品名称,找出以“诺基亚”开头,且“全国联保”的商品列表。

select*from goods where good_name like'诺基亚%'and good_name like'%全国联保%'(4)找出商品名称中有空格的商品列表。

select*from goods where good_name like'% %'(5)找出商品名称中没有空格的商品列表。

方法1:select*from goods where not good_name like'% %'方法2:select*from goods where good_name not like'% %'方法3:select*from goodsexceptselect*from goods where good_name like'% %'(6)找出商品名称长度为7个字符的商品列表。

select*from goods where good_name like'_______'注:下划线_和连字符-不同(7)找出商品名称长度小于7个字符的商品列表。

数据库三级上机答案

数据库三级上机答案

1.已知在文件IN1.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。

其中:金额=单价×数量。

函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。

请编制函数SortDat(),其功能要求:按产品名称从小到大进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT1.DAT中。

【参考答案】void SortDat(){int i,j;PRO xy;for( i=0; i<99; i++ )for( j=i+1; j<100; j++ ){if(strcmp(sell[i].mc,sell[j].mc)>0) /*按产品名称从小到大进行排列*/{ xy=sell[i]; sell[i]=sell[j]; sell[j]=xy; }else if(strcmp(sell[i].mc,sell[j].mc)==0) /*若产品名称相同*/if(sell[i].je>sell[j].je) /*则按金额从小到大进行排列*/{xy=sell[i];sell[i]=sell[j];sell[j]=xy;}}}2已知在文件IN2.DAT中存有100个产品销售记录,每个产品销售记录由产品代码dm(字符型4位)、产品名称mc(字符型10位)、单价dj(整型)、数量sl(整型)、金额je(长整型)五部分组成。

其中:金额=单价×数量。

函数ReadDat()的功能是读取这100个销售记录并存入结构数组sell中。

请编制函数SortDat(),其功能要求:按产品名称从大到小进行排列,若产品名称相同,则按金额从小到大进行排列,最终排列结果仍存入结构数组sell中,最后调用函数WriteDat()把结果输出到文件OUT2.DAT中。

Access数据库上机练习加答案及解析

Access数据库上机练习加答案及解析

WORD 格式整理版优质.参考.资料第1套题目 一、基本操作题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。

考生文件夹下存在一个数据库文件“samp1.mdb ”,里面已经设计好表对象“tStud ”。

请按照以下要求,完成对表的修改:(1)设置数据表显示的字体大小为14、行高为18。

(2)设置“简历”字段的设计说明为“自上大学起的简历信息”。

(3)将“年龄”字段的数据类型改为“整型”字段大小的数字型。

(4)将学号为“20011001”学生的照片信息换成考生文件夹下的“photo.bmp”图像文件。

(5)将隐藏的“党员否”字段重新显示出来。

(6)完成上述操作后,将“备注”字段删除。

二、简单应用题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。

考生文件夹下存在一个数据库文件“samp2.mdb ”,里面已经设计好三个关联表对象“tStud ”、“tCourse ”、“tScore ”和一个临时表对象“tTemp ”。

试按以下要求完成设计:(1)创建一个查询,按所属院系统计学生的平均年龄,字段显示标题为“院系”和“平均年龄”,所建查询命名为“qT1”。

(2)创建一个查询,查找选课学生的“姓名”和“课程名”两个字段内容,所建查询命名为“qT2”。

(3)创建一个查询,查找有先修课程的课程相关信息,输出其 “课程名”和“学分”两个字段内容,所建查询命名为“qT3”。

(4)创建删除查询,将表对象“tTemp ”中年龄值高于平均年龄(不含平均年龄)的学生记录删除,所建查询命名为“qT4”。

三、综合应用题请在“答题”菜单下选择相应命令,并按照题目要求完成下面的操作,具体要求如下:注意:下面出现的“考生文件夹”均为考试系统安装盘符下的“\K01\29010001”文件夹。

数据库上机实验部分题目及答案

数据库上机实验部分题目及答案

上机实验部分题目及答案一、实验目的1、基本表的定义、修改和删除2、视图的建立、删除和查询3、约束的命名、删除和重定义二、实验结果存放创建表homework8(result ),将每题的题目序号和SQL语句写到此表。

三、实验内容现有图书管理数据库的一个关系模式:book(总编号,分类号,书名,作者,出版单位,单价)1.利用SQL语句创建book的表结构,其中总编号为主码,书名的类型为char(50),并给主码的约束命名(主码约束命名参照第五章内容)。

2.利用SQL在book这个表中分别插入以下所给元组:34、为“数据库导论”设置“出版日期”的值为2009年6月5日,为“计算机基础”设置“出版日期”的值为2008年3月4日。

5、删除总编号为445503的元组。

6、删除列“出版日期”。

7、将列“书名”的类型改为char(100),其中修改列类型的语句为:alter table <表名>[modify 列名数据类型]8、删除book的主码约束(参照第五章)9、将表book中的总编码设置为主码(参照87页内容)。

11.建立表book1,其表结构与内容参照第2题。

12. 为表book1建立科学出版社所出图书的视图science13、删除表book1,其中删除表的格式为:drop table <表名>[restrict|cascade constraint] 其中restrict与cascade参数的含义参照87页14、为表book建立高等教育出版社所出图书的视图education15、查询视图education中的所有内容16、删除视图educationdrop table homework8drop table bookcreate table homework8(ti smallint,res char(400))create table book(总编码char(8) ,分类号char(7),书名char(50),作者char(30),出版单位char(200),单价char(8),constraint total primary key(总编码) )insertinto homework8(ti,res)values (1,'create table book(总编码char(8) ,分类号char(7),书名char(50),作者char(30),出版单位char(200),单价char(8),constraint total primary key(总编码) )')22222222insertinto book(总编码,分类号,书名,作者,出版单位,单价)values ('445501','TP3/12','数据库导论','王强','科学出版社','17.90')insertinto book(总编码,分类号,书名,作者,出版单位,单价)values ('445502','TP3/12','数据库导论','王强','科学出版社','17.90')insertinto book(总编码,分类号,书名,作者,出版单位,单价)values ('445503','TP3/12','数据库导论','王强','科学出版社','17.90')insertinto book(总编码,分类号,书名,作者,出版单位,单价)values ('332211','TP5/10','计算机基础','李伟','高等教育出版社','18.00')3333333alter table bookadd 出版日期char(20)alter table bookadd 页数char(5)444444444444444444444444444444444444444update bookset 出版日期='2009年6月5日'where 书名='数据库导论'update bookset 出版日期='2008年3月4日'where 书名='计算机基础'55555555555555555555555555555555555555 deletefrom bookwhere 总编号='445503'66666666666666666666666666666666666666 alter table bookdrop column 出版日期777777777777777777777777777777777777777 alter table bookmodify 书名char(100)8888888888888888888888888888888888888 alter table bookdrop constraint total9999999999999999999999999999999999999 alter table bookadd primary key (总编码)11 11 11 11 11 11 11 11 11 11 create table book1(总编码char(8) ,分类号char(7),书名char(50),作者char(30),出版单位char(200),单价char(8),constraint total primary key(总编码))12 12 12 12 12 12 12 12 CREATE VIEW scienceASSELECT 总编码,分类号,书名,作者,出版单位,单价FROM book1WHERE 出版单位='科学出版社'13DROP TABLE book114CREATE VIEW educationASSELECT 总编码,分类号,书名,作者,出版单位,单价FROM bookWHERE 出版单位='高等教育出版社'15SELECT *FROM education16DROP VIEW education。

数据库上机实验报告答案

数据库上机实验报告答案

数据库上机实验报告答案1.建立学生数据库模式学生表:student (sno 学号,sname 姓名,ssex 性别,sage 年龄,sdept 所在系)其中:sno 长度为4的字符串,为主码;sname 长度为8的字符串;ssex 长度为2的字符串,其值只取男、女;sage 整数,其值在0-150之间;sdept 长度为10的字符串。

2.建立课程数据库模式课程表:course ( cno课程号,cname课程名,ccredit学分)其中:cno 长度为4的字符串,为主码cname 长度为10的字符串,不能有重复课程名;ccredit 整数。

3.建立选课数据库模式。

选课表: sc (sno学号, cno课程号, grade成绩)其中:sno 长度为4的字符串,和student表sno外键关联,且级联删除cno 长度为4的字符串,course表cno外键关联,grade 整数,值或空或为0—100之间,(sno, cno) 联合作主码。

(1)创建上述三个表。

(2)将年龄的数据修改为15-30之间。

(3)为Student中sname添加列级完整性约束,不能为空。

(4)为SC建立按学号升序和课程号降序建立唯一索引.(5)在表student的sname字段建立一个升序索引。

(6)删除在表student的sname字段建立的索引。

(7)给student表增加一个地址(address)属性。

(8) 删除student表地址(address)属性。

(9)建立视图view1,要求有sno,sname,cname,grade四个字段。

1) create table studen(sno char(4) primary key,sname char(8),ssex char(2) check( ssex in('男','女')),sage int check(sage between 0 and 150),sdept char(10));create table course(cno char(4) primary key,cname char(10) unique,ccredit intcreate table sc(sno char(4),cno char(4),grade int check(grade between 0 and 100),primary key (sno,cno),foreign key(sno) references student(sno) on delete cascade, foreign key(cno) references course(cno));2) alter table studentadd constraint sage_con check(sage between 15 and 30);3) alter table studentmodify sname not null;4) create unique index index1on sc (sno asc,cno desc);5) create index index2on student(sname asc);6) drop index index2;7) alter table studentadd address char(30);8) alter table studentdrop column address;9) create view view1asselect A.sno,sname,cname,gradefrom student A,course B,sc Cwhere A.sno=C.sno and /doc/287635464.html,o=http://www.doczj .com/doc/287635464.html,o;(1)在上述三个表中输入若干记录。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
select model,speed as gigahertz,hd as gigabytes
from pc
where price<1000
--c)找出所有打印机制造厂商。
select maker
from product
where type='printer'
--d)找出价格高于$1500的笔记本电脑的型号、内存大小和屏幕尺寸
from pc as pc1,pc as pc2
where pc1.hd=pc2.hd
and pc1.model<>pc2.model
--!e)查询每对具有相同速度和RAM容量的PC型号。每一对只能列出一次,例如若(i,j)已被列出,则(j,i)就不能再被列出。
select pc1.model,pc1.speed,pc1.ram,pc2.ram,pc2.speed,pc2.model
--步2:找出生产至少两种上述电脑的厂商
--select r1.model,r1.maker,r2.maker,r2.model
select R1.maker
from R as R1,R as R2
where R1.maker=R2.maker
and R1.model<R2.model
select model,hd
from pc
where speed=3.2 and price<2000
--10级《数据库系统》上机作业02—双号
--要求:实现对关系数据库ship中相关数据的简单查询操作。
--Classes(class,type,country,numGuns,bore,displacement)
--实验5:SQL的连接查询
--a)查询硬盘容量至少30GB的笔记本电脑制造商及该电脑的速度。
select maker,speed
from product,laptop
where product.model=laptop.model
and hd>=30
select maker,speed
)
)
--!!f)找出在PC中具有最快速度同时且RAM容量最小的制造商。
select maker from product where model in(
select model from pc where ram<=all(select ram from pc)
and speed>=all
create view R as
select pc.model,speed,maker from pc,product where pc.model=product.model and speed>=3.0
union
select laptop.model,speed,maker from laptop,product where laptop.model=product.model and speed>=3.0
from pc as pc1,pc as pc2
where pc1.speed=pc2.speed
and pc1.ram=pc2.ram
and pc1.model>pc2.model
--!!f)查询生产至少两种速度至少3.0的电脑(PC或笔记本电脑)的厂商。
--步1:找出速度至少3.0电脑(PC或笔记本电脑)的型号、速度和厂商
union
(select ship from outcomes)
select model,price
from ((select model,price from pc) union (select model,price from laptop)union(select model,price from printer)) as modelprice
from product inner join laptop on product.model=laptop.model
where hd>=30
--b)查询制造商B生产的任意类型的所有产品的型号和价格。
select product.model,price from product,pc where product.model=pc.model and maker='B'
where classes.class=ships.class
and =outcomes.ship
and battle='Guadalcanal'
--c)找出数据库中提到的所有船只(切记,并非所有船只都出现在ships关系中)。
(select name from ships)
where price>=all(select price from
((select model,price from pc) union (select model,price from laptop)union(select model,price from printer))as modelprice)
where name like 'R%'
--!f)找出所有包括三个或三个以上单词的船只名字(如King George V)
select name
from ships
where me like '[A-Z]%[a-z][ ][A-Z]%[a-z][ ][A-Z]%'
--10级《数据库系统》上机作业03—单号
from product
where exists(
select *
from pc
where speed>3.0
and model=product.model
)
--b)找出价格最高的打印机。
select *
from printer
where price>=all(
select price
from printer
)
--c)找出速度比任何一台PC都慢的笔记本电脑。
select *
from laptop
where speed<=all(
select speed
from pc
)
--!d)找出价格最高的产品(PC、笔记本电脑或打印机)的型号。
--Ships(name,class,launched)
--Battle(name,date)
--Outcomes(ship,battle,result)
--实验4:SQL的简单查询
--a)找出至少有10门炮的军舰类别名和制造国家。
select class,country
from classes
--Ships(name,class,launched)
--Battles(name,date)
--Outcomes(ship,battle,result)
--实验5:SQL的连接查询
--a)找出重量超过35000吨的船只。
select name,displacement
from classes,ships
--10级《数据库系统》上机作业02—单号
--要求:实现对关系数据库product中相关数据的简单查询操作。
--product(maker,model,type)
--PC(model,speed,ram,hd,rd,price)
--Laptop(model,speed,ram,hd,screen,price)
--!e)找出价格最低的彩色打印机的制造商。
select maker from product where model in
(select model from printer where color='true'
and price<=all(
select price from printer
select model,ram,screen
from laptop
where price>1500
--e)找出关系Printer中所有彩色打印机元组。注意属性color是一个布尔类型。
select *
from printer
where color='true'
--f)找出速度为3.2且价格低于$2000的PC的型号和硬盘尺寸。
--Printer(model,color,type,price)
--实验4:SQL的简单查询
--a)找出所有价格低于$1000的PC型号、速度和硬盘大小
select model,speed,hd
from pc
where price<1000
--b)要求同(a),但要将列speed重命名为gigahertz,并将列hd重命名为gigabytes
--c)查询卖笔记本电脑不卖PC的厂商。
select maker from product where type='laptop'
except
select maker from product where type='pc'
--!d)查询出现在两种或两种以上PC中硬盘的大小。
select pc1.model,pc1.hd,pc2.hd,pc2.model
--要求:实现对关系数据库product中相关数据的连接查询操作。
--product(maker,model,type)
相关文档
最新文档