全国计算机技术与软件专业技术资格(水平)考试
数据库系统工程师全真预测试卷(一)上午试题参考答案
(考试时间9:00—11:30 共150分钟)
1.C
2.C
3.B
4.A
5.A
6.B
7.D
8.B
9.B
10.A
11.B
12.D
13.C
14.B
15.A
16.C
17.C
18.A
19.A
20.D
21.B
22.C
23.D
24.B
25.C
26.A
27.C
28.B
29.A
30.D
31.C
32.B
33.B
34.C
35.B
36.C
37.B
38.C
39.D
40.A
41.A
42.C
43.C
44.C
45.D
46.B
47.C
48.A
49.C
50.B
51.B
52.D
53.A
54.B
55.D
56.A
57.A
58.B
59.B
60.C
61.D
62.C
63.F
64.B
65.C
66.A
67.B
68.C
全国计算机技术与软件专业技术资格(水平)考试
数据库系统工程师全真预测试卷(一)下午试题参考答案
(考试时间14:00—16:30 共150分钟)
试题一
[问题l]该系统的E-R图如下图所示。
各实体的属性为:
工厂:厂名、厂长、厂长姓名
车间:车间号、车间主任性名、地址、电话
工人:职工号、姓名、年龄、性别、工种
仓库:仓库号、仓库主任姓名、电话
零件:零件号、重量、价格
产品:产品号、价格

该系统的E-R图
[问题2]相应的关系模式如下:
工厂(厂名、厂长姓名)
车间(车间号、车间主任姓名、地址、电话、厂名)
工人(职工号、姓名、年龄、姓别、工种、车间号)
仓库(仓库号、仓库主任姓名、电话、厂名)
产品(产品号、价格、车间号、仓库号)
零件(零件号、重量、价格、仓库号)
制造(车间号、零件号)
[问题3]该系统的层次模型图如下图所示。

该系统的层次模型图
试题二
在时刻t36存在事务T2,T3,T9和T8死锁,另外,事务T4等待事务T9,事务T12
等待事务T4,事务T11,T10等待事务T12。
试题三
[问题1]
采用ORDB的定义语言定义这个数据库的语句如下:
CREATE TYPE MyString charvarying;
CREATE TABLE university(uname MyString,
city MyString,
staffsetof(ref(stndent)));
CREATE TABLE student(sno MyString,
Sname MyString,
city MyString.
1anguage setof(MyString),
study ref (unversity));
[问题2]
对应查询的SELE(W语句如下:
SELECT A.uname,A.city,B.sno,B.Sname
FROM unversity as A,A.staff as B
WHERE A.city=B.city
试题四
[问题1]
DEPT(DNAME,DHEAD,PHONE)
TEACHER(TNO,TNAME,SEX,AGE,TITLE)
STUDENT(SNO,SNAME,SEX,CIASS,MONITOR)
COURSE(CNO,CNAME,HOUR,ROOM)
D-T(DNAME,TNO)
D-S(DNAME,SNO)
TEACH(TNO,CNO,EVAL)
STUDY(SNO,CNO,GRADE)
其中有下划线的项为关键项。
[问题2]
将STUDENT分解为STUDENT(SNO,SNAME,SEX,CLASS),
SCLASS(CLASS,MONITOR)
[问题3]
CREATE TABLE TEACHER(TNO(CHAR(8),NONULL),
TNAME(CHAR(20)),SEX(CHAR(1)),AGE(INTEGER),TITLE(CHAI)))
试题五
程序清单:
1.< %@ LANGUAGE ="VBSCRIP"% >
2.<%
3.Qption Explicit
4.Response.Expires = 0
5.%>
6.<!--#include file ="adovbs.inc"-->
7.<~%
8.Const intPageSize =10
9.Dim imCurrentPage,objConn ,objRS, strQ
10.Dim intTotalPages, intI
11.
12.If Request. ServerVariables( "CONTENT_LENGTH"- 0 Then
13.intCurrentPage= 1
14.Else
15.intCurrentPage = Cint (Request. Form ("Current Page" ) )
16.Select Case Request. Form ("Submit")
17.Case"Previous"
18.intCurrentPage = intCurrentPage - 1
19.Case"Next"
20.intCurrentPage=intCurrentPage+1
21.End Select
22.Set objRS - Session ("MyRecol-dset")
23.End If
24.
25.If Not (isobjeet(objRS)) Then
26.Set objConn=Server.Createobject ("ADODB. Connection")
27.objConn.Open"Data Source = Northwind; User ID = sa; Password = 1"
28.
29.Set objRS =Server.CreateObject ("ADODB.Recordset")
30.objRS = CursodocatJon = adUseClient
31.objRS = CursorType = adOpenStatic
32.objRS = CaeheSize = intPageSize
33.strQ = "SELECT Customers. CompanyName, orders, orderDate"
34.strQ = strQ &"FROM Orders INNER JOIN Customers ON"
35.strQ = strO &"Orders. CustomerlD- Customem CustomerlD~
36.strQ = strQ &"ORDER BY Orders. OrderDate,"
37.strQ = strQ &"Customers.CompanyName"
38.objRS.Open strQ,objCom~,,, Nothing
39.Set objRS.ActiveConnction = Nothing
40.objConn.Close
41.Set objConn = Nothing
42.Set Session("MyRecordset") = objRS
43.End If
44.
45.objRS.PageSize = intPageSize
46.If Not(objRS.EOF) Then ohjRS.AbsolutePage = intCurrentPage
47.
48.intTotalPages = objRS.PageCount
49.%>
50.<HTML> <BODY>
51.<B> Customer:OrderDate</B><p>
52.<%
53.inti = 0
54.Do while( ( Not objRS. EOF) And ( inti< ob}RS. PageSize) )
55.Response.Write
Server.HTMLEncode ( objRS ("CompanyName") &:"&objRS ("OrderDate")) &"<BR>"
56.inti=inti + 1
57. ohjRS.MoveNext
58.Loop
59.%>
60.<BR>
6i.Page<% = intCurrentPage % >of< % = intTotalPages % > <7 p>
62.<FORM ACTION="<% = Request.ServerVariables("SCRIPT_NAME")%>"
63.<INPUT TYPE=>"Hidden"NAME="CvrrentPage"VALUE ="<% = intCurrentPage%>"
64.<%
65.If intCurrentPage>1 Then %>
66.<INPUT TYPE = "Submit"NAME = "Submit"VALUE = "Previous">
67.<% End If
68.If intCurrentPage<>intTotalPages Then %>
69.<INPUT TYPE = "Submit"NAME = "SubmitVALUE = "Next">
70.<% End If %>
71.</FORM>
72.</BODY></HTML>
注意存储在Session变量中的记录集在脚本中从没有关闭,因而,应该在810bal屈a中的SPS~lon的OtlEnd事件中完成这件事情:
1.<SCRIPT LANGUAGE = VBscript RUNAT = Server>
2.Sub Session_OnEnd
3.Dim oh}RS
4.Set ob}RS=Session ("MyRecordset~)
5.If isobject (objRS) Then
6.obojRS.Close
7.Set objRS = Nothing
8.Set Session ("MyRecordset") = Nothing
9. End If
10. End sub
11. </SCRIPT>