通知公告

下载中心

当前位置:首页 > 下载中心

数据库开发设计

数据库开发设计

 

2012-2013上学期


模拟题一

一、选择题(20小题,每小题2分,共40分。从提供的四个答案中选择一个正确的答案,并将其编号填入括号中)

1SQL中,“DELETE  FROM  表名表示:_____

    A.从基本表中删除所有元组       B.从基本表中删除所有属性

    C.从数据库中撤消这个基本表     D.从基本表中删除重复元组

2数据库管理系统能实现对数据库中数据的查询、插入、修改和删除,这类功能称为____
  A. 
数据定义功能              B.数据管理功能

  C. 
数据操纵功能              D.数据控制功能

3数据库中,数据的物理独立性是指____

    A. 数据库与数据库管理系统的相互独立

    B. 用户程序与DBMS的相互独立

    C. 用户的应用程序与存储在磁盘上的数据库中的数据是相互独立的

    D. 应用程序与数据库中数据的逻辑结构相互独立

4SQL语言的数据操纵语句包括 SELECTINSERTUPDATE DELETE,最重要的,也是使用最频繁的语句是____

AINSERT    BSELECT   CUPDATE;   DDELETE

5.设有两个关系RAB)和SBC),与下列SELECT语句

            SELECT  AB

            FROM  R

            WHERE  B  NOT  INSELECT  B

FROM  S

WHERE  C='C56');

    等价的关系代数表达式是                                          ____

C'C56'

    AπABσC≠'C56'R⋈S))           BπABR    S

CRπABσC= 'C56'R⋈S))    DRπABσC≠'C56'R⋈S))

68题是基于如下两个关系,其中雇员信息表关系EMP的主键是雇员号,部门信息表关系DEPT的主键是部门号

EMP

 

 

 

 

DEPT

 

 

雇员号

雇员名

部门号

工资

 

部门号

部门名

地址

001

010

056

101

 

王宏达

马林生

 

02

01

02

04

2000

1200

1000

1500

 

01

02

03

04

业务部

销售部

服务部

财务部

1号楼

2号楼

3号楼

4号楼

6.  若执行下面列出的操作,哪个操作不能成功执行?____

A) EMP中删除行(‘010’,‘王宏达’,‘01’,1200)

B) EMP中插入行(‘102’,‘赵敏’,‘01’,1500)

C) EMP中雇员号=‘056’的工资改为1600

D) EMP中雇员号=‘101’的部门号改为05’

7. 若执行下面列出的操作,哪个操作不能成功执行?____

A) DEPT 中删除部门号=03的行

B)在DEPT中插入行(‘06,‘计划部’,‘6号楼’)

C) DEPT中部门号=02的部门号改为‘10

D) DEPT中部门号=01的地址改为‘5号楼’

8. 在雇员信息表关系EMP中,哪个属性是外键(foreign key)?____

A) 雇员号       B) 雇员名       C) 部门号       D) 工资

9SELECT语句中,需对分组情况满足的条件进行判断时,应使用____

WHERE GROUP BY ORDER BY HAVING

10下列不是数据库系统的主要特征的____

.数据共享性高、冗余度小.数据结构化

.数据不独立            .统一的数据控制功能

11SQL语言是____语言。

A、层次数据库 B、网络数据库 C、关系数据库 D、非数据库

12SQL语言具有____的功能。

A、关系规范化、数据操纵、数据控制 B、数据定义、数据操纵、数据控制

C、数据定义、关系规范化、数据控制 D、数据定义、关系规范化、数据操纵

13SQL语句中,可以使用____语句一次插入____一条记录。

AInsert,一        BInsert,二

CUpdate,一       DDelete,三

14候选键中的属性可以有____

 A. 0个      B. 1个     C. 1个或多个     D.多个

15在下列基本表的定义中,数值5表示____

CREATE TABLE student (Sno   char(5) not null uniqueSname char(2))

      A. 表中有5条记录          B. 表中有5

