neusoft数据库实验报告_第1页
neusoft数据库实验报告_第2页
neusoft数据库实验报告_第3页
neusoft数据库实验报告_第4页
neusoft数据库实验报告_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大连东软信息学院电商系统功能开发技能实习手册 系 别: 专业班级: 学 号: 学生姓名 指导教师: 第一部分SQL Server 2005 数据库1. 数据库基本操作1.1实验目的安装SQL Server 2005;了解SQL Server 2005 各组件;建立和删除数据库;理解SQL Server的数据类型,建立、删除和修改表。1.2实验步骤 安装SQL Server 20051) 将SQL Server 2005的安装光盘放入光驱中,运行光驱中的autorun.exe程序,出现安装启动画面。2) 在弹出的“最终用户许可协议”对话框中,选择“我接收许可条款和条件”复选框。然后单击“下一步”

2、按钮。3) 接着,在弹出的“安装必备组件”对话框中列出了安装SQL Server 2005之前所需的所有必要组件。单击“安装”按钮,开始安装和配置这些组件。4) 安装完成后,单击“下一步”按钮,启动“安装向导”对话框。5) 单击“下一步”按钮,打开“系统配置检查”对话框。6) 单击“下一步”按钮,弹出“注册信息”对话框,输入姓名、公司名称和注册码后,单击“下一步”按钮。7) 接着,会打开“要安装的组件”对话框。在此对话框中,选择要安装的组件。 8) 单击“下一步”按钮,打开“实例名”对话框。9) 选择“默认实例”单选项,单击“下一步”按钮,打开“服务账户”对话框。10) 配置完成后,单击“下一

3、步”按钮,打开“身份验证模式”对话框。11) 单击“下一步”按钮,打开“排序规则设置”对话框。12) 单击“下一步”按钮,打开“错误和使用情况报告设置”对话框。13) 单击“下一步”按钮,打开“准备安装”对话框。14) 单击“安装”按钮,开始安装SQL Server 2005的选定组件。15) 安装完成后,单击“下一步”按钮,打开“完成Microsoft SQL Server 2005安装”对话框,显示摘要日志等信息。单击“完成”按钮,此时会提示重新启动计算机,选择“是”,重新启动计算机后,完成安装。实验结论:正确安装 SQL Server主要组件(1) 启动、停止数据库服务器在“开始”菜单中

4、启动1) 选择开始“所有程序”Microsoft SQL Server 2005“配置工具”SQL Server Configuration Manager 命令。进入 SQL Server Configuration Manager 窗口后,选择左边的“SQL Server 2005 服务” 选项,在右边会显示出相应的服务器。这时分别可进行服务器的启动和停止操作。2) 可以设置服务器在开机时自动启动或禁用。操作如下:在 SQL Server Configuration Manager 窗口中选择要启动或禁用的服务器右击,选择“属性”命令进入相应服务的属性界面,选择“服务”选项卡,然后再选择“

5、启动模式”后面的选项,其中“自动”选项即为服务器在开机启动时自动启动。“已禁用”选项即为暂停使用。“手动”选项即为每次要手动启用相应的服务器。3) 使用“控制面板”窗口中的“服务”应用程序启动或停止服务器。 打开“控制面板”窗口,双击“管理工具”图标,再双击“服务”图标,然后找到要启动或停止的服务器右击,在弹出的快捷菜单中选择相应的启动命令或“停止”命令。(2) 熟悉对象资源管理器选择“开始”“所有程序”Microsoft SQL Server 2005SQL Server Management Studio 命令,选择服务器名称和身份验证以及输入用户名和密码等。然后单击“连接”按钮进入“对象

6、资源管理器”面板中。在“对象资源管理器”面板中可以进行注册和删除服务器。 (3) 熟悉查询分析器在 SQL Server Management Studio 窗口中,进入 SQL Server Management Studio查询窗口,即查询分析器。 在查询分析器的编辑面板中输入以下的查询语句: USE master SELECT * FROM spt_values单击“执行”按钮后分析“结果”和“信息”两个选项卡的内容,试分析一下为什么有这样的现象?实验结论:(1)1.2.3 数据库及其管理1) 用对象资源管理器创建一个数据库。数据库名称为“图书”,主数 据文件的逻辑名称为“图书_data

