文档库 最新最全的文档下载
当前位置:文档库 › 题目

题目

一:

一个用于存放学生选课信息的数据库XK,由学生信息表student、课程信息表course和选课信息表ordering构成。其中,表student记录学生的学号、姓名、性别、年龄等信息;表course记录课程的课程号、课程名称、授课教室等信息;表ordering描述学生的选课信息,并记录学生所选课程的成绩。

在考生文件夹下已创建了数据库XK、表student、表course和表ordering,并初始化了相应数据,请考生查阅其结构与数据,完成下列操作。

注意:以下操作题必须编写相应的SQL语句,并至少执行一次该命令。

1) 使用UPDATE语句,将表student中字段stu_id为0002的学生年龄更新为"20"。

2) 使用SELECT语句查询学生信息表中所有男生的姓名,且按年龄的升序排序,最后把此SELECT语句存入考生文件夹下的sj12.txt文件中。

3) 使用SELECT语句查询课程成绩不及格的学生姓名,并此SELECT语句存入考生文件夹下的sj13.txt文件中。

4) 建立一个名为stu_user的用户,并为其授予关于表student的SELECT、INSERT权限。

5) 使用INSERT语句向表ordering中添加如下一条信息:学号为0001的学生选修了课程号为005的课程,因该课程尚未结束,故目前没有成绩。

2.1) 使用如下SQL语句可在数据库XK中创建一个触发器,其实现在表student中删除学生信息时,可自动删除该学生的选课信息。

注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

2) 使用如下SQL语句可在数据库XK中创建一个存储过程,用于实现给定表course中一个课程号course_id,即可为表course中该课程号所对应的课程指定一个新的授课教室。

注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

3.在考生文件夹下存有一个sj3.php文件简单的PHP程序,可实现通过该程序从数据库XK中查询出所有女同学的学号和姓名,并能以网页表格的形式列出这些学生的学号和姓名信息。

请考生在横线处填上适当的内容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文件名保存在考生文件夹下,否则没有成绩。

二.

一个用于存放学生借阅图书信息的数据库JY,由学生信息表student、图书信息表book和借阅信息表reading构成。其中,表student记录学生的学号、姓名、性别和年龄等信息;表book记录图书的书号、书名、作者和价格等信息;表reading 描述图书借阅信息,并记录为学生办理图书借阅的老师姓名。

在考生文件夹下已创建了数据库JY、表student、表book和表reading,并初始化了相应数据,请考生查阅其结构与数据,完成下列操作。

注意:以下操作题必须编写相应的SQL语句,并至少执行一次该命令。

1) 在数据库JY中,使用CREATE语句创建一个记录出版社社号、社名和地址等

信息的表publisher,包括pub_id(社号)、pub_name(社名)、pub_address (地址)等三个字段,相应的字段类型分别为整型、字符串型(char(30))和字符串型(char(30)),要求pub_id字段作为该表的主键,pub_name和pub_address字段不能为空。

2) 使用ALTER语句,修改表book的表结构,为其添加一个名为pub_post的列,用于关联图书的出版社信息,该列值允许为NULL,数据类型为整型。

3) 使用INSERT语句向表reading中添加如下一条借阅信息:名为"wen"的老师为学号0008的学生办理了书号为006的图书借阅。

4) 使用DELETE语句删除表reading中学号为0003学生的借阅信息。

5) 使用SELECT语句查询书号为003的书名,并此SELECT语句存入考生文件夹下的sj15.txt文件中。

2.1) 创建一个名称为v_student的视图,能够查询借阅了书名为"高等数学"的学生全部信息。

注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

2) 创建一个存储过程,功能是将书名中含有"计算机"的所有图书价格增加10%。

注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

3. 在考生文件夹下存有一个sj3.php文件简单的PHP程序,可实现通过该程序从数据库JY中检索所有图书的信息,并以网页表格形式列出图书的书号、书名、价格和作者。

请考生在横线处填上适当的内容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文件名保存在考生文件夹下,否则没有成绩。

三.

1.在给定的学生选课数据库xsxk中有一个学生表,包含的属性有学号,姓名,出生日期,学院名称,请按要求完成以下操作。

1). 使用SQL命令在学生表中增加一个属性列QQ,以记录学生的QQ号,类型为varchar,长度为20,允许为空。