C. 表中字符串Sno的长度      D. 表格的大小

16SQL中,下列涉及空值的操作,不正确的是 ____
A.AGE IS NULL B.AGE IS NOT NULL C.AGE = NULL D.NOT (AGE IS NULL)

17. 数据库系统中, DBA表示____
A
.应用程序设计者 B. 数据库使用者 C. 数据库管理员 D. 数据库结构

18. 数据库中,实体是指(  )。

A. 客观存在并互相区别的事物   B. 客观存在并互相区别的属性

 C. 客观存在并互相区别的特性   D. 某一具体事件

19.下面列出的关于视图(View的条目中,哪一条是不正确的?____

A) 视图是外模式                         B) 视图是虚表

C) 使用视图可以加快查询语句的执行速度   D) 使用视图可以简化查询语句的编写

20  在关系中的各元组的______

A.顺序不能任意排列,一定要按照输入的顺序排列

B.顺序可以任意排列

C.顺序一定要按照关键字段值的顺序排列

D.排列顺序不同,统计处理的结果就可能不同.

二、填空(15空,每空1分,共15分)

1.数据库管理技术经历了                              三个阶段。

2.数据完整性包括                    和参照完整性。

3.实体之间的联系归结为                           三种。

4  SQL语言的功能包括 数据定义                             

5.共有三种类型的数据模型,分别是                             三种

6.数据处理是将数据转化           的过程。

三 简答题(每题5分,共15分)

1数据与信息的区别和联系。

 

 

2设有关系RS

 

        R   A   B   C       S   A   D   E

            1   4   3           1   3   6

            1   3   5           3   6   8

            2   7   6           1   3   5

       

试写出R×SRS的值

         B>D

 

3简要概述数据库、数据库管理系统和数据库系统各自的含义。

 

 

 

 

四 设计题6分)

某商店管理涉及商店、商品和职工三个实体,它们分别具有下列属性:

商店:商店编号,店名,店址,店经理 

 商品:商品编号,商品名,单价,产地

职工:职工编号,职工名,性别,工资

    这些实体间的联系如下:百货公司管辖若干个连锁商店,每家商店经营若干商品,每家商店有若干职工,但每个职工只能服务于一家商店。职工参加某商店工作有开始时间,商店销售商品的有月销售量。
   请画出商店、商品和职工E—R 图。

五、程序设计题(每小题3分,共24)

设有三个关系:

    SSNOSNAMEAGESEX

    CCNOCNAMETEACHER

    SCSNOCNOGRADE

用关系代数表达式实现下列12小题:

    1查询年龄大于20岁的男学生的学号和姓名

2查询姓名为变量K的值的学生所选修的全部课程信息;

SQL语言实现下列38小题:

3在表SC中插入某个学生的选课信息(如:学号为“Tx024”,课程号为“C7”,成绩待定);

4查询出被24名学生选修的所有课程信息

   5)检索选修课程号为C1C2的学生学号SNO

6创建学号,姓名,和总成绩的视图;

7)修改张明的英语成绩为71分;

8)删除李军的C1课程记录。

 

 

 

 

 

 

 

模拟题二

一.__选择题_(本大题共__10题,每题__2分,共__20_分。)

