《电商系统功能开发.docx》由会员分享,可在线阅读,更多相关《电商系统功能开发.docx(38页珍藏版)》请在课桌文档上搜索。
1、 大连东软信息学院电商系统功能开发技能实习手册 系 别: 信管系 专业班级: 商务09001 学 号: 09120100128 学生姓名: 施冰冰 指导教师: 黄川林 第一部分SQL Server 2005 数据库1. 数据库基本操作1.1实验目的安装SQL Server 2005;了解SQL Server 2005 各组件;建立和删除数据库;理解SQL Server的数据类型,建立、删除和修改表。1.2实验步骤1.2.1 安装SQL Server 20051) 将SQL Server 2005的安装光盘放入光驱中,运行光驱中的autorun.exe程序,出现安装启动画面。2) 在弹出的“最终
2、用户许可协议”对话框中,选择“我接收许可条款和条件”复选框。然后单击“下一步”按钮。3) 接着,在弹出的“安装必备组件”对话框中列出了安装SQL Server 2005之前所需的所有必要组件。单击“安装”按钮,开始安装和配置这些组件。4) 安装完成后,单击“下一步”按钮,启动“安装向导”对话框。5) 单击“下一步”按钮,打开“系统配置检查”对话框。6) 单击“下一步”按钮,弹出“注册信息”对话框,输入姓名、公司名称和注册码后,单击“下一步”按钮。7) 接着,会打开“要安装的组件”对话框。在此对话框中,选择要安装的组件。 8) 单击“下一步”按钮,打开“实例名”对话框。9) 选择“默认实例”单选
3、项,单击“下一步”按钮,打开“服务账户”对话框。10) 配置完成后,单击“下一步”按钮,打开“身份验证模式”对话框。11) 单击“下一步”按钮,打开“排序规则设置”对话框。12) 单击“下一步”按钮,打开“错误和使用情况报告设置”对话框。13) 单击“下一步”按钮,打开“准备安装”对话框。14) 单击“安装”按钮,开始安装SQL Server 2005的选定组件。15) 安装完成后,单击“下一步”按钮,打开“完成Microsoft SQL Server 2005安装”对话框,显示摘要日志等信息。单击“完成”按钮,此时会提示重新启动计算机,选择“是”,重新启动计算机后,完成安装。实验结论:SQL
4、 Server 2005运行正常1.2.2 SQL Server主要组件(1) 启动、停止数据库服务器在“开始”菜单中启动1) 选择开始“所有程序”Microsoft SQL Server 2005“配置工具”SQL Server Configuration Manager 命令。进入 SQL Server Configuration Manager 窗口后,选择左边的“SQL Server 2005 服务” 选项,在右边会显示出相应的服务器。这时分别可进行服务器的启动和停止操作。2) 可以设置服务器在开机时自动启动或禁用。操作如下:在 SQL Server Configuration Man
5、ager 窗口中选择要启动或禁用的服务器右击,选择“属性”命令进入相应服务的属性界面,选择“服务”选项卡,然后再选择“启动模式”后面的选项,其中“自动”选项即为服务器在开机启动时自动启动。“已禁用”选项即为暂停使用。“手动”选项即为每次要手动启用相应的服务器。3) 使用“控制面板”窗口中的“服务”应用程序启动或停止服务器。 打开“控制面板”窗口,双击“管理工具”图标,再双击“服务”图标,然后找到要启动或停止的服务器右击,在弹出的快捷菜单中选择相应的启动命令或“停止”命令。(2) 熟悉对象资源管理器选择“开始”“所有程序”Microsoft SQL Server 2005SQL Server M
6、anagement Studio 命令,选择服务器名称和身份验证以及输入用户名和密码等。然后单击“连接”按钮进入“对象资源管理器”面板中。在“对象资源管理器”面板中可以进行注册和删除服务器。 (3) 熟悉查询分析器在 SQL Server Management Studio 窗口中,进入 SQL Server Management Studio查询窗口,即查询分析器。 在查询分析器的编辑面板中输入以下的查询语句: USE master SELECT * FROM spt_values单击“执行”按钮后分析“结果”和“信息”两个选项卡的内容,试分析一下为什么有这样的现象?实验结论:1.2.3 数
7、据库及其管理1) 用对象资源管理器创建一个数据库。数据库名称为“图书”,主数 据文件的逻辑名称为“图书_data ”,操作系统文件的名称为“d:图书_mdf ”,大小为30MB, 最大为 60MB,以 15%的速度增长。数据库的日志文件逻辑名称为“图书_log ”,操作系 统文件的名称为“d:图书_ldf ”,大小为3MB,最大为 15MB,以 1MB 的速度增长。 2) 使用对象资源管理器将数据库“图书”的初始分配空间大小扩充到45MB。3) 使用对象资源管理器将“图书”数据库的空间压缩至最小容量。 4) 使用对象资源管理器将“图书”数据库重新设置为只读状态。 5) 使用对象资源管理器将“图
8、书”数据库改名为“图书信息库”。 6) 使用对象资源管理器删除“图书信息库”数据库。实验结论:1.2.4 数据库中表的基本操作1) 在“对象资源管理器”面板中创建数据库“BookShop”。2) 在数据库“BookShop”中创建如下七张表:表1 Board的表结构字段名称说明数据结构约束Id公告编号int主键Title公告题目varchar(50)非空Content公告内容varchar(100)PostTime提交时间datetimePoster提交人varchar(20)表一:表2 BookType的表结构字段名称说明数据结构约束TypeId分类编号int主键TypeName分类名称va
9、rchar(50)非空表二:表3 Books的表结构字段名称说明数据结构约束Id记录编号int主键TypeId图书分类int外键BookName图书名称varchar(200)非空ISBN书号varchar(50)惟一Publisher出版社varchar(100)默认值“清华大学出版社”Author作者varchar(50)PageNum页数intPublishDate出版日期datetimeSalePrice销售价格floatStorePrice进货价格float小于“销售价格”Content图书简介varchar(1000)ReadCount阅读次数intBuyCount销售数量int取
10、值大于0表三:外键:唯一键:默认值:Check约束:表4 Basket的表结构字段名称说明数据结构约束Id编号int主键UserId用户名varchar(50)外键BookId图书编号int外键OrderTime订购时间datetime非空OrderCount订购数量int取值大于0SalePrice销售价格float取值大于0UserChecked用户确认(0-用户订购;1-送至收银台;2-提交订购)tinyint默认值为0OrderNumber订单号varchar(50)非空PostTime提交时间datetimeAdminChecked管理员确认(0-没有提交;1-用户提交;2-处理;3
11、-发货;4-结账)tinyint默认值为0表四:表5 Complain的表结构字段名称说明数据结构约束Id投诉编号int主键PostTime投诉时间datetime非空UserId用户名varchar(50)外键OrderNumber订单号OrderNumbervarchar(50)Content投诉内容varchar(1000)Result处理结果varchar(1000)Flag处理标志(0-未处理;1-已处理)bit默认值为0表五:表6 Users的表结构字段名称说明数据结构约束UserId用户名varchar(50)主键Pwd用户密码varchar(50)非空UserName用户姓名v
12、archar(50)Sex性别Char(2)取值为“男”或“女”Address地址varchar(500)Email电子邮件地址varchar(50)Telephone固定电话varchar(100)Mobile移动电话varchar(50)表六:Check约束:表7 Admin的表结构字段名称说明数据结构约束AdminId用户名varchar(50)主键Passwd密码varchar(50)非空AdminName用户姓名varchar(50)表七:3) 使用对象资源管理器修改表结构。 修改表名。 增加列。 删除列。 修改已有列的属性。4) 向Books表中插入如下数据。5) 修改表中数据。6
13、) 删除表中数据。实验结论:1.3实验中的问题及解决方法2. T-SQL 语言2.1实验目的复习SQL 语句(查、增、删、改),理解局部变量和全局变量的概念、定义和使用方法,掌握SQL Server中流程控制语句的使用。2.2实验步骤2.2.1 使用SQL语句(1) SELECT语句的基本使用1) 查询图书表books中的每本图书的所有数据。 select * from books2) 分别查询books表和BookType 表的全部信息。 select*from books select *from BookType3) 在图书books 表中查询每本图书的书名和销售价格。 select B
14、ookName SalePrice from books4) 在books 表中查询记录编号为“0003 ”的图书的书名和销售价格。 select BookName SalePrice from books where id=00035) 在 books 表中查询销售价格为 20 元的图书记录编号、书名和进货价格。使用 AS 子句将结果中指定目标列标题分别指定为图书记录编号、图书名和进货价格。 select id as 图书记录编号, bookname as 图书名, StorePrice as 进货价格 from books where SalePrice=206) 在books 表中查询出
15、销售价格在 1050 元之间的图书的书名和销售价格, 分别取别名为图书的书名和图书的销售价格。 select bookname as 图书的书名,Saleprice as 销售价格 from books where Saleprice10 and Saleprice10 and Saleprice(select avg(saleprice) from books)(3) 连接查询的使用1) 查询图书的书名、销售价格和图书分类名称。 select bookname,Saleprice,TypeId from books2) 查询订购时间在2010-8-25订购图书的用户姓名、地址、移动电话,所定
16、图书的书名、作者,以及订购数量。 select username,address,mobile,bookname,author,OrderCount from users,books,basket where USERS.USERID=BASKET.USERID AND BOOKS.ID=BASKET.BOOKID AND OrderTime=2010-8-25(4) 数据汇总1) 在books表中查询“清华大学出版社”所出书的平均销售价格。 select avg(saleprice) from Books where publisher=清华大学出版社2) 查询books 表中一共有多少本书
17、。 select COUNT(Id) from books(5) GROUP BY、ORDER BY 子句的使用1) 按出版社统计各个出版社所出书的平均销售价格。 select AVG(SALEPRICE) from BOOKS group by PUBLISHER2) 统计books 表中每个出版社一共有多少本书。 select COUNT(Id) from BOOKS group by PUBLISHER实验结论:2.2.2 T-SQL语言的基本使用(1) 使用局部变量、全局变量1)定义及使用局部变量 定义一个tinyint的整型变量,并分别给其赋值45、345,观察其执行结果。 DECL
18、ARE qingqiu tinyint SELECT qingqiu=45 SELECT qingqiu SET qingqiu=56 SELECT qingqiuGO 定义一个长度为9的可变长型字符变量,并分别给其赋值“Welcome to Beijing”及“Beijing”,观察其执行结果。 DECLARE qingqiu nvarchar(9) SET qingqiu = Welcom to beijing SELECT qingqiu SET qingqiu=beijing SELECT qingqiuGO2)使用全局变量 返回当前SQL Server服务器的版本。 select v
19、ersion 返回当天试图连接到本服务器的连接的数目。 select connections(2)函数的使用1)数学函数的使用分别用函数求出-2、1.2的绝对值,16的平方根及5的平方。 select ABS(-2) select ABS(1.2) select SQRT(16) select SQUARE(5) 2)字符串函数的使用 返回字符串“Abcd”第一个字符的ASCII码值。select ASCII(Abcd) 分别将字符串“china”、“MACHINE”转换成大写、小写字母。 select UPPER(china)select LOWER(MACHINE) 使用RTRIM和LTR
20、IM函数分别去掉字符串“机械工业”右边、左边及左右两边的空格,再与“中国”及“出版社”连接起来。 SELECT RTRIM(机械工业) SELECT LTRIM(机械工业) SELECT LTRIM(RTRIM(机械工业) SELECT 中国+LTRIM(RTRIM(机械工业)+出版社 使用SUBSTRING函数从字符串“中国机械工业出版社”中返回字符串“机械”,并使用REVERSE函数将字符串“机械”逆序返回。select REVERSE( SUBSTRING (中国机械工业出版社,3,2) 将字符串“abcdabcd”中的所有字符“a”换为字符“%”。select REPLACE(abcd
21、abcd,a,%)3)日期、时间函数的使用 使用getdate( )函数返回系统当前日期及当前日期的年份、月份及日期。select GETDATE(), YEAR(GETDATE() , MONTH(GETDATE() ,DAY(GETDATE() 使用datediff函数返回某个给定日期与当前系统日期相差的天数。 Select datediff(day,2011-8-22,getdate() 4)系统函数的使用 使用系统函数user_name( )、db_name( )显示正在使用的用户名、数据库名。selectUSER_NAME(),DB_NAME() 用全局变量返回数据库服务器名称。 s
22、elect version5)集合函数的使用求出BookShop数据库中Books表中所有书销售价格的平均价格、最高价格、最低价格。selectAVG(SALEPRICE),MAX(SALEPRICE),MIN(SALEPRICE) FROM BOOKS(3)流程控制语句的使用1)PRINT语句。用PRINT语句在屏幕上显示“I AM A STUDENT”.print I AM A STUDENT2)用IF语句判断。如果BookShop库中Books表中存在图书类型为“计算机类”的书,就显示“库中存在该类型图书”,否则显示“库中不存在该类型图书”。if exists(select books.
23、* from books ,booktypewhere books.typeid=booktype.typeid and typename=计算机类)print 库中存在该类型图书elseprint 库中不存在该类型图书3)使用CASE语句。 从BookShop库Books表中,选取书名、出版社,如果出版社为“清华大学出版社”则输出“中国最有实力的出版社之一”,如果是“海南出版社”,则输出“海外影响力最强的出版社之一”。select bookname,Publisher=case Publisherwhen 清华大学出版社 then 中国最有实力的出版社之一when海南出版社 then 海外影
24、响力最强的出版社之一endfrom books从BookShop库Books表中查询所有书的销售价格情况,凡销售价格为空的输出“未录入销售价格”,小于30元输出“价格适中”,30100元输出“价格偏高”,100300元输出“价格高”,300以上的输出“价格特别高”。select SalePrice=case when SalePrice30 and SalePrice100 and SalePrice300 then 价格高else 未录入销售价格Endfrom books4) 设置在2分钟后进行一次查询操作。use BookShopgobeginwaitfor delay 00:02sele
25、ct * from booksend 5)用WHILE语句求1100的和。Dec lare sum int ,count intselect sum=0,count=1while count500 AND SALEPRICE10002) 创建存储过程p_books_price,要求能根据用户给定的出版社,统计该出版社的出书的平均销售价格,并将平均销售价格以输出变量返回给用户。 并执行已经定义的存储过程。create proc p_books_price publisher varchar(100),avgprice float = 0 output as select avg(salepric
26、e) from books where publisher=publisher print avgprice3) 查看存储过程p_SalePrice_books的定义。sp_help p_SalePrice_books4)删除存储过程p_books_price。sp_help p_SalePrice_books实验结论:3.2.4触发器1) 使用CREATE TRIGGER 命令创建一个触发器books_tril,当向books 表中插入一条记录时,自动显示信息“数据插入成功”。在查询分析器中输入触发器的代码并执行。触发器建立完毕后,当向books表中插入一条记录后,观察窗口下方的消息变化。C
27、REATE TRIGGER books_tril on books for insert as print 数据插入成功2) 禁用或删除刚才创建的books_tri1 触发器。 drop TRIGGER books_tril3) 使用CREATE TRIGGER 命令创建一个触发器books_insert_tril,当向book2 表中插入一条记录时,自动显示 books 表中的记录.可参考本题的代码和步骤运行操作。插入一条 数据,并观察结果。CREATE TRIGGER books_insert_tril on books for insert as print 数据插入成功 select
28、* from books insert into books (id,bookname,storeprice) values(1,清秋,100) 4) 使用系统存储过程 sp_helptext 查看触发器books_insert_tril 的定义文本信息。sp_help books_insert_tril实验结论3.3实验中的问题及解决方法4. 数据库保护4.1实验目的掌握SQL Server 2005服务器的安全性机制及其运用,熟练掌握创建和管理安全账户、管理数据库用户、角色及权限。并掌握备份的创建、使用对象资源管理器和命令进行备份、恢复数据库的方法。4.2 实验步骤4.2.1 SQL Se
29、rver 2005的安全管理(1) 创建登录账户1) 使用对象资源管理器创建 SQL Server 2005 身份验证模式的登录,其中登录名称是bok_login1,密码是 123456,默认数据库是bookshop,其他保持默认值。 2) 使用系统存储过程 sp_addlogin 创建登录,其登录名是bok_login2,密码是 123456,默认数据库是bookshop。在“查询”窗口中输入和执行语句,并在“对象资源管理器”面板中显示其结果。 sp_addlogin book_login2, 123456,bookshop 4) 使用对象资源管理器删除bok_login1。5) 使用存储过
30、程sp_droplogin 从 SQL Server 2005 中删除登录账户bok_login2 。在“查询”窗口中输入和执行语句,并在“对象资源管理器”面板中显示其结果。sp_droplogin book_login2(2) 创建和管理数据库用户和角色1) 创建登录数据库名是 bok_user1,密码是 123456,默认数据库是 bookshop,并能连接到bookshop数据库的用户。2) 使用对象资源管理器创建数据库角色(标准角色),新角色名称是bok_role1 ;然后将角色成员 bok_user1添加到标准角色中,最后在“对象资源管理器”面板中删除数据库角色bok_role1。3
31、) 使用系统存储过程sp_addrole 添加名是bok_role2 的标准角色到bookshop 数据库。然后,使用系统存储过程 sp_droprole 删除book 数据库中名是bok_role2 的角色。sp_addrole bok_role2sp_droprole bok_role24) 使用系统存储过程 sp_addapprole创建名是 bok_role3的应用程序角色,授权bok_role3 具有books 表的 SELECT 权限,以bok_user1 身份连接另一查询分析器。sp_addapprole bok_role3,123456 grant select on book
32、s to bok_role35) 创建一个应用程序角色bok_approle,此角色能够访问bookshop 数据库,并具有读取、修改数据表的权限。sp_addapprole bok_approle ,123456 grant select on books to bok_approleGrant update on books to bok_approle(3) 管理权限 1) 把books 表的删除权限授给用户bok_user1。grant delete on books to bok_user1 2) 把对books 表的全部操作权限授予bok_user1 。 grant all on
33、books to bok_user1 3) 把对books 表的查询权限授予所有用户。 grant select on books to public 4) 把对books表的INSERT 权限授予用户bok_user1,并允许将此权限再授予其他用户。 grant insert on books to bok_user1 with grant option5) 撤销所有用户对books表的查询权限。 revoke select on books from public实验结论:4.2.2 数据库的备份与恢复1) 分别使用对象资源管理器和查询分析器为数据库bookshop 做一次完全数据库备份。 2) 数据库bookshop建立完全备份后,在数据库 bookshop中建立两个新表(new1,new2),然后