2). 使用SQL语句为选课表上的学号字段建立外码FK_XH。

3). 使用SQL命令查询每个学院的学生总人数,要求给学生总人数取别名:总人数,显示学院名称和总人数,并将此SELECT语句存入考生文件夹下的

sj13.txt文件中。

4). 使用SQL命令查询没有选过任何课程的学生学号,姓名,出生日期,学院名称,并将此SELECT语句存入考生文件夹下的sj14.txt文件中。

5). 为"信息学院"的学生设计一个视图V_选课(姓名,课程名称,课程学分,成绩)。给定xsxk(学生选课)数据库中包含学生、课程和选课三个数据表,请按要求完成以下操作。

2. 1.)设计一个名称为fn_学分的存储函数,根据给定的课程名称返回该课程对应的学分。

注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存

在考生文件夹下,否则没有成绩。

2.)设计一个存储过程PR_学分,根据学号返回学生的总学分(注意:成绩>=60分才能获得相应的学分)。

注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

3.在考生文件夹下存有一个sj3.php文件简单的PHP程序,是对学生选课数据库设计一个查询学生成绩的页面,要求根据学号和课程名称查询学生的成绩。该程序是不完整的,请在注释行"//**********found**********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found**********"。修改后的程序存盘时不得改变

文件名和文件夹。

四.

学生选课数据库xsxk中包含学生、课程和选课三个数据表,请按要求完成以下操作。

1. 使用SQL命令在选课表上根据学号和课程名称采用BTREE的索引类型创建一个复合索引index_选课。

2. 使用SQL命令查询"C语言程序设计"这门课程成绩前三名学生的学号、课程名称和成绩,并将此SELECT语句存入考生文件夹下的sj12.txt文件中。

3. 使用SQL命令查询同时选修"C语言程序设计"和"操作系统"两门课程的学生学号,并将此SELECT语句存入考生文件夹下的sj13.txt文件中。

4. 设计一个视图V_成绩(课程名称、平均成绩),要求显示课程名称和每门课程平均成绩(保留2位小数),并按平均成绩降序排列。(提示:使用函数ROUND(x float, y int)取小数位数)

5. 创建test用户,并将xsxk的所有权限赋予test用户。

2.给定学生选课数据库xsxk中包含学生、课程和选课三个数据表,请按要求完成以下操作。

1)设计一个名称为tr_选课的触发器,完成的功能是:当在选课表上插入一条记录之前,若该记录中的学号和课程名称在学生表和课程表中不存在,则在相关表中插入相应记录。

注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

2)设计一个存储函数fn_平均成绩,根据学生姓名返回学生的平均成绩。注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存

3.在考生文件夹下,否则没有成绩。在考生文件夹下存有一个sj3.php文件的简单PHP程序,是对学生选课数据库xsxk设计一个查询学生选修课程的总学分页面,要求根据学号查询学生的总学分。该程序是不完整的,请在注释行"//**********found**********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found**********"。修改后的程序存盘时不得改变文件名和文件夹。

五.

1.在考生文件夹下有kwgl数据库,存放试题中所提及的数据表。

1)现有学生模型:S(SNO,SName,Sex,Age)(说明:学号,姓名,性别,年龄),现要求创建该表,SNO列为主键自动增长整数列,SName(char(10)),性别使用char(1),值"M/F"分别表示"男/女",年龄字段为整型。请编写SQL语句创建该表,并按(姓名,年龄,性别)的形式完成一条记录

("wangwei",21,"F")的插入操作。

2)对于所创建的学生表S,要求按照性别进行分组统计学生的平均年龄,并按照下面的方式输出,并将此SELECT语句存入考生文件夹下的sj12.txt文件中。+------+----------+

| 性别 | 平均年龄 |

+------+----------+

| | |

| | |

+------+----------+

3)现有公司表:company(id, company_name, location) (说明:编号,公司名称,公司所处城市)。请编写SQL语句查出所有位于同一个城市的公司名称对(两个不同公司的名称)、以及它们所处的城市名称,要求结果按照下面的格式输出,并将此SELECT语句存入考生文件夹下的sj13.txt文件中。(可包括所有不同顺序的公司名称对)

+------------+-----------+----------+

| company1 | company2 | location |

+------------+-----------+----------+

| | | |

| | | |

+------------+-----------+----------+