1、下列控件事件中,表示光标离开输入控件的事件是(  

    AonFocus   BonExit    ConChange   DonKeyUp

2、为能输入多行文本内容,一般可以选择(     )控件。

AEdit     BMemo    CListBox    DCombobox

3、通过哪个属性可以设置Edit控件中字符数量的限制。(  

Awidth   Bmaxwidth   Clength   DmaxLength

4、下列SQL语句中,错误的是( 

A delete from TblStudent     B delete TblStudent

C drop Table TblStudent      D update  TblStudent set age=age+1

5、下列哪个不是SQL语句中定义的集函数()

Amax    Bcount   Cdistinct   Dsum

6ADOTable控件是数据集控件,用于表示内存数据,下面的控件中,()用于表示感官数据。

AADOQuery   BADOConnection   CDataSource    DDBEdit

7、在DBLookupComboBox控件中,下列哪个属性表示被参照表的主码()。

ADataFiled    BListField  CKeyField  DListSource

8、下列哪个控件不是数据集控件。()

AADOTable   BADOCommand  CADOQuery  DADOStoredProc

9ADOTable控件的cancel方法的功能是()

A、删除当前行              B、将当前行的数据都清空 

C、将对当前行的修改撤销    D、以上都不对。

10、用DelphiExcel进行操作时,启动Delphi的程序代码段为( )。

AExcelApplication1.Connect;  BExcelApplication1.Visible[0]:=True;

CExcelApplication1:=TExcelApplication.create(self)

DExcelApplication1:=TExcelApplication.create

二._填空题_(本大题共_10_空,每空__2分,共__20__分。)

1、在菜单中显示分割线,则菜单项的caption属性应设为                

2、为使窗体显示时最大化需要设置窗体的                 属性值为             

3、如果希望在程序启动时运行一些代码,这些代码可以写在窗体的              事件中。

4、如果要用ADOTable控件从Student表中查询姓名(sname)为“张三”的学生,我们需要将ADOTable控件的               ,并且将               。(说明什么属性设置为什么值)

5、在Delphi中,启动一个事务的代码是                  

6、在数据库中,两张表之间的关联一般通过                 实现。

7、在S(SNO,SName)C(CNO,CName)SC(SNO,CNO,Grade)数据库中(学生选课系统),如果要彻底删除学生“张三”,需要执行两个SQL语句,分别是                      

三._程序分析题_(本大题共_3_题,共__20__分。)

1 阅读下面的程序,并回答后续问题。(6)

procedure TfrmScoreStatic.btnStaticClick(Sender: TObject);

var

  avgScore,sumScore,maxScore,minScore,curScore:real;

  studentCount,i,passStudentCount:Integer;

begin

  sumScore:=0;  maxScore:=0;

  minScore:=101;    //代码1

  studentCount:=0;  passStudentCount:=0;

  for i:=0 to self.MemoScore.Lines.Count-1 do begin

    try

      curScore:=strTofloat(self.MemoScore.Lines[i]);

    except

      continue;    //代码2

    end;

    ......

  end;

  if studentCount=0 then begin

    showmessage('没有成绩信息');

    exit;

  end;

  //补充代码

  self.MemoStatic.Lines.Add('最低分:'+floattostr(minScore)) ;

end;

 

本段代码统计Memo中输入的成绩情况,要求在MemoStatic中显示类似如下所示的数据。

学生人数:10;及格人数:5

平均分:67.3

最高分:93

最低分:43

1)  请问“代码1”的目的是什么(1分)

 

 

 

2)  代码2的目的是什么?(2分)注意:不要解释语句的含义,从程序逻辑上分析其目的。

 

 

 

3)  写出最后一步要求补充的代码?(3

 

 

 

 

2 阅读下面的程序,并回到后续问题。(6)

procedure TForm1.FormCreate(Sender: TObject);

var

  sClsNo : String;

begin

  ADOTblClass.Close;  ADOTblClass.Open;

  cmbbxClass1.Items.Clear;

  cmbbxClass2.Items.Clear;

  while not ADOTblClass.Eof do

  begin

    sClsNo := ADOTblClass.FieldByName('ClsNo').Value;

    cmbbxClass1.Items.Add(sClsNo);

    cmbbxClass2.Items.Add(sClsNo);

    ADOTblClass.Next;

  end;

end;

1)  ADOTblClass.FieldByName('ClsNo').Value的含义是?(1分)

 

 

 

2)  cmbbxClass1.Items.Clear的功能是?(1分)

 

 

 