7、 ”,操作系统文件的名称为“d:图书_mdf ”,大小为30MB, 最大为 60MB,以 15%的速度增长。数据库的日志文件逻辑名称为“图书_log ”,操作系 统文件的名称为“d:图书_ldf ”,大小为3MB,最大为 15MB,以 1MB 的速度增长。 2) 使用对象资源管理器将数据库“图书”的初始分配空间大小扩充到45MB。3) 使用对象资源管理器将“图书”数据库的空间压缩至最小容量。 4) 使用对象资源管理器将“图书”数据库重新设置为只读状态。 5) 使用对象资源管理器将“图书”数据库改名为“图书信息库”。 6) 使用对象资源管理器删除“图书信息库”数据库。实验结论:1.2.4 数据库

8、中表的基本操作1) 在“对象资源管理器”面板中创建数据库“BookShop”。2) 在数据库“BookShop”中创建如下七张表:表1 Board的表结构字段名称说明数据结构约束Id公告编号int主键Title公告题目varchar(50)非空Content公告内容varchar(100)PostTime提交时间datetimePoster提交人varchar(20)表2 BookType的表结构字段名称说明数据结构约束TypeId分类编号int主键TypeName分类名称varchar(50)非空表3 Books的表结构字段名称说明数据结构约束Id记录编号int主键TypeId图书分类int

9、外键BookName图书名称varchar(200)非空ISBN书号varchar(50)惟一Publisher出版社varchar(100)默认值“清华大学出版社”Author作者varchar(50)PageNum页数intPublishDate出版日期datetimeSalePrice销售价格floatStorePrice进货价格float小于“销售价格”Content图书简介varchar(1000)ReadCount阅读次数intBuyCount销售数量int取值大于0表4 Basket的表结构字段名称说明数据结构约束Id编号int主键UserId用户名varchar(50)外键Bo

10、okId图书编号int外键OrderTime订购时间datetime非空OrderCount订购数量int取值大于0SalePrice销售价格float取值大于0UserChecked用户确认(0-用户订购;1-送至收银台;2-提交订购)tinyint默认值为0OrderNumber订单号varchar(50)非空PostTime提交时间datetimeAdminChecked管理员确认(0-没有提交;1-用户提交;2-处理;3-发货;4-结账)tinyint默认值为0表5 Complain的表结构字段名称说明数据结构约束Id投诉编号int主键PostTime投诉时间datetime非空Use

11、rId用户名varchar(50)外键OrderNumber订单号varchar(50)Content投诉内容varchar(1000)Result处理结果varchar(1000)Flag处理标志(0-未处理;1-已处理)bit默认值为0表6 Users的表结构字段名称说明数据结构约束UserId用户名varchar(50)主键Pwd用户密码varchar(50)非空UserName用户姓名varchar(50)Sex性别Varchar(2)取值为“男”或“女”Address地址varchar(500)Email电子邮件地址varchar(50)Telephone固定电话varchar(10

12、0)Mobile移动电话varchar(50)表7 Admin的表结构字段名称说明数据结构约束AdminId用户名varchar(50)主键Passwd密码varchar(50)非空AdminName用户姓名varchar(50)3) 使用对象资源管理器修改表结构。 修改表名。 增加列。 删除列。 修改已有列的属性。4) 向Books表中插入如下数据。5) 修改表中数据。6) 删除表中数据。实验结论:1.3实验中的问题及解决方法2. T-SQL 语言2.1实验目的复习SQL 语句(查、增、删、改),理解局部变量和全局变量的概念、定义和使用方法,掌握SQL Server中流程控制语句的使用。2.

13、2实验步骤 使用SQL语句(1) SELECT语句的基本使用1) 查询图书表books中的每本图书的所有数据。 select * from books 2) 分别查询books表和BookType 表的全部信息。 select*from books select *from BookType 3) 在图书books 表中查询每本图书的书名和销售价格。 select BookName SalePrice from books4) 在books 表中查询记录编号为“YBZT0003 ”的图书的书名和销售价格。 select BookName SalePrice from books where i

14、d=YBZT00035) 在 books 表中查询销售价格为 20 元的图书记录编号、书名和进货价格。使用 AS 子句将结果中指定目标列标题分别指定为图书记录编号、图书名和进货价格。 select id as 图书记录编号, bookname as 图书名, StorePrice as 进货价格 from books where SalePrice=206) 在books 表中查询出销售价格在 1050 元之间的图书的书名和销售价格, 分别取别名为图书的书名和图书的销售价格。 select bookname as 图书的书名,Saleprice as 销售价格from books where