4)kwgl数据库中有学生表(student)、系别表(dept):student:{sid,sname,score,deptno}(字段说明:学号,姓名,成绩,系别编号)dept:{deptno,deptname }(字段说明:系别编号,系名称)

请编写SQL语句查出各个系中,成绩高于该系平均成绩的学生人数,要求查

询出系名称和具体人数,并将此SELECT语句存入考生文件夹下的sj14.txt文件中。+----------+----------+

| deptname | count(*) |

+----------+----------+

| | |

+----------+----------+

5)为了让市场部的新用户wang能够访问MySQL服务器,

①管理员用CREATE语句为其创建了一个名为wang的用户,并处于安全考虑,将其登录位置指定为市场部

IP:192.168.2.12,密码为"@1A*g=";当该用户尝试访问市场部数据库market 时,发现管理员并未授予其权限。

②管理员使用授权语句,对用户wang授予market数据库上的所有权限,并允许其进行权限转移。请编写出这里提到的语句①②,分别完成用户创建、用户密码修改和用户权限授予。

2.在考生文件夹下有kwgl数据库,存放试题中所提及的数据表。

1)现有Customers表,其中列customerNumber为客户编号(整数列)、列creditlimit信贷限额(整数列)记录了某个用户当前的透支上限,请修改一个存储过程,要求根据输入的客户编号,通过一个输出参数得出用户的评级情况(字符串)。若当前信贷限额大于50000,则用户评级为 "1st Level";若当

前信贷限额大于等于10000且小于等于50000,则用户评级为"2nd Level";若当前信贷限额小于10000,则用户评级为 "3rd Level"。

注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

2) kwgl数据库中有学生表(student)、系别表(dept):student:{sid,sname,score,deptno}(字段说明:学号,姓名,成绩,系别编号)dept:{deptno,deptname }(字段说明:系别编号,系名称)

请修改函数GetAvgScoreByDeptName计算指定系的学生平均成绩,输入系名字符串,返回DOUBLE类型的平均成绩。

注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生在横线处填上适当的内容后并把横线删除,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

3. 在考生文件夹下有kwgl数据库,存放试题中所提及的数据表。

kwgl数据库中有学生表(student)、系别表(dept):student:{sid,sname,score,deptno}(字段说明:学号,姓名,成绩,

系别编号)dept:{deptno,deptname }(字段说明:系别编号,系名称)

在考生文件夹下有一个sj.php页面,如下图所示:

初始情况下(即直接访问sj3.php时),显示出deptno=10001的院系。然后,在下拉框中列出所有院系的名称(deptname),在点击提交按钮时,根据用户的选择,使用Get方式,再次将请求发送到本页面进行服务器端处理,根据Get中参数deptno指定的院系编号,检索student表,列出指定院系所有学生的学号和成绩;在此响应中,需保持下拉框中院系的选择情况与用户提交时的选择情况一致。如下图所示:

请考生在横线处填上适当的内容后并把横线删除,使其成为一段可执行的完整PHP程序,并按原文件名保存在考生文件夹下,否则没有成绩。

六.

1.在考生文件夹给出的企业数据库db_emp中有职工表tb_employee和部门表

tb_dept,tb_employee包含的字段有eno(职工号)、ename(姓名)、age(年龄)、title(职务)、salary(工资)和deptno(部门号),tb_dept包含的字段有deptno(部门号)、dname(部门名称)、manager(部门负责人)、telephone (电话)。

1)用SQL语句完成以下操作:给企业新增加一个"公关部",部门号为"D4",电话为"010-********",并任命"Liming"担任部门负责人。

2)用SQL语句将tb_employee表中salary字段的默认值修改为3500。

3.)用SQL语句查询"销售部"的员工总人数,要求查询结果显示为"总人数",并将此SELECT语句存入考生文件夹下的sj13.txt文件中。

4.)用SQL语句为"采购部"建立一个员工视图v_emp,包括职工号(eno)、姓名(ename)、年龄(age)和工资(salary)。

5.)使用SQL语句,在当前系统中新建一个用户,用户名为Yaoming,主机名为localhost,密码为"abc123",授予其对db_emp数据库中tb_employee表的更新权限,并允许其可以将此权限授予其他人。

2. 在考生文件夹下给出的企业数据库db_emp中包含职工表tb_employee和部门表