3)  假设上述ADOTable控件对应的表名为TblClass,请问如果用ADOQuery控件代替ADOTable控件,应该怎么设置?(4

 

 

 

 

 

 

 

 

 

 

3 阅读下面的程序,并回到后续问题。(8)

procedure TForm1.spdbtnClass1To2SingleClick(Sender: TObject);

begin

  if cmbbxClass1.Text = '' then

  begin

    ShowMessage('没有指定转出班级');

  end;

  if cmbbxClass2.Text = '' then

  begin

    ShowMessage('没有指定转入班级');

  end;

  if cmbbxClass1.Text = cmbbxClass2.Text then

  begin

    ShowMessage('转出班级与转入班级不能为同一个班级');

    exit;

  end;

  ADOQryChangeClass.Close;

  ADOQryChangeClass.SQL.Clear;

  ADOQryChangeClass.SQL.Add('update student set ClsNo=:pNewClsNo ');

  ADOQryChangeClass.SQL.Add('where SNo=:pSno ');

  ADOQryChangeClass.Parameters.ParamByName('pNewClsNo').Value := cmbbxClass2.Text;

  ADOQryChangeClass.Parameters.ParamByName('pSno').Value

        := ADOQryStudent1.FieldByName('Sno').Value;

  ADOQryChangeClass.ExecSQL;

  ADOQryStudent1.Close;

  ADOQryStudent1.Open;

  ADOQryStudent2.Close;

  ADOQryStudent2.Open;

end;

 

1)  最后加粗的四句代码的作用是什么?(2分)

 

 

 

 

2)  如何修改上述代码,使之实现整个班级的人员转移?(3分)

 

 

 

 

 

3)  ADOQuerySQL属性的类型是什么,它可以从文本文件中读取SQL语句吗,如果可以,请说明是如何读取的?(3分)

 

 

 

 

 

 

 

 

四._问答题_(本大题共_2_题,共__20__分。)

1、现欲开发一个房屋租赁系统,要求能保存客户信息、房屋信息、屋主信息(假设每个屋主可以有多套房子,每套房屋只在一个屋主名下)、租赁信息(包括租赁开始时间、退租时间、租金等),请绘制该系统的er图,并设计数据库。(12分)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2、请说明通过ADO组件实现数据库表主从关系的两种方式,并说明需要进行哪些设置。(8分)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

五._程序设计题_(本大题共_1_题,每题__20分,共__20__分。)

完成课程大作业(图书管理系统)部分功能的设计。假设系统的数据库结构如下图所示。

 

1   编成实现“列出出版社的所有图书”功能。系统界面设计如下:

 

 

第一步:编程实现系统启动时在上方的下拉列表中列出所有出版社名称。(5分)要求说明使用什么数据库访问控件,以及如何设置控件属性,并说明代码写在什么控件的什么事件中,最后写出事件过程代码。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

第二步:编程实现选择出版社后列出该出版社所有图书的功能。(5分)要求说明使用什么数据库访问控件,以及如何设置控件属性,并说明代码写在什么控件的什么事件中,最后写出事件过程代码。注意:组合框中列出的是出版社名称,而不是出版社编号。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2   编程实现借阅功能。假设界面设计以及其他附加功能以及完成,要求实现借阅确认按钮的功能。

第一步:使用用ADOQuery控件,名称为qryBorrow,并设置其数据库连接属性。采用带参数的SQL方式实现借阅功能。则ADOQuery控件的SQL属性值为。(3分),假设只操作借阅记录表,而不修改读者的可借数量等信息。

 

 

 

 

 

 

第二步:假设,Edit1中显示的是当前读者的编号,Edit2中显示的是图书的编号。并且当前读者还可以借阅图书。请编写“确认借阅”按钮功能代码。(4)

 

 

 

 

 

 

 

 

 

 

 

 

第三步:如果希望读者借阅图书后修改其可借数量,应该怎么实现。(3分)