全国计算机技术与软件专业技术资格(水平)考试
数据库系统工程师全真预测试卷(一)上午试题参考答案
(考试时间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 |
69.D | 70.D |
| 71.B | 72.C | 73.A | 74.A | 75.D |
全国计算机技术与软件专业技术资格(水平)考试
数据库系统工程师全真预测试卷(一)下午试题参考答案
(考试时间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>