数据库上机测试
- 格式:doc
- 大小:109.00 KB
- 文档页数:7
以下是一个MySQL数据库实验上机作业的示例:1. 创建一个名为“students”的数据库,并选择该数据库。
```sqlCREATE DATABASE students;USE students;```2. 创建一个名为“students_table”的表,包含以下列:id(主键,自动递增),name(文本),age(整数),gender(文本),major (文本)。
```sqlCREATE TABLE students_table (id INT AUTO_INCREMENT PRIMARY KEY,name V ARCHAR(100),age INT,gender V ARCHAR(10),major V ARCHAR(100));```3. 向“students_table”表中插入一些数据。
```sqlINSERT INTO students_table (name, age, gender, major) V ALUES ('John', 20, 'Male', 'Computer Science'),('Jane', 22, 'Female', 'Mathematics'),('Bob', 21, 'Male', 'Physics');```4. 查询所有学生的信息。
```sqlSELECT * FROM students_table;```5. 查询所有年龄大于等于20岁的学生信息。
```sqlSELECT * FROM students_table WHERE age >= 20;```6. 查询所有计算机科学专业的女学生信息。
```sqlSELECT * FROM students_table WHERE major = 'Computer Science' AND gender = 'Female';```7. 更新表中某个学生的信息。
实验四:一、实习目的:掌握SELECT的基本使用格式,能使用SQL Server对表作简单的查询。
二、准备:1.复习3.4节中SELECT的基本使用格式;2.复习SQL中五种集函数:AVG、SUM、MAX、MIN、COUNT;3.完成习题3第12题中各项操作的SQL语句。
三、实习内容:1.验证习题3第12题中各项操作的SQL语句。
2.验证以下语句是否正确:SELECT eno,basepay,serviceFROM salaryWHERE basepay<AVG(basepay);四、实验报告:1.1)找出所有被学生选修了的课程号:select distinct Cno 课程号from Grade2)找出01311班女生的个人信息:select * from Studentwhere Clno='01311' and Ssex='女'3)找出01311班和01312班的学生姓名性别出生年份select sname 学生姓名,ssex 性别,2016-sage 出生年份from Studentwhere Clno='01311' or Clno='01312'4)找出所有姓李的学生的个人信息select * from Studentwhere Sname like '李%'5)找出李勇所在班级的学生人数select COUNT(*) from Studentwhere Clno in(select Clno from Studentwhere Sname='李勇')6)找出课程名为操作系统的平均成绩最高分最低分select AVG(Gmark) 平均成绩,MAX(Gmark) 最高分,MIN(Gmark) 最低分from Gradewhere Cno in(select Cno from Coursewhere Cname='操作系统')7)选修了课程的学生人数;select COUNT(distinct sno) 学生人数fromGrade8)选修了操作系统的学生人数:select COUNT(distinct sno) 学生人数from Gradewhere Cno in(select Cno from Coursewhere Cname='操作系统')9)找出2000级计算机软件班的成绩为空的学生姓名:2.错误。
学号____________ 姓名_____________数据库原理实验考试题1写出创建名为bankDB数据库的SQL脚本,要求:(1)主要数据文件逻辑名称为bankdb,物理文件名为bankdb.mdf,初始大小为3MB,增量为10%,不限制增长。
(2)事务日志文件逻辑名称为bankdb_log,物理文件名为bankdb_log.ldf,初始大小为1MB,增量为1MB,最大为5MB.(3)所有文件放在“D: \练习”。
2 写SQL,要求在以上数据库中建立数据表两个:储户账户表t_account和存取款流水账表bank_Flow_water。
同时建立主键和外键(1)储户账户表t_account包含字段有:accountId varchar(50) (账户号),password varchar(20)(账户密码), Balance Numeric(20,2) (余额)和branchId int (分支网点编号),建账日期 builddate。
(2)存取款流水账表bank_Flow_water包含字段有:flowwaterID /*自动增加的流水号,初始号为500000000,以后每次加1*/,accountId /*储户账号 */saving_typ char(8) , /*储蓄种类*/Income numeric(15, 2), /*存款金额*/Expenditure numeric(15, 2), /*取款金额 */Interest Numeric(11,2), /*利息支出*/Balance Numeric(20,2), /*账户余额*/operator int, /*操作员号*/operat_date /*操作日期时间*/3.写SQL, 建立银行存款的存储过程bank_incom,要求该过程能够将储户的账号、存款种类(活期存款,一年期定期存款,两年期定期存款等)和存款金额等各种相关信息记录到存取款流水账表中,并且计算该账户的余额Balance,同时更新该账户的储户账户表t_account中的账户余额Balance。
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.属性值都不相同语言集数据查询、数据操作、数据定义和数据控制功能于一体,语句INSERT、DELETE、UPDATA实现下列哪类功___A_____。
A. 数据查询B. 数据操纵C. 数据定义D. 数据控制Server 2000 采用的身份验证模式有( D )。
(A)仅Windows身份验证模式(B)仅SQL Server身份验证模式(C)仅混合模式(D)Windows身份验证模式和混合模式Server 2000 企业版可以安装在操作系统上。
( C )(A)Microsoft Windows 98(B)Microsoft Windows 2000 Professional(C)Microsoft Windows 2000 Server(D)Microsoft Windows XPServer是一个( C )的数据库系统。
(A)网状型(B)层次型(C)关系型(D)以上都不是语言中,删除一个视图的命令是( B )。
A. DELETEB. DROPC. CLEARD. REMOVE语言中,删除记录的命令是( A )。
A. DELETEB. DROPC. CLEARD. REMOVE14.以下触发器是当对[employee表]进行( D )操作时触发。
数据库实验(第三次)题目1 实验内容:1. 检索上海产的零件的工程名称;2. 检索供应工程J1零件P1的供应商号SNO;3. 检索供应工程J1零件为红色的供应商号SNO;4. 检索没有使用天津生产的红色零件的工程号JNO;5. 检索至少用了供应商S1所供应的全部零件的工程号JNO;6. 检索购买了零件P1的工程项目号JNO及数量QTY,并要求对查询的结果按数量QTY降序排列。
1select jnamefrom jwhere jno in(select jnofrom spjwhere sno in(select snofrom swhere city ='上海'));2select snofrom spjwhere jno ='j1'and pno ='p1'3selectdistinct snofrom spjwhere pno in(select pnofrom pwhere color='红'and pno in (select pnofrom spjwhere jno ='j1'));4selectdistinct jnofrom spjwhere pno notin(select pnofrom pwhere color ='红'and pno in (select pnofrom spjwhere sno in(select snofrom swhere city ='天津')))5select jnofrom spjwhere sno ='s1'6select jno,qtyfrom spjwhere pno ='p1'orderby qty desc四﹑思考题1. 如何提高数据查询和连接速度。
建立视图2. 试比较连接查询和嵌套查询有些嵌套查询是可以用连接来代替的,而且使用连接的方式,性能要比嵌套查询高出很多当查询涉及多个关系时,用嵌套查询逐步求解结构层次清楚,易于构造,具有结构化程序设计的优点。
实验一数据表的建立一、实验目的:熟悉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所示。
计算机三级数据库技术(上机操作)机试模拟试卷36(题后含答案及解析)全部题型 2. 程序设计题程序设计题1.已知数据文件in.dat中存有300个四位数,并已调用读函数readl)at( )把这些数存入数组a中,请编写函数jsValue( ),其功能是:求出千位数上的数加百位数上的数等于十位数上的数加个位数上的数的个数cnt,冉把所有满足此条件的四位数依次存入数组b中,然后对数组b的四位数按从大到小的顺序进行排序。
最后nmin( )函数调用写函数writeDat( )把数组b中的数输出到文件out.dat中。
例如:7153,7+1=5+3,则该数满足条件存人数组b中,且个数cnt=cht+1。
8129,8+11=2+9,则该数不满足条件.忽略。
【试题程序】#include<stdio.h> int at3003.br3001,cnt=0;void readDat( );void writeDat( );jsValue( ) { } main( ) { int i;readDat( );jsValue( );writeDat( );printf(“cnt=%d\n”,cnt);for(i=0;i<ent;i++) printf(“b[%d]=%d\n”.i’b[i]);} void readDat( ) { FILE*fp; int i;fp=fopen(“in.dat”,“r”); for(i=0;i<300;i++) fscanf(fp,“%d,”,&a[i]);felose(fp); } void writeDat( ){FILE*fp;int i;fp=fopen(“out.dat”,“W”);fprintf(fp,“%d\n”,cnt); for(i=0;i<cnt;i++) fprintf(fp.”%d\n”,b[i]);fclose(fp);} 正确答案:jsValue( ){ int i,j;/*定义变量*/int a1,a2,a3,a4; int temp;for(i=0;i<300;i++) {a1=a[i]%10;/*数位分解*/a2=a[i]%100/10; a3=a[i]%1000/100;a4=a[i]/1000;if(a4+a3==a2+a1) /*判断条件*/b[cnt++]=a[i];} for(i=0;i<cnt 一1;i++) /*选择法排序*/for(j=i+1;j<cnt;j++) if(b[i]<b[j]) {temp=b[i]; b[i]=brj]; b[j]=temp; }}。
数据库上机实验题目和答案试用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(/doc/1411529677.html,o)>=26.每个学生选修的课程门数。
解法一:select so.sno sno,/doc/1411529677.html,ount,s.sname from(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课程的学生的平均分。
MySQL上机试题1.创建数据库,名称为考生的学号;(10分)2.创建数据表customer(客户)、deposite(存款)、bank(银行),表结构如下:(10分)customer的表结构bank的表结构deposite的表结构3.录入数据如下:(10分)customer的数据如下,注意最后一条记录用你的学号和你的姓名代替bank的数据如下:deposite的数据如下:4.创建存储过程update_salary,更新customer表的salary属性,将salary低于5000的客户的salary 变为原来的2倍. (10分)5.创建视图bank_total,对deposite表进行统计,按银行统计存款总数,显示为b_id,total. (10分)6.创建视图show_deposite,对deposite、customer、bank进行查询,查询条件为location在广州、苏州、济南的客户,存款在300000至500000之间的存款记录,显示客户姓名name、银行名称bank_name、存款金额amount. (10分)7.为customer的name创建普通索引,名称为idx_name.(10分)8.新建表dep_log,数据结构如下:(5分)(1)创建一个触发器名称为insert_trigger, 在deposite插入记录时在dep_log中插入一条记录,将操作operation值为INSERT,并记录银行标识b_id;(5分)(2)在deposite中插入一条记录,客户标识c_id为你的学号,银行标识b_id为B0003,存款日期dep_date为当前系统日期,存款期限type为3,存款金额amount为50000,以验证触发器是否有效。
(5分)9.完成以下题目:(1)在bank中插入一条新记录B0005,交通银行;(5分)(2)创建存储过程copydata,将deposite表存款流水号d_id未在dep_log中记录的农业银行B0004的全部存款记录逐一复制到新建的交通银行,客户标识c_id不变,银行标识为B0005,存款期限type、存款金额amount不变,存款日期为当前系统日期。
数据库上机实验报告范文《数据库技术与应用》姓名:某某某学号:某某某专业班级:某某某完成时间:某某某一、概述通过前八周对数据库的学习,我们学生对此已有一定了解,之后我们需要通过对书本知识的理解,加上自己的积极实践,做出属于自己的数据库,以加深对该学科的认识。
我这次建立的数据库是学生成绩查询数据库。
建立这个数据库主要的目的是对部分同学们个人信息以及高考成绩、考试成绩(笔试和机试)情况存储和查询系统。
其中包括姓名,民族,出生年月日,准考证号,高考成绩,笔试及机试成绩等个人信息。
通过创建该简单的数据库,来实践上课老师所讲解的内容。
该数据库包括的内容有:1.表:本数据库包含六个表对象分别是:考生基本情况,考生简况,考试成绩表,口令表和学生基本情况表,学校简况表。
其中分别以不完全相同的字段为主键。
2.查询:本数据库一共包含十个查询分别是:参数查询、SQL查询、分组汇总查询、汇总查询、学生成绩查询、学生成绩组合模糊查询、学生高考成绩表、学生基本情况表-交叉、表学生基本情况表-交叉表1总分大于180。
3.窗体:本数据库一共包含十个窗体。
其中有考生基本情况主子窗体、考试成绩、学生成绩查询、学校简介表、学生基本情况窗体等等查询窗体。
4报表:本数据库一共包含四个报表分别是:考生基本情况主子报5.宏:创建了几个简单的宏。
二、主要上机实验内容1.创建数据库通过点击进入数据库软件,点击“创建空白数据库”,取名为“学生成绩查询系统”,完成数据库的创建。
数据库主要实现的功能为学生信息、学生成绩的查询等。
2.建立创建数据库所需要建立的各种表通过不同的的方法建立以下部分表,如下所示:通过使用设计器创建表,创建以下几个相关表,相关表结构的设计及个字段属性如下图范例所示:创建出如下:(1)考生基本情况表(2)考试成绩表(3)学生基本情况表(4)学校简况表等表格考生基本情况表考试成绩表学生基本情况表学校简况表3.分别以不同的方式建立查询,可以实现对学生基本信息及成绩的检索查询。
数据库上机实验报告总结
本次数据库上机实验主要是学习和练习 SQL 语句的应用,以及实现数据的增删改查等操作。
通过实验,我深刻理解到数据库在现代信息系统中的重要性,同时也加深了对SQL 语言的认识和理解。
实验一:建立数据库和数据表
在此实验中,我们学会了如何使用 SQL 创建数据库和数据表,并加深了对 SQL 语言的理解。
此外还学会了如何定义主键、外键、约束和索引等。
实验二:数据查询操作
在此实验中,我们学会了如何使用基本的 SELECT 语句实现数据查询的功能,如使用WHERE 子句和 ORDER BY 子句来筛选和排序数据。
综上所述,通过本次上机实验,我深刻认识到数据库在现代信息系统中的重要性,并加深了对 SQL 语言的理解和应用。
此外,还学会了如何使用事务来保障数据的完整性和一致性,这对我今后的工作和学习都是非常有帮助的。
同时,通过实践,我也掌握了实际应用中的操作技巧和实现方法,这对我今后的实际工作也会有所帮助。
数据库系统原理上机实验预备知识一、本实验指导书采用的数据库例子(见本课程参考用书《数据库系统概论》(第三版)P59) Student-Course-SC数据库:一个学生可以修多门课程,一门课程可以被多个学生选修,则学生、课程之间的E-R图如下:转化为关系数据模型:Student(Sno, Sname,Ssex,Sage,Sdept)Course(Cno,Cname,Cpno,Ccredit)SC(Sno,Cno,Grade)物理数据模型如下:数据库名MySC表名Student实体名学生属性名列名(字段名)数据类型长度允许空描述学号Sno char 5否学生的学号(主键)姓名Sname char 8否学生的姓名性别Ssex char 2学生的性别年龄Sage:tinyint l学生的年龄所在系Sdept char 2学生所在系数据库名MySC表名Course实体名课程属性名列名(字段名)数据类型长度允许空描述课程号Cno char 1否课程的编号(主键)课程名Cname char 20否课程的名称先行课Cpno char L课程先行课的编号学分Ccredit tinyint 1课程的年学分数据库名MySC表名SC实体名学生选课属性名列名(字段名)数据类型长度允许空描述学号Sno char 5否学生的学号(外键)课程号Cno char 3否谍程的编号(外键)成绩Grade tinyint 1学生该门课的成绩主键 (Sno.Cno)索引:对表Course中的字段Ccredit创建降序索引,索引名为IX_Course_Ccredit;检查约束:对表Student中的字段Sno创建检查约束LEN(Sno)>4,约束名为CK_Student_Sno;图表:建立名为“SC_Diagrame1”的图表,反映“SC”、“Student”、“Course”三张表间的备份和维护计划:为自己所建立的数据库创建备份和维护计划。
access上机试题及答案2 ACCESS上机试题及答案2一、选择题(每题2分,共10分)1. 在ACCESS数据库中,用于存储数据的基本对象是()。
A. 表B. 查询C. 报表D. 宏答案:A2. 以下哪项不是ACCESS数据库中的数据类型?()A. 日期/时间B. 文本C. 图片D. 程序答案:D3. 在ACCESS中,创建查询时,可以使用()来设置查询条件。
A. 排序和分组B. 聚合函数C. 表达式D. 所有上述选项答案:D4. 如果需要在ACCESS数据库中创建一个自动增长的主键,应该选择()数据类型。
A. 自动编号B. 长整型C. 文本D. 日期/时间答案:A5. 在ACCESS中,用于快速排序和筛选数据的工具是()。
A. 查询B. 表单C. 报表D. 排序和筛选组答案:D二、填空题(每题2分,共10分)1. 在ACCESS中,使用“表设计视图”可以定义表的______,包括字段名、数据类型和属性。
答案:结构2. 创建表之间的关系时,用于连接两个表的字段被称为______。
答案:关联字段3. 在ACCESS中,使用“交叉表查询”可以生成基于特定条件的______报表。
答案:汇总4. 为了确保数据的一致性和减少数据冗余,ACCESS数据库中应该使用______来建立数据的层次结构。
答案:表5. 表达式=IIF((字段名)="", "未知", (字段名))的作用是当字段名为______时,显示“未知”。
答案:空三、简答题(共20分)1. 请简述在ACCESS中创建表的基本步骤。
(10分)答案:在ACCESS中创建表的基本步骤如下:- 打开ACCESS数据库。
- 选择“创建”选项卡。
- 点击“表”按钮,可以选择使用“表模板”或“自定义表”。
- 如果选择自定义表,将进入“表设计视图”。
- 在“字段名称”行输入字段名,选择相应的“数据类型”。
- 可以设置字段的其他属性,如主键、索引、默认值等。
数据库上机考试试题及答案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.属性值都不相同语⾔集数据查询、数据操作、数据定义和数据控制功能于⼀体,语句INSERT、DELETE、UPDATA实现下列哪类功___A_____。
A. 数据查询B. 数据操纵C. 数据定义D. 数据控制Server 2000 采⽤的⾝份验证模式有( D )。
(A)仅Windows⾝份验证模式(B)仅SQL Server⾝份验证模式(C)仅混合模式(D)Windows⾝份验证模式和混合模式Server 2000 企业版可以安装在操作系统上。
( C )(A)Microsoft Windows 98(B)Microsoft Windows 2000 Professional(C)Microsoft Windows 2000 Server(D)Microsoft Windows XPServer是⼀个( C )的数据库系统。
(A)⽹状型(B)层次型(C)关系型(D)以上都不是语⾔中,删除⼀个视图的命令是( B )。
A. DELETEB. DROPC. CLEARD. REMOVE语⾔中,删除记录的命令是( A )。
A. DELETEB. DROPC. CLEARD. REMOVE14.以下触发器是当对[employee表]进⾏( D )操作时触发。
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”文件夹。
一、用Transact-SQL语句表示下列操作.在学生-课程库中实现其数据查询操作:1、向student表中增加记录:(200515026,王婧婧,女,21,cs);insert into student values('200515026','王婧婧',21,'女','cs');select*from student;2、删除数据表student中无系别的学生记录;delete from student where sdept is null;select*from student;3、显示选修课程数大于3的各个学生的选修课程数;select sno,count(*)as'选修课程数'from sc group by sno having count(*)>3;4、显示选修各科课程的及格人数;select cno,count(*)from sc where crade >=60 group by cno;5、查询‘C1’课程的成绩高于70的学生姓名;select sname from sc join student on sc.sno = student.sno where cno='c1'and crade > 70;6、为student表创建一个基于sname(姓名)的降序排列的聚簇索引stusname;create index stusname on student(sname desc);7、为学生—课程数据库中的student,course和sc三个表建立索引。
其中student按学号升序建唯一索引,course按课程号升序建唯一索引,sc按学号和课程号降序建唯一索引,索引名称分别为stusno,coucno,scno;create unique index stusno on student(sno asc);create unique index couccno on course(cno asc);create unique index scno on sc(sno asc,cno desc);8、删除student表中的stusname索引;drop index student.stusname;9、创建信息系男学生信息视图stu-is,包括学生的学号、姓名及年龄,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生。
create view stu_is asselect sno,sname,sage from student WITH CHECK OPTION;10、向视图stu-is中插入一个新的学生记录,学号为200515027,姓名为王唔,成绩为60;insert into stu_is values('200515027','王唔',20);--delete from stu_is where sname='王唔';select*from stu_is;11、将视图stu-is中学号为200515027的学生成绩改为25.update stu_is set sage=25 where sno='200515027';select*from stu_is;二、创建教师授课管理数据库JSSK,并完成以下内容:在数据库JSSK中创建下列三张表:create database JSSKon(name='DB_JSSK_Data',filename='F:\SqlService Database\DB_JSSK_Data.mdf' )log on(name='DB_JSSK_Log',filename='F:\SqlService Database\DB_JSSK_Log.lDF' )gouse JSSKgocreate table teachers (Tno char(7)primary key,Tname char(10)not null,Tsex char(2)check(Tsex in('男','女'))default'男',Birthday datetime,Dept char(20),Sid char(18))gocreate table lessons (Cno char(10)primary key,Cname char(20)not null,Credit int,property char(10))gocreate table shouke (Tno char(7),Cno char(10),Hours int,primary key(Tno,Cno),foreign key(Tno)references teachers(Tno),foreign key(Cno)references lessons(Cno))Go本小测的代码/*一、用Transact-SQL语句表示下列操作.在学生-课程库中实现其数据查询操作:1、向student表中增加记录:(,王婧婧,女,,cs);2、删除数据表student中无系别的学生记录;3、显示选修课程数大于的各个学生的选修课程数;4、显示选修各科课程的及格人数;5、查询‘C1’课程的成绩高于的学生姓名;6、为student表创建一个基于sname(姓名)的降序排列的聚簇索引stusname;7、为学生—课程数据库中的student,course和sc三个表建立索引。
其中student按学号升序建唯一索引,course按课程号升序建唯一索引,sc按学号和课程号降序建唯一索引,索引名称分别为stusno,coucno,scno;8、删除student表中的stusname索引;9、创建信息系男学生信息视图stu-is,包括学生的学号、姓名及年龄,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生。
10、向视图stu-is中插入一个新的学生记录,学号为,姓名为王唔,成绩为;11、将视图stu-is中学号为的学生成绩改为.二、创建教师授课管理数据库JSSK,并完成以下内容:在数据库JSSK中创建下列三张表:*/use DB_BookAndReadergo--1、向student表中增加记录:(,王婧婧,女,,cs);insert into student values('200515027','王婧婧',21,'女',cs);select*from student;--2、删除数据表student中无系别的学生记录;delete from student where sdept is null;select*from student;--3、显示选修课程数大于的各个学生的选修课程数;select*from course;select*from sc;select sno,count(*)as'选修课程数'from sc group by sno having count(*)>3;--4、显示选修各科课程的及格人数;select cno,count(*)from sc where crade >=60 group by cno;--5、查询‘C1’课程的成绩高于的学生姓名;select sname from sc join student on sc.sno = student.sno where cno='c1'and crade > 70;--6、为student表创建一个基于sname(姓名)的降序排列的聚簇索引stusname;create index stusname on student(sname desc);--drop index stusname;--7、为学生—课程数据库中的student,course和sc三个表建立索引。
其中student按学号升序建唯一索引,--course按课程号升序建唯一索引,sc按学号和课程号降序建唯一索引,索引名称分别为stusno,coucno,scno;create unique index stusno on student(sno asc);create unique index couccno on course(cno asc);create unique index scno on sc(sno asc,cno desc);--8、删除student表中的stusname索引;drop index student.stusname;--9、创建信息系男学生信息视图stu-is,包括学生的学号、姓名及年龄,--并要求进行修改和插入操作时仍需保证该视图只有信息系的学生。
create view stu_is asselect sno,sname,sage from student WITH CHECK OPTION;--10、向视图stu-is中插入一个新的学生记录,学号为,姓名为王唔,成绩为;insert into stu_is values('200515027','王唔',20);--delete from stu_is where sname='王唔';select*from stu_is;--11、将视图stu-is中学号为的学生成绩改为.update stu_is set sage=25 where sno='200515027';select*from stu_is;/*二、创建教师授课管理数据库JSSK,并完成以下内容:在数据库JSSK中创建下列三张表:*/create database JSSKon(name='DB_JSSK_Data',filename='F:\SqlService Database\DB_JSSK_Data.mdf' )log on(name='DB_JSSK_Log',filename='F:\SqlService Database\DB_JSSK_Log.lDF'- )gouse JSSKgocreate table teachers (Tno char(7)primary key,Tname char(10)not null,Tsex char(2)check(Tsex in('男','女'))default'男',Birthday datetime,Dept char(20),Sid char(18))gocreate table lessons (Cno char(10)primary key,Cname char(20)not null,Credit int,property char(10))gocreate table shouke (Tno char(7),Cno char(10),Hours int,primary key(Tno,Cno),foreign key(Tno)references teachers(Tno),foreign key(Cno)references lessons(Cno) )go。