北大数据库原理上机考题练习及参考答案 练习二(商品、顾客、购买)

合集下载

数据库系统原理复习 题集附答案

数据库系统原理复习 题集附答案

数据库系统原理复习题集附答案数据库系统是计算机科学和技术中的一个重要领域,它涉及数据的组织、存储和管理。

在数据库系统原理的学习中,复习一些题目并附带答案是非常有效的学习方法。

下面是一些数据库系统原理的复习题及其答案,希望对大家的学习有所帮助。

1. 数据库系统的三级模式分别是什么?(5分)答案:数据库系统的三级模式包括外模式(用户级模式)、概念模式(逻辑模式)和内模式(物理模式)。

2. 数据库是什么?数据库管理系统是什么?(5分)答案:数据库是一个按照一定格式存储、组织和管理数据的集合。

数据库管理系统(DBMS)是对数据库进行管理的软件系统,它提供数据定义、数据操作和数据控制等功能。

3. 数据库系统的优点有哪些?(10分)答案:数据库系统的优点包括数据共享、数据独立性、数据安全性、数据一致性、数据可靠性和数据备份与恢复等。

4. 数据库系统的完整性约束有哪些?(10分)答案:数据库系统的完整性约束包括实体完整性约束、参照完整性约束和用户定义完整性约束。

5. 请简要解释事务的概念。

(10分)答案:事务是数据库操作的一个基本单位,它是一个不可分割的工作单位。

事务应具有四个特性,即原子性、一致性、隔离性和持久性。

6. 请解释ACID是什么意思。

(10分)答案:ACID是数据库事务的四个特性的缩写,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

7. 请简要介绍数据库的并发控制。

(15分)答案:并发控制是数据库系统中保证事务并发执行的一种机制。

常用的并发控制方法包括锁定和时间戳。

8. 请解释关系数据库的概念。

(10分)答案:关系数据库是一种基于关系模型的数据库,以表(关系)为单位存储数据。

9. 数据库中的主键和外键有什么作用?(10分)答案:主键用于唯一标识表中的每一行数据,外键用于建立表之间的关系,实现数据的引用和关联。

10. 请解释数据库的范式。

北大数据库原理上机考题练习及参考答案 练习四(商品、部门、供应商、销售记录、供应记录)

北大数据库原理上机考题练习及参考答案 练习四(商品、部门、供应商、销售记录、供应记录)

