图书管理系统数据库源代码
//创建工程及设计主界面
public class Main extends JFrame
{
private static final JDesktopPane
{
DESKTOP_PANE=new JDesktopPane(); //桌面窗体
}
public static void main(String[] args) //入口方法
{
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); //设置系统界面外观
new BookLogin(); //登录窗口
}
catch(Exception ex)
{
ex.printStackTrace();
}
}
public static void addIFame(JInternalFrame iframe) //添加子窗体的方法
{
DESKTOP_PANE.add(iframe); //新增子窗体
}
public Main()
{
super(); //设置“关闭”按钮处理事件
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); //创建工具栏
Toolkit tool=Toolkit,getDefaultToolkit(); //获得屏幕大小
Dimension screenSize=tool.getScreenSize();
setSize(800,600); //设置窗体大小
setLocation((screenSize.width-getWidth())/2,(screenSize.height-getHeight())/2; //设置窗体位置
setTitle("图书管理系统");//设置窗体标题
JMenuBar menuBar=createMenu(); //创建菜单栏
setJMenuBar(menuBar); //设置菜单栏
JToolBar toolBar=createToolBar(); //创建工具栏的方法
getContentPane(),add(toolBar,BorderLayout.NORTH); //设置工具栏
final JLable lable=new JLable(); //创建一个标签,用来显示图片
lable.setBounds(0,0,0,0); //设置窗体的大小和位置
lable.setIcon(null); //窗体背景
DESKTOP_PANE.addComponentListener(new ComponentAdapter())
{
public void componentResized(final ComponentEvent e)
{
Dimension size=e.getComponent().getSize(); //获得组建大小
lable.setSize(e.getComponent().getSize()); //设置标签大小
lable.setText("
width="+size.width+"height="+size.height+"src='"+this.getClass().getResource("/bac kImg.jpg")+"'>");
//设置标签文本,设置窗口背景
}
} //将标签添加到桌面窗体
DESKTOP_PANE.add(lable,new Integer(Integer.MIN_V ALUE));
getContentPane().add(DESKTOP_PANE); //将桌面窗体添加到主窗体中
}
}
private JToolBar createToolBar() //创建工具栏的方法
{
JToolBar toolBar=new JToolBar(); //初始化工具栏
toolBar.setFloatable(false); //设置是否可以移动工具栏
toolBar.setBorder(new BevelBorder(BevelBorder.RAIZED)); //设置边框
//图书信息添加按钮
JButton bookAddButton=new JButton(MenuActions.BOOK_ADD);
ImageIcon icon=new ImageIcon(Main.class.getResource("/bookAddtb.jpg")); //添加菜单栏图标
bookAddButton.setIcon(icon); //设置按钮图标
bookAddButton.setHideActionText(true); //显示提示文本
toolBar.add(bookAddButton); //添加到工具栏中
JButton bookModiAndDelButton=new JButton(MenuActions.BOOK_MODIFY); //图书信息修改按钮
ImageIcon bookmodiicon=Icon.add("bookModiAndDeltb.jpg"); //创建图表方法
bookModiAndDelButton.setIcon(bookmodiicon); //设置按钮图标
bookModiAndDelButton.setHideActionText(true); //显示提示文本
toolBar.add(bookModiAndDelButton); //添加到工具栏
JButton bookTypeAddButton=new JButton(MenuActions.BOOKTYPE_ADD); //图书类别添加按钮
ImageIcon bookTypeAddicon=Icon.add("bookTypeAddtb.jpg"); //创建图标方法
bookTypeAddButton.setIcon(bookTypeAddicon); //设置按钮图标bookTypeAddButton.setHideActionText(true); //显示提示文本
toolBar.add(bookTypeAddButton); //添加到工具栏
JButton bookBorrowButton=new JButton(MenuActions.BORROW); //图书借阅按钮
ImageIcon bookBorrowicon=Icon.add("bookBorrowtb.jpg"); //创建图标方法
bookBorrowButton.setIcon(bookBorrowicon); //设置按钮图标
bookBorrowButton.setHideActionText(true); //显示提示文本
toolBar.add(bookBorrowButton); //添加到工具栏
JButton bookOrderButton=new JButton(MenuActions.NEWBOOK_ORDER); //新书订购按钮
ImageIcon bookOrdericon=Icon.add("bookOrdertb.jpg"); //创建图标方法
bookOrderButton.setIcon(bookOrdericon); //设置按钮图标
bookOrderButton.setHideActionText(true); //显示提示文本
toolBar.add(bookOrderButton); //添加到工具栏
JButton bookCheckButton=new JButton(MenuActions.NEWBOOK_CHECK); //验收新书按钮
ImageIcon bookCheckicon=Icon.add("newbookChecktb.jpg"); //创建图标方法
bookCheckButton.setIcon(bookCheckicon); //设置按钮图标
bookCheckButton.setHideActionText(true); //显示提示文本
toolBar.add(bookCheckButton); //添加到工具栏
JButton readerAddButton=new JButton(MenuActions.READER_ADD); //读者信息添加按钮
ImageIcon readerAddicon=Icon.add("readerAddtb.jpg"); //创建
图标方法
readerAddButton.setIcon(readerAddicon); //设置按钮图标
readerAddButton.setHideActionText(true); //显示提示文本
toolBar.add(readerAddButton); //添加到工具栏
JButton readerModiAndDelButton=new JButton(MenuActions.READER_MODIFY); //读者信息修改按钮ImageIcon readerModiAndDelicon=Icon.add("readerModiAndDeltb.jpg"); //创建图标方法
readerModiAndDelButton.setIcon(readerModiAndDelicon); //设置按钮图标
readerModiAndDelButton.setHideActionText(true); //显示提示文本
toolBar.add(readerModiAndDelButton); //添加到工具栏
JButton ExitButton=new JButton(MenuActions.EXIT); //退出系统按钮
ImageIcon Exiticon=Icon.add("exittb.jpg"); //创建图标方法ExitButton.setIcon(Exiticon); //设置按钮图标
ExitButton.setHideActionText(true); //显示提示文本
toolBar.add(ExitButton); //添加到工具栏
return toolBar;
}
public class Business
{
protected static String dbClassName="com.mysql.jdbc.Driver"; //数据库驱动类
protected static String dbUr1="jdbc:mysql://localhost/ts"; //连接URL
protected static String dbUser="root"; //数据库用户名
protected static String dbpwd="root"; //数据库密码
private static Connection conn=null; //数据库连接对象,初值为null public Business()
{
try
{
if(coon==null) //连接对象为空
{
Class.forName(dbClassName); //加载驱动类信息
conn=DriverManager.getConnection(dbUr1,dbUser,dbPwd); //建立连接对象
}
}
catch(Exception ee)
{
ee.printStackTrace();
}
}
public static ResultSet executeQuery(String sql) //执行查询方法
{
try
{
//如果连接对象为空,则重新调用构造方法
if (conn==null)
{
new Business();
return
conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_ UPDATABLE).executeQuery(sql);
//执行查询
}
}
catch(SQLException e)
{
e.printStackTrace();
return null; //返回null值
}
finally
{}
}
public static int executeUpdata(String sql) //更新方法
{
try
{
if(conn==null)
{
new Business(); //如果连接对象为空,则重新调用构造方法
return conn.createStatement().executeUpdate(sql); //执行更新}
}
catch(SQLException e)
{
e.printStackTrace();
return -1;
}
finally
{}
}
public static void close() //关闭方法
try
{
conn.close(); //关闭连接对象
}
catch(SQLException e)
{
e.printStackTrace();
}
finally
{
conn=null; //设置连接对象为null值}
}
}
//为数据库添加对应的类
public class BookInfo
{
private String Book_id; //图书编号
private String typeid; //类别编号
private String writer; //作者
private String translator; //译者
private String publisher; //出版社
private Date date; //出版日期
private Double price; //图书单价
private String getBookname; //图书名称
public String getBookname()
{
return bookname;
}
public void setBookname(String bookname)
{
this.bookname=bookname;
}
public Date getDate()
{
return date;
}
public void setDate(Date date)
{
this.date=date;
}
public string getBook_id()
return Book_id;
}
public void setBook_id(String Book_id) {
this.Book_id=Book_id;
}
public Double getPrice()
{
return price;
}
public void setprice(Double price)
{
this.price=price;
}
public String getPublisher()
{
return Publisher;
}
public void setPublisher(String publisher) {
this.Publisher=Publisher;
}
public String getTranslator()
{
return translator;
}
public void setTranslator(String translator) {
this.translator=translator;
}
public String getTypeid()
{
return typeid;
}
public void setTypeid(String typeid)
{
this.typeid=typeid;
}
public String getWriter()
{
return writer;
}
public void setWriter(String writer)
this.writer=writer;
}
}
public class BookType //图书列表信息类{
private String id; //图书类别编号
private String typeName; //图书类别名称private String days; //可解天数
private String fk; //每罚款金额
public String getFk()
{
return fk;
}
public void setFk(String fk)
{
this.fk=fk;
}
public String getDays()
{
return days;
}
public void setDays(String days)
{
this.days=days;
}
public string getId()
{
return id;
}
public void setId(String id)
{
this.Bid=id;
}
public String getTypeName()
{
return typeName;
}
public void setTypeName(String typeName)
{
this.typeName=typeName;
}
}
public class Order //图书订单信息类
{
private String Book_id; //图书编号
private Date date; //下单时间
private String number; //图书数量
private String operator; //操作员
private String checkAndAccept; //是否收到货
private String zk; //图书折扣
public String getcheckAndAccept()
{
return checkAndAccept;
}
public void setcheckAndAccept(String checkAndAccept) {
this.checkAndAccept=checkAndAccept;
}
public Date getDate()
{
return date;
}
public void setDate(Date date)
{
this.date=date;
}
public string getBook_id()
{
return book_id;
}
public void setBook_id(String book_id)
{
this.book_id=book_id;
}
public String getNumber()
{
return number;
}
public void setNumber(String number)
{
this.number=number;
}
public String getOperator()
{
return operator;
}
public void setOperator(String operator)
this.operatorr=operator;
}
public String getZk()
{
return zk;
}
public void setZk(String Zk)
{
this.zk=zk;
}
}
public class Operater
{
private String id; //操作员编号
private String name; //操作员用户名private String grade; //操作员等级
private String password; //操作员密码
private String type; //出版社
public String getType()
{
return type;
}
public void setType(String type)
{
this.type=type;
}
public string getGrade()
{
return grade;
}
public void setGrade(String grade)
{
this.grade=grade;
}
public String getId()
{
return id;
}
public void setId(String id)
{
this.id=id;
}
public String getName()
return name;
}
public void setName(String name)
{
https://www.wendangku.net/doc/301360422.html,=name;
}
public String getPassword()
{
return password;
}
public void setPassword(String password)
{
this.password=password;
}
}
public class Borrow //书籍借阅信息类{
private int id; //借阅编号
private String book_id; //图书编号
private String reader_id; //读者编号
private String num; //借书数量
private String borrowDate; //借书日期
private String backDate; //应还日期
private String Bookname; //图书名称
public String getBookname()
{
return bookname;
}
public void setBookname(String bookname)
{
this.bookname=bookname;
}
public string getBackDate()
{
return backDate;
}
public void setBackDate(String backDate)
{
this.backDate=backDate;
}
public string getBorrowDate()
{
return borrowDate;
public void setBorrowDate(String borrowDate)
{
this.borrowDate=borrowDate;
}
public String getNum()
{
return num;
}
public void setNum(String num)
{
this.num=num;
}
public String getBook_id()
{
return book_id;
}
public void setBook_id(String book_id)
{
this.book_id=book_id;
}
public String getReader_id()
{
return reader_id;
}
public void setReader_id(String reader_id)
{
this.reader_id=reader_id;
}
public int getId()
{
return id;
}
public void setId(Int id)
{
this.id=id;
}
}
public class Back //图书归还信息类{
private String book_id; //图书编号
private String bookname; //图书名称
private String operatorId; //操作员编号
private String borrowDate; //图书借阅时间
private String backDate; //图书归还时间private String readerName; //读者姓名private String reader_id; //读者编号
private int typeId;
private int id;
public int getId()
{
return id;
}
public void setId(int id)
{
this.id=id;
}
public int getTypeId()
{
return typeid;
}
public void setTypeId(int typeid)
{
this.typeId=typeId;
}
public string getBackDate()
{
return backDate;
}
public void setBackDate(String backDate) {
this.backDate=backDate;
}
public String getBookname()
{
return bookname;
}
public void setBookname(String bookname) {
this.bookname=bookname;
}
public string getBorrowDate()
{
return borrowDate;
}
public void setBorrowDate(String borrowDate) {
this.borrowDate=borrowDate;
}
public String getOperatorId()
{
return operatorId;
}
public void setOperatorId(String operatorId)
{
this.operatorId=operatorId;
}
public String getBook_id()
{
return book_id;
}
public void setBook_id(String book_id)
{
this.book_id=book_id;
}
public String getReader_id()
{
return reader_id;
}
public void setReader_id(String reader_id)
{
this.reader_id=reader_id;
}
public String getReaderName()
{
return readerName;
}
public void setReaderName(String readerName)
{
this.readerName=readerName;
}
}
//系统登录模块设计
public class BookLogin extends JFrame
{
private static final Operater Type=null; //人员类型private static Operater user; //用户名private JPasswordField password;
private JTextField username;
private JButton login;
private JButton reset;
public BookLogin()
{
super();
final BorderLayout borderLayout=new BorderLayout(); //创建布局管理器
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置“关闭”按钮处理事件
borderLayout.setVgap(10); //设置组件间的垂直关系
getContentPane().setLayout(borderLayout); //使用布局管理器
setTitle("图书管理系统登录") //设置窗体标题
Toolkit tool=Toolkit.getDefaultToolkit(); //获得默认的工具箱
Dimension screenSize=tool.getScreenSize(); //获得屏幕的大小
setSize(285,194);
setLocation((screenSize.width-getWidth())/2,(screenSize.height-getHeight())/2); //设置窗体位置
final JPanel mainPanel=new JPanel(); //创建主面板
mainPanel.setLayout(new BorderLayout()); //设置边框布局
mainPanel.setBorder(new EmptyBorder(0,0,0,0)) //设置边框为0
getContentPane().add(mainPanel); //在窗体中加入主面板
final JLabel imageLabel=new JLabel; //创建一个标签,用来显示图片
ImageIcon loginIcon=Icon.add("login.jpg"); //创建一个图像图标
imagelabel.setIcon(loginIcon); //设置图片
imageLabel.setOpaque(true); //设置绘制其边界内的所有像素
imageLabel.setBackground(Color.GREEN); //设置背景颜色
imageLabel.setpreferredSize(new Dimension(260,60)); //设置标签大小
mainPanel.add(imageLabel,BorderLayout.NORTH); //添加标签到主面板
final JPanel centerPanel=new JPanel(); //添加一个中心面板
final GridLayout gridLayout=new GridLayout(2,2); //创建网络布局管理器
gridLayout.setHgap(5); //设置组件之间平行的距离
gridLayout.setVgap(20); //设置组件之间垂直的距离
centerPanel.setLayout(gridLayout); //使用布局管理器
mainPanel.add(centerPanel); //添加到主桌面
final JLabel userNamelabel=new JLabel(); //创建一个标签
userNameLabel.setHorizontalAlignment(SwingConstants.CENTER); //设置对齐方式
userNameLabel.setPreferredSize(new Dimension(0,0)); //设置组件大小
userNameLabel.setMinimumSize(new Dimension(0,0)); //设置组件最小的大小
centerPanel.add(userNameLabel); //添加到中心面板
userNameLabel.setText("用户名:"); //设置标签文本
username=new JTextField(20); //创建文本框
username.setPreferredSize(new Dimension(0,0)); //设置组件大小
centerPanel.add(username); //添加到中心面板
final JLabel passwordLabel=new JLabel(); //创建一个标签
passwordLabel.setHorizontalAlignment(SwingConstants.CENTER); //设置对齐方式
centerPanel.add(passwordLabel); //添加到中心面板
passwordLabel.setText("密码:"); //设置标签文本
password=new JPasswordField(20); //创建密码框
password.setDocument(new Document(6)); //设置密码长度为6
password.addKeyListener(new KeyAdapter() //监听密码框
{
public void keyPressed(final keyEvent e) //监听键盘案件事件
{
if(e.getKeyCode()==10) //如果按了回车键
{
login.doClick(); //进行登录
}
}
})
centerPanel.add(password); //添加到中心面板
final JPanel southPanel=new JPanel; //新增一个底部面板
mainPanel.add(southPanel,BorderLayout.SOUTH); //添加到主面板中
login=new JButton(); //创建按钮组件
login.addActionListener(new BookLoginAtion()); //添加监听器
login.setText("登录"); //设置按钮文本
southPanel.add(login); //把按钮添加到底部面板
reset=new JButton(); //创建按钮组件
reset.addActionListener(new BookResetAction()); //添加监听器
reset.setText("重置");//设置按钮文本
southPanel.add(reset); //把按钮添加到底部面板
setVisible(true); //设置创建可见
setResizable(false); //设置窗体不可改变大小
}
public static Operater getUser()
{
return user;
}
public static Operater getType()
{
return Type;
}
public static void setUser(Operater user)
{
https://www.wendangku.net/doc/301360422.html,er=user;
}
}
private class BookResetAction implements ActionListener
{
public void actionPerformed(final ActionEvent e)
{
username.setText(""); //设置用户名输入框为空
password.setText(""); //设置密码输入框为空
}
}
private class BookLoginAction implements ActionListener
{
public void actionPerformed(final ActionEvent e)
{
user=Business.check(username.getText(),new
String(password.getPassword())); //调用business方法
if(user.getName()!=null) //判断用户名是否为null
{
try
{
Main frame=new Main(); //创建一个主窗体
frame.setVisible(true); //设置其可见
BookLogin.this.setVisible(false); //设置登录窗体为不显示}
catch(Exception ex)
{
ex.printStackTrace();
}
}
else
{
JOptionPane.showMessageDialog(null,"请输入正确的用户名和密码!"); //弹出提示框
username.setText(""); //设置用户名输入框为空
password.setText(""); //设置密码输入框为空
}
}
}
//基本信息管理模块
public class ReaderAdd extends JInternalFrame //添加读者信息{
public ReaderAdd()
{
super();
setTitle("读者相关信息添加");
setIconifiable(true); //设置窗体可最小化
setClosable(true); //设置窗体可关闭
setBounds(100,100,500,350);
final JLabel logoLabel=new JLabel();
ImageIcon readerAddIcon=Icon.add("readerAdd.jpg");
logoLabel.setIcon(readerAddIcon);
logoLabel.setOpaque(true);
logoLabel.setBackground(Color.CYAN);
logoLabel.setPreferredSize(new Dimension(400,60));
getContentPane().add(logoLabel,BorderLayout.NORTH);
final JPanel panel=new JPanel();
panel.setLayout(new FlowLayout());
getContentPane().add(panel);
final JPanel panel_1=new JPanel();
final GridLayout gridLayout=new GridLayout(0,4);
gridLayout.setVgap(15);
gridLayout.setHgap(15);
panel_1.setLayout(gridLayout);
panel_1.setPreferredSize(new Dimension(450,200));
panel.add(panel_1);
final JLabel label_2=new JLabel();
label_2.setText("姓名:");
panel_1.add(label_2);
readername=new JTextField();
readername.setDocument(new Document(10));
panel_1.add(readername);
final JLabel label_3=new JLabel();
public void actionPerformed(final ActionEvent e)
{
Check validator=new Check(); //校验类
String zj=String.valueof(comboBox.getSelectedIndex());
String id=read_id.getText().trim();
Vector v1=new Vector();
v1.clear();
v1.add("reader"); //读取配置文件中相应的查询语句
v1.add(id);
if(l==validator.Validate(V1)) //检查是否存在该读者
{
JOptionPane.showMessageDialog(null,"添加失败,该读者编号已存在!");
}
else
{
Int
i=Business.InsertReader(readername.getText().trim(),sex.trim(),age.getText().trim(),zj number.getText().trim(),
Date.valueOf(date.getText().trim()),maxnumber.getText().trim().tel.getText().trim (),Double.valueof(keepmoney.getText().trim()),
zj,zy.getText().trim(),Date.valueOf(bztime.getText().trim()),read_id.getText().tri m());
if(i==1)
{
JOptionPane.showMessageDialog(null,"添加成功!");
doDefaultCloseAction();
}
}
}
}
class TelListener extends KeyAdapter
{
public void keyTyped(KeyEvent e)
{
String numStr="0123456789-"+(char)8; //类型转换
if(numStr.indexOf(e.getKeyChar())<0)
{
e.consume();
}
}
}
//添加“关闭”按钮的事件监听器
class CloseActionListener implements ActionListener
{
public void actionPerformed(final ActionEvent e)
{
doDefaultCloseAction();
}
}
private String[] columnNames("名称","性别","年龄","证件号码","借书证有效日期","借书量","电话","押金","证件","职业","读者编号","办证时间");
private String[] array=new String[]{"身份证","军人证","学生证"};
String id;
private Object[][] getFileStates(List list)
{
Object[][]results=new Object[list.size()][columnNames.length];
for(int i=0;i { Reader reader=(Reader)list.get(i); result[i][0]=reader.getName(); //定义二维数组 String sex; if(reader.getSex().equals("1")) { sex="男"; } else { sex="女"; } results[i][1]=sex; //读取读者歌属性值 results[i][2]=reader.getAge(); results[i][3]=reader.getIdentityCard(); results[i][4]=reader.getDate(); results[i][5]=reader.getMaxNum(); results[i][6]=reader.getTel(); results[i][7]=reader.getKeepMoney(); results[i][8]=array[reader.getZj()]; results[i][9]=reader.getZy(); results[i][10]=reader.getBook_id(); results[i][11]=reader.getBZtime(); } return results; } //图书类别管理 //添加图书信息 utton.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { if(bookTypeName.getText().length()==0) { JOptionPane.showMMessageDialog(null,"图书类别文本框不可为空"); return; } if(days.getText().length()==0) { 附录 主页面(MDImain): Private Sub addbook_Click() add_book.Show End Sub Private Sub addreader_Click() add_reader.Show End Sub Private Sub adduser_Click() add_user.Show End Sub Private Sub backbook_Click() back_book.Show End Sub Private Sub borrowbook_Click() borrow_book.Show End Sub Private Sub cuibackbook_Click() cuiback_book.Show End Sub Private Sub findbook_Click() find_book.Show End Sub Private Sub findreader_Click() find_reader.Show End Sub Private Sub MDIForm_Load() End Sub Private Sub modifybook_Click() change_book.Show End Sub Private Sub modifypwd_Click() change_pwd.Show End Sub Private Sub modifyreader_Click() change_reader.Show End Sub Private Sub delbook_Click() del_book.Show End Sub Private Sub delreder_Click() del_reader.Show End Sub Private Sub quitsys_Click() End End Sub 登陆(login): Option Explicit Dim cnt As Integer '记录确定次数 Private Sub Command1_Click() Dim sql As String Dim rs_login As New ADODB.Recordset If Trim(txtuser.Text) = "" Then '判断输入的用户名是否为空MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else sql = "select * from 用户表where 用户名='" & txtuser.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" txtuser.SetFocus Else '检验密码是否正确 If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) Then userID = txtuser.Text userpow = rs_login.Fields(2) rs_login.Close Unload Me MsgBox "欢迎登录到图书管理系统!", vbOKOnly + vbExclamation, "" MDImain.Show Else 作品设计报告书题目:《图书管理系统》 班级网络2012-1班 学号 姓名 课程名称数据库应用技术 指导教师 目录 数据库课程设计报告书 一、设计目标 1.掌握计算机管理信息系统设计的一般方法,主要包括系统分析、系统设计的组织 和实施。 2.关系型数据库管理系统的编程技术,并能独立完成一般小系统的程序设计、调试 运行等工作。 3.培养把所学知识运用到具体对象,并能求出解决方案的能力。 二、数据库存储设计指导思想 在数据库存储设计的无数选择中,简单是系统架构师和DBA 的秘密武器。 简单,有时候就来自于对一个特定的表或表空间没有选择最优I/O 特性,总有这么一种可能,一个富有经验的DBA 拥有高超的存储技能并可以没有时间限制的去为一个非常重要的表或者索引配置一个存储。然而这样做的问题是,就算能达到设计的最佳性能,为了维护原始对象,这也经常造成对一个系统的管理变得更加复杂。好的数据库存储设计的要点是,在一个动态系统上,实现所有目标应该是最初的系统设计的一部分,并应该在数据库运行过程中长期进行。这篇文档简单的最佳实践描述达到了这些目标并且几乎没有性能损失。 三、任务 角色:读者、图书馆馆员、系统管理员;基础数据:读者信息、图书信息、操作员信息;业务数据:借还书记录登记、罚款登记;统计数据:书籍借阅情况统计或读者借阅情况统计。基本要求:利用数据库技术,完成基础数据和业务数据的储存和操作,数据库设计合理1.设计报告:含E-R图、数据字典、关系模式、关系实例、查询描述、关系代数、SQL 实现的查询语言及查询结果。 2.上机实现。 1.问题描述 1.1背景 随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。 1.2数据需求 图书馆管理信息系统需要完成功能主要有: 1. 读者基本信息的输入,包括借书证编号、读者姓名、读者性别。 2.读者基本信息的查询、修改,包括读者借书证编号、读者姓名、读者性别等。 3.书籍类别标准的制定、类别信息的输入,包括类别编号、类别名称。 4.书籍类别信息的查询、修改,包括类别编号、类别名称。 5.书籍库存信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、登记日期。 6.书籍库存信息的查询,修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期登记日期等。 7.借书信息的输入,包括读者借书证编号、书籍编号、借书日期。 8.借书信息的查询、修改,包括借书证编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期等。 9.还书信息的输入,包括借书证编号、书籍编号、还书日期。 10.还书信息的查询和修改,包括还书读者借书证编号、读者姓名、书籍编号、书籍名称、借书日期、还书日期等。 11.超期还书罚款输入,还书超出期限包括超出期限还书的读者借书证号,书籍编号,罚款金额。 图书管理系统 系统功能: 1.借书:根据借书人提出的图书编号(id)查询该图书,如果该图书现存量(store)不为0,则提示输入借阅者的学号(num),为借书人办理借书手续,提示用户该书已被 借出。 2.归书:根据借书人的学号查询该读者的信息,若有该读者,则提示输入所借书籍的编号(id),为该读者办理还书手续,提示该书已还。 3.书籍管理:弹出书籍管理界面,输入所要执行操作的号码: (1)增加书籍:弹出注册新书的窗口,按照提示输入所增加书籍的信息,最后,提示用户该书已被注册。 (2)删除书籍:弹出删除书籍的窗口,输入所要删除书籍的编号(id),输出该书的信息,确认是否删除该书,1为删除,0为放弃。 (3)修改书籍:弹出修改书籍的窗口,输入所要修改书籍的编号(id),输出该书的信息,确认是否修改该书,1为修改,0为放弃。之后按照提示重新输入书籍的信息。 4.读者管理:弹出读者管理界面,输入所要执行操作的号码: (1)增加读者:弹出注册读者的窗口,按照提示输入所增加读者的信息,最后,提示用户该读者已被注册。 (2)删除书籍:弹出删除读者的窗口,输入所要删除读者的学号(num),输出该读者的信息,确认是否删除该读者,1为删除,0为放弃。 (3)修改书籍:弹出修改读者的窗口,输入所要修改读者的学号(num),输出该读者的信息,确认是否修改该读者,1为修改,0为放弃。之后按照提示重新输入读者的信息。 5.搜索:此搜索包括两方面的搜索,书籍搜索以及读者搜索,弹出搜索的窗口,按照提示输 入所要搜索的内容,1为书籍搜索,2为读者搜索: (1)搜索书籍:弹出搜索书籍的窗口,按照提示输入所要搜索的方式,包括按<1>书名搜索, <2>书号搜索,<3>作者搜索,<4>出版社搜索,<5>出版时间搜索;根据所选方式输入相 应的内容,若是该书籍存在,则输出该书籍的信息,否则,返回主界面。 (2)搜索读者:弹出搜索读者的窗口,按照提示输入所要搜索的方式,包括按<1>名字搜索, <2>学号搜索;根据所选方式输入相应的内容,若是该读者存在,则输出该读者的信息, 否则,返回主界面。 6.退出:退出图书管理系统。 图书类设计: 目录 题目简述 -------------------------------- 01 需求分析 -------------------------------- 01 数据结构 -------------------------------- 01 功能模块 -------------------------------- 02 程序设计 -------------------------------- 02 运行截图 -------------------------------- 04 分析总结 -------------------------------- 08 程序源码 -------------------------------- 08 图书信息管理系统 题目简述: 题目名称:图书信息管理系统 要求:使用图形用户界面,用数据库建立1或2个图书信息表,能连接数据库并实现查询、增加、删除、修改等功能。 需求分析: 图书信息管理系统应该具备图书的信息管理功能和流通管理功能。其中,信息管理功能包括查找,增加,修改,删除,显示全部信息等模块。流通管理功能包括图书借阅,归还等模块。因此分别设计各个模块,实现不同的功能。 数据结构: 用SQL Sever 建立数据库的表,用一张表存放图书的ID号码,图书名称,图书的所有者,图书状态,图书的使用者(允许为空)。具体设计如下图所示: 图书ID,图书名称,图书所有者,图书的状态,图书使用者(允许为空)均为varchar(50)类型,在Java中可以方便的查询。图书存储信息的具体内容如下图所示: 功能模块: 程序设计: 主框架设计: 主框架上方包含三个按钮,分别是“系统管理”、“图书信息管理”和“图书流通管理”,定义JMenuBar类的对象、JMenu类的对象和JMenuItem类的对象,分别表示菜单栏、菜单组和菜单选项,然后调用初始化函数,将不同类的对象通过setText()函数设定不同的文本,然后将其添加到窗口容器中。对每个按钮分别添加不同的消息监听,响应相应的消息,调用不同的类完成不同的功能。消息监听功能详见源代码bookMain类。 图书信息管理模块包括增加图书,删除图书,编辑图书,查找图书和显示图书信息。具体的方法实现在bookBean中实现,当用户点击相应的按钮时,消息监听模块就会调用bookBean的构造函数产生一个bookBean的对象,然后通过对象调用bookBean类中的相应方法,完成事件的相应。 增加图书信息模块: 调用bookAdd类的构造函数产生一个该类的对象,在初始化函数中显示信息输入对话 create database 图书管理系统 on ( name = 图书管理系统, filename ='c:\图书管理系统.mdf', size = 10 , maxsize =20 , filegrowth=5) log on ( name = lib_log, filename= 'c:\lib_log.ldf', size = 5, maxsize = 25 , filegrowth =5 ) Create table 管理员信息表 ( 工作号varchar(10) primary key not null, 姓名varchar(10) , 性别varchar(10), 电话varchar(10) ); (2)书籍信息表的建立 drop table 图书信息表 create table 图书信息表 ( 图书编号varchar(20) primary key not null, 书名varchar(50) not null, 主编varchar(20) not null, 出版社varchar(20) not null, 作者varchar(20) not null); (3)读者信息表的建立 create table 读者信息表 ( 读者学号varchar(10) primary key not null, 读者姓名varchar(10) not null, 联系电话varchar(10) not null, 读者性别varchar(5) not null, 所在院系varchar(10) ) (4)借阅关系表建立 drop table 借阅表 create table 借阅表 第一章需求分析 1.1设计内容 利用c++的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。 1.2 设计任务 要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C++进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C++课程基本知识的理解与掌握,培养学生利用C++进行软件操作的能力和技巧。 1.3 基本要求 (1)通过提示菜单选择可以进行的操作。 (2)将图书的信息存入文件中,并命名为BookInfo.txt。 (3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。 (4)在本系统中可以进行管理系统包含的基本操作,其中包括: a)查看所有图书的信息。 b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显示该图书的相关信息,如果没有找到则给出提示信息。 c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。 d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。 e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt文件中。 (5)图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。 (6)图书信息文件中每一行存放一本图书的信息。 (7)借阅信息文件中每一行存放一本书的借阅情况。 (8)对老师.学生的信息进行登记处理,包括姓名、学号教师编号、学院班级等。 (9)对图书的金额进出管理,对一丢失的图书进行处罚、对超期归还的图书进行赔偿金额计算。 第二章系统功能设计 图书管理系统数据库设计 一、系统概述 1、系统简介图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。 2、需求分析 图书管理系统的需求定义为: 1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。 2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。 3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。 4.学生直接归还图书,根据图书编码修改借阅信息 5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息 6.管理员可以注销学生信息。 通过需求定义,画出图书管理系统的数据流图: 数据流图 二、系统功能设计 画出系统功能模块图并用文字对各功能模块进行详细介绍系统功能模块图: 三、数据库设计方案图表 1、系统E-R模型 总体E-R图: 精细化的局部E-R图: 学生借阅-归还E-R图: 管理员E-R图: 2、设计表 给出设计的表名、结构以及表上设计的完整性约束。student : book: book_so比 borrow:存储学生的借书信息 return_table: 存储学生的归还信息 存储学生的罚单信息 man ager: 3、设计索引 给出在各表上建立的索引以及使用的语句。student : 1. 为stu_id 创建索引,升序排序sql:create index index_id on student(stu_id asc); 2. 为stu_name 创建索引,并且降序排序sql:alter table student add index index_name(stu_name, desc); 插入索引操作和结果如下所示: mysql> create index index_id on student(stu_id asc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table student add index index_name(stu_name desc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> book: 1. 为book_id 创建索引,升序排列sql:create index index_bid on book(book_id); 2. 为book_record 创建索引,以便方便查询图书的登记日期信息,升序:sql:create index index_brecord on book(book_record); 插入索引的操作和结果如下所示: mysql> create index index_bid on book(book_id); 数据库图书管理系 统含代码 目录 一.需求描述和系统边界 ........................................ 错误!未定义书签。二.需求分析 ............................................................ 错误!未定义书签。 1.业务需求 .............................................................. 错误!未定义书签。 2.功能需求及数据需求分析 ................................... 错误!未定义书签。 3.业务规则分析....................................................... 错误!未定义书签。三.实体集及属性 .................................................... 错误!未定义书签。四.联系集及E-R图................................................. 错误!未定义书签。五.逻辑数据库设计 ................................................ 错误!未定义书签。六.数据库编程 ........................................................ 错误!未定义书签。 1.创立表 .................................................................. 错误!未定义书签。 2.创立触发器 .......................................................... 错误!未定义书签。 3.管理员操作 .......................................................... 错误!未定义书签。 4.读者操作 .............................................................. 错误!未定义书签。 5. 管理员对借阅关系的操作 .................................. 错误!未定义书签。七.代码实现 ............................................................ 错误!未定义书签。 1.输入数据设计.................................................... 错误!未定义书签。 2.完成借阅、续借、归还的操作设计 ................... 错误!未定义书签。八.模式求精 ............................................................ 错误!未定义书签。九.小结.................................................................... 错误!未定义书签。 源程序清单 1、文件名 login(login.frm) 功能说明:整个系统的登陆界面,需要输入用户名和登陆密码才能进入到系统中,进行借阅等操作。 源代码: Option Explicit Dim cnt As Integer Private Sub Command1_Click() Dim sql As String Dim rs_login As New ADODB.Recordset If Trim(Combo1.Text) = "" Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" Combo1.SetFocus Else sql = "select * from 系统管理 where 用户名='" & Combo1.Text & "'" rs_login.Open sql, conn, adOpenKeyset, adLockPessimistic If rs_login.EOF = True Then MsgBox "没有这个用户", vbOKOnly + vbExclamation, "" Combo1.SetFocus Else If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) Then userID = Combo1.Text rs_login.Close Unload Me form1.Show Else MsgBox "密码不正确", vbOKOnly + vbExclamation, "" txtpwd.SetFocus End If End If cnt = cnt + 1 If cnt = 3 Then Unload Me End If Exit Sub End Sub Private Sub Command2_Click() Unload Me End Sub Private Sub Form_Load() Dim connectionstring As String connectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _ "data source=book.mdb" conn.Open connectionstring cnt = 0 End Sub Private Sub txtuser_Change() End Sub 2、文件名 form1(form1.frm) 功能说明:整个系统的主界面,其中包括图书管理、读者管理、图书借阅管理、系统管理、关于,以及在这下面的子菜单。 源代码: Private Sub add_admin_Click() frmadduser.Show End Sub Private Sub add_back_book_Click() frmbackbookinfo.Show 基于java的图书管理系统源代码声明:本系统是基于C/S的图书管理系统,主要使用的是Oracle数据库,下面附所有实现代码 package library; import java.awt.BorderLayout; import java.awt.Container; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.ResultSet; import javax.swing.JButton; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JTextField; public class book_add extends JFrame implements ActionListener{ DataBaseManager db=new DataBaseManager(); ResultSet rs; JPanel panel1,panel2; JLabel book_id_label,book_name_label,author_label, press_label,press_date_label,price_label,book_num_label,borrowed_num _label,a ddress; 图书标准管理系统含源代码可以运行 组长:何关瑶学号11107200105 组员:汪芳 李玉珏 马文磊 雷盛华 第一章需求分析 1.1设计内容 利用c++的文件操作能力设计开发一个小型的图书管信息管理系统,至少具有如下功能:查寻所有图书信息、通过输入图书编号来完成查找某一本图书信息、添加图书信息、删除图书信息以及通过学生学号实现图书借阅功能。操作界面要符合用户的一般习惯,界面易于读者明白理解,图形或文本界面都可以。 1.2 设计任务 要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识;提高学生用高级语言进行程序设计的能力,重点提高用C++进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤;提高撰写技术文档的能力。掌握模块化编程的基本方法与步骤;巩固和加深学生对C++课程基本知识的理解与掌握,培养学生利用C++进行软件操作的能力和技巧。 1.3 基本要求 (1)通过提示菜单选择可以进行的操作。 (2)将图书的信息存入文件中,并命名为BookInfo.txt。 (3)将图书借阅情况信息存入文件中,并命名为SendInfo.txt。 (4)在本系统中可以进行管理系统包含的基本操作,其中包括: a)查看所有图书的信息。 b)输入一本图书的图书编号,从当前图书中进行查找,如果找到则显 示该图书的相关信息,如果没有找到则给出提示信息。 c)添加一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则提示重新输入,否则将该图书按照顺序插入到相应位置。 d)删除一本图书的基本信息,通过输入图书编号,首先查找是否存在该图书编号的图书,如果存在则将该图书删除,否则给出提示信息,提示该图书不存在。 e)借阅一本图书,需要给出学号和图书编号,如果图书编号不存在则重新输入,直到输入正确为止,并将学号和相应的图书编号存入SendInfo.txt 文件中。 (5)图书基本信息包括图书编号、书名、作者、出版社和价钱这些简单信息。 (6)图书信息文件中每一行存放一本图书的信息。 (7)借阅信息文件中每一行存放一本书的借阅情况。 (8)对老师.学生的信息进行登记处理,包括姓名、学号教师编号、学院班级 等。 (9)对图书的金额进出管理,对一丢失的图书进行处罚、对超期归还的图书 进行赔偿金额计算。 图书管理系统数据库设计 图书管理系统数据库设计 项目名称:图书管理系统指导老师: 姓名: 目录 一、需求分析 (2) 二、概念设计 (5) 三、逻辑设计 (8) 四、物理设计 (10) 五、实施阶段 (16) 六、运行和维护 (18) 一、需求分析 1.1 系统目标 图书管理信息系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 系统开发的总体任务是实现各种信息的系统化,规范化和自动化。 1.2 需求定义 图书馆管理系统开发。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。本系统结构分为读者信息管理、图书信息管理,读者管理可以浏览读者的信息,可以对读者信息进行维护。图书管理可以浏览图书的信息,可以对图书信息进行维护。借阅管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。本系统主要解决的问题是利用关键字对数据库进行查询。本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效 的实施。 1.3 功能需求 (1)有关读者种类标准的制定、种类信息的输入、包括种类编号、种类名称、借书数量、借书期限等。 (2)读者有关信息的修改、查询等。 (3)读者基本信息的输入,包括读者编号、读者姓名、班级、院系等。 (4)读者基本信息的查询、修改 (5)书籍信息的输入,包括书籍编号、书籍名称、书籍所属类别、作者、出版社、出版日期、在库数、价格 (6)借书信息包括借书证号、书籍编号、借出日期、拖欠日期、罚款种额 (7)图书管理书籍号、管理员编号、销书数量、销书日期。 毕业设计_图书管理系统 一、数据库设计数据库设CREATE DATABASE TSGL GO USE TSGL GO CREATE TABLE Bmanage ( bId varchar(10) PRIMARY KEY, bName varchar(50), --添加图书--图书编号 --书名 bNumber varchar(10), --书数目) GO bSore varchar(50) --分类 CREATE TABLE Madmin ( mName varchar(10)PRIMARY KEY, mPwd varchar(25), mAge varchar(8), mSex varchar(4), mNumber varchar(15), mrole varchar(8) ) GO --图书员管理 --图书管理员姓名--图书管理员密码 --图书管理员年龄 --图书管理员性别 --图书管理员电话 --图书管理员角色 CREATE TABLE Reader ( rSno varchar (10) PRIMARY KEY , rName varchar (10), rPwd varchar (25), rAge varchar (8), rSex varchar (4), rState varchar (8), rNumber varchar (15), rEmail varchar (25), --读者信息表reader --读者号 --姓名 --密码 --年龄 --性别 --状态 --电话号码 --电子邮件rAdress varChar (50), --地址) GO rGrade varChar (15), rClass varchar (15), rRole varchar (8) --年级 --班级 --角色 CREATE TABLE Rrecord ( rSno varchar (10) PRIMARY KEY , rName varChar (10), bId varchar (10), bName varChar (50), bTime varchar (10), bBackTime varchar (10) ) GO CREATE TABLE SysSet ( rRole varchar (8)PRIMARY KEY , rState varchar (8), Fine float (25), rDay varchar (8) --读者编号学号 --读者姓名 --图书编号 --图书名称 --借书时间 --还书时间 --读者角色 --读者可借书数 --过期罚款设置 --可借书天数 ) 二、界面截图及说明 1) 登录窗口(实现管理员与馆长的登陆) 工程技术学院 数据库课程设计 题目:图书管理系统数据库设计 学号: 专业班级: 姓名: 指导老师: 完成日期: 目录 一、需求分析 二、概念结构设计 三、逻辑结构设计 四、物理结构设计 五、数据库的构建和数据装入 六、数据库的功能实现 七、总结 1.需求分析 系统现状及主要解决问题 近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍的增加,面对着庞大的信息量,传统的人工方式管理的记录中我们可以发现这样的问题: (1)检索速度慢、效率低。因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。 (2)借书、还书工作量大。借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的。而且经常会出现这样那样的差错。 (3)图书统计工作难、藏书更新不能及时完成。图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。 因此必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。使图书管理者便于对图书和读者的管理。本系统主要实现对图书馆信息的管理,主要功能为管理有关读者、图书、借阅、查询、删除和管理员的信息等。使用该系统之后,图书馆管理人员可以管理读者的登记、图书的购入、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。 能解决的问题 (1) 在读者信息管理部分要求: a.可以查询读者信息。 b.可以对读者信息进行添加及删除的操作。 (2 )在书籍信息管理部分,要求 xxxx学院 课 程 设 计 报 告 设计名称:数据库课程软件设计 班级: 姓名: 学号: 指导教师: xx 时间: 2010.6.1—2010.6.16 一、课程设计目的 二、课程设计任务与要求1.设计任务 2.设计要求 三、原始依据 四.课程设计说明书 1. 需求分析 (1)问题描述 (2)基本要求 (3)测试数据 2. 概要设计 (1).数据结构 (2).程序模块及之间的调用关系(3). 详细分析 (4). 调试与结果 借书图示: 还书图示 还书图示 图书维护菜单 读者维护菜单 帮助文件 五、课程设计心得 一.课程设计目的 软件应用课程设计是计算机及相关专业的实践环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。其目的在于巩固和加深对C++语言课程的基本知识的理解和掌握;掌握C++语言编程和程序调试的基本技能;利用C++语言进行软件设计的基本思路和方法;提高运用C++语言解决实际问题的能力。 二.课程设计任务与要求: 1.设计任务 基本要求: [1]: 工作人员登陆后,可以进行的操作 (1)添加学生的信息(学号,姓名,院系,最大借阅的图书数量等); (2)修改学生的信息(学号,姓名,院系,最大借阅的图书数量); (3)删除学生的信息(学号,姓名,院系,最大借阅的图书数量),如果某个学生退学,就要清除他的信息; (4)查看学生的信息; (5)添加图书的信息(图书号,书名,作者,出版社,数量等); (6)修改图书的信息(图书号,书名,作者,出版社,数量等); (7)删除图书的信息(图书号,书名,作者,出版社,数量等); (8)查看图书的信息; [2]: 学生登陆后,可以进行的操作 (1)查看学生自己借阅的数目信息; (2)借阅图书; (3)归还图书; 备注:要求将学生和图书信息存放到外存上,每次从外存读取数据。 2.设计要求 (1).对指导教师下达的题目进行系统分析。 (2).根据分析结果完成系统设计。 (3).编程:在计算机上实现题目的代码实现。 (4).完成对该系统的测试和调试。 (5).提交课程设计报告,课程设计报告内容包括:需求分析、概要设计、详细设计,调试与结果和设计心得体会五个部分。 三.原始依据 已完成C++语言课程学习,有语言编程基础,能够熟练运用C++语言进行程 软件工程(课程设计)题目:图书管理系统-数据库设计 学院工商学院 学科门类工科 专业软件工程 学号2012484156 姓名文鹏 指导教师王思乐 2014年12月7日 河北大学学年论文(课程设计)任务书 (指导教师用表) 指导教师签字: 河北大学学年论文(课程设计)成绩评定表 学院:工商学院 数据库设计说明书大纲 1 引言 随着计算机技术的不断应用和提高,计算机已经深入到当今每个学生学习生活的各个角落。而对于学校的图书馆仍采用管理员管理书籍基本信息、书籍借还信息的形式,不仅效率低,而且手续繁琐。为了满足其学生自行对图书馆书籍,借还书等进行高效的查询使用,在学生具备一定的计算机操作能力的前提下,此图书管理系统软件力求提高其图书馆使用效率。 1.1 编写目的 本文档的编写是为了熟悉SQL Server数据库的数据库管理(数据库的创建、备份与恢复、函数与存储过程的应用、数据导入导出、作业的调度等)、表的设计(表的创建、修改、删除,字段的默认值、约束及关系等)、数据的查询处理(insert、update、delete、select语句的应用)等技术;完善图书管理系统软件的开发途径和应用方法。以求在最短的时间高效的开发图书管理系统。 预期读者是“软件工程”教师,及从事“图书管理系统”开发的相关人。 1.2 背景 待开发的数据库的名称:Library Management System(LMS) 使用此数据库的软件系统的名称:图书管理系统。 随着图书馆图书种类、数量的不断扩大,图书检索速度慢、统计工作量大,难以满足图书馆现代化管理的要求。因此,建立一套图书馆管理软件,科学的对图书馆数据进行管理,方便图书的检索和读者借阅工作。 本项目的提出者及开发者是软件工程专业图书管理系统开发小组(高彦昭、甄朝霞、李茹枫、孙华芬、陆叶倩、秦薇),用户是学校图书馆。 图书管理系统软件LMS V1.0是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用。除此以外,LMS V1.0可通过访问权限控制以及数据备份功能,确保数据的安全性。 图书管理系统数据库设计-M Y S Q L实现 公司内部编号:(GOOD-TMMT-MMUT-UUPTY-UUYY-DTTI- 图书管理系统数据库设计 一、系统概述 1、系统简介 图书管理是每个图书馆都需要进行的工作。一个设计良好的图书管理系统数据库能够给图书管理带来很大的便利。 2、需求分析 图书管理系统的需求定义为: 1.学生可以直接通过借阅终端来查阅书籍信息,同时也可以查阅自己的借阅信息。 2.当学生需要借阅书籍时,通过账号密码登陆借阅系统,借阅系统处理学生的借阅,同时修改图书馆保存的图书信息,修改被借阅的书籍是否还有剩余,同时更新学生个人的借阅信息。 3.学生借阅图书之前需要将自己的个人信息注册,登陆时对照学生信息。 4.学生直接归还图书,根据图书编码修改借阅信息 5.管理员登陆管理系统后,可以修改图书信息,增加或者删除图书信息 6.管理员可以注销学生信息。 通过需求定义,画出图书管理系统的数据流图: 数据流图 二、系统功能设计 画出系统功能模块图并用文字对各功能模块进行详细介绍。系统功能模块图: 三、数据库设计方案图表 1、系统E-R模型 总体E-R图: 精细化的局部E-R图: 学生借阅-归还E-R图: 管理员E-R图: 2、设计表 给出设计的表名、结构以及表上设计的完整性约束。student: book: book_sort: borrow:存储学生的借书信息 return_table:存储学生的归还信息 ticket:存储学生的罚单信息 manager: 3、设计索引 给出在各表上建立的索引以及使用的语句。 student: 1.为stu_id创建索引,升序排序 sql:create index index_id on student(stu_id asc); 2.为stu_name创建索引,并且降序排序 sql:alter table student add index index_name(stu_name, desc); 插入索引操作和结果如下所示: mysql> create index index_id on student(stu_id asc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> alter table student add index index_name(stu_name desc); Query OK, 0 rows affected Records: 0 Duplicates: 0 Warnings: 0 mysql> book: 1.为book_id创建索引,升序排列 sql:create index index_bid on book(book_id); 2.为book_record创建索引,以便方便查询图书的登记日期信息,升序:附录(图书管理系统程序代码)
SQL数据库图书管理系统(完整代码)
C++图书管理系统源代码
Java图书管理系统-附源码
数据库图书管理系统
图书管理系统含源代码可以运行
图书管理系统数据库设计-MYSQL实现(2)
数据库图书管理系统含代码范文
图书馆管理系统源代码
基于java的图书管理系统源代码
图书标准管理系统含源代码可以运行
图书管理系统数据库详细设计
图书馆管理系统设计附带源代码
图书管理系统数据库设计
图书管理系统源代码
图书管理系统数据库设计(DOC)
图书管理系统数据库设计-MYSQL实现