上机部分 N( G2 c/ d& z
1.基本操作题
# W0 d' [: Q* t' }" `" C) d+ Z 在考生文件夹下,打开Ecommerce数据库,完成如下操作:
u) E! p3 _' U6 T, A& B9 C (1)打开Ecommerce数据库,为表Customer增加一个字段,字段名为email、类型为字符、宽度为20。
6 i) W" F4 |6 w' M2 ~* Y (2)为Customer表的“性别”字段定义有效性规则,规则表达式为:性别$“男女”,出错提示信息为“性别必须是男或女”,默认值为“女”。
) n* @6 [1 Z2 b" K' M (3)通过“会员号”字段建立客户表Customer和订单表OrderItem之间的永久联系;通过“商品号”字段建立商品表Article和订单表OrderItem之间的永久联系。
: N: ?3 Z. ~5 g) Y' J, i, E (4)为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为“限制”;插入规则为“限制”。
- Q9 p" ?7 X1 Z* i 【参考答案】
8 }) n5 m7 z4 F4 C5 F0 { (1)具体步骤如下:; [ R! g4 I0 m
① 从“文件”菜单中选择“打开”命令,在弹出的“打开”对话框中选择文件类型为“数据库”,选中Ecommerce数据库后单击“确定”按钮。
* |: H( {! D( L5 i ② 打开Ecommerce数据库,右击Customer表,在弹出的快捷菜单中选择“修改”命令,通过表设计器为该表添加题目要求的字段。 K! }0 Y$ k" V5 g" A
(2)打开Customer表设计器,选中性别字段,在“字段有效性”组框中的“规则”后面的文本框中输入字段级有效性规则:性别$“男女”,在“信息”后面的文本框中输入出错提示信息:“性别必须是男或女”,在“默认值”后面的文本框中输入:女。$ B, o v3 E" v0 ^" U* u; h
(3)具体步骤如下:
j8 \& w0 i" ?- h5 C2 r2 h# Q ① 拖放Customer表的“会员号”主索引到OrderItem表的普通索引标志“会员号”上,在Customer表和OrderItem表之间建立永久关系。
3 A% \+ V; b) ~! ]( W ② 按照同样的方法,在Article表和OrderItem表之间建立永久关系。& `) N6 Z8 h$ i4 p- `& p( m
(4)具体步骤如下:: s; V/ L0 n' U" E0 [# G
① 在两表永久关系的连线上右击,选择“编辑参照完整性”快捷命令。% `7 T$ U# }" W2 q. ?
② 弹出“参照完整性设计器”对话框,在“更新规则”页中选中“级联”单选按钮;在“删除规则”页中选中“限制”单选按钮;在“插入规则”页中选中“限制”单选按钮。8 r$ S2 T* \ B& S
③ 按照同样的方法设置另一关系的参照完整性。9 |6 r; Y- @3 g. V6 F: ~
2.简单应用题
; @6 v+ h: I2 Z/ o- {1 _2 s 在考生文件夹下,打开Ecommerce数据库,完成如下简单应用:
" ? N) O6 l( m' u% r0 x% U" u: w$ \ (1)使用报表向导建立一个简单报表。要求选择客户表Customer中所有字段;记录不分组;报表样式为随意式;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“会员号”,升序;报表标题为“客户信息一览表”;报表文件名为myreport。: O" z. [& i, p6 x5 g! v
(2)使用命令建立一个名称为sb_view的视图,并将定义视图的命令代码存放到命令文件pview.prg。视图中包括客户的会员号(来自Customer表)、姓名(来自Customer表)、客户所购买的商品名(来自Article表)、单价(来自OrderItem表)、数量(来自OrderItem表)和金额(OrderItem.单价* OrderItem.数量),结果按会员号升序排序。
- Q' r" f* W8 n( I 【参考答案】
7 w' u! |9 s' [ (1)具体步骤如下:
7 F; r0 M/ Q# {* u& P ① 从“文件”菜单中选择“新建”命令,在弹出的“新建”对话框中选中“报表”后单击“向导”按钮。
0 `" @6 G' @. g+ J ② 在弹出的“向导选取”对话框中选择“报表向导”后单击“确定”按钮。
0 n% b' N- j+ F ③ 弹出报表向导的“步骤1-字段选取”对话框,在该对话框中的“数据库和表”下面的列表框中选中Customer表,单击 按钮把Customer表中的所有字段移到“选定字段”列表框中,单击“下一步”按钮。3 K% M! C+ l4 e/ j8 [3 G
④ 弹出报表向导的“步骤2-分组记录”对话框,不需设置,直接单击“下一步”按钮。
* M- l9 F* V" @( B$ Z3 J ⑤ 弹出报表向导的“步骤3-选择报表样式”对话框,选择报表样式为“随意式”,然后单击“下一步”按钮。
& r4 P# j) B7 Q5 @! o ⑥ 弹出报表向导的“步骤4-定义报表布局”对话框,在该对话框中设置列数为1,字段布局为列,方向为纵向,然后单击“下一步”按钮。, C% {5 h' P+ I9 ]$ K
⑦ 弹出报表向导的“步骤5-排序记录”对话框,在“可用的字段或索引标识”列表框中选择“会员号”字段,单击“添加”按钮,把选定的“会员号”字段添加到“选定字段”列表框中,选中“升序”单选按钮,然后单击“下一步”按钮。
, i G! `2 @& Q: m, }$ E4 p ⑧ 弹出报表向导的“步骤6-完成”对话框,输入报表标题为“客户信息一览表”,然后单击“完成”按钮。
. O) s* C3 E+ U( b" B& i6 q$ c( m ⑨ 弹出“另存为”对话框,输入文件名为myreport后单击“保存”按钮,报表设计完成。
! q: u. i- T) }4 p 本题的创建视图命令如下:0 E9 [3 w2 D+ P! R$ I; z o
CREATE VIEW sb_view AS;8 G O4 J% Q& a Q
SELECT Customer.会员号,Customer.姓名,Article.商品名,OrderItem.单价,;4 r& _/ w+ d; |" Z4 h0 s' t
OrderItem.数量,OrderItem.数量*OrderItem.单价AS金额, ^( ?5 b- O( ?
FROM Ecommerce!Customer INNER JOIN Ecommerce!OrderItem;* y8 J. j' G. Z
INNER JOIN Ecommerce!Article;
! r7 @* J& J* w' ^$ t) C ON Article.商品号=OrderItem.商品号;% E& _" b; t% o5 i; i0 \
ON Customer.会员号=OrderItem.会员号;& M- m0 H. _. A9 K; ?7 g1 \
ORDER BY Customer.会员号
$ g$ @ y" g: r7 i+ f! t. n, a: u 新建一个程序文件,输入上述命令,保存时把该程序文件命名为pview.prg。
" x$ y p- ^7 `1 D8 Z3 v 【试题解析】
* G3 t8 ^! |: n, u' C 本试题考查了用SQL命令建立视图的方法,其命令格式为:
) o; y `+ k5 Y, ^" l' A8 s& I CREATE VIEW视图名AS SELECT语句
8 D# B Y" l* t$ B6 v 本题建立视图的SELECT语句中涉及到3个表,应在这3个表之间建立连接。Customer表与OrderItem表之间可根据客户号字段值相等进行连接,OrderItem表和Article表之间应根据商品号字段值相等进行连接。视图中还包含一个计算字段“金额”,可定义为“OrderItem.数量* OrderItem单价 AS 金额”。排序可用ORDER BY子句来实现。
z$ b8 J8 A Z* f# K/ q$ \ 3.综合应用题
# p( b) H+ o0 d/ e2 y$ ?; ? 根据“职工”数据表结构,设计一个分栏报表“职工_分栏.frx”,要求报表设计如下:
% a7 h# a+ T, D; L5 M6 X (1)为报表添加一个页标头“职工基本情况”,并在页标题下添加一条粗细为4磅的线条。
# \* ]* ?+ M4 g (2)将报表每行显示3条职工信息,并在每条记录下添加一条点线。
6 a5 y# \3 y) X (3)在页脚处添加日期。/ L! c3 F5 y( _" f; E3 ]3 Y! O7 v
【参考答案】 N: Q8 L0 C: \) {4 s/ v! b T: X
具体步骤如下:
& \/ t2 f/ C: O' H. E! T* `; j% n ① 在“命令”窗口中输入命令:CREATE REPORT 职工_分栏,进入报表设计器。
/ f8 @+ ~9 z# z% l8 }) x* o8 [ ② 选择菜单命令“文件”→“页面设置”,弹出“页面设置”对话框,将列数设置为3列,将左页边距设置为2,在打印顺序中单击从左到右的打印顺序。
' [) I5 H2 o, I7 O ③ 设置完毕,单击“确定”按钮退出,回到报表设计窗口,可以看到在细节带区的设计宽度缩短,并添加了一个“列标头”和“列注脚”带区。
5 ?, c+ n' |) A' b9 V ④ 为报表添加数据环境,右击报表设计器,选择“数据环境”快捷菜单命令。" @6 i8 O0 K/ c$ C
⑤ 在弹出的对话框中将“职工”数据表文件添加到数据环境中,然后将表中的所有字段拖放到报表的细节带区,为报表添加数据字段域。
+ E7 u; D* C7 H" x* ]4 D, n K& K! k' ~ ⑥ 从报表控件栏中选择标签控件,添加到页标头区域,输入标签名:职工基本情况。3 p2 C( j% b& V2 l6 o* D
⑦ 选中标签,在“格式”菜单中选择“字体”命令,将标签修改为“四号”粗体。
, H8 O: ^7 n! Q b( t: l ⑧ 在标签下添加一条直线,在“格式”菜单中选择“绘画笔”→“4磅”,使线条变粗。7 H4 Q: l; H: j3 n) ?% z5 P7 z# a
⑨ 同样在细节带区添加一条直线在字段域控件下,在“格式”菜单中,选择“绘画笔”→“点线”命令。; A i3 A7 K) }+ F
⑩ 添加日期的方法基本上和上述方法一样,首先添加一个标签显示“制表日期:”,然后添加一个域控件,在域控件对话框的“格式”中输入Date()即可。6 w2 b* o! _4 g# ~$ j4 m' ]
【试题解析】
* e1 k9 |2 ]' m! g) @ 本试题考查了分栏报表的设计。设计分栏报表的关键是设置好分栏的数目以及数据的显示方式,这些都是通过“文件”→“页面设置”命令来完成的,至于其他的设计部分大致和以前设计的报表差不多。 |