15、Saleprice10 and Saleprice10 and Saleprice (select avg(saleprice) from books)(3) 连接查询的使用1) 查询图书的书名、销售价格和图书分类名称。 select bookname,Saleprice ,TypeId from books where BookType TypeId=Books TypeId2) 查询订购时间在2010-8-25订购图书的用户姓名、地址、移动电话,所定图书的书名、作者,以及订购数量。 select username,address,mobile,bookname,author,OrderCo

16、unt 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 表中一共有多少本书。 select COUNT(Id) from books(5) GROUP BY、ORDER BY 子句的使用1) 按出版社统计各个出版社所

17、出书的平均销售价格。 SELECT AVG(SALEPRICE) FROM BOOKS GROUP BY PUBLISHER2) 统计books 表中每个出版社一共有多少本书。SELECT COUNT(Id) FROM BOOKS GROUP BY PUBLISHER实验结论: T-SQL语言的基本使用(1) 使用局部变量、全局变量1)定义及使用局部变量 定义一个tinyint的整型变量,并分别给其赋值45、345,观察其执行结果。DECLARE local_tinyint_tinyint tinyintSELECT local_tinyint_tinyint=45SELECT local_t

18、inyint_tinyintSET local_tinyint_tinyint =345SELECT local_tinyint_tinyintGO 定义一个长度为9的可变长型字符变量,并分别给其赋值“Welcome to Beijing”及“Beijing”,观察其执行结果。DECLARE local_variable_char nvarchar(9)SET local_variable_char = Welcom to beijingSELECT local_variable_charSET local_variable_char =beijingSELECT local_variable

19、_charGO2)使用全局变量 返回当前SQL Server服务器的版本。DECLARE local_variable_char nvarchar(9)SET local_variable_char = Welcom to beijingSELECT local_variable_charGO 返回当天试图连接到本服务器的连接的数目。DECLARE local_connections_char nvarchar(9)SET local_connections_char = Welcom to beijingSELECT local_connections_charGO(2)函数的使用1)数学函

20、数的使用分别用函数求出-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和LTRIM函数分别去掉字符串“机械工业”右边、左边及左右两边的空格,再与“中国”及“出版社”连接起来。SELECT中国+RTRIM(机械

21、工业)SELECT LTRIM( 机械工业)+出版社SELECT 中国+LTRIM(RTRIM(机械工业)+出版社 使用SUBSTRING函数从字符串“中国机械工业出版社”中返回字符串“机械”,并使用REVERSE函数将字符串“机械”逆序返回。SELECT REVERSE( SUBSTRING (中国机械工业出版社,3,2) 将字符串“abcdabcd”中的所有字符“a”换为字符“%”。SELECT REPLACE(abcdabcd,a,%)3)日期、时间函数的使用 使用getdate( )函数返回系统当前日期及当前日期的年份、月份及日期。SELECT GETDATE(), YEAR(GETD

22、ATE() , MONTH(GETDATE() ,DAY(GETDATE() 使用datediff函数返回某个给定日期与当前系统日期相差的天数。Select datediff(day,2010-1-1,getdate()4)系统函数的使用 使用系统函数user_name( )、db_name( )显示正在使用的用户名、数据库名。SELECT USER_NAME(),DB_NAME()5)集合函数的使用求出BookShop数据库中Books表中所有书销售价格的平均价格、最高价格、最低价格。SELECT AVG(SALEPRICE),MAX(SALEPRICE),MIN(SALEPRICE) FR

23、OM BOOKS(3)流程控制语句的使用1)PRINT语句。用PRINT语句在屏幕上显示“I AM A STUDENT”.print I AM A STUDENT2)用IF语句判断。如果BookShop库中Books表中存在图书类型为“计算机类”的书,就显示“库中存在该类型图书”,否则显示“库中不存在该类型图书”。 if exists(select book.* from books ,booktype where books.typeid=booktype.typeid and typename=计算机类) print 库中存在该类型图书 else print 库中不存在该类型图书3)使用C

