数据库简单练习
- 格式:doc
- 大小:74.00 KB
- 文档页数:2
一、关系运算1、设有两个关系R(A,B)和S(B,C),请写出与下面关系代数表达式等价的SQL语句。
πB(R) -πB(σc=`C56`(S))2、已知关系R、S如下所示,以表的形式给出下列运算结果。
(1)σX=Z(R ╳ S)已知关系模式如下:学生:S(Sno,Sname,Ssex,Sage,Sdept) 对应学生的学号,姓名,性别,年龄,系;课程:C(Cno,Cname,Tname) 对应课程的课程号,课程名,授课教师名字;学生选课:SC(Sno,Cno,Grade)对应学生选修课程的成绩。
3、检索至少选修两门课程的学生学号及姓名。
4、查询王力同学不学课程的课程名。
5、查询既选修了课程1也选修了课程2的学生学号。
6、检索全部学生都选修的课程的课程号与课程名。
7、查询刘宏老师所授课程的每门课程的学生平均成绩。
8、为“三建”工程项目建立一个供应情况视图,包括SNO、PNO、QTY。
9、试修改Student表结构,实现学生性别取值为‘男’,‘女’的约束。
答案:1、SELECT BFROM RWHERE B NOT IN(SELECT BFROM SWHERE C=`C56`);2、(bebb,cccc) ,(ccc)3、检索至少选修两门课程的学生学号及姓名。
select sno,sname from student where sno in(select sno from scgroup by snohaving count(*)>=2);4、查询王力同学不学课程的课程名。
SELECT CNAME FROM CWHERE NOT EXISTS(SELECT*FROM SCWHERE O=O AND SNO =(SELECT SNO FROM STUDENT WHERE SNAME=’王力’));5、查询既选修了课程1也选修了课程2的学生学号。
SELECT SnoFROM SCWHERE Cno='1' AND Sno IN(SELECT SnoFROM SCWHERE Cno='2');6、检索全部学生都选修的课程的课程号与课程名。
收集精品文档============================= =========================================================================== ==============================专业收集精品文档七、数据库使用初步练习题一、判断题1.利用数据库存储数据,可以避免所有的数据重复。
( )2.在数据库中,由于共享数据不必重复存储,因而可以减少数据的冗余。
( )3.用“创建空数据库”来创建Microsoaf Access2000数据库的步骤包括:选择“数据库”选项卡。
( )4.在Access2000数据库窗口使用表设计器创建表的步骤包括:打开表设计器。
( )5.字段的输入掩码属性对“文本”、“数字”、“日期/时间”和“货币”类型的字段有效。
( )6.在两个表之间建立关系的结果是两个表变成了一个表。
( )7.在两个表之间建立关系后,只要访问其中的任一个表就可以得到两个表的信息。
( )8.查询结果可以作为数据库其他对象数据的来源。
( )9.不能在报表中添加背景图片。
( )10.能在报表中进行计算。
( )二、单选题1.数据库是按一定的结构和规则组织起来的 的集合。
A.相关数据B.无关数据C.杂乱无章的数据D.排列整齐的数据2.数据库管理系统是 。
A.系统软件B.计算机辅助设计软件C.应用软件D.通用应用工具软件3.用二维表数据来表示事物之间联系的模型叫做 。
收集精品文档============================= ================================= ==========================================A.层次模型B.关系模型C.网络模型D.实体一联系模型4.数据模型用来表示实体间的联系,但不同的数据库管理系统支持不同的数据模型。
不是常用的数据模型。
mysql基本练习题MySQL是一种流行的开源关系型数据库管理系统,广泛应用于各种Web应用程序和数据分析任务中。
为了熟悉和掌握MySQL的使用,下面将介绍一些基本的MySQL练习题。
通过这些题目的实践,你将能够加深对MySQL数据库操作的理解和技能。
练习题一:创建数据库和表格1. 创建一个名为"学生管理"的数据库。
2. 在"学生管理"数据库中创建一个名为"学生信息"的表格,包含以下列:- 学号:学生的唯一标识符,为整数型。
- 姓名:学生的姓名,为字符串型。
- 性别:学生的性别,为字符串型。
- 年龄:学生的年龄,为整数型。
- 分数:学生的考试成绩,为浮点数型。
练习题二:插入数据1. 向"学生信息"表格中插入若干学生数据,包括学号、姓名、性别、年龄和分数。
练习题三:查询数据1. 查询"学生信息"表格中的所有学生数据。
2. 查询成绩大于80分的学生数据。
3. 查询性别为女性且年龄小于20岁的学生数据。
练习题四:更新数据1. 将学号为1001的学生的年龄更新为20岁。
2. 将姓名为"张三"的学生的分数更新为90分。
练习题五:删除数据1. 删除学号为1002的学生数据。
2. 删除所有分数小于60分的学生数据。
练习题六:排序和限制1. 按照分数降序排列所有学生数据。
2. 查询前5个成绩最高的学生数据。
练习题七:聚合查询1. 查询学生总数。
2. 查询平均分最高的学生数据。
3. 查询每个性别的学生数量。
练习题八:连接表查询1. 创建一个名为"科目信息"的表格,包含以下列:- 科目ID:科目的唯一标识符,为整数型。
- 科目名称:科目的名称,为字符串型。
- 学生学号:参加该科目的学生学号,外键关联到"学生信息"表格的学号列。
2. 向"科目信息"表格中插入若干科目数据,包括科目ID、科目名称和学生学号。
第四章练习题一、选择题1、设有两个关系R(A,B)与S(B,C),与下列SELECT语句SELECT A,B FROM RWHERE B NOT IN(SELECT B FROM S WHERE C='C56');等价的关系代数表达式就是 [ C]A.πA,B(σC≠'C56'(R⋈S))B.πA,B(R ⋈ S)C≠'C56'C.R-πA,B(σC= 'C56'(R⋈S))D.R-πA,B(σC≠'C56'(R⋈S))2、嵌入式SQL的预处理方式,就是指[ B]A.识别出SQL语句,加上前缀标识与结束标志B.把嵌入的SQL语句处理成函数调用形式C.对源程序进行格式化处理D.把嵌入的SQL语句编译成目标程序3、SQL中,“DELETE FROM 表名”表示 [ A]A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组4、SQL中,聚合函数COUNT(列名)用于[ C]A.计算元组个数B.计算属性的个数C.对一列中的非空值计算个数D.对一列中的非空值与空值计算个数5、在传统SQL技术中,使用“ORDER BY”子句的SELECT语句查询的结果,实际上为 [B]A.数组B.列表C.包D.集合6、在数据库中,能提高查询速度的就是(C )A、数据依赖B、视图C、索引D、数据压缩7、语句 delete from sc 表明( A )A、删除sc中的全部记录B、删除基本表scC、删除基本表sc中的列数据D、删除基本表sc中的部分行8、在DB应用中,一般一条SQL 语句可产生或处理一组记录,而DB主语言语句一般一次只能处理一条记录,其协调可通过( B )实现。
A、指针B、游标C、数组D、栈9、在下列基本表的定义中,数值5表示( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A、表中有5条记录B、表中有5列C、表中字符串Sno 的长度D、表格的大小10、在视图上不能完成的操作就是( C )A、更新视图B、查询C、在视图上定义新的基本表D、在视图上定义新视图11、下列聚合函数中不忽略空值 (null) 的就是 (C)A、SUM (列名)B、MAX (列名)C、COUNT ( * )D、AVG (列名)12、SQL的查询语句的where子句中,对空值的操作,不正确的就是 ( C )A、where AGE IS NULLB、where AGE IS NOT NULLC、where AGE = NULLD、where NOT (AGE IS NULL)13、Transact-SQL对标准SQL的扩展主要表现为( A )。
一. 创建一个学生档案表(表名为xsda),其表结构如下:Create Table xsda(xh Char (10) not null unique,xm Char(8),csny Datetime ,gz Decimal(6,1),zy Char (10))1.在xsda表中插入一个学生记录:(2000jsj008,李平)insert into xsda(xh,xm) values(‘2000jsj008’,’李平’)2.把xsda表中80-01-01前出生的人的工资增加20%Update xsda set gz=gz*1.2 where csny<’ 80-01-01’3.查询xsda表中不同专业的人数Select zy ,count(xh) from xsda group by zy4.假如另外还有一个学生成绩表xscj(xh,kch,kccj), xh,kch,kccj分别指学号、课程号、成绩,要求查询姓名为李平的同学的各门课程的成绩。
Select kch,kccj from xsda,xscj where xsda.xh=xscj.xh and xm=’李平’5.xsda、xscj表同上,查询选修了kch为Yy2的学生的xh和XmSelect xh,xm from xsda,xscj where xsda.xh=xscj.xh and kch=’Yy2’二、使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空。
CREATE ___table_____ CLASS(CLASSNO __char____ (8) NOT NULL,DEPARTNO CHAR (2) NOT NULL,CLASSNAME CHAR (__20__) NOT NULL)三、有一个[学生课程]数据库,数据库中包括三个表:学生表:Student由学号(Sno)、姓名(Sname)、性别(Ssex)、年龄(Sage)、所在系(Sdept)五个属性组成,记为:Student(Sno,Sname,Ssex,Sage,Sdept),Sno 为关键字。
数据库练习题近年来,数据库技术在各个领域中得到了广泛应用和发展。
对于程序员和数据库开发人员来说,熟练掌握数据库的操作和问题解决能力是非常重要的。
为此,本文将提供一系列数据库练习题,旨在提升读者的数据库理论知识与实践能力。
1. 建立一个员工信息表,包含字段:员工编号、姓名、性别、职位、工资。
实现以下操作:a) 插入多条员工记录;b) 查询所有员工的信息;c) 查询工资在某个范围内的员工信息;d) 更新某个员工的职位;e) 删除某个员工的记录。
2. 创建一个学生选课表,包含字段:学生编号、学生姓名、课程编号、课程名称、成绩。
实现以下操作:a) 插入多条学生选课记录;b) 查询某个学生的选课情况;c) 查询某门课程的选课人数;d) 查询某门课程的平均成绩;e) 查询平均成绩在某个范围内的学生信息。
3. 创建一个图书馆借阅表,包含字段:读者编号、读者姓名、图书编号、图书名称、借阅日期、归还日期。
实现以下操作:a) 插入多条借阅记录;b) 查询某个读者的借阅情况;c) 查询某本图书的借阅情况;d) 查询已经借阅但还未归还的图书;e) 查询借阅天数超过某个阈值的借阅记录。
4. 建立一个订单管理表,包含字段:订单编号、客户姓名、订单日期、订单金额。
实现以下操作:a) 插入多条订单记录;b) 查询某个客户的订单情况;c) 查询某个时间段内的订单总金额;d) 查询金额最高的订单;e) 查询某个订单金额在某个范围内的订单。
5. 创建一个电影评分表,包含字段:用户编号、电影名称、评分、评价日期。
实现以下操作:a) 插入多条评分记录;b) 查询某个用户的评分情况;c) 查询某部电影的平均评分;d) 查询评分最高的电影;e) 查询评价日期在某个范围内的评分记录。
通过以上练习题,我们可以提升数据库操作和查询的熟练程度,加深对数据库原理和实践的理解。
在实际开发中,数据库是数据存储和管理的核心,只有掌握了数据库的基本概念和操作技巧,才能更好地进行开发工作。
(完整版)数据库练习题(答案)..第四章练习题⼀、选择题1、设有两个关系R(A,B)和S(B,C),与下列SELECT语句SELECT A,B FROM RWHERE B NOT IN(SELECT B FROM S WHERE C='C56');等价的关系代数表达式是 [ C]A.πA,B(σC≠'C56'(R?S))B.πA,B(R ? S)C≠'C56' C.R-πA,B(σC= 'C56'(R?S))D.R-πA,B(σC≠'C56'(R?S))2、嵌⼊式SQL的预处理⽅式,是指[ B]A.识别出SQL语句,加上前缀标识和结束标志B.把嵌⼊的SQL语句处理成函数调⽤形式C.对源程序进⾏格式化处理D.把嵌⼊的SQL语句编译成⽬标程序3、SQL中,“DELETE FROM 表名”表⽰ [ A]A.从基本表中删除所有元组B.从基本表中删除所有属性C.从数据库中撤消这个基本表D.从基本表中删除重复元组4、SQL中,聚合函数COUNT(列名)⽤于[ C]A.计算元组个数B.计算属性的个数C.对⼀列中的⾮空值计算个数D.对⼀列中的⾮空值和空值计算个数5、在传统SQL技术中,使⽤“ORDER BY”⼦句的SELECT语句查询的结果,实际上为 [B]A.数组 B.列表 C.包 D.集合6、在数据库中,能提⾼查询速度的是(C )A. 数据依赖B. 视图C. 索引D. 数据压缩7、语句 delete from sc 表明( A )A. 删除sc中的全部记录B. 删除基本表scC. 删除基本表sc中的列数据D. 删除基本表sc中的部分⾏8、在DB应⽤中,⼀般⼀条SQL 语句可产⽣或处理⼀组记录,⽽DB主语⾔语句⼀般⼀次只能处理⼀条记录,其协调可通过(B )实现。
A. 指针B. 游标C. 数组D. 栈9、在下列基本表的定义中,数值5表⽰( C )CREATE TABLE student (Sno char(5) not null unique,Sname char(2));A. 表中有5条记录B. 表中有5列C. 表中字符串Sno 的长度D. 表格的⼤⼩10、在视图上不能完成的操作是( C )A. 更新视图B. 查询C. 在视图上定义新的基本表D. 在视图上定义新视图11、下列聚合函数中不忽略空值 (null) 的是(C)A、SUM (列名)B、MAX (列名)C、COUNT ( * )D、AVG (列名)12、SQL的查询语句的where⼦句中,对空值的操作,不正确的是( C )A、where AGE IS NULLB、where AGE IS NOT NULLC、where AGE = NULLD、where NOT (AGE IS NULL)13、Transact-SQL对标准SQL的扩展主要表现为( A )。
第一章习题一、单项选择题1 •数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS )之间的关系是(A )。
A. DBS 包括DB 和DBMSB. DBMS 包括DB 和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS2. 下面列出的数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是(D )。
I •人工管理阶段II.文件系统阶段III •数据库阶段A. I 和IIB. 只有IIC. II 和IIID. 只有I3. 下列四项中,不属于数据库系统特点的是(C )。
A. 数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高4. 数据库系统的数据独立性体现在(B )。
A .不会因为数据的变化而影响到应用程序B. 不会因为系统数据存储结构与数据逻辑结构的变化而影响应用程序C. 不会因为存储策略的变化而影响存储结构D. 不会因为某些存储结构的变化而影响其他的存储结构5. 要保证数据库的数据独立性,需要修改的是(C )。
A. 模式与外模式B. 模式与内模式C. 三层之间的两种映射D. 三层模式6. 要保证数据库的逻辑数据独立性,需要修改的是(A )。
A. 模式与外模式的映射B. 模式与内模式之间的映射C. 模式D. 三层模式7. 用户或应用程序看到的那部分局部逻辑结构和特征的描述是(C ),它是模式的逻辑子集。
A.模式B.物理模式C. 子模式D. 内模式8. 下述(B )不是DBA 数据库管理员的职责。
A.完整性约束说明B.定义数据库模式C.数据库安全D.数据库管理系统设计9. 常见的数据模型有三种,它们是(B )A 网状、关系和语义B 层次、关系和网状C 环状、层次和关系D 字段名、字段类型和记录10. 在E-R 图中,用来表示属性的图形是(B )A 矩形B 椭圆形C 菱形D 平行四边形二、填空题1. 描述数据库全体数据的全局逻辑结构和特性的是___________ 模式 ______ 。
数据库练习题库(含答案)一、单选题(共98题,每题1分,共98分)1.在需求分析阶段,结构化分析和建模方法是一种较为有效的需求分析方法,下列不属于结构化分析和建模方法优点的是()。
A、可避免过早陷入具体细节B、从局部或子系统开始分析问题,便于建模人员了解业务模型C、图形对象不涉及太多技术术语,便于用户理解模型D、用图形化的模型能直观表示系统功能正确答案:B2.DBMS通过加锁机制允许用户并发访问数据库,这属于DBMS提供的()。
A、数据定义功能B、数据操纵功能C、数据库运行管理与控制功能D、数据库建立与维护功能正确答案:C3.关于数据划分策略,下述说法错误的是()。
A、散列划分釆用某种散列函数,以数据的划分属性作为函数参数,计算数据应存储的磁盘序号B、范围划分根据某个属性的取值,将数据划分为n个部分,分别存储到不同磁盘上C、范围划分有利于范围查询和点查询,但也可能会引起数据分布不均匀及并行处理能力下降问题D、轮转法划分能保证元组在多个磁盘上的平均分配,并具有较高的点查询和范围查询正确答案:D4.存取方法设计属于数据库设计的()阶段的设计任务。
A、逻辑结构设计B、概念结构设计C、系统需求分析D、物理结构设计正确答案:D5.将新插入的记录存储在文件末尾,并使记录随机地分布在文件物理存储空间中的文件结构是()。
A、散列文件B、堆文件C、索引文件D、聚集文件正确答案:B6.关于"死锁”,下列说法中正确的是()。
A、在数据库操作中防止死锁的方法是禁止两个用户同时操作数据库B、只有出现并发操作时,才有可能出现死锁C、当两个用户竞争相同资源时不会发生死锁D、死锁是操作系统中的问题,数据库操作中不存在正确答案:B7.关于数据库应用系统的需求分析工作,下列说法正确的是()。
A、在需求分析阶段,系统需求分析员要与用户充分沟通,并做出各类用户视图B、通过需求分析过程,需要确定出整个应用系统的目标、任务和系统的范围说明C、数据操作响应时间、系统吞吐量、最大并发用户数都是性能需求分析的重要指标D、数据需求分析的主要工作是要辩识出数据处理中的数据处理流程正确答案:C8.如果一个系统定义为关系系统,则它必须( )oA、支持关系数据库B、支持选择、投影和连接运算C、A和B均成立D、A、B都不需要正确答案:C9.联机分析处理包括以下()基本分析功能。
一、填空题1.数据管理技术共经历了三个阶段:人工管理阶、、。
文件管理阶段、数据库系统阶段2.事务具有四个基本特性,分别是:、一致性、和持续性。
原子性、隔离性3.关系模型的三类完整性规则:实体完整性规则、、和。
参照完整性规则、用户自定义的完整性4.两个实体之间的联系可分为:一对一联系(1:1)、和三类。
一对多联系(1:n)、多对多联系(n:m)5.数据库领域中最常用的数据模型为:层次模型、、和面向对象模型。
网状模型、关系模型6.数据库设计过程是和的密切结合。
结构设计(或数据设计)、行为设计(或处理设计)7.数据库的完整性是指数据的和。
正确性、相容性8.事务故障、系统故障的恢复是由完成的,介质故障是由完成的。
系统自动、DBA执行恢复操作过程二、单选题1.下面哪个并非DBMS必须提供的数据保护能力。
A.安全性B.并发控制C.完整性D.可移植性D2.在数据库中有如图3.1所示的两个表,若职工表的主码是职工号,部门表的主码是部门号,SQL操作不能执行。
A.从职工表中删除行(‘025’,‘王芳’,‘03’,720)B.将行(‘005’,‘乔兴’,‘04’,750)插入到职工表中C.将职工号为“001”的工资改为700D.将职工号为“038”的部门号改为‘03’B3.数据库管理系统的存取方法通常有三类,下面哪个不是常用的存取方法。
A.B+树索引方法B.聚簇方法C.阵列方法D.HASH方法C4.SQL中,与“IN”等价的操作符是A.=ANY B.<>ANY C.=ALL D.<>ALLA5.文件系统与数据库系统的本质区别是。
A.数据共享B.数据独立C.数据结构化D.数据冗余. C6.从E-R图导出关系模式时,如果两实体间的联系是m:n,下列说法中正确的是。
A.将m方码和联系的属性纳入n方的属性中B.将n方码和联系的属性纳入m方的属性中C.在m方属性和n方属性中均增加一个表示级别的属性D.增加一个关系表示联系,其中纳入m方和n方的码D7.设关系R(A,B,C)和S(B,C,D),下列关系代数表达式不成立的是。
数据库练习题一一、创建如下的员工联系表,并正确设置主键及相关的字段属性。
(10分)厂商表(厂商编号、厂商名称、厂商电话、厂商地址)二、定义数据库中所有表间的关系。
(5分)三、用SQL语句建立以下查询:(共30分,每小题10)1、统计商品销售总数量排在前5位的货品名称和进货单价,并按销售量降序排列。
2、查询所有笔的销售单价、销售数量,并统计每次的销售金额。
3、查询进货数量大于等于1500,小于5000的货品名称和厂商名称。
四、创建窗体(45分)1、创建一个名为“信息”的窗体(如图所示)(25分)要求:(1)当单击“进货记录”按钮时,弹出如下图所示名为“进货记录”窗体(以“进货表”为数据源的纵栏式窗体)(5分)(2)当单击“销售排行”按钮时,弹出如下图所示名为“销售排行”窗体(以“第三题(1)”为数据源的表格式窗体)(5分)(3)当单击“厂商信息”按钮时,弹出如下图所示名为“厂商信息”窗体(以“厂商表”为数据源的表格式窗体)(5分)(4)创建一个宏组,包含①打开进货记录、②打开销售排行、③打开厂商信息④关闭信息窗体这4个宏,并把这个宏组放到相应的按钮里实现其对应的功能。
(10分)2、创建一个名为“商品销售查询”的窗体(如图所示)(20分)要求:(1)、创建查询4,用于接收“商品销售查询”窗体中文本框输入商品编号,查询出货品编号、货品名称,销售日期、销售单价、销售数量。
(5分)(2)、以查询4为数据源,创建如下图所示“销售查询结果”的表格式窗体。
(10分)(3)、创建宏,能在窗体文本框里输入商品编号,单击“查询”按钮时,弹出相应的“销售查询结果”窗体。
(5分)五、创建报表(10分)创建一张关于各类笔的销售情况报表(如下图所示)。
用第三题(2)作为数据源,并在报表里统计销售总数量,销售单价平均值和汇总销售总额。
汇总销售总额销售单价平均销售总数量。
数据库练习题(打印版)# 数据库练习题(打印版)## 一、选择题1. 在关系数据库中,数据表之间的关系可以是以下哪些类型?- A. 一对一- B. 一对多- C. 多对多- D. 所有以上2. SQL语言中,用于查询数据的关键字是:- A. SELECT- B. INSERT- C. UPDATE- D. DELETE3. 以下哪个不是数据库的完整性约束?- A. 主键约束- B. 外键约束- C. 检查约束- D. 索引约束## 二、填空题4. 数据库管理系统(DBMS)是位于用户和_________之间的一层数据管理软件。
5. SQL是_________查询语言,用于与数据库进行交互。
6. 在SQL中,使用_________关键字可以删除表中的数据。
## 三、简答题7. 简述数据库事务的四大特性(ACID)。
## 四、操作题8. 假设有一个学生表(Students),包含字段:学生ID (StudentID),姓名(Name),年龄(Age),专业(Major)。
编写SQL语句完成以下操作:- A. 插入一条新的学生记录。
- B. 更新学生的年龄信息。
- C. 查询所有学生的信息。
- D. 删除一个学生记录。
## 五、综合应用题9. 你是一家电子商务公司的数据库管理员,需要设计一个数据库来存储产品信息。
请列出至少五个字段,并为每个字段提供一个合理的数据类型。
## 参考答案:### 一、选择题1. D2. A3. D### 二、填空题4. 操作系统5. 结构化6. DELETE### 三、简答题7. 事务的四大特性(ACID)包括:- 原子性(Atomicity):事务中的所有操作要么全部完成,要么全部不完成,不会结束在中间某个点。
- 一致性(Consistency):事务必须保证数据库从一个一致的状态转移到另一个一致的状态。
- 隔离性(Isolation):并发执行的事务之间不会互相影响。
- 持久性(Durability):一旦事务提交,则其更改永久保存在数据库中。
1. 为某百货公司设计一个E-R模型。
百货公司管辖若干连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。
实体类型“商店”的属性有:店号、店名、店址、店经理。
实体类型“商品”的属性有:商品号、品名、单价、产地。
实体类型“职工”的属性有:工号、姓名、性别、工资。
在联系中应反映出职工参加某商店工作的开始时间、商店销售商品的月销售量。
(1)试画出反映商店、商品、职工实体类型及其联系类型的E-R图。
(2)根据画出的E-R图,设计数据库系统的关系模型。
2.设某商业集团数据库中有三个实体集。
一是“商店”实体集,属性有商店编号、商店名、地址等;二是“商品”实体集,属性有商品号、商品名、规格、单价等;三是“职工”实体集,属性有职工编号、姓名、性别、业绩等。
商店与商品间存在“销售”联系,每个商店可销售多种商品,每种商品也可放在多个商店销售,每个商店销售一种商品,有月销售量;商店与职工间存在着“聘用”联系,每个商店有许多职工,每个职工只能在一个商店工作,商店聘用职工有聘期和月薪。
(1)试画出E-R图,并在图上注明属性、联系的类型。
(2)将E-R图转换成关系模型,并注明主键和外键。
3.假设某公司的业务规则如下:(1 )公司下设几个部门,如技术部、财务部、市场部等。
(2 )每个部门承担多个工程项目,每个工程项目属于一个部门。
(3 )每个部门有多名职工,每一名职工只能属于一个部门。
(4 )一个部门可能参与多个工程项目,且每个工程项目有多名职工参与施工。
每名职工可以参与该部门的多个工程项目,根据职工在工程项目中完成的情况发放酬金。
(5 )工程项目有工程号、工程名两个属性;部门有部门号、部门名称两个属性;职工有职工号、姓名、性别属性。
4. 一个图书借阅管理数据库要求提供下述服务:可随时查询书库中现有书籍的品种、数量与存放位置。
所有各类书籍均可由书号唯一标识。
可随时查询书籍借还情况。
包括借书人单位、姓名、借书证号、借书日期和还书日期。
数据库基础知识试题一、选择题(1)以下不属于数据库系统(DBS)的组成的是()。
A)硬件系统B)数据库管理系统及相关软件C)文件系统D数据库管理员(DataBase Administrator,DBA)(2)DBMS数据库数据的检索、插入、修改和删除操作的功能称为()。
A) 数据操作B) 数据控制C) 数据管理D) 数据定义(3)DB(数据库)、DBS(数据库系统)、DBMS(数据库管理系统)3者之间的关系是()。
A) DBS包括DB和DBMSB) DBMS包括DB和DBSC) DB包括DBS和DBMSD) DBS等于DB等于DBMS(4)DBMS是()。
A)OS的一部分B)OS支持下的系统文件C)一种编译程序D)混合型(5)在图1—1所示的数据库系统(由数据库应用系统、操作系统、数据库管理系统、硬件4部分组成)层次示意图中,数据库管理系统的位置是()。
图1—1数据库系统A)1 B)3 C)2 D)4(6)图1-4所示的数据模型属于()。
图1-4数据模型图A)层次模型B)关系模型C)网状模型D)以上皆非(7)用二维表来表示实体及实体之间联系的数据模型是()。
A)关系模型B)层次模型C网状模型D)实体一联系模型(9)构成关系模型中的一组相互联系的“关系”一般是指()。
A) 满足一定规范化要求的二维表B) 二维表中的一行C) 二维表中的一列D) 二维表中的一个数据项(11)下列关系模型中术语解析不正确的是()。
A)记录:满足一定规范化要求的二维表,也称关系B) 字段:二维表中的一列C) 数据项:也称分量,是每个记录中的一个字段的值D) 字段的值域:字段的取值范围,也称为属性域(12)对以下关系模型的性质的描述,不正确的是()。
A) 在一个关系中,每个数据项不可再分,是最基本的数据单位B) 在一个关系中,同一列数据具有相同的数据类型C) 在一个关系中,各列的顺序不可以任意排列D) 在一个关系中,不允许有相同的字段名(13)关系模型中最普遍的联系是()。
数据库查询练习题一、选择题(每题2分,共10分)1. 在SQL中,用于查询数据的关键字是:A. SELECTB. INSERTC. UPDATED. DELETE2. 下列哪个选项不是SQL数据类型?A. INTB. FLOATC. DATED. BOOLEAN3. 在SQL中,使用哪个关键字可以对查询结果进行排序?A. ORDER BYB. SORT BYC. RANK BYD. ARRANGE BY4. 以下哪个不是SQL聚合函数?A. COUNTB. AVGC. SUMD. DISTINCT5. SQL语句中,用于指定查询条件的关键字是:A. WHEREB. IFC. CASED. WHEN二、填空题(每空2分,共20分)6. 在SQL查询中,使用________关键字可以限制查询结果的数量。
7. 要查询员工表中工资最高的员工,可以使用聚合函数________和________。
8. SQL中的________子句允许我们对查询结果进行分组。
9. 使用________函数可以返回查询结果中的唯一值。
10. 在SQL查询中,________关键字用于连接两个或多个表。
三、简答题(每题10分,共30分)11. 解释SQL中的内连接(INNER JOIN)和外连接(OUTER JOIN)的区别。
12. 描述SQL中使用子查询(Subquery)的场景及其优势。
13. 阐述SQL中事务(Transaction)的概念及其重要性。
四、应用题(每题15分,共30分)14. 假设有一个名为“Employees”的表,包含以下列:EmployeeID, FirstName, LastName, DepartmentID, Salary。
编写一个SQL查询,列出每个部门的平均工资。
15. 给定一个名为“Orders”的表,包含以下列:OrderID, CustomerID, OrderDate, TotalAmount。
数据库练习题(含答案)一、单选题(共80题,每题1分,共80分)1、同一个数据模型的任意两个元组值()A、不能全同B、可全同C、必须全同D、以上都不是正确答案:A2、在创建主/子窗体之前,要确定主窗体与子窗体之间的数据源之间存在着的关系。
A、多对一B、多对多C、一对一D、一对多正确答案:D3、Access不能对数据类型进行排序和索引。
( )A、文本B、数字C、备注D、自动编号正确答案:D4、任何一个满足2NF但不满足3NF的关系模式都存在( )A、非主属性对候选码的传递依赖B、主属性对候选码的部分依赖C、非主属性对候选码的部分依赖D、主属性对候选码的传递依赖正确答案:A5、以下哪一条属于关系数据库的规范化理论要解决的问题?( )A、如何构造合适的应用程序界面B、如何构造合适的数据库逻辑结构C、如何控制不同用户的数据操作权限D、如何构造合适的数据库物理结构正确答案:B6、在数据管理技术发展的三个阶段中,数据独立性最好的是( )。
A、人工管理阶段B、文件系统阶段C、数据库系统阶段D、三个阶段相同正确答案:C答案解析:数据库系统管理阶段的独立性最高,是因为采用了数据库管理系统来管理数据,将应用程序和数据分开存储。
7、在设计表时,若输人掩码属性设置为“LL”,则能接收的输人是( )A、abBdB、aBC、AB+CD、ABa9正确答案:B答案解析:在输入掩码的格式符号中,“L”表示在该位置必须输入一个字母。
B送选项中少了一个字母,C选项中不能接受“+”,D 选项中不能接受“9”8、在下列SQL语句中,修改表结构的语句是( )。
A、ALTERB、CREATEC、UPDATED、INSERT正确答案:A9、空数据库是指()A、没有基本表的数据库B、没有任何数据库对象的数据库C、数据库中数据表记录为空的数据库D、没有窗体和报表的数据库正确答案:B答案解析:Access由六大对象组成,因此空数据库必须是没有任何对象的数据库。
数据库理论练习题一、单项选择1.现有学生关系Student,属性包括学号(Sno),姓名(Sname),所在系(Sdept),系主任姓名(Mname),课程名(Cname)和成绩(Grade)。
这些属性之间存在如下联系:一个学号只对应一个学生;一个学生只对应一个系;一个系只对应一个系主任;一个学生的一门课只对应一个成绩;学生名可以重复;系名不重复;课程名不重复。
则以下不正确的函数依赖是(C)。
A. Sno→Sde ptB. Sno→MnameC. Sname→SdeptD. Sno Cname→Grade2. 下面关于函数依赖的描述,错误的是(D )。
A. 在函数依赖A→B中,A称为决定因素B. 在关系R中,属性B依赖于属性A,则说明当属性A的值确定之后,属性B的值也就随之确定C. 函数依赖具有传递性D. 在关系R中,如果属性A依赖于属性B,这种依赖正式记作:A→B)。
A. F1→F2B. F1 F2→F5C. F3 F4→F5D. F2 F3→F44. 关系R包含属性{A1,A2,A3,A4,A5},其中{A1,A2}为键码(key),则下面的说法正确的是()。
A. {A1}或者{A2}有可能单独成为R的键码B. {A1,A2,A3}必然也是R的键码C. R中绝不可能出现两个在A1、A2上取值完全相同的元组D. R的所有元组中,A1或者A2的值都是不能重复的5. 下面关于键码的说法,错误的是()。
A. 一个关系的键码是惟一的B. 一个关系的键码指定值之后,对应的元组也就确定了C. 关系R的键码的任何真子集都不可能是关系R的键码D. 在保存学生学籍信息处的关系,学生姓名对应的属性不适合单独作为键码)。
A. {F1}B. {F3}C. {F1D. {F4}7. 已知关系R包含属性{A,B,C,D},R的键码为{A,B},则下面的选项哪一个是R的超键码()。
A. {A}B. {C,D}C. {A,B,C,D}D. {B,C,D}8. 已知关系R包含属性A1,A2,…,An,R只有键码为{A1,A2},则R的超键码有多少个()。
mysql练习题库MySQL是一种开源的关系型数据库管理系统,被广泛应用于各个领域的数据存储和管理。
为了提高自己对MySQL的理解和熟练度,练习题是一种非常有效的学习方法。
本文将为你提供一套精选的MySQL练习题库,帮助你加深对MySQL的理解并提高实践能力。
练习题一:数据库查询1. 获取所有学生的姓名和年龄。
2. 获取所有课程的名称和学分。
3. 获取选修了课程编号为001的学生的所有学生姓名。
4. 获取123班级的所有学生姓名和课程名称。
5. 获取已选修超过3门课程的学生姓名和选修的课程数量。
练习题二:数据库插入1. 向学生表中插入一位新学生的信息,包括学号、姓名、性别和年龄。
2. 向课程表中插入一门新课程的信息,包括课程编号、名称和学分。
3. 向选课表中插入一条选课记录,包括学生学号、课程编号和成绩。
练习题三:数据库更新1. 将学号为001的学生的年龄更新为20岁。
2. 将选课表中学号为001的学生选修的课程成绩更新为90分。
3. 将课程编号为001的课程学分更新为3学分。
练习题四:数据库删除1. 删除学号为001的学生的信息。
2. 删除课程编号为001的课程的信息。
3. 删除选课表中学号为002的学生选修的课程记录。
练习题五:数据库聚合函数1. 计算学生表中学生的平均年龄。
2. 计算选课表中学生选修的平均成绩。
3. 计算选课表中选课人数最多的课程编号。
练习题六:数据库连接查询1. 获取所有学生的姓名、所在班级和班级的任课教师姓名。
2. 获取选修了课程编号为001的学生的所有学生姓名和成绩。
练习题七:数据库索引1. 在学生表的学号字段上创建索引。
2. 在课程表的课程编号字段上创建索引。
练习题八:数据库事务1. 开启一个新的事务,并插入一条新的学生信息和一条新的课程信息。
2. 回滚刚才的事务,撤销之前的插入操作。
通过完成以上练习题,你将能够提升MySQL的应用能力和技巧,更好地掌握数据库的操作和管理。
数据库操作题(1-5)数据库操作练习⼀说明:下⾯所提到的“当前⽬录”是指答题⽂件夹中的FOXKT⽂件夹;⽽且以下⽂件名、字段名、字段值中的字母和数字都是英⽂半⾓字符。
在FoxPro环境中进⾏如下操作:1、追加数据:在当前⽬录下打开WriteB.DBF,往该数据表中追加如下记录:产品⼤类产品编号产品名称零售价家电类 LQ1600 超薄彩电 3580.502、数据复制:在当前⽬录下打开FoxB.DBF,将所有“⼥性职⼯” ⼤于20的记录复制到当前⽬录下的CopyB.DBF中。
3、创建索引:在当前⽬录下打开IndexB.dbf数据库表⽂件,建⽴索引:索引名为“NUMBER”、降序、类型为“唯⼀索引”、表达式为“男性职⼯”。
4、关闭所有打开的数据库,退出FoxPro应⽤程序。
⽅法与步骤1、追加数据:打开本题——⽂件——打开——表——打开WriteB.DBF——显⽰——浏览——表——追加新记录——依次对应输⼊所追加记录内容——复制粘贴家电类 ——复制粘贴 LQ1600——复制粘贴超薄彩电——复制粘贴3580.50 (可使⽤Ctrl+C复制,Ctrl+V粘贴)——关闭。
2、数据复制:⽂件——打开——表——打开FoxB.DBF——⽂件——导出——到——输⼊CopyB.DBF——保存——选项——作⽤范围——全部——确定——For——双击⼥性职⼯——在光标处输⼊>20——确定——确定——确定——关闭所有打开的数据库,退出FoxPro应⽤程序。
3、创建索引:⽂件——打开——独占——表——找到并打开IndexB.dbf——显⽰——表设计器——索引——输⼊索引名“NUMBER”——唯⼀索引——降序——表达式输⼊“男性职⼯”——确定——是——关闭所有打开的数据库,退出FoxPro应⽤程序。
数据库操作练习⼆说明:下⾯所提到的“当前⽬录”是指答题⽂件夹中的FOXKT⽂件夹;⽽且以下⽂件名、字段名、字段值中的字母和数字都是英⽂半⾓字符。
现有表如下:
员工表:(employee)
职位表:(post)
(1)在数据库中建立以上几个表,并建立关系。
(2)输入部门的名称查找本部门的员工数量。
(使用存储过程)
create or replace procedure pai(
p_department_name varchar2,
p_count_e out number
) is
begin
select count(e.EMP_ID) into p_count_e from department d,employee e,post p where e.POST_ID=p.POST_ID and d.DEPARTMENT_ID=
p.DEPARTMENT_ID and e.EMP_NAME=p_department_name;
end pai;
(3)要求输入部门的名称查找到本部门工资最高的员工信息。
(使用存储过程)
如:输入:软件部;
显示
p_department_name varchar2,
p_max_e out testpackage.test_cursor
) is
maxs number;
p_sql varchar2(1000);
begin
p_sql:='select max(salary) from department d,employee e,post p where e.POST_ID=p.POST_ID and d.DEPARTMENT_ID=
p.DEPARTMENT_ID and d.department_name='||p_department_name;
execute immediate p_sql into maxs;
open p_max_e for
select* from department d,employee e,post p where e.POST_ID=p.POST_ID and d.DEPARTMENT_ID= p.DEPARTMENT_ID and e.salary=maxs;
end two;
(4)查找所有比自己本部门平均工资高的员工信息。
(使用视图)
create or replace view three
as
select avg(salary) sal,d.DEPARTMENT_NAME men from department d,employee e,post p where e.POST_ID=p.POST_ID and d.DEPARTMENT_ID=
p.DEPARTMENT_ID group by d.DEPARTMENT_NAME;
select * from department d,employee e,post p,three t where e.POST_ID=p.POST_ID and d.DEPARTMENT_ID= p.DEPARTMENT_ID and d.department_name=t.men and e.salary>t.sal;。