数据库实验操作题
数据库实验内容-答案
实验内容:实验一:数据库的操作使用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的外部键。
数据库SQL实验题目(14-15-1)
实验一数据定义操作●实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法●实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。
图1 设置性别的约束(2)Course表(课程名称表)的表结构(3)SC表(成绩表)的表结构特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。
按照相同的方法,将属性Sno也设置为外键。
图2为SC表设置外键Cno2.向上述表中输入如下数据记录学生关系表Student (右键单击表Student ,选择“编辑前200行”)课程关系表Course 成绩表SC3.修改表结构(找到操作的方法即可,不需要真正地修改表中的属性) (1)向student 表中增加“入学时间”列,其数据类型为日期型 (2)将student表中的sdept 字段长度改为20 (3)将student 表中的Speciality 字段删除思考题1. SQL Server 的数据库文件有几种?扩展名分别是什么? 2. 如何实现数据库的备份和还原?2.在定义基本表语句时,NOT NULL 参数的作用是什么? 3.主码可以建立在“值可以为NULL ”的列上吗?实验二 简单查询● 实验目的1. 掌握SELECT 语句的基本用法2. 使用WHERE 子句进行有条件的查询3. 掌握使用IN 和NOT IN ,BETWEEN …AND 和NOT BETWEEN …AND 来缩小查询范围的方法4. 掌握聚集函数的使用方法5. 利用LIKE 子句实现字符串匹配查询6. 利用ORDER BY 子句对查询结果排序7. 利用GROUP BY 子句对查询结果分组● 实验内容和要求一、表结构修改1.在实验一的所建立的数据库中增加Teacher 表,结构如下:2.在实验一的所建立的数据库中增加Teaching 表,表结构如下: Teaching 表(授课表)的表结构3.向上述两表中输入如下数据记录教师表Teacher 授课表Teaching二、完成下面查询 1.查询所有男生信息2.查询年龄大于24岁的女生学号和姓名3.查询所有教师的Tname、Tdept4.查询“电子商务”专业的学生姓名、性别和出生日期5.查询成绩低于90分的学生学号及课号,并按成绩降序排列6.查询Student表中所有的系名7.查询“C01”课程的开课学期8.查询成绩在80分至90之间的学生学号及课号9.统计有学生选修的课程门数10.查询成绩为77,88或99的记录11.计算“C02”课程的平均成绩12.输出有成绩的学生学号13.查询所有姓“刘”的学生信息14.统计输出各系学生的人数15.查询选修了“C03”课程和学生的学号及其成绩,查询结果按分数的降序排列16.查询各个课程号及相应的选课人数,并为选课人数取别名为“人数”17.统计每门课程的选课人数和最高分,并为选课人数和最高分分别取别名为“人数”、“最高分”18.统计每个学生的选课门数和考试总成绩,并为选课门数和总成绩分别取别名为“门数”、“总成绩”,并按选课门数降序排列。
数据库实验题目及答案
数据库实验
一、题目
药品(编号,名称,价格,厂商)
处方(药品编号,数量,医生编号)
医生(编号,姓名,科室,职称)
根据上面基本表的信息完成下列查询。
1 列出医生“张力”开的所有药品名称。
2 列出比“北方制药”所有药品都贵的药品信息。
3 列出内科所有处方的医生姓名、药品名称、金额
二、答案
题目一
连接查询
select 名称
from Yao ,Chu,Dr
where Yao.编号=Chu.药品编号and Chu.医生编号=Dr.编号and 姓名='张力'
嵌套查询
select 名称
from Yao
where 编号in(select 药品编号
from Chu
where 医生编号in(select 编号
from Dr
where 姓名= '李丽'))
题目二
select *
from Yao
where 价格>all(select 价格from Yao where 厂商='北方制药')
题目三
select 姓名,名称,价格
from Yao ,Chu,Dr
where Yao.编号=Chu.药品编号and Chu.医生编号=Dr.编号and 科室='内科'。
数据库实验期末试题
《数据库实验》期末考试一、基本操作题(共30分)数据库“samp1.mdb”里面已经设计好表对象“employee”,同时还存在一个“水费.xls”文件。
试按以下要求,完成表的各种操作:(1)在表对象“employee”中添加一个新字段,字段名称为“姓名”,数据类型为“文本”,字段大小为6。
(5分)(2)将“职工号”字段设为主键;(5分)(3)将已有的“水费.xls”文件导入到“samp1.mdb”数据库中,将导入的表命名为“水费记录”。
(10分)(4)设置“水费记录”表中的“水费”字段的有效性规则为水费值必须大于等于零,如果用户输入的“水费”字段值为负数,则给出错误提示“您输入的数据不能为负数!”。
(10分)二、简单应用题(共35分)数据库“samp2.mdb”里面已经设计好表对象“tEmployee”、“tSell”和“tBook”,试按以下要求完成设计:(1)创建一个选择查询,查找性别为“女”且职务为“经理”的雇员信息,显示“姓名”、“性别”、“职务”和“联系电话”四个字段的内容,所建查询命名为“qT1”;(5分)(2)创建一个选择查询,查找书名包含“计算机”的图书,显示“书名”、“单价”、“作者名”和“出版社名称”四个字段的内容,所建查询命名为“qT2”;(10分)(3)创建一个选择查询,统计每名雇员的售书总量,并将显示的字段名设为“姓名”和“总数量”,所建查询命名为“qT3”;(10分)(4)创建一个更新查询,按照当前时间来更新职工年龄字段值(tEmployee表中),所建查询命名为“qT4”。
(10分)三、综合应用题(共35分)数据库“samp3.mdb”里面已经设计好表对象“tBorrow”、“tReader”和“tBook”,查询对象“qT”,窗体对象“fReader”、报表对象“rReader”和宏对象“rpt”。
请在此基础上按照以下要求补充设计:(1)在报表“rReader”报表页眉节区内添加一个标签控件,其名称为“bTitle”,标题显示为“读者借阅情况浏览”,黑体、字号22,同时将其安排在距上边0.5厘米、距左侧2厘米的位置;(5分)(2)设计报表“rReader”的主体节区,要求显示姓名信息,所有记录应按“借书日期”字段升序排列。
数据库SQL实验题目
实验一数据库和表的建立●实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法●实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。
图1 设置性别的约束(2)Course表(课程名称表)的表结构(3)SC表(成绩表)的表结构特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。
按照相同的方法,将属性Sno也设置为外键。
图2为SC表设置外键Cno2.向上述表中输入如下数据记录学生关系表Student (右键单击表Student ,选择“编辑前200行”)课程关系表Course 成绩表SC3.修改表结构(找到操作的方法即可,不需要真正地修改表中的属性) (1)向student 表中增加“入学时间”列,其数据类型为日期型 (2)将student表中的sdept 字段长度改为20 (3)将student 表中的Speciality 字段删除思考题1. SQL Server 的数据库文件有几种?扩展名分别是什么? 2. 如何实现数据库的备份和还原?2.在定义基本表语句时,NOT NULL 参数的作用是什么? 3.主码可以建立在“值可以为NULL ”的列上吗?实验二 单表查询● 实验目的1. 掌握SELECT 语句的基本用法2. 使用WHERE 子句进行有条件的查询3. 掌握使用IN 和NOT IN ,BETWEEN …AND 和NOT BETWEEN …AND 来缩小查询范围的方法4. 掌握聚集函数的使用方法5. 利用LIKE 子句实现字符串匹配查询6. 利用ORDER BY 子句对查询结果排序7. 利用GROUP BY 子句对查询结果分组● 实验内容和要求一、表结构修改1.在实验一的所建立的数据库中增加Teacher 表,结构如下:2.在实验一的所建立的数据库中增加Teaching 表,表结构如下: Teaching 表(授课表)的表结构3.向上述两表中输入如下数据记录教师表Student 授课表Teaching二、完成下面查询 1.查询所有男生信息2.查询年龄大于24岁的女生学号和姓名3.查询所有教师的Tname、Tdept4.查询“电子商务”专业的学生姓名、性别和出生日期5.查询成绩低于90分的学生学号及课号,并按成绩降序排列6.查询Student表中所有的系名7.查询“C01”课程的开课学期8.查询成绩在80分至90之间的学生学号及课号9.统计有学生选修的课程门数10.查询成绩为77,88或99的记录11.计算“C02”课程的平均成绩12.输出有成绩的学生学号13.查询所有姓“刘”的学生信息14.统计输出各系学生的人数15.查询选修了“C03”课程和学生的学号及其成绩,查询结果按分数的降序排列16.查询各个课程号及相应的选课人数,并为选课人数取别名为“人数”17.统计每门课程的选课人数和最高分,并为选课人数和最高分分别取别名为“人数”、“最高分”18.统计每个学生的选课门数和考试总成绩,并为选课门数和总成绩分别取别名为“门数”、“总成绩”,并按选课门数降序排列。
mysql 数据库操作实践题
mysql 数据库操作实践题MySQL 是一种流行的关系型数据库管理系统,广泛用于各种大小企业和应用程序中。
在这篇文章中,我们将解决一些 MySQL 数据库操作实践题。
题目一:创建数据库和表首先,让我们创建一个名为 `company` 的数据库,并在其中创建一个名为`employees` 的表。
这个表将存储公司员工的信息,包括雇员ID、姓名、职务和薪水。
```sqlCREATE DATABASE company;USE company;CREATE TABLE employees (id INT PRIMARY KEY,name VARCHAR(50),title VARCHAR(50),salary DECIMAL(10, 2));```题目二:插入数据接下来,让我们向 `employees` 表中插入一些示例数据。
```sqlINSERT INTO employees (id, name, title, salary) VALUES(1, 'John Doe', 'Manager', 5000.00),(2, 'Jane Smith', 'Developer', 3500.00),(3, 'Mike Johnson', 'Salesperson', 3000.00),(4, 'Lisa Chen', 'Designer', 4000.00),(5, 'David Lee', 'Tester', 3200.00);```题目三:选择数据现在,我们来测试选择数据的语句。
下面的语句将选择所有职务为 'Developer' 的员工的姓名和薪水。
```sqlSELECT name, salary FROM employees WHERE title = 'Developer';```题目四:更新数据让我们假设 Lisa Chen 的薪水有所增加,我们需要更新她的薪水信息。
实验1 数据库操作题目
实验1 数据库操作
1.创建数据库:
操作 1.1:创建一个test数据库,其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB;数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%。
参考答案:
2.查看数据库属性:
操作1.2:使用T-SQL语句查看数据库test属性
参考答案:
3.删除数据库:
操作1.3:使用T-SQL语句删除数据库test
实验2 表操作
1.创建表:
操作2.1:创建学生表:
操作2.2:创建课程信息表:
表名:couse 说明:课程信息表
操作2.3:创建选课表:
操作2.4:创建院系信息表:
表名:dept 说明:院系信息表
参考答案:
2.修改表结构:
(1)向表中添加列:
操作2.5:为“dept”表添加“dp_count”列(数据类型为nvarchar,长度为3,允许为空)
参考答案:
(2)修改列数据类型:
操作2.6:修改“dept”表的“dp_count”列数据类型为int
参考答案:
操作2.7:删除“dept”表的“dp_count”列
参考答案:
3.删除表
操作2.8:删除“dept”表
参考答案:
4.向表中输入数据记录
操作 2.9:分别向“student”表、“couse”表、“slt_couse”表、“dept”表中输入数据记录。
数据库窗体实验练习(附答案)
数据库窗体实验练习(附答案)1 使用自动窗体工具创建“人员信息维护”窗体,保存名称为“窗体1”。
进行下面的操作。
1) 使用向导添加命令按钮,标题为“下一项”,动作选择记录导航中的下一项记录。
2) 使用向导添加命令按钮,标题为“前一项”,动作选择记录导航中的前一项记录。
3) 使用向导添加命令按钮,标题为“保存”,实现保存修改的功能。
4) 使用向导添加命令按钮,标题为“删除”,实现删除当前记录的功能。
3) 设置窗体属性,使“记录选择器”、“导航按钮”、“分隔线”均不显示。
2 基于“图书进货表”创建窗体“进货情况”(自动创建或向导都可以),在设计视图中进行下面的操作:1) 添加名称为“支出总额”的文本框(右下角)绑定到计算式,使文本框显示进货支出的金额。
2) 将所有文本框控件的“锁定”属性(属于数据类别,限制控件内容不可改)设置为“是”。
提示:1) 计算控件即把控件的“控件来源”属性绑定到一个计算式,比如=1+1。
注意计算式以=开始。
每笔进货的支出总额是单价和数量之积。
2) 如果个控件需要设置同样的属性,可以选中这些控件同时设置(鼠标圈选,或者按Shift 键单击更多对象)。
“锁定”属性为“是”使文件框等控件不能输入。
3 创建“图书销售窗体”1) 使用“图书销售表”作为数据源,创建窗体。
自动创建、向导、设计视图均可使用。
2) “图书编号”的输入选用组合框,能列出所有图书的编号和名称供选择。
3) 使用控件向导添加“新记录”和“保存”按钮,实现相应功能。
4) 设置窗体属性“数据输入”为“是”,窗体将只能添加记录,不能修改已有记录。
4(综合)创建窗体“按名称查询图书信息”,实现按关键词查询图书信息的功能。
提示:1 查询中需要使用参数,参数值取自于窗体中的控件。
如果实现按部分图书名称查询(比如查询名称含有“计算机”的图书),需要使用Like运算。
2 在窗体中打开查询,可以通过按钮实现。
使用向导添加按钮,选择“杂项”类别中的“运行查询”。
mysql数据库实操题
mysql数据库实操题MySQL数据库实操题通常涉及到数据库的创建、表的设计、数据的插入、查询和更新等方面。
以下是一个MySQL数据库实操题的示例:题目:假设你是一个图书馆管理员,需要创建一个数据库来管理图书馆的图书信息。
请按照以下要求完成数据库的设计和操作:1. 创建一个名为"library"的数据库。
2. 在该数据库中创建一个名为"books"的表,包含以下字段:book_id,图书编号,为整数类型,主键。
title,图书标题,为字符串类型。
author,图书作者,为字符串类型。
publication_year,图书出版年份,为整数类型。
quantity,图书数量,为整数类型。
3. 向"books"表中插入以下数据:book_id: 1, title: "Harry Potter and the Philosopher's Stone", author: "J.K. Rowling",publication_year: 1997, quantity: 5。
book_id: 2, title: "To Kill a Mockingbird", author: "Harper Lee", publication_year: 1960, quantity: 3。
book_id: 3, title: "1984", author: "George Orwell", publication_year: 1949, quantity: 2。
4. 查询"books"表中所有图书的信息。
5. 查询"books"表中所有作者为"J.K. Rowling"的图书信息。
数据库实验题
试验一、Accss数据库的基本操作1、创建STU数据库,其数据表如下:2、对xscj库创建实体、参照和用户自定义约束(实体、参照约束自行分析设计,用户自定义约束对“成绩”约束为0至100之间)。
试验二、对xscj库编写SQL语句(要求提交实验报告,报告中包括每小题的题目、SQL语句和运行结果的截图、最后归纳心得体会)【实验2-1】在学生基本信息表中查询学生的学号、姓名、性别和族别信息。
SQL语句如下:【实验2-2】从学生基本信息表中查询学生由几个民族构成。
从实验2-1结果可知,学生的族别有多行重复,要快速查询学生的民族构成,就是对相同值的族别只需要显示一行。
【实验2-3】从成绩表中查询学生成绩。
SQL语句如下:【实验2-4】从相关表中查询每一位学生的学号、姓名、课程名称、成绩。
SQL语句如下:【实验2-5】在课程信息表中查找“Delphi程序设计”课程的任课老师。
SQL语句如下:【实验2-6】查询少数民族学生的基本情况。
SQL语句如下:【实验2-7】检索1985年1月1日以后出生的女生基本信息。
SQL语句如下:【实验2-8】查询每位同学的课程门数、总成绩、平均成绩。
SQL语句如下:【实验2-9】从学生基本信息表中统计各民族学生人数。
SQL语句如下:【实验2-10】显示平均成绩大于等于80分以上的学生情况。
SQL语句如下:【实验2-11】将学生平均成绩按升序排序。
SQL语句如下:【实验2-12】查询成绩表中的全部信息,要求查询结果首先按学号升序排序,学号相同时,按成绩降序排序。
SQL语句如下:【实验2-13】查询不及格学生姓名、课程名和成绩信息。
SQL语句如下:【实验2-14】查询课程编号为002、003、007、014的课程编号、课程名称、任课教师和上课时间。
SQL语句如下:【实验2-15】检索所有姓刘的学生基本信息。
SQL语句如下:【实验2-16】检索包含“技术”两字的课程信息。
SQL语句如下:【实验2-17】检索少数民族学生的基本信息。
mysql数据库实验题
《数据库第二次作业——上机实验题》实验测试环境:Windows10专业版/ SQL 2012 Developer Edition X64实验一:交互式S Q L的使用实验要求:1,创建Student数据库,包括Students,Courses,SC表,表结构如下:Students(SNO,SNAME,SEX,BDATE,HEIGHT,DEPARTMENT)Courses(CNO,CNAME,LHOUR,CREDIT,SEMESTER)SC(SNO,CNO,GRADE)(注:下划线表示主键,斜体表示外键),并插入一定数据。
1)创建Students表SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for Students-- ----------------------------DROP TABLE IF EXISTS `Students`;CREATE TABLE `Students` (`SNO` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,`SNAME` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,`SEX` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,`BDATE` datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,`HEIGHT` double DEFAULT NULL,`DEPARTMENT` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,PRIMARY KEY (`SNO`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;2)创建Courses表SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for Courses-- ----------------------------DROP TABLE IF EXISTS `Courses`;CREATE TABLE `Courses` (`CNO` varchar(255) NOT NULL,`CNAME` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,`LHOUR` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,`CREDIT` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,`SEMESTER` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL, PRIMARY KEY (`CNO`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; 3)创建SC表SET FOREIGN_KEY_CHECKS=0;-- ------------------------------ Table structure for SC-- ----------------------------DROP TABLE IF EXISTS `SC`;CREATE TABLE `SC` (`SNO` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,`CNO` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL,`GRADE` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,KEY `SNO` (`SNO`),KEY `CNO` (`CNO`),CONSTRAINT `SC_ibfk_1` FOREIGN KEY (`SNO`) REFERENCES `Students` (`SNO`) ON DELETE CASCADE ON UPDA TE CASCADE,CONSTRAINT `SC_ibfk_2` FOREIGN KEY (`CNO`) REFERENCES `Courses` (`CNO`) ON DELETE CASCADE ON UPDA TE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;4)插入数据到Students表INSERT INTO Students(SNO,SNAME,SEX,BDATE,HEIGHT,DEPARTMENT) V ALUES('1001','李小','男','2019-05-31',1.80,'软件系');SELECT * FROM Students;5)插入CoursesINSERT INTO Courses(CNO,CNAME,LHOUR,CREDIT,SEMESTER) V ALUES('cs_1001','起飞技术','6','99','春季');SELECT * FROM Courses;6)插入SCINSERT INTO SC(SNO,CNO,GRADE) V ALUES('1001','cs_1001','80');SELECT * FROM SC;2.完成如下的查询要求及更新的要求。
数据库SQL实验题目(14-15-1)
数据库SQL实验题目(14-15-1)实验一数据定义操作实验目的1.掌握数据库和表的基础知识2.掌握使用创建数据库和表的方法3.掌握数据库和表的修改、查看、删除等基本操作方法实验内容和要求一、数据库的创建在开始菜单中,启动SQl Server 程序中的“SQL Server Management Studio”,在对象资源管理器窗口中,右键单击“数据库”,选择“新建数据库”,创建成绩管理数据库Grademanager,要求如下表所示:Grademanager数据库参数表参数参数值参数参数值存储的数据文件路径D:\db\ 存储的日志文件路径D:\db\数据文件初始大小 5MB 日志文件初始大小2MB数据文件最大值20MB 日志文件最大值15MB数据文件增长量原来10% 日志文件增长量2MB二、表的创建、查看、修改和删除1.表的创建在Grademanager数据库中,右键单击“表”,选择“新建表”命令,创建如下表所示的表:(1)Student表的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Sno Char 10 0 0 否学号,主码Sname Varchar 8 0 0 是姓名Ssex Char 2 0 0 是性别,取值:男或女Sbirthday Date 8 0 0 是出生日期Sdept Char 16 0 0 是系名Speciality Varchar 20 0 0 是专业名特别注意:为属性Ssex设置约束,需选中属性Ssex行,然后单击菜单中的“表设计器”,选择“CHECK 约束”命令,然后按照图1进行设置。
图1 设置性别的约束(2)Course表(课程名称表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Cno Char 5 0 0 否课程号,主码Cname Varchar 20 0 0 否课程名(3)SC表(成绩表)的表结构字段名称数据类型长度精度小数位数是否允许Null值说明Sno Char 10 0 0 否学号,外码Cno Char 5 0 0 否课程号,外码Degree Decimal 5 5 1 是成绩,0~100之间特别注意:①为属性Degree 约束,可参照属性Ssex进行设置,“CHECK约束对话框”中的表达式为Degree>=1 And Degree<=100②为SC表设置外键Sno和Cno的方法:右键单击表SC,选择“设计”命令,然后选择菜单“表设计器”中的“关系”命令,打开“外键关系”窗口,选择“添加”按钮,然后单击“表和列规范”后的按钮,按照图2进行设置,即可将SC表中的Cno属性设置为外键。
数据库实操考试题及答案
数据库实操考试题及答案**数据库实操考试题及答案**一、单项选择题(每题2分,共20分)1. 在关系数据库中,关系至少具有以下哪种特性?A. 可变性B. 传递性C. 原子性D. 唯一性答案:D2. SQL语言中,用于查询数据的命令是:A. INSERTB. UPDATEC. DELETED. SELECT答案:D3. 在数据库设计中,将一个表中的列复制到另一个表中,这种操作称为:A. 复制B. 继承C. 派生D. 分区答案:C4. 数据库管理系统(DBMS)的主要功能不包括:A. 数据定义B. 数据操纵C. 数据存储D. 数据加密答案:D5. 在关系数据库中,以下哪个不是关系的基本操作?A. 选择B. 投影C. 连接D. 排序答案:D6. 数据库中的视图是:A. 一个虚拟表B. 一个物理存储的表C. 一个索引D. 一个数据库文件答案:A7. 数据库中的事务具有以下哪个特性?A. 一致性B. 并发性C. 持久性D. 原子性答案:D8. 在SQL中,用于定义数据库、表、视图等对象的语句是:A. DDLB. DMLC. DCLD. TCL答案:A9. 数据库中的完整性约束不包括:A. 实体完整性B. 参照完整性C. 用户定义的完整性D. 并发控制答案:D10. 数据库中的范式理论主要用于:A. 提高查询效率B. 减少数据冗余C. 提高数据安全性D. 优化数据库性能答案:B二、多项选择题(每题3分,共15分)1. 以下哪些是数据库设计过程中需要考虑的因素?A. 数据模型B. 数据存储C. 性能优化D. 用户界面设计答案:ABC2. 在数据库中,以下哪些操作可以被回滚?A. SELECTB. INSERTC. UPDATED. DELETE答案:BCD3. SQL语言中,以下哪些是数据定义语言(DDL)的命令?A. CREATEB. ALTERC. DROPD. GRANT答案:ABCD4. 数据库中的索引可以用于:A. 提高查询速度B. 保证数据的唯一性C. 减少数据冗余D. 优化数据存储答案:AD5. 数据库中的触发器可以用于:A. 数据验证B. 数据更新C. 数据备份D. 维护数据完整性答案:ABD三、简答题(每题10分,共30分)1. 简述数据库事务的ACID特性。
数据库实验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数据库实训题
以下是一些MySQL数据库的实训题目:1. 创建一个新的数据库并指定字符集。
a. 创建一个名为mydb1的数据库,并设置字符集为UTF-8。
b. 创建一个名为mydb2的数据库,并设置字符集为GBK。
2. 查询所有数据库检查是否创建成功。
a. 查询所有数据库,检查mydb1和mydb2是否在列出的数据库中。
3. 分别查询两个数据库的字符集,检查是否设置成功。
a. 查询mydb1的字符集,确保其为UTF-8。
b. 查询mydb2的字符集,确保其为GBK。
4. 在两个数据库中创建表。
a. 在mydb1中创建名为employees的表,包含name(字符集UTF-8)和age两个字段。
b. 在mydb2中创建名为customers的表,包含name(字符集GBK)和age两个字段。
5. 添加一些数据到表中。
a. 向mydb1中的employees表添加一些员工信息,包括name和age。
b. 向mydb2中的customers表添加一些客户信息,包括name和age。
6. 查询数据。
a. 从mydb1中的employees表查询所有员工的信息。
b. 从mydb2中的customers表查询所有客户的信息。
7. 更新数据。
a. 更新mydb1中employees表中某个员工的name和age。
b. 更新mydb2中customers表中某个客户的name和age。
8. 删除数据。
a. 从mydb1中的employees表删除某个员工的信息。
b. 从mydb2中的customers表删除某个客户的信息。
9. 删除数据库。
a. 删除mydb1数据库。
b. 删除mydb2数据库。
以上实训题目可以帮助你练习MySQL数据库的基本操作,包括创建数据库、设置字符集、创建表、添加数据、查询数据、更新数据和删除数据等。
在完成这些题目后,你将能够更好地掌握MySQL数据库的使用和管理。
数据库实验四(含答案)
实验四使用SQL语句创建和删除数据库、表一. 实验目的:1、了解SQL Server 2005数据库的逻辑结构和物理结构。
2、掌握使用SQL 语句创建和删除数据库。
3、学会使用T-SQL语句创建表。
二. 实验准备1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。
2.了解用SQL语句创建和删除数据库的基本语法。
3.是用查询分析器,完成用SQL语句创建和删除基本表。
三. 实验要求1、熟练使用查询分析器进行数据库的创建和删除操作。
2、用查询分析器,完成用SQL语句创建和删除基本表。
3、完成实验报告。
四. 实验内容一、数据库1.以下是创建数据库userdb1的SQL语句,create database userdb1on(name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在size=5,--数据初始长度为5Mmaxsize=10,--最大长度为10Mfilegrowth=1)--数据文件每次增长1Mlog on( name=userdb4_log,filename='g:\xygl\userdb4.ldf ' ,size=2 ,maxsize=5 ,filegrowth=1)运行上诉语句建立数据库userdb12.根据步骤1的sql语句,写出创建实验二中“学生信息”数据库的sql语句,并建立“学生信息”数据库.(.mdf的名字可以修改)3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。
alter database 数据库名 add file()注括号内格式同下:( name=userdb4_log,filename='g:\xygl\userdb4.ldf ' ,size=2 ,maxsize=5 ,filegrowth=1)4.修改文件alter database数据库名modify file()注括号内表示修改后的属性信息,格式同下:( name=userdb4_log,filename='g:\xygl\userdb4.ldf ' ,size=2 ,maxsize=5 ,filegrowth=1)5.删除文件mrkj(alter database数据库名remove file+文件名)6.用SQL语句删除步骤一建立的数据库userdb1。
《数据库原理与应用》实验题目及答案
《数据库原理与应用》实验作业布置实验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、基本表的定义、修改和删除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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三SQL语言用于数据库的建立和维护实验目的熟练掌握SQL语言建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。
实验内容建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。
创建用于学生管理数据库,数据库名为XSGL,包含学生的基本信息,课程信息和选课信息。
数据库XSGL包含下列3个表:(l)student:学生基本信息。
(2)course:课程信息表。
(3)sc:学生选课表。
各表的结构分别如表1、表2和表3所示。
表3 学生选课表:sc一. 数据库的建立:(a)在SQLSERVER中,在查询分析器中使用T-SQL语句:CREATE DATABASE XSGL二. 表的建立:在SQL SERVER中查询分析器的编辑窗口中用下列SQL语句:use XSGLCreate table student(sno CHAR(5) primary key NOT NULL,sname CHAR(10) NULL,ssex CHAR(2) NULL,sage INT NULL,sdept CHAR(4) NULL)goCreate table course(cno CHAR(2) primary key NOT NULL,cname CHAR(30) NULL,credit INT NULL,pcno C HAR(2) NULL)goCreate table sc(sno CHAR(5),cno CHAR(2),grade INT NULL,primary key(sno,cno))go三. 表数据的添加:在SQL SERVER中查询分析器的编辑窗口中使用下列SQL 语句插入数据:insert into student(sno,sname, s sex,sage,sdept) values('95001', '李勇', '男', 20, 'CS') insert into student(sno,sname, s sex,sage,sdept) values('95002', '刘晨', '女', 19, 'IS') insert into student(sno,sname, s sex,sage,sdept) values('95003', '王敏', '女', 18, 'MA') insert into student(sno,sname, s sex,sage,sdept) values('95004', '张立', '男', 19, 'IS') insert into student(sno,sname, s sex,sage,sdept) values('95005', '刘云', '女', 18, 'CS ')insert into course(cno, cname,credit,pcno) values('1', '数据库', 4, '5')insert into course(cno, cname,credit,pcno) values('2', '数学', 6, null)insert into course(cno, cname,credit,pcno) values('3', '信息系统', 3, '1')insert into course(cno, cname,credit,pcno) values('4', '操作系统', 4, '6')insert into course(cno, cname,credit,pcno) values('5', '数据结构', 4, '7')insert into course(cno, cname,credit,pcno) values('6', '数据处理', 3, null)insert into course(cno, cname,credit,pcno) values('7', 'PASCAL语言', 4, '6')insert into sc(sno,cno,grade) values('95001', '1' ,92)insert into sc(sno,cno,grade) values('95001', '2' ,85)insert into sc(sno,cno,grade) values('95001', '3' ,88)insert into sc(sno,cno,grade) values('95002', '2' ,90)insert into sc(sno,cno,grade) values('95002', '3' ,80)insert into sc(sno,cno,grade) values('95003', '2' ,85)insert into sc(sno,cno,grade) values('95004', '1' ,58) insert into sc(sno,cno,grade) values('95004', '2' ,85) 形成下表:四. 表数据的修改:将所有学生的年龄增加一岁: update student set sage=sage+1将4号课程的学分改为4: update course set credit=4 where cno=4 设置7号课程没有先行课: update course set pcno=null where cno=7 将95001号学生的1号课程的成绩增加3分:update sc set grade=grade+3 where sno=’95001’ and cno=’1’五. 表数据的删除:删除学号为95005的学生的记录:delete from student where sno=’95005’删除所有的课程记录:delete from course删除成绩为不及格(少于60分)的学生的选课记录:delete from sc where grade<60实验四:数据库的简单查询和连接查询实验目的:掌握简单表的数据查询、数据排序和数据联结查询的操作方法。
实验内容:简单查询操作和连接查询操作。
实验步骤:一. 单表查询:1. 查询全体学生的学号和姓名:select sno, snamefrom student2. 查询全体学生的所有信息:select * from student或者select sno, sname, ssex,sage, sdeptfrom student3查询全体学生的姓名, 出生年份,和所在系, 并用小写字母表示所有系名: select sname, year(getdate()) - sage, lower(sdept)from student4给上例的结果集指定列名:select sname, year(getdate())- sage as 出生年份, lower(sdept) as 系名from student5查询选修了课程的学生的学号:select distinct sno from sc比较: select sno from sc6. 查询年龄在20岁以下的学生的姓名及其年龄:select sname, sage from student where sage<207. 查询考试成绩有不及格的学生的学号:select distinct sno from sc where grade<60比较: select sno from sc where grade<608. 查询年龄在20-30岁直接的学生的姓名, 姓名, 所在系:select sname, ssex, sdept from student where sage between 20 and 309. 查询IS,CS,MA系的所有学生的姓名和性别:select sname, ssex from student where sdept in ('IS', 'MA','CS')10. 查找所有姓’李’的学生的姓名, 学号和性别:select sname, sno, ssex from student where sname like '李%'比较: 将学生表中的’95001’号学生的姓名’李勇’改为’李勇勇’, 再执行:select sname, sno, ssex from student where sname like '李_'11. 查询没有先行课的课程的课程号cno和课程名cname:select cno, cname from course where pcno is null二. 查询结果排序12. 查询选修了3号课程的学生的学号和成绩, 并按分数降序排列:select sno, grade from sc where cno='3' order by grade DESC23. 查询全体学生的情况,查询结果按所在系号升序排列, 同一系中的学生按年龄降序排列:select *from studentorder by sdept ASC, sage DESC三. 连接查询:14. 查询每个学生及其选修课程的情况:select student.*, sc.*from student, scwhere student.sno=sc.sno比较: 笛卡尔集: select student.*, sc.* from student, sc自然连接: select student.sno, sname, ssex, sdept, cno, gradefrom student, scwhere student.sno=sc.sno15. 查询每一门课程的间接先行课(只求两层即先行课的先行课):select o, Second.pcno 间接先行课from course First, course Secondwhere First.pcno=o比较:select o, Second.pcno 间接先行课from course First, course Secondwhere First.pcno=o and Second.pcno is not null16. 列出所有学生的基本情况和选课情况, 若没有选课,则只列出基本情况信息:select s.sno, sname, ssex,sdept, cno, gradefrom student s, sc scwhere s.sno*=sc.sno17. 查询每个学生的学号, 姓名, 选修的课程名和成绩:select S.sno, sname, cname, gradefrom student S, course C, sc SCwhere S.sno=SC.sno and o=o。