24、ASE语句。 从BookShop库Books表中,选取书名、出版社,如果出版社为“清华大学出版社”则输出“中国最有实力的出版社之一”,如果是“海南出版社”,则输出“海外影响力最强的出版社之一”。select bookname,Publisher from bookscase when 清华大学出版社 then 中国最有实力的出版社之一 when海南出版社 then 海外影响力最强的出版社之一从BookShop库Books表中查询所有书的销售价格情况,凡销售价格为空的输出“未录入销售价格”,小于30元输出“价格适中”,30100元输出“价格偏高”,100300元输出“价格高”,300以上的输出“

25、价格特别高”。select SalePrice case when SalePrice is null then 未录入销售价格 when SalePrice30 and SalePrice100 and SalePrice300 then 价格高else 价格特别高endfrom books4)设置在2分钟后进行一次查询操作。 use pubs go begin waitfor delay 00:02 select * from titlesend5)用WHILE语句求1100的和。declare sum int ,count int select sum=0,count=1while co

26、unt500 and Saleprice10002)创建存储过程p_books_price,要求能根据用户给定的出版社,统计该出版社的出书的平均销售价格,并将平均销售价格以输出变量返回给用户。 并执行已经定义的存储过程。Create proc p_books_price publisher varchar(50),avgprice float=0 outputAsSelect AVG(Saleprice) from books Where publisher=publisherPrint avgpriceExec p_books_price 清华大学出版社3)查看存储过程p_SalePrice

27、_books的定义。Exec sp_helptext p_SalePrice_books 4)删除存储过程p_books_price。DROP PROCEDURE p_books_price触发器1)使用CREATE TRIGGER 命令创建一个触发器books_tril,当向books 表中插入一条记录时,自动显示信息“数据插入成功”。在查询分析器中输入触发器的代码并执行。触发器建立完毕后,当向books表中插入一条记录后,观察窗口下方的消息变化。Create trigger books_trilOn booksFor insertAs Print数据插入成功“Select * from b

28、ooksInsert into booktypeValues(“1”,”JSJL”)Insert into books(id,typeid,storeprice)Values (1”,”1”,36) Declare note char(50)Select note=”数据插入成功“ from insertedUpdate books set note=noteFrom books.insertedWhere books.Id=inserted.booksId 2)禁用或删除刚才创建的books_tri1 触发器。 DROP TRIGGER books_tril13)使用CREATE TRIGG

29、ER 命令创建一个触发器books_insert_tril,当向book2 表中插入一条记录时,自动显示 books 表中的记录.可参考本题的代码和步骤运行操作。插入一条 数据,并观察结果。CREATE TRIGGER BOOKS_INSERT_TRIL ON BOOKS FOR INSERTAS SELECT *FROM BOOKS INSERT INTO BOOKTYPEVALUES(1,JSJL)INSERT INTO BOOKS (ID,TYPEID,STOREPRICE)VALUES(1,1,36)4)使用系统存储过程 sp_helptext 查看触发器books_insert_tr

30、il 的定义文本信息。 EXEC sp_helptext books_insert_tril3.3实验中的问题及解决方法数据库保护4.1实验目的掌握SQL Server 2005服务器的安全性机制及其运用,熟练掌握创建和管理安全账户、管理数据库用户、角色及权限。并掌握备份的创建、使用对象资源管理器和命令进行备份、恢复数据库的方法。4.2 实验步骤 SQL Server 2005的安全管理(1) 创建登录账户1) 使用对象资源管理器创建 SQL Server 2005 身份验证模式的登录,其中登录名称是bok_login1,密码是 123456,默认数据库是bookshop,其他保持默认值。 2

31、) 使用系统存储过程 sp_addlogin 创建登录,其登录名是bok_login2,密码是 123456,默认数据库是bookshop。在“查询”窗口中输入和执行语句,并在“对象资源管理器”面板中显示其结果。 exec sp_addlogin bok_login2,123456,bookshop4) 使用对象资源管理器删除bok_login1。5) 使用存储过程sp_droplogin 从 SQL Server 2005 中删除登录账户bok_login2 。在“查询”窗口中输入和执行语句,并在“对象资源管理器”面板中显示其结果。exec sp_droplogin bok_login2(2) 创建和管理数据库用户和角色1) 创建登录数据库名是 bok_user1,密码是 123456,默认数据库是 bookshop,并能连接到bookshop数据库的用户。2) 使用对象资源管理器创建数据库角色(标准角色),新角色名称是bok_role1 ;然后将角色成员 bok_user1添加到标准角色中,最后在“对象资源管理器”面板中删除数据库角色bok_role1。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论