tb_dept。

1.)设计一个名称为tr_emp的触发器,完成的功能是:当删除部门表中的记录时,将职工表中的部门信息置空。并使用命令触发该触发器,并查看结果。注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

2)设计一个名称为fn_emp的存储函数,要求能根据给定的部门名称返回该部

门的工资总和。

注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请考生删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩。

3. 在考生文件夹下存有一个sj3.php文件的简单PHP程序,功能是对给定的企业数据库db_emp设计一个职工表tb_employee的操作页面,如下图所示。要求根据输入的职工号查询该职工的基本信息,点击"修改"按钮可以修改职工的基本信息。

但程序是不完整的,请在注释行"//**********found***********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found***********"。修改后的程序存盘时不得改变文件名和文件夹。

七:1.在考生文件夹存有一商场信息管理系统的数据库db_mall,其包含一个记录商品有关信息的商品表tb_commodity,该表包含的字段有商品号(cno)、商品名(cname)、商品类型(ctype)、产地(origin)、生产日期(birth)、价格(price)和产品说明(desc1)。

1)使用SQL语句,计算商品表中北京产的电视机的价格总和(字段名为:total),并将此SELECT语句存入考生文件夹下的sj11.txt文件中。

2)使用SQL语句,将商品表中的产品说明(desc1)字段删除,以简化该表。3)使用SQL语句,在商品表中添加如下一行信息,商品名:钢笔;商品类型:文具;产地:上海;生产日期:2012-12-25;价格:25。

4)使用SQL语句,在数据库db_mall中创建一个视图v_bjcommodity,要求该视图包含商品表中产地为北京的全部商品信息。

5)使用SQL语句,在当前系统中新建一个用户,用户名为client,主机名为localhost,并为其授予对商品表中商品号(cno)字段和商品名(cname)字段的select权限。

2.在考生文件夹下存有一商场信息管理系统的数据库db_mall,其包含一个记录商品有关信息的商品表tb_commodity,该表包含的字段有商品号(cno)、商品名(cname)、商品类型(ctype)、产地(origin)、生产日期(birth)、价格(price)。

1. 请创建一个名为tri_price的触发器,在插入新的商品记录时,能够根据商品的品名和产地自动设置商品的价格,其具体规则如下:若商品为上海产的电视机,则价格设置为2800,其它商品价格的设置可为缺省。

注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩,最后运行测试。

2. 请创建一个名为sp_counter的存储过程,用于计算商品表tb_commodity 的商品记录数。

注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩,最后运行测试。

3.在考生文件夹下存有一个名为sj3.php的简单PHP程序文件,其成功运行后可

将数据库db_mall的商品表tb_commodity中产地为武汉的电冰箱价格调整为3888。但程序是不完整的,请在注释行"//**********found***********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found***********"。修改后的程序存盘时不得改变文件

名和文件夹。

八.1.在考生文件夹给出的学生数据库db_student中有学生表tb_student和课程成绩表tb_score,tb_student包含的字段有sno(学号)、sname(姓名)、sage (年龄)和smajor(专业),tb_score包含的字段有sno(学号)、cname

课程名称)和grade(成绩)。

1)使用SQL语句,在tb_student表中添加一个字段ssex,数据类型为char,长度为1,缺省值为"M"。

2)用SQL语句将学号为100的学生的专业改为"计算机"。

3)用SQL语句在tb_score表上建立一个视图v_avg(cname,caverage),视图的内容包含课程名称及课程的平均成绩。

4)用SQL语句在tb_student表上建立关于学号的唯一性索引idx_stu。

5)新建一个名称为newuser的用户,主机名为localhost,并为其授予对

tb_student表的select权限。

2.1)设计一个名称为fn_cmax的存储函数,根据给定的课程名返回选修该课程的最高分,并写出调用函数的语句。

注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩,最后运行测试。

2)设计一个名称为ev_bak的事件,每日零时零分将学生数据库db_student 中学生表tb_student的数据备份到考生文件夹下的文件bakfile.txt中。

注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩,最后运行测试。

3.在考生文件夹下存有一个sj3.php文件的简单PHP程序,是对给定的学生数据库db_student设计一个学生表tb_student的操作页面,如下图所示。要求实现课程成绩录入的功能,输入学号后点击查询按钮可显示相应的姓名、专业,输入课程名称和成绩后,点击"添加"按钮可以添加学生的课程成绩。

