医药管理系统

1.数据库的创建

 create database 医药管理系统;
   use 医药管理系统;

2.表的创建

1、药品信息表的创建

 create table 药品(
    药品编号 varchar(40) not null primary key,
    药品名称 varchar(40) not null,
    生产厂家 varchar(40) not null,
    生产日期 varchar(40) not null,
    保质期 varchar(40) not null,
    用途 varchar(40) not null,
    价格 varchar(40) not null,
    数量 varchar(40) not null
   );

2、员工信息表的创建

 create table 员工(
    员工编号 varchar(40) not null primary key,
    姓名 varchar(40) not null,
    性别 varchar(40) not null,
    年龄 varchar(40) not null,
    学历 varchar(40) not null,
    职务 varchar(40) not null
   );

3、客户信息表的创建

 create table 客户(
    客户编号 varchar(40) not null primary key,
    姓名 varchar(40) not null,
    联系方式 varchar(40) not null,
    购买时间 varchar(40) not null,
    购买药品编号 varchar(40) not null,
    购买药品名称 varchar(40) not null,
    购买药品数量 varchar(40) not null
   );

4、库存信息表的创建

 create table 库存(
    药品存放位置 varchar(40) not null primary key,
    入库数量 varchar(40) not null,
    出库数量 varchar(40) not null,
    药品编号 varchar(40) not null,
    药品名称 varchar(40) not null,
    生产厂家 varchar(40) not null,
    生产日期 varchar(40) not null,
    保质期 varchar(40) not null,
    用途 varchar(40) not null,
    价格 varchar(40) not null,
    数量 varchar(40) not null
   );

3、视图设计

1、展示药品名字、客户名称

  create view 药品_客户
   as
   select khxx.,ypxx.xm
   from ypxx,khxx
   where ypxx.bh=khxx.bh;

2、展示药品信息和它对应的库存

 create view 药品_库存
   as
   select ypxx.,kcxx.xm
   from kuxx,ypxx
   where kuxx.ypbh=ypxx.bh;

4、存储过程设计

1、输入药品名字,得到他的药品

  create procedure procedurea
   Cm varchar(20)
   begin
   select *
   from 药品
   where 药品编号=(select 编号 from 药品信息 where xm=Cm);
   end;

2、输入员工名字,得到他的个人信息

 create procedure procedureb
   Zm varchar(20)
   as
   begin
    select * from 员工名字 where 员工编号=(select 编号 from 员工信息 where 姓名=Zm);
   end;

3、 输入客户名字,得到他的联系方式

 create procedure procedurec
   Am varchar(20)
   as
   begin
    select * from userphone where 客户编号=(select bh from 员工信息 where xm=Am);
   end;

5、触发器设计

1、 删除药品时,删除对应的库存

 create trigger triggerb
   on 药品信息 after delete
   as
   begin
   delete from 库存 where ygbh=(select bh from deleted);
   end;

6、索引设计

1、编写索引,根据员工编号由小到大排序

  create index indexa on 药品(药品编号 desc);

7、数据库与JAVA连接部分代码

 package com.util;
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
  
 public class DBhelper {
  
     /**
      * 绑定数据库的帮助类
      */
 private final static String CNAME="com.microsoft.sqlserver.jdbc.SQLServerDriver";
     private final static String URL="jdbc:sqlserver://localhost:root;databasename=医药管理系统";
     private final static String NAME="sa";
     private final static String PWD="123";
     
     static {
         try {
         Class.forName(CNAME);
         }catch(Exception e) {
             e.printStackTrace();
         }
     }
  
     //连接数据库的方法
     public static Connection getCon(){
         Connection con=null;
         try {
             con=DriverManager.getConnection(URL,NAME ,PWD);
         } catch (Exception e) {
             // TODO: handle exception
             e.printStackTrace();
         }
         return con;
     }
     
     //关闭连接的方法
     public static void myClose(Connection con,PreparedStatement ps,ResultSet rs){
         try {
             if(rs!=null){
                 rs.close();
             }
             if(ps!=null){
                 ps.close();
             }
             if(con!=null&&!con.isClosed()){
                 con.close();
             }
         } catch (Exception e) {
             e.printStackTrace();
         }
     }
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值