电气工程
会计论文
金融论文
国际贸易
财务管理
人力资源
学前教育
德语论文
工程管理
文化产业
机械设计
汉语文学
英语论文
物流论文
电子商务
法律论文
工商管理
旅游管理
市场营销
药学论文
制药工程
生物工程
包装工程
模具设计
测控专业
工业工程
教育管理
行政管理
计算机论
电子信息
体育教育
小学教育
印刷工程
土木工程
书法论文
护理论文
心理学论
信息管理
公共事业
给水排水
范文首页
|
毕业论文
|
论文范文
|
计算机论文
|
外文翻译
|
工作总结
|
工作计划
|
现成论文
|
论文下载
|
教学设计
|
免费论文
|
原创论文
|
全站搜索
搜索
高级搜索
当前位置:
论文同学网:毕业论文范文网-论文范文
->
免费论文
->
计算机论文
数据库设计教材管理系统(二)
作者: 浏览:
2
次
免费专业论文
政治工作论文
计算机论文
营销专业论文
工程管理论文范文
医药医学论文范文
法律论文范文
生物专业论文
物理教学论文范文
人力资源论文范文
化学教学论文范文
电子专业论文范文
历史专业论文
电气工程论文
社会学专业论文
英语专业论文
行政管理论文范文
语文专业论文
电子商务论文范文
焊工钳工技师论文
社科文学论文
教育论文范文
数学论文范文
物流论文范文
建筑专业论文
食品专业论文
财务管理论文范文
工商管理论文范文
会计专业论文范文
专业论文格式
化工材料专业论文
英语教学专业论文
电子通信论文范文
旅游管理论文范文
环境科学专业论文
经济论文
人力资源论文范文
营销专业论文范文
财务管理论文范文
物流论文范文
财务会计论文范文
数学教育论文范文
数学与应用数学论文
电子商务论文范文
法律专业论文范文
工商管理论文范文
汉语言文学论文
计算机专业论文
教育管理论文范文
现代教育技术论文
小学教育论文范文
机械模具专业论文
报告,总结,申请书
心理学论文范文
学前教育论文范文
收费计算机专业论文
Delphi
ASP
VB
JSP
ASP.NET
VB.NET
java
VC
pb
VS
dreamweaver
c#.net
vf
VC++
计算机论文
毕业论文范文题目:
数据库设计教材管理系统(二)
,论文范文关键词:
数据库设计教材管理系统(二)
数据库设计教材管理系统(二)毕业论文范文介绍开始:
数据库设计教材管理系统
2.4 数据字典
2.4.1.把各数据项的描述信息按下表格式组成数据字典
班级表的结构
字段名
数据类型
说明
班级名
文本(索引)
主键,字段大小为20
入学时间
日期/时间
所在院系
文本
字段大小为20
班长
文本
字段大小为8
班长联系电话
文本
字段大小为20
班主任
文本
预算科目代码,字段大小为8
班主任联系电话
文本
预算科目代码,字段大小为20
操作员
文本
业务金额,字段大小为8
最后修改时间
日期/时间
书费
货币
所学专业
文本
字段大小为20
班级总人数
数字
整型
买书人数
数字
整型
单位信息表的结构
字段名
数据类型
说明
单位名
文本(索引)
主键,字段大小为20
负责人
文本
字段大小为8
联系电话
文本
字段大小为50
书费
货币
操作员
文本
字段大小为8
最后修改时间
日期时间
学生书费历史表的结构
字段名
数据类型
说明
班级名
文本
字段大小为20
上期费用
货币
本次费用
货币
本期费用
货币
经办人
文本
字段大小为8
上期数量
数字
整型
本次数量
数字
整型
操作员
文本
字段大小为8
最后修改时间
日期时间
说明
文本
字段大小为50
班级人数
数字
整型
id
自动编号
主键,长整型 递增
教材表的结构
字段名
数据类型
说明
教材名
文本
字段大小为50
出版社
文本
字段大小为50
作者
文本
字段大小为8
获奖情况
文本
字段大小为50
出版年月
日期时间
订书单位
文本
字段大小为50
经办人
文本
字段大小为8
教材数量
数字
整型
教材单价
货币
使用说明
文本
字段大小为50
入库时间
日期时间
说明
文本
字段大小为50
操作员
文本
字段大小为8
最后修改时间
日期时间
Id
自动编号
主键,长整型 递增
教材出入库历史表的结构
字段名
数据类型
说明
教材名
文本
字段大小为50
出版社
文本
字段大小为50
获奖情况
文本
字段大小为50
出版年月
日期时间
经办单位
文本
字段大小为50
经办人
文本
字段大小为8
上期数量
数字
整型
本次数量
数字
整型
本期数量
数字
整型
教材单价
货币
使用说明
文本
字段大小为50
入库时间
日期时间
说明
文本
字段大小为50
操作员
文本
字段大小为8
最后修改时间
日期时间
id
自动编号
主键,长整型 递增
操作用户表的结构
字段名
数据类型
说明
用户名
文本
主键,字段大小为8
密码
文本
字段大小为8
所在单位
文本
字段大小为50
权限一
是/否
管理权
权限二
是/否
收费权
权限三
是/否
出入库权
权限四
是/否
查询权
操作员
文本
字段大小为8
最后修改时间
日期/时间
不购书原因记录
字段名
数据类型
说明
班级名
文本
主键
所在专业
文本
字段大小为50
太贵
数字
整型
与专业不符
数字
整型
没必要
数字
整型
其他
数字
整型
2.4.2数据库关联图
第3章 总体设计
3.1 软件设计流程图
3.2 软件功能模块图
图3.2.1 软件功能模块图
对象如下:
3、(1)班级
班级领书过程图
(2)教材管理员
教材管理员的工作流程图
(3)财务室
(4)教师
(5)教材
(6)出版社
处理要求及功能
(1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:
图书信息的录入、删除及修改。
图书信息的多关键字检索查询。
图书的出借和返还。
(2)能够对一定数量的读者进行相应的信息存储与管理,这其中包括:
读者信息的录入、删除及修改。
读者资料的统计与查询。
(3)能够对一定数量的出版社进行相应的信息存储与管理,这其中包括:
出版社信息的录入、删除及修改。
出版社资料的统计与查询。
(4)能够对一定数量的书架进行相应的信息存储与管理,这其中包括:
书架信息的录入、删除及修改。
书架资料的统计与查询。
(5)能够对一定数量的作者进行相应的信息存储与管理,这其中包括:
作者信息的录入、删除及修改。
作者资料的统计与查询。
(6)对查询、统计的结果能够列表显示。
4、概念模型设计
根据数据对象各实体的属性先设计出局部E-R图,然后设计出出总体E-R图,最后解决各局部E-R图间的冲突问题。
5、数据库需要表达的信息有以下几种:设计分步E-R图如下:
(1)班级信息
(2)教材管理员信息
(3)财务室信息
(4)教师信息
(5)教材信息
(6)出版社信息
数据字典(略)
设计总E-R图如下:
4、逻辑设计
6、通过E/R模型到关系模型的转化,可以得到如下关系模式:
(1)Class(ID,College,Depart,Major,Members,Costs)
(2)TestbookManager(ID,Name,Sex)
(3)FinanceManger(ID,Name,Sex,Incomes)
(4)Teacher(ID,TName,Sex,Classname, Testbook)
(5)Testbook(ISBN,Bookname,Autuer,Type,Price,Major)
(6)Publisher(ID,Pubname,Address)
5、物理设计
为了提高在表中搜索元组的速度,在实现时应该基于码建立索引。建立索引的表项如下:
(1)Part(ID)
(2)Provider(ID)
(3)Customer(ID)
(4)Supply(PartID, ProviderID)
(5)OfferToBuy(CustomerID, PartID)
(6)Business(CustomerID, ProviderID, PartID)
6、用SQL实现
(1)建立Part表
(1)CREATE TABLE Part(
ID smallint
IDENTITY(1,1)
PRIMARY KEY CLUSTERED,
Color varchar(20),
Name varchar(20) NOT NULL,
Weight int DEFAULT 0,
Intro text
);
(2)建立Provider表
CREATE TABLE Provider(
ID smallint
IDENTITY(1,1)
PRIMARY KEY CLUSTERED,
Name varchar(20)NOT NULL,
password varchar(8) NOT NULL,
Address varchar(30),
Tel varchar(20),
Intro text
);
(3)建立Customer表
CREATE TABLE Customer(
ID smallint
IDENTITY(1,1)
PRIMARY KEY CLUSTERED,
Name varchar(20)NOT NULL,
Address varchar(30),
Tel varchar(20),
);
(4)建立Supply表
CREATE TABLE Supply(
PartID smallint,
ProviderID smallint,
Price int,
Quantity int,
CONSTRAINT PK_SUPPLY
PRIMARY KEY CLUSTERED(PartID, ProviderID),
CONSTRAINT PK_SUPPLY_PARTID
FOREIGN KEY(PartID)
REFERENCES Part(ID),
CONSTRAINT PK_SUPPLY_PROVIDERID
FOREIGN KEY(ProviderID)
REFERENCES Provider(ID)
);
(5)建立OfferToBuy表
CREATE TABLE OfferToBuy(
CustomerID smallint,
PartID smallint,
Price int,
Quantity int,
CONSTRAINT PK_OFFERTOBUY
PRIMARY KEY CLUSTERED(PartID, ProviderID),
CONSTRAINT PK_OFFERTOBUY_CUSTOMERID
FOREIGN KEY(CustomerID)
REFERENCES Part(ID),
CONSTRAINT PK_OFFERTOBUY_PARTID
FOREIGN KEY(PartID)
REFERENCES Part(ID)
);
(6)建立Business表
CREATE TABLE Business(
CustomerID smallint,
ProviderID smallint,
PartID smallint,
Price int,
Quantity int,
CONSTRAINT PK_BUSINESS
PRIMARY KEY CLUSTERED(PartID, ProviderID,CustomerID),
CONSTRAINT PK_BUSINESS_PROVIDERID
FOREIGN KEY(ProviderID)
REFERENCES Provider(ID),
CONSTRAINT PK_BUSINESS_CUSTOMERID
FOREIGN KEY(CustomerID)
REFERENCES Customer(ID)
CONSTRAINT PK_BUSINESS_PARTID
FOREIGN KEY(PartID)
REFERENCES Part(ID)
);
(7)供应商操作
1)注册
INSERT INTO Provider(Name,Address,Tel,Intro)
VALUES(#Name, #Address, #Tel, #Intro);
2)注销
DELETE Provider
WHERE(ID=#ID);
3)修改个人信息
UPDATE Provider
SET(Name=#Name, Address=#Address, Tel=#Tel, Intro=#Intro)
WHERE(ID=#ID);
4)增加供应项
INSERT INTO Supply(PartID,ProviderID,Price,Quantity)
VALUES(#PartID, #ProviderID, #Price, #Quantity);
5)删除供应项
DELETE Supply
WHERE(PartID=#PartID AND ProviderID=#ProviderID);
6)修改供应项
UPDATE Supply SET(Price=#Price, Quantity=#Quantity)
WHERE(PartID=#PartID AND ProviderID=#ProviderID);
注意:系统没有提供面向供应商修改零件信息的接口,所以供应商提供的零件必须已经在零件表中存在;可以这样假设,交易所的管理员负责更新零件信息,而供应商可以向交易所申请增加某种零件的信息。事实上,顾客也可以提出这样的要求。
(8)顾客操作
1)注册
INSERT INTO Customer(Name,Address,Tel)
VALUES(#Name, #Address, #Tel);
2)注销
DELETE Customer
WHERE(ID=#ID);
3)修改个人信息
UPDATE Customer SET(Name=#Name, Address=#Address, Tel=#Tel)
WHERE(ID=#ID);
4)增加需求项
INSERT INTO OfferToBuy(PartID,CustomerID,Price,Quantity)
VALUES(#PartID, #CustomerID, #Price, #Quantity);
5)删除需求项
DELETE OfferToBuy
WHERE(PartID=#PartID AND CustomerID=#CustomerID);
6)修改需求项
UPDATE OfferToBuy SET(Price=#Price, Quantity=#Quantity)
WHERE(PartID=#PartID AND CustomerID=#CustomerID );
(9)交易员操作
针对需求分析中提出的问题,我们提出了“协议书”的解决方案,方案说明如下:1)每个交易在达成以前都作为协议书保存在数据库中,协议书具有和交易一样的完备信息,可以在条件成熟的情况下转为一个达成的交易;
2)协议书只有在供应商和顾客都签字的情况下才有效;有效的协议书由交易员签发,协议书一经签发,就生效,表明一个交易的达成,数据库中的数据将同时予以修改;
3)协议书可由供应商、顾客或交易员中的任意一个人提出申请。当协议书在双方都没有签字前,协议的双方或者交易员都可以删除这个协议书;但是当协议书签字完毕后,协议书就不可删除或修改,只能由交易员进行处理;
4)协议书有可能在转成交易的过程中失败,因为在交易达成之前,数据库中的数据有可能因为其他交易而变化,一个协议书可能失效,这是允许的。
根据以上对业务的分析,对数据库的模型作一些修改,增加协议书表,可建立其关系模式。交易关系模式及对应的SQL描述:
Agreement(CustomerID,ProviderID,PartID,Price,Quantity,
CustomerSign,ProviderSign)
CREATE TABLE Agreement(
CustomerID smallint,
ProviderID smallint,
PartID smallint,
Price int,
Quantity int,
CustomerSign int,
ProviderSign int,
CONSTRAINT PK_AGREEMENT
PRIMARY KEY CLUSTERED(CustomerID,ProviderID,PartID)
CONSTRAINT PK_AGREEMENT_CUSTOMERID
FOREIGN KEY(CustomerID)
REFERENCED Customer(ID),
CONSTRAINT PK_AGREEMENT_PROVIDERID
FOREIGN KEY(ProviderID)
REFERENCED Provider(ID),
CONSTRAINT PK_AGREEMENT_PARTID
FOREIGN KEY(PartID)
REFERENCED Part(ID)
);
对交易的操作与其他操作相比,对数据的完整性要求比较高,其中需要注意:1)要防止同一用户(供应商、顾客)的数据因两个交易而同时修改;2)需要同时对供应数据库、需求数据库、交易数据库、协议数据库作出修改,而且需要保持这些修改的原子性。
很显然,这些要求正是一个事务的要求,我们可以用一个事务来完成签发一个协议的操作。可以用CREATE PROC来建立一个签发协议事务。
CREATE PROC PASS_AGREEMENT
@provideID int,
@customerID int,
@partID int,
AS
DECLARE @TransName varchar(20)
SELECT @TransName='Pass_Agreement'
BEGIN TRANSACTION @TransName
DECLARE @price int, @quantity int
SELECT @price=price, @quantity
FROM Agreement
WHERE providerID=@providerID AND customerID=@customerID
AND partID=@partID
INSERT INTO Businees(ProviderID, CustomerID,PartID, Price, Quantity)
VALUES ( @providerID, @customerID, @partID, @price, @quantity )
UPDATE Supply
SET quantity=quantity-@quantity
WHERE ProviderID=@providerID AND partID=@partID
IF( SELECT quantity
FROM Supply
WHERE ProviderID=@providerID AND PartID=@partID )<0
ROLLBACK TRANSACTION @TransName
DELETE FROM Supply
WHERE quantity=0
UPDATE OfferToBuy
SET quantity=quantity-@quantity
WHERE CustomerID=@CustomerID AND partID=@partID
IF ( SELECT quantity
FROM OfferToBuy
WHERE CustomerID=@customerID AND PartID=@partID ) <0
ROLLBACK TRANSACTION @TransName
DELETE FROM OfferToBuy
WHERE quantity=0
COMMIT TRANSACTION @TransName
GO
为了使用方便,这里定义了一个存储过程,功能是完成从Agreement的一个元组到Business的一个元组的转化工作。这里考虑到了删除空的Supply和OfferToBuy项;更重要的是,这里考虑到了非法的Agreement的情况,在一段时间后,由于供应商或者顾客修改数据,Agreement可能就非法,这时就需要把这个事务废除,所以这里检查了Supply表和OfferToBuy表中的数据,确保数据仍然正确。
另外,交易员必须承担的一项任务是更新零件列表。这里在考虑顾客和供应商的时候,并没有给予他们修改两件列表的权利,所以他们必须根据数据库中已有的项更新自己的供求信息。
7、查询与测试结果
使用的DBMS环境。
输入测试数据,并列举10个左右的查询与查询结果(略)。
设计报告中要有屏幕操作截图。
8、课程设计总结
通过课程设计,完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握了数据库各方面知识,并提高了动手实践的能力。
体会和收获(要具体一些)。
1.1将E-R图转换成关系模型
读者、图书、书架、作者和出版社均为实体,因此它们各自转换成一个独立关系模式,实体的属性就是关系的属性,实体的码就是关系的码。由于读者与图书、图书与书架、出版社与作者之间的联系方式为m:n,所以其联系需转化为独立的关系模式,与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。而图书与出版社的联系方式为n:1,所以将其之间的联系与n端实体合并。
所以,具体的总体E-R图向关系模型的转化如下:
读者信息(姓名,借书证号,借书人单位)
图书信息(书名,书号,种类,总数量)
出版社信息(出版社名,电话,邮编,地址)
书架信息(书架号,书架名)
作者信息(姓名,性别,电话)
借阅信息(借书证号,书号,借书日期)
归还信息(借书证号,书号,归还日期)
放置信息(书号,书架号,数量)
供应信息(书号,出版社名,数量)
投稿信息(出版社名,姓名,投稿时间)
(注:标有红色下划线的为主关键字,标有绿色波浪线的为外部关键字)
1.2关系模式优化
1.2.1关系规范化
1.2.2关系完整性约束
根据实体完整性、参照完整性和用户定义完整性的规则,设计数据表(注:带红色下划线的为主关键字,带绿色波浪线的为外部关键字):
表4.1 读者信息表
列名
数据类型
长度
可否为空
索引
姓名
Char
8
not null
升序
借书证号
Char
10
not null
升序
借书人单位
Char
40
表4.2 图书信息表
列名
数据类型
长度
可否为空
索引
书名
Char
40
not null
升序
书号
Char
10
not null
升序
种类
Char
10
not null
总数量
int
not null
表4.3 借阅信息表
列名
数据类型
长度
可否为空
索引
借书证号
Char
10
not null
升序
书号
Char
10
not null
升序
借书日期
Datetime
not null
升序
表4.4 归还信息表
列名
数据类型
长度
可否为空
索引
借书证号
Char
10
not null
升序
书号
Char
10
not null
升序
归还日期
Datetime
not null
升序
表4.5 出版社信息表
列名
数据类型
长度
可否为空
索引
出版社名
Char
20
not null
升序
电话
Char
20
邮编
Char
10
地址
Char
40
表4.6 书架信息表
列名
数据类型
长度
可否为空
索引
书架号
Char
10
not null
升序
书架名
Char
10
表4.7 放置信息表
列名
数据类型
长度
可否为空
索引
书架号
Char
10
not null
升序
书号
Char
10
not null
升序
数量
Int
4
not null
表4.8 供应信息表
列名
数据类型
长度
可否为空
索引
书号
Char
10
not null
升序
出版社名
Char
20
not null
升序
数量
int
4
not null
表4.9 投稿信息表
列名
数据类型
长度
可否为空
索引
姓名
Char
8
not null
升序
出版社名
Char
20
not null
升序
投稿时间
Datetime
not null
升序
表4.10 作者信息表
列名
数据类型
长度
可否为空
索引
姓名
Char
8
not null
升序
性别
Char
10
not null
联系方式
Char
20
2数据库的实施与维护
2.1建立数据库及其对象
2.1.1创建模式
创建数据库“图书管理”
1、打开企业管理器,单击目录树窗口中的sql server服务器,选择工具——向导菜单命令。
2、在打开的“选择向导”对话框表中双击“数据库”,展开节点,显示数据库操作向导,单击“创建数据库向导”。
3、单击确定按钮,打开创建数据库向导的欢迎对话框。
4、单击下一步按钮,打开命名数据库对话框,将对话框的“数据库名称”文本框中显示的默认数据库名称“Administrator数据库”修改为“图书管理”,数据库文件位置使用默认值。
5、单击下一步按钮,打开命名数据库文件对话框,将数据文件的初始大小修改为2。
6、单击下一步按钮,打开定义数据文件增长对话框,选中“文件增长的最大值”,并将其后的文本框的数字修改为4。
7、单击下一步按钮,打开命名事务日志文件对话框,将文件初始大小修改为2。
8、单击下一步按钮,打开定义日志增长对话框,选中“事务日志文件不自动增长”,不允许事务日志文件自动增长。
9、单击下一步按钮,打开完成信息对话框。
10、单击完成按钮,执行创建数据库操作。
11、单击确定按钮,有提示是否为数据库创建维护计划,单击否.至此,完成数据库创建操 作。
5.1.2创建数据表
1、打开查询分析器,在数据库下拉表框中选择“成图书管理”数据库。2、在查询窗口中输入下面的sql语句。 3、单击工具栏中执行按钮执行查询,完成数据表创建操作。
(1)读者信息表的建立。命令如下:
create table 读者信息
(姓名 char(8) not null,
借书证号 char(10) primary key not null,
借书人单位 char(40))
(2)出版社信息表的建立。命令如下:
create table 出版社信息
(出版社名 char(20) primary key not null,
电话 char(20),
邮编 char(10),
地址 char(40))
(3)图书信息表的建立。命令如下:
create table 图书信息
(书名 char(40) not null,
书号 char(10) primary key not null,
种类 char(10)not null,
总数量 int not null
)
(4)借阅信息表的建立。命令如下:
create table 借阅信息
(借书证号 char(10) foreign key references 读者信息 not null,
书号 char(10) foreign key references 图书信息 not null,
借书日期 datetime not null,
primary key(借书证号,书号))
(5)归还信息
create table 归还信息
(借书证号 char(10) foreign key references 读者信息 not null,
书号 char(10) foreign key references 图书信息 not null,
归还日期 datetime not null,
primary key(借书证号,书号))
(6)放置信息
create table 放置信息
(书架号 char(10) foreign key references 书架信息 not null,
书号 char(10) foreign key references 图书信息 not null,
数量 int not null,
primary key(书架号,书号))
(7)书架信息
create table 书架信息
(书架号 char(10) primary key not null,
书架名 char(10) )
(8)供应信息
create table 供应信息
(书号 char(10) foreign key references 图书信息 not null,
出版社名 char(20) foreign key references 出版社信息 not null,
数量 int not null
primary key(书号,出版社名))
(9)投稿信息
create table 投稿信息
(姓名 char(8) foreign key references 作者信息 not null,
出版社名 char(20) foreign key references 出版社信息 not null,
投稿日期 datetime not null,
primary key(姓名,出版社名))
(10)作者信息
create table 作者信息
(姓名 char(8) primary key not null,
性别 char(10) not null,
联系方式 char(20))
5.1.3 创建索引
(1)考虑到在连接中会频繁使用到表 图书管理.读者信息中的“姓名”和“借书证号”两列,同时“借书证号”列已经存在唯一索引,所以在表图书管理.读者创建一个名为“读者情况”的非聚簇索引,索引关键字为“姓名”、“借书证号”。命令如下:
create nonclustered index 读者情况 on 读者信息(借书证号,姓名)
(2)在表图书上创建名为“图书情况”的非聚簇索引,索引关键字为“书名”、“书号”。命令如下:
create nonclustered index 图书情况 on 图书信息(书号,书名)
(3)在表借阅信息上创建名为“借阅时间”的非聚簇索引,索引关键字为“借书日期””。命令如下:
create nonclustered index 借阅时间 on 借阅信息(借书日期)
(4)在表归还信息上创建名为“归还时间”的非聚簇索引,索引关键字为“借书日期””。命令如下:
create nonclustered index 归还时间 on 归还信息 (归还日期)
(5)在表出版社信息上创建名为“出版社情况”的非聚簇索引,索引关键字为“出版社名””。命令如下:
create nonclustered index 出版社情况 on 出版社信息(出版社名)
(6)在表书架信息上创建名为“书架情况”的非聚簇索引,索引关键字为“书架号”。命令如下:
create nonclustered index 书架情况 on 书架信息(书架号)
(7)在表投稿信息上创建名为“投稿时间”的非聚簇索引,索引关键字为“投稿日期””。命令如下:
create nonclustered index 投稿时间 on 投稿信息(投稿日期)
(8)在表作者信息上创建名为“作者情况”的非聚簇索引,索引关键字为“姓名””。命令如下:
create nonclustered index 作者情况 on 作者信息(姓名)
5.1.4 数据库关系图
为“图书管理”数据库创建关系图
1)打开企业管理器,并在窗口中选中“图书管理”数据库,在内容窗口中使用鼠标右键单击“关系图”项目,在弹出的快捷菜单中选择“新建数据库关系图”命令
2)在打开的“创建数据库关系图”对话框向导中单击“下一步”按钮,打开向导的选择数据表对话框,在对话框的“可用的表”列表框中分别双击“图书”、“出版社”、“借阅信息”和“读者”数据表,将其铁甲到“要添加到关系图中的表”列表框中
3)单击“下一步”按钮,打开向导的完成信息对话框,单击“完成”按钮关闭向导。(因为已经创建了“图书”、“出版社”、“借阅信息”和“读者”数据表之间的关联,所以向导自动绘制出了表之间的关系连线。
2.2数据入库
准备表“读者信息”数据
“读者信息”数据可以使用记事本创建,如图,注意各个数据项之间使用用以的分隔符,如英文的逗号活空格,一个记录数据为一行。将文件保存为“读者信息.txt”。
1、在开始菜单中选择Microsoft SQL Server—导入和导出数据。
2、单击下一步按钮,打开向导的选择数据源对话框。在“数据源”下拉列表框中选中“文本文件”选项,在“文件名”文本框中找见“读者信息.txt”。
3、单击下一步按钮,打开向导的选择文件格式对话框。因为“读者信息.txt”名单中的数据使用逗号分隔,每个记录占一行,文本数据没有使用限定符,所以首先应选中“带分隔符,各列之间可用任何字符分隔”单选项。然后在“文本限定符”下拉列表中选中“无”选项。
4、单击下一步按钮,打开向导的指定列分隔符对话框。这里在读者文件中使用的是逗号分隔各个数据项,所以无需在此修改。
5、单击下一步按钮,打开向导的选择目的对话框,向导默认将数据导入到SQL Server数据库,所以只需在“数据库”下拉列表中选中“成绩管理”数据库。
6、单击下一步按钮,打开向导的选择源表和视图对话框。单击浏览按钮课查看文本文件的源数据,单击…按钮,课打开“列映射和转换”对话框。
7、选中“在目的表追加行”单选项,表示将文本文件中的数据添加到数据表中,单击确定。
8、单击下一步按钮,打开向导的保存、调度和复制包对话框。选中“立即运行”复选框,表示向导会执行数据导入操作。
9、单击下一步按钮,打开向导的完成信息对话框,单击完成,执行数据导入操作。
(1)读者信息
(2)出版社信息
(3)图书信息
(4)借阅信息
(5)归还信息
(6)放置信息
(7)书架信息
(8)供应信息
(9)投稿信息
(10)作者信息
2.3数据库试运行
(1)查询书库中工程类书籍的所有信息
select *
from 图书信息
where 种类='工程类'
(2)查询书库中总数量大于100且为工程类的书籍的书名、书号
select 书名,书号
from 图书信息
where 种类='工程类' and
总数量>100
(3)查找姓李的读者姓名和借书证号
select 姓名,借书证号
from 读者信息
where 姓名 like '李%'
(4)查询书籍借还情况(显示姓名、借书证号、借书人单位、书名、书号,借书日期)。
select 姓名,读者信息.借书证号,借书人单位,图书信息.书名,图书信息.书号,借书日期
from 读者信息,借阅信息,图书信息
where 读者信息.借书证号=借阅信息.借书证号 and
借阅信息.书号=图书信息.书号
(5)查询图书所属出版社的相关信息(显示书名,书号,出版社名,电话,邮编,地址)。命令如下:
select书名,图书信息.书号,出版社信息.出版社名,电话,邮编,地址
from 图书信息,出版社信息,供应信息
where供应信息.出版社名=出版社信息.出版社名 and
供应信息.书号=图书信息.书号
(6) 查询各种图书借阅次数(显示书名,书号,借阅次数)。
命令如下:
select 书名, 图书信息.书号,count(*)借阅次数
from 图书信息,借阅信息
where 图书信息.书号=借阅信息.书号
group by 书名,图书信息.书号
(7)查询图书《西方经济学》被哪些读者借阅过(显示书名,读者姓名,借书证号,借书人单位,借书日期)。
命令如下:
select 书名,读者信息.姓名,借阅信息.借书证号,借书人单位,借书日期
from 图书信息,借阅信息,读者信息
where 图书信息.书号=借阅信息.书号 and
图书信息.书名='西方经济学' and
借阅信息.借书证号=读者信息.借书证号
(8)查询出版书籍《信息经济学》的出版社的出版社名、电话、地址
select 出版社信息.出版社名,电话,地址
from 图书信息,出版社信息,供应信息
where 供应信息.出版社名=出版社信息.出版社名 and
供应信息.书号=图书信息.书号 and
图书信息.书名='信息经济学'
'
(9)查询借阅了书号为‘001’或书号为‘002’的借书证号
select 借书证号
from 借阅信息
where 借阅信息.书号='001'
union
select 借书证号
from 借阅信息
where 借阅信息.书号='002'
(10)查询借阅了书号为‘001’和书号为‘002’的读者的姓名、借书证号
select 姓名,借书证号
from 读者信息
where 借书证号 in
( select 借书证号
from 借阅信息
where 借阅信息.书号='001' and
借书证号 in
(select 借书证号
from 借阅信息
where 借阅信息.书号='002'))
(11)查询借阅过书籍的读者的数量
select count (distinct 借书证号) 读者数量
from 借阅信息
(12)查询书架甲A上放置的图书的书名、书号、数量
连接查询:
select 书名,图书信息.书号,数量
from 图书信息,放置信息,书架信息
where 图书信息.书号=放置信息.书号 and
放置信息.书架号=书架信息.书架号 and
书架名='甲A'
或嵌套查询:
select 书名,书号,数量
from 图书信息
where 书号 in
(select 书号
from 放置信息
where 书架号 in
(select 书架号
from 书架信息
where 书架名='甲A'))
(13)查询联系方式为13466883304作者投稿的出版社的出版社名、出版社电话、地址
select 出版社名,出版社信息.电话,地址
from 出版社信息
where 出版社名 in
(select 出版社名
from 投稿信息
where 姓名 in
(select 姓名
from 作者信息
where 联系方式='15110671697'))
(14)查询联系方式为15235403881的读者投稿时间、出版社名
select 作者信息.姓名,投稿日期,出版社名
from 投稿信息,作者信息
where 投稿信息.姓名=作者信息.姓名 and
联系方式='15235403881'
创建触发器
1、使用企业管理器创建触发器
(1) 在图书管理数据库的图书信息表上创建一个名为tsxx_insert_trigger的触发器,当执行INSERT操作时,该触发器被触发,禁止插入记录。
代码:
CREATE TRIGGER tsxx_insert_trigger ON 图书信息
FOR INSERT
AS
BEGIN
PRINT('禁止插入记录!')
ROLLBACK TRANSACTION
END
GO
验证:当执行向表“图书信息”中插入一条('环境保护概论','021','管理类','110')的记录时:
INSERT
INTO 图书信息
VALUES('环境保护概论','021','管理类','110')
2、使用SQL语句创建触发器
(1)在图书管理数据库的借阅信息表上创建一个名为jyxx_update_trigger的触发器,当执行UPDARE操作时,该触发器被触发,不允许修改表中的图书编号。
操作:打开查询分析器,输入以下命令,检查语法并执行即可。
CREATE TRIGGER jyxx_update_trigger ON 借阅信息
INSTEAD OF UPDATE
AS
IF UPDATE(书号)
PRINT('禁止删除记录!')
GO
验证:当将借阅信息表中借书证号为‘2009043001’所借书的书号改为‘003’时:
update 借阅信息
set 书号='003'
where 书号='002'
(2)在图书管理数据库的作者信息表上创建一个名为zzxx_delete_trigger的触发器,当执行DELETE操作时,该触发器被触发,禁止删除记录。
操作:打开查询分析器,输入以下命令,检查语法并执行即可。
CREATE TRIGGER tsxx_delete_trigger ON 作者信息
FOR DELETE
AS
BEGIN
PRINT('禁止删除记录!')
ROLLBACK TRANSACTION
END
GO
验证:删除作者信息表中联系方式为13466883304的作者记录:
delete
from 作者信息
where 联系方式='13466883304'
6、课程设计总结
(1)小组分工情况:
36号 梁之腾 负责方案设计,需求分析,设计SQL 语言,数据库的调试与测试
37号 李江 负责设计局部的E-R图,总体E-R图
38号 郭彪 负责创建数据库和数据表
39号 张煌 负责收集数据及数据的导入
(2)学习心得
通过本次课程设计,我们进一步了解数据库的基本概念、原理和技术,结合实际的操作和设计,巩固了课堂的教学内容,将理论与实际相结合,加强了自我实践意识、提高了实际动手能力和创新能力。
由于本次课程设计的内容有点多,因此我们四人分工完成了所有工作,途中也遇到了不少问题,例如如何画出准确的E-R图、如何将E-R图转换成关系模式、对索引的概念和功能的了解以及怎样创建索引等。通过自我查找书籍和利用互联网这个自我学习的平台,我们顺利解决了大部分问题。通过互联网上有用的资料,我们认识到要获得有效地E-R图,需局部的E-R图,再合并各局部E-R图并解决冲突,最后得到有效的总体E-R图。而索引是刚开始一直困扰我们的难点,可能是我们上课不专心没有听到老师的讲解。同时,我们在课本找不到对索引的详细解析。因此,我们通过互联网详细了解了它的概念、功能、类型以及怎样创建,使课程设计顺利进行下去。
这次课程设计能够完满完成,最主要是因为我们的团结合作和老师的悉心教导。如果没有我们组的团结合作,如果没有老师平时为我打下坚实的基础和热情地帮助我们解决遇到的各种问题,我们是无法完成这次课程设计的。所以,我在这里衷心地感谢老师和我们组的成员!
参考文献: 课本
小组内成员先各自就主题“教材管理系统”进行需求分析,设计出E-R图,然后小组内讨论,保留好的观点,集思广益,完善需求,得出整体E-R图。大家都对所做的实验工作提纲挈领,了然于胸,然后开始分工合作:
袁振花——负责E-R模型的电子化,
任俊丽——负责建好工作表,并实现增删查改等功能,
李慧霞——负责需求分析、概念分析、物理设计的整理和汇总,
吴蚊娃——负责测试、打印。
在分工合作过程中保持组内成员的及时沟通和交流,在做好自己的工作的同时,及时寻求他人的建议和帮助,也及时了解组内其他人的进展并根据所学知识会应用。
注意:
1)要写清楚每个小组成员的具体工作。
2)体会和收获要具体。
3)提交成果包括“电子版报告”、“A4纸打印的报告”、“设计系统压缩文件”
4)打印报告采用左边装订、黑白打印、无需专门封皮。
首页
上一页
1
2
下一页
尾页
2
/2/2
以上为本篇毕业论文范文
数据库设计教材管理系统(二)
的介绍部分。
本论文在
计算机论文
栏目,由
论文网
(www.zjwd.net)整理,更多论文,请点
论文范文
查找
相关论文
收费专业论文
汉语言文学论文
物理学论文
自动化专业论文
测控技术专业论文
历史学专业论文
机械模具专业论文
金融专业论文
电子通信专业论文
材料科学专业论文
英语专业论文
会计专业论文
行政管理专业论文
财务管理专业论文
电子商务国贸专业
法律专业论文
教育技术学专业论文
物流专业论文
人力资源专业论文
生物工程专业论文
市场营销专业论文
土木工程专业论文
化学工程专业论文
文化产业管理论文
工商管理专业论文
护理专业论文
数学教育专业论文
数学与应用数学专业
心理学专业论文
信息管理专业论文
工程管理专业论文
工业工程专业论文
制药工程专业论文
电子机电信息论文
现代教育技术专业
新闻专业论文
艺术设计专业论文
采矿专业论文
环境工程专业论文
西班牙语专业论文
热能与动力设计论文
工程力学专业论文
酒店管理专业论文
安全管理专业论文
交通工程专业论文
体育教育专业论文
教育管理专业论文
日语专业论文
德语专业论文
理工科专业论文
轻化工程专业论文
社会工作专业论文
乡镇企业管理
给水排水专业
服装设计专业论文
电视制片管理专业
旅游管理专业论文
物业管理专业论文
信息管理专业论文
包装工程专业论文
印刷工程专业论文
动画专业论文
环境艺术专业论文
信息计算科学专业
物流专业论文范文
人力资源论文范文
营销专业论文范文
工商管理论文范文
汉语言文学论文范文
法律专业论文范文
教育管理论文范文
小学教育论文范文
学前教育论文范文
财务会计论文范文
电子商务论文范文
上一篇
:
web应用服务器
下一篇
:
高速公路信息管理系统的设计与实现
最新论文
精品推荐
热门论文