但程序是不完整的,请在注释行"//**********found***********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found***********"。修改后的程序存盘时不得改变文件名和文件夹。

九:1.现有数据库mysqltest:

1). 在数据库mysqltest中,创建Dept1表:Dept1(deptno,dname,higherdeptno) ,说明:部门编号(整型),部门名称(定长字符串、长度20),上级部门编号(整型,缺省值为NULL),并建立名为fk_higher的主外键关联。 2). 现有部门表:Dept2(deptno,dname,higherdeptno) (说明:部门编号,部门名称,上级部

门编号),请编写SQL语句,查找出所有第二级部门的名称(没有上级部门的部门为第一级部门),并此SQL语句存入考生文件夹下的sj12.txt文件中,不存则不得分。

3). 学生S(sno, sname, sex, age)、课程C(cno, cname)、选课

SC(sno,cno,grade) , 请编写SQL句,为选修课程"JAVA"的学生学号、姓名、课程成绩,建立视图SJAVA。

4). 学生S(sno, sname, sex, age)、课程C(cno, cname)、选课

SC(sno,cno,grade),请编写SQL语句,将学生李红选修的课程DB的成绩改为90。 5). 创建一个名为backupdb的用户,指定其仅在localhost上登录,密码为"backup"。现有数据库mysqltest下:

1. 现有Customer表:(customerNumber int primary key, creditlimit int NOT NULL, customerLevel CHAR(20) DEFAULT '' ),其中customerNumber为客户编号,creditlimit记录了某个用户当前的信贷限额。请创建一个触发器,在插入新的客户记录时,能够根据用户的的信贷限额设置其customerLevel;具体规则如下:若当前信贷限额大于50000,则用户评级为 "1st Level";若当前信贷限额大于等于10000且小于等于50000,则用户评级为"2nd Level";若当前信贷限额小于10000,则用户评级为 "3rd Level"。

注意:在考生文件夹中的sj21.txt文件已给出部分程序,但程序不完整,请删除

下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩,最后运行测试。

2. 假设有商品表(product)和商品类别表(category):product:{pid,pname,cid,price}(字段说明:商品编号,商品名,类别编号,价格)category:{cid,cname }(字段说明:类别编号,类别名称)

请创建一个存储过程priceIncrementByCat,根据指定的类别名称(长度20的字符型)、以及价格浮动比例(Double型),对该类别中所有的商品进行价格调整(要求在存储过程中,只能使用一条UPDATE语句,不能使用其他对product和category表进行操作的SQL语句)。如果成功进行了相关修改,使用ROW_COUNT()函数打印出经价格修改的商品数目;否则,打印出错误信息。可参考如下所示方式打印出执行结果:

+---------------------------------------------------------------+

| Result |

+--------------------------------------------------------------+

| 类别:"食品"中,有3件商品价格已被更新! |

+--------------------------------------------------------------+

或者:

+--------------------------------------------------------+

| Result |

+-------------------------------------------------------+

| 类别名称不存在、或者该类别中无商品! |

+-------------------------------------------------------+

注意:在考生文件夹中的sj22.txt文件已给出部分程序,但程序不完整,请删除下划线,并在下划线处填上适当的内容,使程序补充完整,并按原文件名保存在考生文件夹下,否则没有成绩,最后运行测试。

3.mysqltest数据库中有学生表(student)、系别表(dept):

student:{sid,sname,score,deptno}(字段说明:学号,姓名,成绩,系别编号)

dept:{deptno,deptname }(字段说明:系别编号,系名称)编写一个sj3.php页面,如下图所示:

在考生文件夹下存有一个sj3.php文件的简单PHP程序,显示出所有学生的相关信息(具体内容如图所示),以及结果序号。每个学生记录的末尾有一个执行该记录"删除"操作的超链接,在点击删除链接时,弹出图示确认删除对话框,在用户点击"确认"按钮后,使用Get方式,对数据库中数据进行删除

操作,重新检索并返回现有学生的相关信息。

但程序是不完整的,请在注释行"//**********found***********"下一行填入正确的内容,然后删除下划线,但不要改动程序中的其他内容,也不能删除或移动"//**********found***********"。修改后的程序存盘时不得改变文件名和文件夹。

相关文档