题目:数据库原理练习2/*设有一个公司,分为若干部门,现需要保存商品、公司各部门、销售记录、供应商、供应记录的信息。

其中销售记录表记录了部门与其卖出的商品的联系。

供应记录表记录了供应商、购买该供应商商品的部门、供应商所提供的商品的联系。

表结构的具体描述如下:商品(商品号,商品名,颜色)部门(部门号,部门名,楼层)销售记录(部门号,商品号,商品数量)供应商(供应商号,供应商名,级别)供应记录(供应商号,部门号,商品号,商品数量)请用SQL语句完成下面的功能:1. 建表,要求满足如下约束:a) 商品名、部门名、供应商名不能为空b) 销售记录的数量要求大于1000,小于50000c) 定义必要的主外码2. 往表中插入如下数据:商品(c00001, shoe, red;c00002, shoe, blue;c00003, shoe, yellow;c00004, clothing, black;c00005, clothing, pink;c00006, clothing, red;)部门(d00001, commodity, 1;d00002, marketing, 2;d00003, service, 2;d00004, consulting, 3;)销售记录(d00001, c00001, 5000;d00001, c00002, 8000;d00001, c00006, 10000;d00002, c00005, 40000;d00003, c00004, 9000;)供应商(s00001, dangdang, 0;s00002, sina, 0;s00003, 8848, 0;)供应记录(s00001, d00001, c00001, 5000;s00001, d00002, c00005, 40000;s00002, d00001, c00002, 8000;s00002, d00001, c00006, 10000;s00003, d00003, c00004, 9000;)3. 完成如下查询a) 列出销售了所有颜色为red的商品的部门名。

(完整版)数据库原理与应用习题参考答案

(完整版)数据库原理与应用习题参考答案

第1章数据库概述1.与文件管理相比,数据库管理有哪些优点?答:(1)相互关联的数据集合;(2)较少的数据冗余;(3)程序与数据相互独立;(4)保证数据的安全可靠;(5)最大限度地保证数据的正确性;(6)数据可以共享并能保证数据的一致性。

2.比较文件管理和数据库管理数据的主要区别。

答:文件系统不能提供数据的独立性,也不能提供数据共享、安全性等功能,这些需要客户端编程实现。

而数据库管理系统可以很方便地提供这些功能。

3.在数据库管理方式中,应用程序是否需要关心数据的存储位置和结构?为什么?答:不需要。

因为这些都由数据库管理系统来维护。

4.在数据库系统中,数据库的作用是什么?答:数据库是存储数据的仓库,其作用是存储数据。

5.在数据库系统中,应用程序可以不通过数据库管理系统而直接访问数据库文件吗?答:不可以。

6.数据独立性指的是什么?它能带来哪些好处?答:数据独立性包括逻辑独立性和物理独立性两部分。

物理独立性是指当数据的存储结构发生变化时,不影响应用程序的特性;逻辑独立性是指当表达现实世界的信息内容发生变化时,不影响应用程序的特性。

这两个独立性使用户只需关心逻辑层即可,同时增强了应用程序的可维护性。

7.数据库系统由哪几部分组成,每一部分在数据库系统中的作用大致是什么?答:数据库系统一般包括3个主要部分:数据库、数据库管理系统和应用程序。

数据库是数据的汇集,它以一定的组织形式保存在存储介质上;数据库管理系统是管理数据库的系统软件,它可以实现数据库系统的各种功能;应用程序专指以数据库数据为基础的程序8.在文件服务器结构和客户/服务器结构中,对数据的处理有什么区别?答:在文件服务器结构中,数据的处理是在客户端完成的,而在客户/服务器结构中,对数据的处理是在服务器端完成的,服务器返回给客户端的是处理后的结果。

第2章数据模型与数据库系统结构1.解释数据模型的概念,为什么要将数据模型分成两个层次?答:数据模型实际上是模型化数据和信息的工具,在数据库中,数据模型要满足三个要求:第一,要能够比较真实地模拟现实世界;第二,要容易被人们理解;第三,要能够很方便地在计算机上实现。

数据库系统原理练习题库(附参考答案)

数据库系统原理练习题库(附参考答案)

数据库系统原理练习题库(附参考答案)一、单选题(共100题,每题1分,共100分)1.属于数据库结构设计阶段的是A、程序设计B、功能设计C、事务设计D、逻辑结构设计正确答案:D2.人工管理阶段,计算机主要应用于A、数据集成B、科学计算C、过程控制D、故障恢复正确答案:B3.下列关于数据控制语言的说法中,正确的是A、REVOKE语句用于授予权限B、GRANT语句用于收回权限C、数据控制语言主要用于数据执行流程管理D、数据控制语言包括的主要SQL语句是GRANT和REVOKE正确答案:D4.下列属于关联分析算法的是A、AprioriB、GMMC、RedisD、HBase正确答案:A5.同一数据被反复存储的情况是A、删除异常B、插入异常C、更新异常D、数据冗余正确答案:D6.产生数据不一致的主要原因是并发操作破坏了事务的A、持续性B、一致性C、原子性D、隔离性正确答案:D7.DBMS提供【】来严格地定义模式。

A、模式描述语言B、子模式描述语言C、内模式描述语言D、程序设计语言正确答案:A8.关系数据库以【】作为数据的逻辑模型。

A、二维表B、关系C、关系模型D、数据库正确答案:C9.关于调用存储过程的说法,错误的是A、可以从交互式界面调用B、可以使用CALL语句来调用存储过程C、可以由嵌入式SQL调用D、不是所有的SQL接口都能调用存储过程正确答案:D10.可唯一标识实体的属性集称为A、键B、实体型C、域D、属性正确答案:A11.目的是为可实际运行的应用程序设计提供依据与指导,并作为设计评价的基础的是A、设计评价B、编制应用程序设计说明C、模型转换D、子模式设计正确答案:B12.在使用游标的过程中,需要注意的事项不包括A、游标不能单独在查询操作中使用B、在一个BEGIN···END语句块中每一个游标的名字并不是唯一的C、游标是被SELECT语句检索出来的结果集D、在存储过程或存储函数中可以定义多个游标正确答案:B13.对关系的描述不正确的是A、关系中的元组次序可交换B、关系可以嵌套定义C、关系是一张二维表D、关系是一个集合正确答案:B14.下列关于MySQL的说法中,正确的是A、在MySQL中,一个关系对应多个基本表B、在MySQL中,一个或多个基本表对应一个存储文件C、在MySQL中,一个表只能有一个索引D、在MySQL中,索引不能存放在存储文件中正确答案:B15.关系数据库是以【】的形式组织数据。

北大数据库原理上机考题练习及参考答案 练习二(商品顾客购买)

北大数据库原理上机考题练习及参考答案 练习二(商品顾客购买)

题目:现有一个商店的数据库,记录顾客及其购物情况,由下面三个表组成:商品(商品号,商品名,单价,商品类别,供应商);顾客(顾客号,姓名,住址);购买(顾客号,商品号,购买数量);试用SQL语言完成下列功能:1 建表,在定义中要求声明:(1)每个表的主外码;(2)顾客的姓名和商品名不能为空值;(3)单价必须大于0,购买数量必须再0到20之间;2 往表中插入数据:商品(M01,佳洁士,8.00,牙膏,宝洁;M02,高露洁,6.50,牙膏,高露洁;M03,洁诺,5.00,牙膏,联合利华;M04,舒肤佳,3.00,香皂,宝洁;M05,夏士莲,5.00,香皂,联合利华;M06,雕牌,2.50,洗衣粉,纳爱斯M07,中华,3.50,牙膏,联合利华;M08,汰渍,3.00,洗衣粉,宝洁;M09,碧浪,4.00,洗衣粉,宝洁;)顾客(C01,Dennis,海淀;C02,John,朝阳;C03,Tom,东城;C04,Jenny,东城;C05,Rick,西城;)购买(C01,M01,3; C01,M05,2;C01,M08,2; C02,M02,5;C02,M06,4; C03,M01,1;C03,M05,1; C03,M06,3;C03,M08,1; C04,M03,7;C04,M04,3; C05,M06,2;C05,M07,8;)商品有9 条,顾客有5条,购买有5条3 用SQL语句完成下列查询:(1)求购买了供应商"宝洁"产品的所有顾客;(2)求购买的商品包括了顾客"Dennis"所购买商品的顾客(姓名);(3)求牙膏卖出数量最多的供应商。

4 将所有的牙膏商品单价增加10%。

5 删除从未被购买的商品记录。

参考答案:create table product(productno char(10) not null,productname char(15) not null,price float(15),sort char(10),supplier char(20),primary key (productno),check (price > 0))create table customer(customerno char(10) not null,customername char(15) not null,address char(10),primary key (customerno))create table buy(customerno char(10) not null,productno char(10) not null,num smallint,primary key (customerno,productno),foreign key (customerno) references customer (customerno),foreign key (productno) references product (productno),check (num between 0 and 20))insert into product values ('M01','佳洁士',8.00,'牙膏','宝洁');insert into product values('M02','高露洁',6.50,'牙膏','高露洁');insert into product values('M03','洁诺',5.00,'牙膏','联合利华') ;insert into product values('M04','舒肤佳',3.00,'香皂','宝洁') ;insert into product values('M05','夏士莲',5.00,'香皂','联合利华');insert into product values('M06','雕牌',2.50,'洗衣粉','纳爱斯');insert into product values('M07','中华',3.50,'牙膏','联合利华') ;insert into product values('M08','汰渍',3.00,'洗衣粉','宝洁') ;insert into product values('M09','碧浪',4.00,'洗衣粉','宝洁') ;insert into customer values ('C01','Dennis','海淀') ;insert into customer values('C02','John','朝阳') ;insert into customer values('C03','Tom','东城') ;insert into customer values('C04','Jenny','东城');insert into customer values('C05','Rick','西城') ;insert into buy values ('C01','M01',3);insert into buy values('C01','M05',2);insert into buy values('C01','M08',2);insert into buy values('C02','M02',5);insert into buy values('C02','M06',4);insert into buy values('C03','M01',1);insert into buy values('C03','M05',1);insert into buy values('C03','M06',3);insert into buy values('C03','M08',1);insert into buy values('C04','M03',7);insert into buy values('C04','M04',3);insert into buy values('C05','M06',2);insert into buy values('C05','M07',8);(1)求购买了供应商"宝洁"产品的所有顾客;select c.customerno,c.customername from product p,customer c, buy b where p.productno = b.productno and c.customerno = b.customerno and supplier = '宝洁'(2)求购买的商品包括了顾客"Dennis"所购买商品的顾客(姓名);参考书本p126select distinct c.customername from buy as x , customer c where not exists(select * from buy as y where y.customerno in (select customerno from customer where customername = 'Dennis' )and not exists (select * from buy as z where z.customerno = x.customerno and z.productno = y.productno))and x.customerno = c.customerno(3)求牙膏卖出数量最多的供应商。

数据库原理上机自考试题_2009年6月5日下午_B卷

数据库原理上机自考试题_2009年6月5日下午_B卷

北京市数据库自考上机考试题目【要求:不允许使用临时表。

第5题必须使用游标,其它各题不允许使用游标,数据库表名前面务必添加自己帐号】某个汽车销售代理商的数据库系统包括如下三个表:♦汽车公司(公司编号, 公司名,所在地)注:公司名唯一♦汽车(汽车编号, 车型名, 公司编号,单价, 保修期)注:公司编号是外码,保修期是大于等于6的整数,表示保修的月数,缺省值是12个月♦交易记录(交易编号, 汽车编号, 销量, 销售日期,销售人员编号)注:汽车编号和销售人员编号是外码,销量必须大于0,销售日期是datetime类型♦销售人员(销售人员编号, 姓名)注:所有带下划线的属性均表示主码试用SQL语句完成下列功能:1. 在数据库中建立上述三个表,写明主码,外码和其它约束条件(10分)。

2. 在三个表中插入如下数据(5分):汽车公司(001,通用,上海002,奇瑞,广州003,丰田,上海)汽车(01,别克,001,60000,3602,雪佛莱,001,30000,1203,QQ,002,20000,6 04,凯迪拉克,001,,36 05,威驰,003,40000,12 06,嘉美,003,80000,24) 交易记录(1,01,10,2007-09-02,1 2,01,1,2008-3-12,33,02,3,2007-1-1,34,01,2,2003-4-9,45,02,9,2004-1-8,16,04,1,2008-8-8 8:8:8,4 7,04,2,2007-2-3,28,03,5,2006-1-21,59,03,7,2008-3-5,2 10,05,1,2008-1-2,2 11,06,3,2001-3-1,5 12,05,2,2006-3-2,4 13,02,1,2006-1-1,4 14,01,3,2007-1-5,7 15,02,100,2008-3-2,7 16,01,20,2009-6-1,7)销售人员(1,张三2,李四3,王二4,赵五5,钱六6,丁七3. 完成如下查询(每个10分,共40分):1) 列出每个销售人员的交易情况,需要含有以下3列:销售人员名称,销售汽车总量,销售总金额。

北大数据库原理上机考题练习及参考答案练习二(学生、班、系)

北大数据库原理上机考题练习及参考答案练习二(学生、班、系)

题目:(1)现要为学校建立一个数据库,设学校环境如下:一个系有若干个专业,每个专业一年只招一个班,每个班有若干个学生。

. 现要建立关于系、学生、班级的数据库,关系模式为:班CLASS (班号,专业名,系名,入学年份)学生STUDENT (学号,姓名,年龄,班号)系 DEPARTMENT (系号,系名)试用SQL 语言完成以下功能:1 建表,在定义中要求声明:(1 )每个表的主外码。

(2 )每个班级的人数不能超过30 人。

(3 )学生的年龄介于15 到40 岁之间。

(4 )学生姓名不能为空。

(5 )只有班里没有学生的时候,才能删除该班级。

2 插入如下数据CLASS (101 ,软件,计算机,1995 ; 102 ,微电子,计算机,1996 ;111 ,无机化学,化学,1995 ; 112 ,高分子化学,化学,1996 ;121 ,统计数学,数学,1995 ; 131 ,现代语言,中文,1996 ;141 ,国际贸易,经济,1997 ; 142 ,国际金融,经济,1996 ;)STUDENT (8101 ,张三,18 ,101 ; 8102 ,钱四,16 ,121 ;8103 ,王玲,17 ,131 ; 8105 ,李飞,19 ,102 ;8109 ,赵四,18 ,141 ; 8110 ,李可,20 ,1428201 ,张飞,18 ,111 ; 8302 ,周瑜,16 ,112 ;8203 ,王亮,17 ,111 ; 8305 ,董庆,19 ,102 ;8409 ,赵龙,18 ,101 ; 8510 ,李丽,20 ,142 )DEPARTMENT ( 001 ,数学; 002 ,计算机;003 ,化学; 004 ,中文;005 ,经济;)3 完成以下查询功能(1 )找出所有姓李的学生,并按其年龄由小到大排序。

(2 )列出所有开设超过两个专业的系的名字。

(3 )列出学生人数大于等于2 的系的编号和名称。

数据库原理试题及答案(二)

数据库原理试题及答案(二)

数据库原理试题及答案一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.数据库在磁盘上的基本组织形式是( B )A.DB B.文件C.二维表D.系统目录2.ER(实体联系模型)模型是数据库的设计工具之一,它一般适用于建立数据库的( A )A.概念模型B.逻辑模型C.内部模型D.外部模型3.数据库三级模式中,用户与数据库系统的接口是( B ) A.模式B.外模式C.内模式D.逻辑模式4.在文件系统中,所具有的数据独立性是( D )A.系统独立性B.物理独立性C.逻辑独立性D.设备独立性5.在DB技术中,“脏数据”是指( D )A.未回退的数据B.未提交的数据C.回退的数据D.未提交随后又被撤消的数据6.关系模式至少应属于( A )A.1NF B.2NFC.3NF D.BCNF7.设有关系模式R(ABCD),F是R上成立的FD集,F={A→B,B→C},则属性集BD的闭包(BD)+为( B )A.BD B.BCDC.BC D.CD8.设有关系R如题8图所示:(C)R题8图则∏专业,入学年份(R)的元组数为A.2 B.3C.4 D.59.集合R与S的交可以用关系代数的基本运算表示为( A ) A.R-(R-S) B.R+(R-S)C.R-(S-R) D.S-(R-S)l0.已知SN是一个字符型字段,下列SQL查询语句( C ) SELECT SN FROM SWHERE SN LIKE′AB%′;的执行结果为A.找出含有3个字符′AB%′的所有SN字段B.找出仅含3个字符且前两个字符为′AB′的SN字段C.找出以字符′AB′开头的所有SN字段D.找出含有字符′AB′的所有SN字段l1.现要查找缺少成绩(Grade)的学生学号(Snum),相应的SQL语句是( D )A.SELECT Snum B.SELECT SnumFROM SC FROM SCWHERE Grade=0 WHERE Grade<=0 C.SELECT Snum D.SELECT SnumFROM SC FROM SCWHERE Grade=NULL WHERE Grade IS NULLl2.下列不是..数据库恢复采用的方法是( D )A.建立检查点B.建立副本C.建立日志文件 D.建立索引13.在SQL/CLI中,将宿主程序与数据库交互的有关信息记录在运行时数据结果中。

北京大学出版社数据库原理与应用课后答案

北京大学出版社数据库原理与应用课后答案

北京⼤学出版社数据库原理与应⽤课后答案数据库原理与应⽤第⼀章要求:1、掌握数据、数据库、数据库管理系统、数据库系统(数据库应⽤系统)等概念及组成;2、了解数据管理的发展,⽐较各管理阶段的优劣;3、了解⼏种数据库的结构模型及其优劣,了解关系模型的基本概念;4、掌握数据库的三级模式、⼆级映射、两个独⽴性三、教材习题解答1、什么是数据库?数据库的基本特点是什么?答:数据库是长期存储在计算机内的、有组织的、可共享的⼤量数据的集合。

其基本特点为可共享、低冗余度、有较⾼独⽴性和数据间有关联等。

2、从软件的⾓度来看,数据库系统的核⼼是什么?数据库系统和⽂件系统的主要区别是什么?答:核⼼是数据库管理系统(DBMS);主要区别是⽂件系统不能解决数据冗余和数据独⽴性问题,⽽数据库系统可以解决。

3、什么是数据库管理系统?常⽤的数据库管理系统有哪些?答:数据库管理系统(database management system)是⼀种操纵和管理数据库的⼤型软件,⽤于建⽴、使⽤和维护数据库,简称dbms。

它对数据库进⾏统⼀的管理和控制,以保证数据库的安全性和完整性。

⽤户通过dbms访问数据库中的数据,数据库管理员也通过dbms进⾏数据库的维护⼯作。

它可使多个应⽤程序和⽤户⽤不同的⽅法在同时或不同时刻去建⽴,修改和询问数据库。

DBMS提供数据定义语⾔DDL(Data Definition Language)与数据操作语⾔DML (Data Manipulation Language),供⽤户定义数据库的模式结构与权限约束,实现对数据的追加、删除等操作。

常⽤的有Oracle、db2、SQL Server、MySQL、ACCESS、Foxpro等。

4、什么是数据库的结构模型?通常有哪⼏种模型?答:数据库的结构模型是数据库中⽤来表⽰数据结构和数据联系的逻辑概述的集合,包括数据结构、数据操作和数据完整性约束三个部分。

按照不同的数据结构通常有层次模型、⽹状模型、关系模型和⾯向对象模型等。

北大“数据库原理”上机实践题目总结(1)

北大“数据库原理”上机实践题目总结(1)

北大“数据库原理”上机实践题目总结(1)一、现有关于学生成绩办理数据库的模式如下:学生(学号,姓名,性别,出生日期,系号);课程(课号,课程名,学分);选修(学号,课号,成绩)学生与课程的联系是M:N联系。

1.按标题问题要求建立表结构,各表各个字段的名字、数据类型、长度等按照语义和查询的需要自行决定。

可按照以下标题问题的需要建立索引。

有些标题问题则可能需要建立中间表或临时表。

(15分)2.利用你所熟悉的方法向各表录入适量的、满足标题问题需要的数据。

各数据项的取值范围应该合理、有效,并与查询要求相呼应。

(10分)3.编写一个对选修表的数据修改程序。

用学号和课号定位记录,找到后,显示该记录,并提示用户确认“真的要修改吗?”,按照用户回答决定程序流程。

要求只允许修改成绩信息,不退出本程序能继续进行修改操作。

(20分)4.用FoxPro语言或SQL语言编写程序完成以下查询。

(以下四题依次为10分、10分、15分、20分)(1)列出学生名单,要包含所有学生的所有属性,且在最后一行显示:女生的平均年龄为xx 岁。

(2)按照学分对课程进行分类,列出每类学分的课程数,且在最后一行显示课程总数为xx 门。

(3)检索选修课号为C2的学生的姓名、课程名和成绩,检索结果按成绩的降序摆列。

(4)检索与ZANG同学同龄的学生的学号、姓名、课程名和成绩,并列表显示。

答案:3set talk offclearuse scindex on sno +cno to 11dimension d(3)action=.t.answer=.t.do while actiona=space(6)b=space(4)@ 1,1 say “sno:” get a picture “xxxxxx”@ 2,1 say “cno” get b picture “xxxx”readc=a+bseek cif found()scatter to d@ 5,2 say “sno” get d(1)picture“xxxxxx”@ 7,2 say “cno” get d(2)picture“xxxx”clear gets@ 9,2 say “grade” get d(3)picture“999.9”read@ 11,2 say “真的修改吗?” get answer picture “l”readif answercleargather from d@ 1,1 say “修改后的数据已存入!”endifif .not.answerclearendifendifif .not.found()clear@ 1,1 say “查无此人”endif@ 4,1 say “继续查吗?” get action picture “l”readclearenddo。

数据库原理习题及答案(总共5套)

数据库原理习题及答案(总共5套)

模拟试题(一)一、填空题(30分)1.数据的独立性包括数据的物理独立性和数据的逻辑独立性。

2.数据的物理独立性是指当数据的存储结构(或内模式)改变时,通过系统内部的自动映象功能或转换功能,保持了数据的全局逻辑结构(或模式)不变。

3.数据模型由三部分组成:数据结构数据操作完整性约束4.一个学生可以同时借阅多本图书,一本图书只能由一个学生借阅,学生和图书之间为1:n(一对多)的联系。

5.一个关系模型由若干个关系模式组成。

6.在选择运算所得到的结果关系中,所含的元组数不多于原关系中的元组数。

7.SQL语言具有对数据的定义查询操纵控制等四个方面的功能。

8.设X→Y是关系模式R的一个函数依赖,并且Y是X的子集,则称X→Y是平凡函数依赖。

9.在一个关系模式中,若一个属性或属性组K完全函数决定整个元组,则称K为该关系的一个候选关键字。

10.如果一个关系R中的所有非主属性都不传递依赖于任何候选关键字,则称关系R属于第三范式,记作R∈3NF。

11.一个关系模式为Y(X1,X2,X3,X4),假定该关系存在如下函数依赖:X1←→X2,X1→X3,X1→X4,则该关系属于BCNF。

12.假定一个E-R图包含有A实体和B实体,并且从A到B存在着1∶n的联系,则转换成关系模型后,包含有3个关系模式。

13.实现系统案例,防止非法破坏数据,所采用的数据保护措施有:用户标识和鉴定、存取控制定义视图审计数据加密14.恢复的实现技术有:数据转储和登录日志文件。

13、15.____分布式数据库___________是一个逻辑上统一、地域上分布的数据集合。

16.关系中能唯一标识元组,且又不含多余属性称为___候选键_____________。

17.在概念结构设计中先,定义全局概念结构的框架,然后逐步细化。

这种方法称为_____________自顶向下方法___________。

18.分布式数据库系统中透明性层次越高,应用程序的编写越简单。

数据库原理及应用学位考试试题及答案精选全文完整版

数据库原理及应用学位考试试题及答案精选全文完整版

可编辑修改精选全文完整版《数据库原理》学位考试试题一、单项选择题(本大题共10小题,每小题2分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,错选、多选或未选均无分。

1.在数据库三级模式间引入二级映象的主要作用是( A )A.提高数据与程序的独立性B.提高数据与程序的安全性C.保持数据与程序的一致性D.提高数据与程序的可移植性2.如何构造出一个合适的数据逻辑结构是(C )主要解决的问题。

A.关系系统查询优化B.数据字典C.关系数据库规范化理论D.关系数据库查询3.如果事务T已在数据R上加了X锁,则其他事务在数据R上( D )A.只可加X锁B.只可加S锁C. 可加S锁或X锁D. 不能加任何锁4.关系规范化中的删除异常是指 ( D )A.不该删除的数据被删除B.不该插入的数据被插入C.应该删除的数据未被删除D.应该插入的数据未被插入5.有一名为“列车运营”实体,含有:车次、日期、实际发车时间、实际抵达时间、情况摘要等属性,该实体主码是( C )A.车次B.日期C.车次+日期D.车次+情况摘要6. 对数据库物理存储方式的描述称为( B )A.外模式B.内模式C.概念模式D.逻辑模式7. 关系R与关系S只有1个公共属性,T1是R与S作θ连接的结果,T2是R与S作自然连接的结果,则(D )。

A. T1的属性个数等于T2的属性个数B. T1的属性个数小于T2的属性个数C. T1的属性个数大于或等于T2的属性个数D. T1的属性个数大于T2的属性个数8. 一个关系模式R(x1, x2, x3, x4),假定该关系存在着如下函数依赖:x1→x2,x1→x3,x3→x4,则该关系属于(A )。

A. 2NFB. 3NFC. 4NFD. BCNF9. 把对关系SPJ的属性QTY的修改权授予用户李勇的T-SQL语句是( C )A. GRANT QTY ON SPJ TO '李勇'B. GRANT UPDATE(QTY) ON SPJ TO '李勇'C. GRANT UPDATE (QTY) ON SPJ TO 李勇D. GRANT UPDATE ON SPJ (QTY) TO 李勇10.若事务T对数据对象A加上S锁,则( B )。

北大自考上机数据库系统原理上机

北大自考上机数据库系统原理上机

1.某系统有如下数据库,其中存放了三个表:Project (PID,Pname,city,principal)注:工程(工程号,工程名,所在城市,负责人)要求:工程号为主码,所有字段都不能为空Create table Project9527(PID varchar(8),Pname varchar(8)not null,city varchar (8)not null,principal varchar(8)not null,primary key (PID))Bank (BID,Bname,c ity)注:银行(银行号,银行名,所在城市)要求:银行号为主码,银行名唯一,所有字段不为空。

create table Bank9527(BID varchar(4),Bname varchar(8)unique not null,city varchar (8)not null,primary key (BID))Loan (PID,BID,money1,Bdate,RDate)注:贷款(工程号,银行号,贷款金额,贷款日期,偿还日期)要求:工程号和银行号作为主码,工程号为参照工程表的主码的外码,银行号为参照银行表的主码的外码,所有字段不为空,偿还日期必须迟于贷款日期或者为空。

create table Loan9527(PID varchar(8)not null,BID varchar(4)not null,money1 int not null,Bdate datetime not null,Rdate datetime,primary key(PID,BID),foreign key(PID)references project9527(PID),foreign key (BID)references Bank9527(BID),check(Bdate试用SQL语言完成下列功能:1.在数据库中建立上述三个表,请使用英文表名和属性名(满足上述表的每个要求)。

北大“数据库原理”上机实践题目总结(14)

北大“数据库原理”上机实践题目总结(14)

/*3 A、列出销售了所有颜⾊为“Red”的商品的部门名 */ select 部门。

