(3)具体步骤如下:
① 拖放Customer表的“会员号”主索引到OrderItem表的普通索引标志“会员号”上,在Customer表和OrderItem表之间建立永久关系。
② 按照同样的方法,在Article表和OrderItem表之间建立永久关系。
(4)具体步骤如下:
① 在两表永久关系的连线上右击,选择“编辑参照完整性”快捷命令。
② 弹出“参照完整性设计器”对话框,在“更新规则”页中选中“级联”单选按钮;在“删除规则”页中选中“限制”单选按钮;在“插入规则”页中选中“限制”单选按钮。
③ 按照同样的方法设置另一关系的参照完整性。
2.简单应用题
在考生文件夹下,打开Ecommerce数据库,完成如下简单应用:
(1)使用报表向导建立一个简单报表。要求选择客户表Customer中所有字段;记录不分组;报表样式为随意式;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“会员号”,升序;报表标题为“客户信息一览表”;报表文件名为myreport。
(2)使用命令建立一个名称为sb_view的视图,并将定义视图的命令代码存放到命令文件pview.prg。视图中包括客户的会员号(来自Customer表)、姓名(来自Customer表)、客户所购买的商品名(来自Article表)、单价(来自OrderItem表)、数量(来自OrderItem表)和金额(OrderItem.单价* OrderItem.数量),结果按会员号升序排序。
【参考答案】
(1)具体步骤如下:
① 从“文件”菜单中选择“新建”命令,在弹出的“新建”对话框中选中“报表”后单击“向导”按钮。
② 在弹出的“向导选取”对话框中选择“报表向导”后单击“确定”按钮。
③ 弹出报表向导的“步骤1-字段选取”对话框,在该对话框中的“数据库和表”下面的列表框中选中Customer表,单击 按钮把Customer表中的所有字段移到“选定字段”列表框中,单击“下一步”按钮。
④ 弹出报表向导的“步骤2-分组记录”对话框,不需设置,直接单击“下一步”按钮。
⑤ 弹出报表向导的“步骤3-选择报表样式”对话框,选择报表样式为“随意式”,然后单击“下一步”按钮。
⑥ 弹出报表向导的“步骤4-定义报表布局”对话框,在该对话框中设置列数为1,字段布局为列,方向为纵向,然后单击“下一步”按钮。
⑦ 弹出报表向导的“步骤5-排序记录”对话框,在“可用的字段或索引标识”列表框中选择“会员号”字段,单击“添加”按钮,把选定的“会员号”字段添加到“选定字段”列表框中,选中“升序”单选按钮,然后单击“下一步”按钮。
⑧ 弹出报表向导的“步骤6-完成”对话框,输入报表标题为“客户信息一览表”,然后单击“完成”按钮。
⑨ 弹出“另存为”对话框,输入文件名为myreport后单击“保存”按钮,报表设计完成。
本题的创建视图命令如下:
CREATE VIEW sb_view AS;
SELECT Customer.会员号,Customer.姓名,Article.商品名,OrderItem.单价,;
OrderItem.数量,OrderItem.数量*OrderItem.单价AS金额,
FROM Ecommerce!Customer INNER JOIN Ecommerce!OrderItem;
INNER JOIN Ecommerce!Article;
ON Article.商品号=OrderItem.商品号;
ON Customer.会员号=OrderItem.会员号;
ORDER BY Customer.会员号
新建一个程序文件,输入上述命令,保存时把该程序文件命名为pview.prg。
【试题解析】
本试题考查了用SQL命令建立视图的方法,其命令格式为:
CREATE VIEW视图名AS SELECT语句
本题建立视图的SELECT语句中涉及到3个表,应在这3个表之间建立连接。Customer表与OrderItem表之间可根据客户号字段值相等进行连接,OrderItem表和Article表之间应根据商品号字段值相等进行连接。视图中还包含一个计算字段“金额”,可定义为“OrderItem.数量* OrderItem单价 AS 金额”。排序可用ORDER BY子句来实现。