阅读以下说明,回答问题1至问题3。 [说明] 某公司用ASP+SQL Server开发的电子商务网站系统提供商品查询、网上购物车、订单管理、后台商品管理、在线支付等功能。系统的数据库名为shangwu,所在服务器 IP地址为211.54.32.21,其中user表存放注册用户名和密码,结构如表3-1所示:
问答题 数据库设计的基本步骤一般包括:需求分析、概念设计、逻辑设计和物理设计四个阶段,请根据数据库设计四个阶段的特点,确定以下工作分别属于哪个阶段。 A.确定数据的存储结构和存放位置(1)B.创建数据流图和数据字典(2)C.确定数据库实体及其构成(3)D.创建E-R图(4)
【正确答案】正确答案:(1)物理设计 (2)需求分析 (3)逻辑设计 (4)概念设计
【答案解析】解析:数据库设计的基本步骤一般包括需求分析、概念设计、逻辑设计和物理设计4个阶段。其中需求分析阶段是数据库设计过程的基础,它通过调查和分析,了解用户的信息需求和处理需求,以数据流图、数据字典等形式加以描述,并给出应用领域中数据项、数据项之间的管理和数据操作任务的详细定义,为后续工作打下基础。概念设计主要是把需求分析阶段得到的用户需求抽象化为概念模型,它是数据库设计的关键,是进行数据库逻辑设计的基础,通常使用E-R图作为概念设计的工具。逻辑设计就是把概念设计阶段产生的概念模型转换为逻辑模式,其主要步骤是确定组成数据库的实体及其构成,确定数据库实体间的关系。物理设计是根据特定的计算机系统,为给定的逻辑数据模型选择一个最适合的存取方法和存储结构的过程,它要设计数据的存取路径、确定数据的存储结构和存放位置、确定系统配置。
问答题 电子商务网站购物车是商务网站的核心部分,以下选项中(5)、(6)、(7)可以存放用户的购物记录。 A.web数据库 B.页面变量 C.response对象 D.Session对象 E.request F.Cookie G.application对象 H.server对象
【正确答案】正确答案:(5)A (6)D (7)F (注:(5)、(6)、(7)三题的答题顺序任意)
【答案解析】解析:电子商务网站的购物车存放着浏览者的购物信息。这部分信息的特点有两个;一是信息是跨页面的,这样就不能使用页面变量存储此类信息;二是此类信息是每个浏览客户端独有的,这样就不能使用application对象存储,因为application对象是面对所有浏览客户端的。因此可以采用以下三种方法来存放用户购物记录: (1)利用session对象:session对象是D属性可以对应不同的浏览端,session的变量可以跨页面保存,直到浏览端与服务端断开连接。 (2)利用cookie:cookie是服务端写在浏览端的一些文件,这些文件由服务端确定内容,保存在客户端的磁盘中。这样cookie也符合存放用户购物信息的要求。 (3)有些时候可以使用Web数据库存放购物信息,这需要建立临时库,存放浏览端的登录信息、购物信息。这时需要对临时库频繁操作,对数据库要求较高。 综上所述,题目中Web数据库、Session对象和Cookie可以用来存放用户购物信息。页面变量、pplication对象不适合存放此类信息。response对象负责服务端向客户端的输出,request对象是服务端从客户端获取信息的类,server对象是对服务端的各项操作。
问答题 1.以下是该网站进行数据库连接的代码conn.asp,请完成该程序。 <% set conn=server, createobject ("adodb. connection") conn .provider="sqloledb'' provstr="server=(8);database=(9);uid=sa;pwd=9857452" conn. open provstr %> 2.下面是用户登录检查的,部分程序,要求实现对用户提交的用户名和密码进行检验,如果用户名、密码错误,提示错误并返回首页;如果用户名和密码正确,将用户提交的用户名(user)的值赋给session("user"),然后返回首页。请根据题目说明和功能说明在备选项中选择正确的答案填在答题纸上。 <!--#include file="conn.asp"--> <% username=request("user") password=request("password") set rs=server.createobject("adodb.recordset") sql="select * from (10) where username='"&username&"'" rs.open sql,conn, 1,1 if (11) then response.write"<script language=Javascript>alert('此用户名尚未注册'); this.location.href='index.asp';</script>" response.end else pass=rs("password") if(12)then response.write"<script language=javascript>alert('密码错误' ; this. location.href='javascript:history.go(-1)';</script>" response.end end if (13)(14).redirect"index.asp" end if rs.close set rs=(15)%> 备选答案 A. user B. pass <>password C. nosing D. session("user")=username E. response F. pass=password G. rs.eof H. request I. null J. shangwu K. rs.end
【正确答案】正确答案: 1.(8)211.54.32.21 (9)shangwu 2.(10)A或user (11)G或rs.eof (12)B或pass<>password (13)D或session("user")=username (14)E或response (15)C或nothing
【答案解析】解析:1.数据库连接。根据题目提示,该系统的数据库名为shangwu,所在服务器IP地址为211.54.32.21,所以数据库连接的完整代码为: <% set conn=server.createobject("adodb.connection") conn,provider="sqloledb" provstr="server=211.54.32.21;database=shangwu;uid=sa;pwd=9857452" conn.open provstr %> 2.根据程序要求和题目说明,该程序的完整代码及解释如下; <!--#include file="conn.asp"--> /*数据库连接*/ <% username=request ("user") /*获取用户输入的用户名*/ password=request ("password") /*获取用户输入的密码*/ set rs=server.createobject ("adodb. recordset") sql="select * from user where username .... &username& ..... /*根据题目要求, user 表存放注册 用户名和密码* rs.open sql,corm, 1,1 if rs.eof then /*创建记录集rs, 如果rs.eof为真, 说明该用户名在user表中不存在*/ response.write"<script language=javascript>alert('此用户名尚未注册'); this. location, hre f= ' index, asp '; </script>" response, end else pass=rs ("password") /*将rs记录集中"password"字段的值赋予变量pass*/ if pass <> password then /*判断用户输入的密码与数据库中的密码是否一致*/ response.write"<script language=javascript>alert('密码错误'); this. location.href=' javascript :history.go (-1) ' ;</script>" response, end end if session ("user")=username /*阄用户提交的用户名(user)的值赋予给session ("user")*/ response, redirect"index, asp" /*跳转到index, asp 页面*/ end if rs. close set rs= nothing /*释放rs记录集*/ %>