部门名 from 销售记录,部门,商品 where 销售记录。

商品号=商品。

商品号 and 销售记录。

部门号=部门。

部门号 and 商品。

商品颜⾊='red' group by 部门。

部门名 /* B、列出每个供应商供应给每个部门的商品总数量,并按总量由⼤到⼩排列。

*/ select 供应商。

供应商名,部门。

部门名,sum(供应记录。

商品数量)as 总供应量 from 供应记录,供应商,部门where 供应记录。

部门号=部门。

部门号 and 供应商。

供应商号=供应记录。

供应商号 group by 供应商。

供应商名,部门。

部门名 order by 总供应量 desc /* C、列出销售商品的总量排在第⼀位的部门名称 */ select 部门。

部门名 from 销售记录,部门 where 销售记录。

部门号=部门。

部门号 group by 部门。

部门名 having sum(销售记录。

数量)>=all (select sum(销售记录。

数量) from 销售记录 group by 部门号) 以上程序在“SQL Server 2000”中调试运⾏成功! 某个学⽣运动会⽐赛信息的数据库原理上机练习及答案 有某个学⽣运动会⽐赛信息的数据库,保存了如下的表: 运动员(运动员编号,运动员姓名,运动员性别,所属系号) 项⽬(项⽬编号,项⽬名称,项⽬⽐赛地点) 成绩(运动员编号,项⽬编号,积分) athlete(a#,aname,sex,dno) project(p#,pname,address) grade(a#,p#,jf) DROP TABLE W193_GRADE DROP TABLE W193_PROJECT DROP TABLE W193_ATHLETE 请⽤SQL语句完成如下功能: 1. 建表,注意满⾜如下要求: W193 a)表名必须加⾃⼰的帐号作前缀,⽐如“d1*******运动员”, b)定义各个表的主码外码约束 c)运动员的姓名和所属系别不能为空值。

数据库原理考试习题及答案

数据库原理考试习题及答案
(1)往商品分类表中插入记录:('c001','食品')。
(2)往商品表中插入记录:添加1个商品信息,商 品类别:食品、编号:g001、商品名:巧克力、 单位:块、详情:榛子+牛奶味、价格:20元。
(3)进行商品调价操作,将所有食品类商品价格 打9折。
(4)清空买家用户代码为考生学号的购物车
4、DML
create index idx_orders_bno on orders(bno); go;
数据定义语言:
3、DDL
3、利用SQL语句完成数据库模型中其它表格的创建,要求创建相应 的索引;另外需要修改buyer表结构, 为此表添加1个email字段,数 据类型为varchar(32)。(15分)
5、DML和关系代数表达式
5、完成下列查询要求,写出对应的SQL语句及关 系代数表达式。(20分)
(1)、查找商品名为“巧克力”的商品信息,包 括商品名、单位、价格。
select gname,unit,price from goods where gname='巧 克力';
π (σ gname,unit,price gname=‘巧克力’(goods))
create table orders
(ono varchar(16) primary key,odate smalldatetime default getdate(),consignee varchar(256),status char(1) default '0',money numeric(8,1) default 0,bno varchar(16) foreign key references buyer(bno) on update cascade); go;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

题目:现有一个商店的数据库,记录顾客及其购物情况,由下面三个表组成:商品(商品号,商品名,单价,商品类别,供应商);顾客(顾客号,姓名,住址);购买(顾客号,商品号,购买数量);试用SQL语言完成下列功能:1 建表,在定义中要求声明:(1)每个表的主外码;(2)顾客的姓名和商品名不能为空值;(3)单价必须大于0,购买数量必须再0到20之间;2 往表中插入数据:商品(M01,佳洁士,8.00,牙膏,宝洁;M02,高露洁,6.50,牙膏,高露洁;M03,洁诺,5.00,牙膏,联合利华;M04,舒肤佳,3.00,香皂,宝洁;M05,夏士莲,5.00,香皂,联合利华;M06,雕牌,2.50,洗衣粉,纳爱斯M07,中华,3.50,牙膏,联合利华;M08,汰渍,3.00,洗衣粉,宝洁;M09,碧浪,4.00,洗衣粉,宝洁;)顾客(C01,Dennis,海淀;C02,John,朝阳;C03,Tom,东城;C04,Jenny,东城;C05,Rick,西城;)购买 (C01,M01,3;C01,M05,2;C01,M08,2;C02,M02,5;C02,M06,4;C03,M01,1;C03,M05,1;C03,M06,3;C03,M08,1;C04,M03,7;C04,M04,3;C05,M06,2;C05,M07,8;)商品有9 条,顾客有5条,购买有5条3 用SQL语句完成下列查询:(1)求购买了供应商"宝洁"产品的所有顾客;(2)求购买的商品包括了顾客"Dennis"所购买商品的顾客(姓名);(3)求牙膏卖出数量最多的供应商。

4 将所有的牙膏商品单价增加10%。

5 删除从未被购买的商品记录。

参考答案:create table product(productno char(10) not null,productname char(15) not null,price float(15),sort char(10),supplier char(20),primary key (productno),check (price > 0))create table customer(customerno char(10) not null,customername char(15) not null,address char(10),primary key (customerno))create table buy(customerno char(10) not null,productno char(10) not null,num smallint,primary key (customerno,productno),foreign key (customerno) references customer (customerno), foreign key (productno) references product (productno),check (num between 0 and 20))insert into product values ('M01','佳洁士',8.00,'牙膏','宝洁');insert into product values('M02','高露洁',6.50,'牙膏','高露洁'); insert into product values('M03','洁诺',5.00,'牙膏','联合利华') ; insert into product values('M04','舒肤佳',3.00,'香皂','宝洁') ;insert into product values('M05','夏士莲',5.00,'香皂','联合利华'); insert into product values('M06','雕牌',2.50,'洗衣粉','纳爱斯'); insert into product values('M07','中华',3.50,'牙膏','联合利华') ; insert into product values('M08','汰渍',3.00,'洗衣粉','宝洁') ;insert into product values('M09','碧浪',4.00,'洗衣粉','宝洁') ;insert into customer values ('C01','Dennis','海淀') ;insert into customer values('C02','John','朝阳') ;insert into customer values('C03','Tom','东城') ;insert into customer values('C04','Jenny','东城');insert into customer values('C05','Rick','西城') ;insert into buy values ('C01','M01',3);insert into buy values('C01','M05',2);insert into buy values('C01','M08',2);insert into buy values('C02','M02',5);insert into buy values('C02','M06',4);insert into buy values('C03','M01',1);insert into buy values('C03','M05',1);insert into buy values('C03','M06',3);insert into buy values('C03','M08',1);insert into buy values('C04','M03',7);insert into buy values('C04','M04',3);insert into buy values('C05','M06',2);insert into buy values('C05','M07',8);(1)求购买了供应商"宝洁"产品的所有顾客;select c.customerno,c.customername from product p,customer c, buy b where p.productno = b.productno and c.customerno = b.customerno and supplier = '宝洁'(2)求购买的商品包括了顾客"Dennis"所购买商品的顾客(姓名);参考书本p126select distinct c.customername from buy as x , customer c where not exists (select * from buy as y where y.customerno in (select customerno from customer where customername = 'Dennis' )and not exists (select * from buy as z where z.customerno = x.customerno and z.productno = y.productno))and x.customerno = c.customerno(3)求牙膏卖出数量最多的供应商。

select p.supplier,sum(num) from product p,customer c, buy bwhere p.productno = b.productno and c.customerno = b.customerno and sort = '牙膏'group by p.supplierhaving sum(num) > = all(select sum(num) from product p,customer c, buy bwhere p.productno = b.productno and c.customerno = b.customerno and sort = '牙膏'group by p.supplier)(4)update product set price = price * (1+0.1) where sort = '牙膏';(5)delete from product where productno not in (select distinct productno from buy );(素材和资料部分来自网络,供参考。

可复制、编制,期待您的好评与关注)。

相关文档
最新文档