1、数据库编程技术实验指导书计算机专业教研室海口经济学院2009 年 9 月目 录实验一 图书管理系统表的设计 .1实验二 图书管理系统存储过程设计 .9实验三 图书管理系统触发器的设计 .13实验四 事务控制与并发处理 .19-1-实验一 图书管理系统表的设计【实验目的】表的创建,主外键的设置,数据库四大基本操作。【实验内容】(1) 表的设计。(2) 四大基本操作【实验步骤】一、数据库的启动图 1.1 数据库启动页面二、数据库启动默认界面图 1.2 数据库启动页面三、表的可视化创建:-2-1. 创建 BookManager 数据库。图 1.3 创建 BookManager 数据库图 1.4 Bo
2、okManager 数据库创建成功界面2. 创建 ManagerUser 表,并设置 UserID 为主键。设置主键 UserID 标识规范,标识增量为 1,标识种子为 1。-3-图 1.5 创建 ManagerUser 表图 1.6 ManagerUser 表3. 设置 UserName 字段为索引。-4-图 1.7 UserName 字段设为索引图 1.8 ManagerUser 表打开界面4. 填入数据:图 1.9 ManagerUser 中填入数据5. 同样创建其他的表格,表格名称与各表字段定义如下:1)表名:PublishCompany字段:填充数据:-5-2)表名:Book字段:
3、填充数据:3)表名:Reader字段:填充数据:-6-4)表名:BorrowBook字段:填充数据:四、表的 sql 语句操作: 1ManagerUser 表创建与基本操作:CREATE TABLE ManagerUser1(UserID int IDENTITY(1,1) NOT NULL,UserName varchar(20) NOT NULL,UserPassword varchar(10) NOT NULL,UserSort varchar(10) NULL,CONSTRAINT PK_ManagerUser1 PRIMARY KEY (UserID ASC)插入:insert in
4、to ManagerUser1 values(张三 ,123456,系统管理员)查询:select UserName,UserPassword from ManagerUser1select * from ManagerUser1更新:-7-update ManagerUser1 set UserName = 张雷 where UserID = 1删除:delete ManagerUser1where UserID = 1删除表:drop table ManagerUser1五 设置主外键关系:1. 点击 数据关系图,右键 选择 创建数据关系图。选中 Book 表,BorrowBook 表,M
5、anagerUser 表,PublishCompany 表和 Reader 表。点击添加。图 2.0 选中要建立数据关系他表图 2.1 未建立主外键关系-8-2. 设置五表之间的数据关系图 2.2 建立主外键关系后的数据关系图【实验报告要求】报告请用专门的实验报告纸书写,字迹清晰,格式规范。报告中应写清姓名、学号、实验日期、实验题目、实验目的、实验内容及实验过程。依据具体的试验内容,写出详细的试验步骤。9实验二 图书管理系统存储过程设计【实验目的】掌握存储过程的创建与执行,完成图书管理系统存储过程的创建。【实验内容及步骤】一 ManagerUser 表的存储过程创建与执行SQL调用例程:过程或
6、者函数,存储过程,用户自定义函数(三种类型)存储过程:是由SQL语句和流控制语句构成的语句串,输入参数,输出参数优点:1.允许组件式编程2.执行速度快3.降低网络负载4.可以作为一种安全机制流控制语句:begin.end/if else/while break continue/declare/goto label/return/waitfor/print/*/1.依次点击:可编程性,存储过程工具栏。右键 新建存储过程。图 2.1 默认的存储过程语法规则2. ManagerUser 表插入操作存储过程的创建:CREATE PROCEDURE spManagerUserInsertpUserID
7、 INT OUTPUT,10pUserNameVARCHAR(20),pUserPassword VARCHAR(10),pUserSort VARCHAR(10) = nullASBEGININSERT INTO ManagerUser(UserName,UserPassword,UserSort)VALUES (pUserName,pUserPassword,pUserSort)SET pUserId = IDENT_CURRENT(ManagerUser);END存储过程的执行:execute spManagerUserInsert 1,张小红, 123456,系统管理员3. Manag
8、erUser 表查询操作存储过程的创建CREATE PROCEDURE spManagerUserSelectByIDpUserId INTASBEGINSELECT UserID,UserName,UserPassword,UserSortFROM ManagerUserWITH (NOLOCK)WHERE UserID = pUserIdEND 11存储过程的执行:execute spManagerUserSelectByID 34. ManagerUser 表更新操作存储过程的创建:CREATE PROCEDURE spManagerUserUpdateByIDpUserId INT,p
9、UserNameVARCHAR(20),pUserPassword VARCHAR(10),pUserSort VARCHAR(10) = nullASBEGINUPDATE ManagerUserSETUserName = pUserName,UserPassword = pUserPassword,UserSort = pUserSortWHEREUserID = pUserIdEND存储过程的执行:execute spManagerUserUpdateByID 1,张三,434343434,系统操作员5. ManagerUser 表删除操作存储过程的创建:CREATE PROCEDURE
10、 spManagerUserDeleteByIDpUserId INTASBEGINDELETE ManagerUserWHEREUserID = pUserIdEND存储过程的执行:exec spManagerUserDeleteByID 4126.控制流语句 if else/declare/print基本用法:declare result varchar(20)select result =UserSortfrom ManagerUserwhere UserID= 2if result = 系统操作员print 系统操作员select result as UserSort与存储过程结合使用
11、:declare UserID int,UserName varchar(20),UserPassword varchar(10),UserSort varchar(10)set UserName=小红set UserPassword = 123456set UserSort=系统管理员execute spManagerUserInsert UserID output,UserName,UserPassword,UserSortselect UserID as 生成的用户 ID7.简单介绍存储过程与数据访问层的关系。二 上机结果:设计好 BookManager 的五个表和相应的存储过程,每个表
12、有四个存储过程。【实验报告要求】报告请用专门的实验报告纸书写,字迹清晰,格式规范。报告中应写清姓名、学号、实验日期、实验题目、实验目的、实验内容及实验过程。依据具体的试验内容,写出详细的试验步骤。13实验三 图书管理系统触发器的设计【实验目的】掌握触发器的创建与执行,完成图书管理系统触发器的创建。【实验内容及步骤】一、触发器创建的初始界面图 1.1 触发器创建默认语法二、触发器进行完整性控制实例create trigger Book_Inserton Bookfor insert asdeclare BookAmount int,BookRemain intselect BookAmount=
13、BookAmount,BookRemain=BookRemain14from insertedif(BookAmount0begin waitfor delay 00:00:10print 不重复读,即两次select语句结果不同select * from Table_testend-用户1和用户2先后访问Table_test表,事务隔离级别为read committed 后果:不可重复读-用户2的代码:set transaction isolation level read committedupdate Table_test set C=cprint 更新后表中的数据select * fr
14、om Table_test-用户1和用户2先后访问Table_test表,事务隔离级别为repeatable read 后果:幻读-用户2的代码:set transaction isolation level repeatable readinsert into Table_test values (a4,b4,c4)print 更新后表中的数据select * from Table_test六 上机结果:在图书管理系统的存储过程里加入事务操作,涉及五个表的所有存储过程。【实验报告要求】报告请用专门的实验报告纸书写,字迹清晰,格式规范。报告中应写清姓名、学号、实验日期、实验题目、实验目的、实验内容及实验过25程。依据具体的试验内容,写出详细的试验步骤26