图书管理数据库系统的设计与实现课程设计.docx
- 文档编号:29782713
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:22
- 大小:1.52MB
图书管理数据库系统的设计与实现课程设计.docx
《图书管理数据库系统的设计与实现课程设计.docx》由会员分享,可在线阅读,更多相关《图书管理数据库系统的设计与实现课程设计.docx(22页珍藏版)》请在冰豆网上搜索。
图书管理数据库系统的设计与实现课程设计
华北电力大学科技学院
实验报告
||
实验名称图书管理数据库系统的设计与实现
课程隹称数据库原理及应用
||
专业班级:
电气15K9学生姓名:
寿泽锋
学号:
151905020119成绩:
(实验报告如打印,纸张用A4,左装订;页边距:
上下2.5cm,左2.9cm,
右2.1cm;字体:
宋体小四号,1.25倍行距。
)
验证性、综合性实验报告应含的主要内容:
一、实验目的及要求
二、所用仪器、设备
三、实验原理
四、实验方法与步骤
五、实验结果与数据处理
六、讨论与结论(对实验现象、实验故障及处理方法、实验中存在的问
题等进行分析和讨论,对实验的进一步想法或改进意见)
七、所附实验输出的结果或数据
设计性实验报告应含的主要内容:
一、设计要求
二、选择的方案
三、所用仪器、设备
四、实验方法与步骤
五、实验结果与数据处理
六、结论(依据“设计要求”)
七、所附实验输出的结果或数据
*封面左侧印痕处装订
一、系统功能设计
本系统利用VisualStudio2010处理数据库的功能,实现对图书馆信息的管理。
主要功能为管
理有关用户、管理员、书籍和借阅的信息等。
本系统的结构分为书籍信息管理模块、借阅信息管理模块、查询处理模块。
图书馆管理系统
框图如图1.1所示:
图书馆管理系统
图1.1图书馆管理系统框图
、数据库概念设计
2.1实体列表
实体
属性
管理员
系统管理员名,管理员ID标识,账户密码,管理记录
用户
用户ID、用户名、借阅记录
图书
图书ID、书名、作者、出版社、借阅与否、所在书架位置、图书介绍、封面
图书管理
藏书量、新增书ID、新增书时间、卖出或销毁书ID、卖出或销毁书时间
借阅管理
借阅ID、借书日期、借阅人ID、归还日期、所借书ID
2.2系统的E-R模型
该图书管理系统的E-R模型,如图2.1所示
三、数据库逻辑设计
3.1创建数据库
(1)在服务器资源管理器中的任一节点右击。
(2)执行快捷菜单中的“新建数据库”命令,并在打开的“创建数据库”对话框中输入数据库名
library,其他可采用默认值。
(3)单击“确定”按钮,则新建的数据库就会出现在服务器上。
3.2创建数据表
创建数据库后,为library数据库添加数据表,步骤如下。
(1)在服务器资源管理器中右击数据库library下的“表”文件夹在弹出的快捷菜单中执行“新建
表”命令。
(2)添加表的字段和其他详细资料。
各表数据结构如下图所示。
STU-DOUibrary
dbo.reader
列名
颈据类型
允许Nulfl
Wrnc
di5「(1力
rname
varcharC20)
rsex
dnmi■⑵
rbirfriday
datrtMt
rdept
wardiartZJO)
rdasa
warcharQO)
rtvpe
char⑹
rv^lid
charfl)
rp^sswond
varchartlO)
rncte
varcharflJOO)
图3-1用户信息(reader)表3-1图书信息(bookinfo)
列名
含义
数据类型
主键
BookID
图书ID
bigint
自动,主键
BookName
书名
Varchar(50)
不为空
BookType
出版社
Varchar(100)
不为空
BookAuthor
作者
Varchar(100)
不为空
BookPrice
借阅与否
Varchar(20)
不为空
BookPic
封面
Varchar(200)
允许为空
BookContent
图书介绍
text
不为空
BookAddres
所在书架位置
text
不为空
表3-2借阅彳言息(issueinfo)
列名
含义
数据类型
说明
IssID
借1MJID
bigint
自动,主键
BookID
图书ID
bigint
外键
IssBookID
借阅人ID
bigint
不为空
IssDateTime
借书日期
datetime
不为空
IssReturnTime
归还日期
datetime
允许为空
四、系统编码与实现
数据库设计:
设计数据表,选定reder表,其他自由设计
createtablereader(
rnochar(12)primarykey,
rnamevarchar(20)notnull,
rsexchar
(2)check(rsexin('男','女'))default'男',rbirthdaydatetime,
rdeptvarchar(20),
rclassvarchar(20),
rtypechar(6)check(rtypein('教师','研究生’,'本科生')),rvalidchar⑴default'Y',
rpasswordvarchar(10),
rnotevarchar(100)
);insertintoreader(rno,rname,rdept,rtype)values('201109010101','
insertintoreader(rno,rname,rdept,rtype)values('201109010102','
insertintoreader(rno,rname,rdept,rtype)values('201109010103','
insertintoreader(rno,rname,rdept,rtype)values('201109010104','
w>l-轮鸵,rJ
dfirU4W7I^QIXnwIQILIUX]■ti.j4a
EUIWry
n-BSMWSB
■NIE
启事EM
曲口ctMLnodA-目二烟
H,HAN
j-j
"二£*nwi1。
国ia3
HLi%
k|j!
RiporfSiErrTii■田E
4U*我
4口manimCdM肛;JVEniS^L-S
下年口
MiiW:
M=
K«
■
E
.严山
口*y一圳勒品
2、在click事件添加代码
〃数据库名为library
SqlConnectionconn=newSqlConnection();
StringstrCon="DataSource=STU-N07;InitialCatalog=library;IntegratedSecurity=SSPI;";conn.ConnectionString=strCon;
conn.Open();//打开数据库连接
SqlCommandcmd=newSqlCommand("select*fromreader",conn);//查询读者信息表
SqlDataReaderdr_reader=cmd.ExecuteReader();
BindingSourceBs=newBindingSource();
Bs.DataSource=dr_reader;
dataGridView_Reader.DataSource=Bs;
〃偶数行显示为粉色底
if(this.dataGridView_Reader.Rows.Count!
=0)
{
for(inti=0;i { this.dataGridView_Reader.Rows[i].DefaultCellStyle.BackColor System.Drawing.Color.Pink; i+=2; } } conn.Close();//关闭数据库连接 四、DataReader读取数据,如读者姓名 1、添加控件 添加按钮Button,设置其Text属性为: 读者姓名集;设置name属性为: btn_ReaderName 添加列表框ListBox,设置其name属性为: listBox_Rname 2、双击按钮,添加代码: SqlConnectionconn=newSqlConnection(); StringstrCon="DataSource=STU-N07;InitialCatalog=library;IntegratedSecurity=SSPI;"; conn.ConnectionString=strCon; conn.Open();//打开数据库连接 SqlCommandcmd=newSqlCommand("selectrnameas姓名fromreader",conn);//查询读者信息表 SqlDataReaderdr=cmd.ExecuteReader();while(dr.Read()) { listBox_Rname.Items.Add(dr["姓名"].ToString()); conn.Close(); 五、DataAdapter举例-修改数据 1、添加控件 添加按钮Button,设置其Text属性为: 适配器举例;设置name属性为: btnDA_exp 2、双击按钮,添加代码: SqlConnectionconn=newSqlConnection(); StringstrCon="DataSource=STU-N07;InitialCatalog=library;IntegratedSecurity=SSPI;";conn.ConnectionString=strCon; conn.Open();//打开数据库连接 stringSqlStr="select*fromreader"; SqlCommandcom=newSqlCommand(SqlStr,conn); SqlDataAdapterda=newSqlDataAdapter(); da.SelectCommand=com; DataTabledt=newDataTable(); SqlCommandBuilderbuilder=newSqlCommandBuilder(da); da.Fill(dt); DataRowupdaterow=dt.Rows[0]; updaterow[1]="王丽"; updaterow[2]="女"; updaterow[6]="本科生"; da.Update(dt); conn.Close(); 六、DataAdapter举例-查询数据 1、完全注释掉(/**/)“显示读者”按钮下的click事件的代码 2、添加新的代码: SqlConnectionconn=newSqlConnection(); StringstrCon="DataSource=STU-N07;InitialCatalog=library;IntegratedSecurity=SSPI;";conn.ConnectionString=strCon; SqlDataAdapterdapter=newSqlDataAdapter("select*fromreader",conn); DataSetdataset=newDataSet(); 〃使用DataAdapter填充数据集DataSet dapter.Fill(dataset,"reader"); dataGridView_Reader.DataSource=dataset.Tables["reader"].DefaultView; //偶数行显示为粉色底 if(this.dataGridView_Reader.Rows.Count! =0) { for(inti=0;i { this.dataGridView_Reader.Rows[i].DefaultCellStyle.BackColorSystem.Drawing.Color.Pink; i+=2; } } 七、DataAdapter举例-查询数据再举例 1、完全注释掉(/**/)“读者姓名集”按钮下的click事件的代码2、添加新的代码: Catalog=library;Integrated SqlConnectionconn=newSqlConnection(); conn.ConnectionString="DataSource=STU-N07;InitialSecurity=SSPI;"; conn.Open(); stringstrsql="selectrnameas姓名fromreader"; SqlCommandcom=newSqlCommand(strsql,conn); SqlDataAdapterdapter=newSqlDataAdapter(); dapter.SelectCommand=com; DataSetdataset=newDataSet(); dapter.Fill(dataset); dataGridView_Reader.DataSource=dataset.Tables[0].DefaultView; 八、DataAdapter举例-删除读者 1、添加控件 添加按钮Button,设置其Text属性为: 删除读者;设置name属性为: btnDelete2、双击按钮,添加代码: SqlConnectionconn=newSqlConnection(); StringstrCon="DataSource=STU-N07;InitialCatalog=library;IntegratedSecurity=SSPI;"; conn.ConnectionString=strCon; SqlDataAdapterapdater=newSqlDataAdapter("select*fromreader",conn); DataSetdataset=newDataSet();//建立DataSet实例 〃使用DataAdapter填充数据集DataSet apdater.Fill(dataset,"reader"); dataGridView_Reader.DataSource=dataset.Tables[0].DefaultView; DataRowdr=dataset.Tables["reader"].Rows[1]; dr.Delete(); SqlCommandBuildercb=newSqlCommandBuilder(apdater); apdater.Update(dataset,"reader"); 九、DataAdapter举例-修改读者 1、添加控件 添加按钮Button,设置其Text属性为: 修改读者;设置name属性为: btnUpdate 2、双击按钮,添加代码: SqlConnectionconn=newSqlConnection(); StringstrCon="DataSource=STU-N07;InitialCatalog=library;IntegratedSecurity=SSPI;";conn.ConnectionString=strCon; SqlDataAdapterapdater=newSqlDataAdapter("select*fromreader",conn); DataSetdataset=newDataSet();//建立DataSet实例 〃使用DataAdapter填充数据集DataSet apdater.Fill(dataset,"reader"); dataGridView_Reader.DataSource=dataset.Tables[0].DefaultView; DataRowdr=dataset.Tables["reader"].Rows[0]; dr["rname"]="修改后"; dr["rtype"]="研究生"; SqlCommandBuildercb=newSqlCommandBuilder(apdater); apdater.Update(dataset,"reader"); 1、添加控件 添加按钮Button,设置其Text属性为: 添加读者;设置name属性为: btnADDReader 添加四个Label控件: Text属性分别为: 编号、姓名、专业、类型 添加四个TextBox控件,Name属性分别为: txtRno,txtRname,txtRdept,txtRtype 2、双击按钮,添加代码: SqlConnectionconn=newSqlConnection(); StringstrCon="DataSource=STU-N07;InitialCatalog=library;IntegratedSecurity=SSPI;";conn.ConnectionString=strCon; conn.Open(); stringstrsql="select*fromreader"; SqlCommandcommand=newSqlCommand(strsql,conn); SqlDataAdapteradapter=newSqlDataAdapter(); DataSetdataset=newDataSet(); adapter.SelectCommand=command;〃与sql命令对象绑定adapter.Fill(dataset,"reader"); dataGridView_Reader.DataSource=dataset.Tables[0].DefaultView;//将数据集绑定到数据显示控件 DataRownewRow=dataset.Tables["reader"].NewRow();//向reader表中插入一行newRow["rno"]=txtRno.Text;//该行的一列的值 newRow["rname"]=txtRname.Text;//该行另外一列的值 newRow["rdept"]=txtRdept.Text; newRow["rtype"]=txtRtype.Text; dataset.Tables["reader"].Rows.Add(newRow); SqlCommandBuildercommandBuilder=newSqlCommandBuilder(adapter); adapter.Update(dataset,"reader");〃用DataAdapter的Update方法将数据集写回数据源
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书 管理 数据库 系统 设计 实现 课程设计