某医院信息管理系统(药品库存、收费、医生病人等)

 1.课设要求描述  

●实现药品类型及药品信息的管理;

●实现药品的入库、出库管理;

●实现科室、医生、病人的管理;

●实现处方的登记管理;

●实现收费管理;

●创建触发器,当药品入库、出库时自动修改库存;

●创建存储过程统计某段时间内,各科室的就诊人数和输入情况;

●创建视图查询各种药品的库存总数;

●建立数据库相关表之间的参照完整性约束。

2.制作思路及基础讲解

此项目主要是用于完成大二下半学期的数据库课设,随手记录。技术面大二下之前只学过Java,MySQL/SQLServer。所以此项目没有前端界面,只通过命令行的形式来操作该系统,制作思路:首先是数据库作为存储数据的地方,编写根据课设要求编写好对应的建表语句和存储过程,视图,触发器等。然后编写好对应系统的Java代码,最后通过JDBC将Java代码与数据库连接起来。

  部分学生可能学的比较浅,不理解mysql,sqlserver,java,c等一堆名词之间的含义。之前有同学找我做过这类似的课设。问的问题都比较抽象,例如用mysql做一个系统之类的。在此简单说一下我对于这些的理解,mysql,sqlserver都是数据库的一种,只不过是外国的所以都是用英文表示,大部分上课不听的同学看到这一堆英文都会比较懵,其实只需简单把数据库(mysql,SQLServer)理解成存储数据的地方,而java,c等语言是用来编写系统逻辑功能的代码。当然在数据库中的存储过程或者触发器什么的,这些功能也能在代码编程语言中通过特定的逻辑实现类似的功能,只不过我们在数据库中写好的话,免去了Java中代码的编写量,并且查询时速度会更快。

3.使用工具及语言详解

不同的学校要求不同,有的是sqlserver,有的是mysql,但其实这两者的区别在我看来区别不大,大部分的语句格式都是一样的,所以我选择了我熟悉的一种,mysql来进行编写。在语言方面,我大一的时候学过c,但是当时没有认真听,后来也慢慢都忘了,大二时学了Java,并且之后又系统性的学了一遍,所以选择来用Java语言编写。对于编译器我使用的是IDEA,版本随意,这个不影响,但需要注意IDEA不是免费的,可以去试用30天,也可以自行网上找方法安装破解版。数据库可视化工具使用的是Navicat,这个工具同样也不是免费的,但提供14天试用期,有长期需求也需要各位自行找破解版。

PS:这里又提到两个新名词,IDEA和Navicat,这不是编程语言,而是工具的名字,大家需要慢慢熟悉这些名词,简单来说就是他能让你的编程之路变得更顺畅,提供了可视化的界面,不需要一直在黑窗口中输入代码

4.数据库建表代码(完整数据库文件请到主页资源处下载)

-- 药品类型表
CREATE TABLE DrugType (
    DrugTypeID INT AUTO_INCREMENT PRIMARY KEY,
    TypeName VARCHAR(100) NOT NULL
);

-- 药品信息表
CREATE TABLE Drug (
    DrugID INT AUTO_INCREMENT PRIMARY KEY,
    DrugTypeID INT,
    DrugName VARCHAR(100) NOT NULL,
    Manufacturer VARCHAR(100),
    Price DECIMAL(10, 2),
    Stock INT,
    FOREIGN KEY (DrugTypeID) REFERENCES DrugType(DrugTypeID)
);

-- 药品交易表(用于记录药品的入库和出库)
CREATE TABLE DrugTransaction (
    TransactionID INT AUTO_INCREMENT PRIMARY KEY,
    DrugID INT,
    Quantity INT,
    TransactionType ENUM('IN', 'OUT'),
    TransactionDate DATETIME DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (DrugID) REFERENCES Drug(DrugID)
);

-- 科室表
CREATE TABLE Department (
    DepartmentID INT AUTO_INCREMENT PRIMARY KEY,
    DepartmentName VARCHAR(100) NOT NULL
);

-- 医生表
CREATE TABLE Doctor (
    DoctorID INT AUTO_INCREMENT PRIMARY KEY,
    DepartmentID INT,
    DoctorName VARCHAR(100) NOT NULL,
    FOREIGN KEY (DepartmentID) REFERENCES Department(DepartmentID)
);

-- 病人表
CREATE TABLE Patient (
    PatientID INT AUTO_INCREMENT PRIMARY KEY,
    PatientName VARCHAR(100) NOT NULL,
    Gender CHAR(1),
    Age INT
);

-- 处方表
CREATE TABLE Prescription (
    PrescriptionID INT AUTO_INCREMENT PRIMARY KEY,
    PatientID INT,
    DoctorID INT,
    PrescriptionDate DATE,
    FOREIGN KEY (PatientID) REFERENCES Patient(PatientID),
    FOREIGN KEY (DoctorID) REFERENCES Doctor(DoctorID)
);

 

5.Java代码思路及结构

此处只放部分代码截图

 

6.效果运行实例 

 

附带sql文件及源码,需要后台私信    

数据库课程设计报告_学籍管理系统 本次数据库课程设计是以Access数据库作为后台以VB作为前台的应用型设计课程。综合 我们所学的两大课程创建应用型的数据库系统,大大的提高了我们学生的动手能力,作 到了理论与实践相结合。 一、题目说明 学生学籍管理系统是典型的学籍管理系统(MIS),其开发主要包括后台数据库的建立和维 护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数 据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。 本系统主要完成对学生情况和学生成绩的管理,包括数据库中表的添加、删除等。系统 还可以完成对各类信息的浏览、添加、删除、等功能。 系统的核心是数据库中各个表联系,每一个表的修改都将联动的影响其它的表,当完成 对数据的操作时系统会自动地完成数据库的修改。查询功能也是系统的核心之一,在系 统中即有单条件查询和多条件查询,也有精确查询和模糊查询,系统不仅有静态的条件 查询,也有动态生成的条件查询,其目的都是为了方便用户使用。系统有完整的用户添 加、删除和密码修改功能,并具备报表打印功能。 关键字:窗体、数据库、vb6.0、access2000。 学生学籍管理系统被广泛应用于各类学校的学生学籍管理工作中,要求其具有实用性强 、使用方便、效率高和安全可靠等特点。本管理系统正是围绕以上几个方面进行开发的 ,在开发过程中充分考虑到本系统的应用特点,并进行了大量的检验,证明其的确达到 了设计的要求,是一个已具备了实际应用能力的软件。本文主要论述学生学籍管理系统 的开发过程,在涉及到VB及Access中的部分知识以举例的方式进行讲解 二. 总体设计 我的总体设计如下: (1)利用Access建立数据库,并在该数据库下创建五张表格,分别是学生表、课程表 、选课表、学生选课表以及口令表。 (2)利用VB来建立界面并对它进行设计和修改,大体框架如下: FORM1 用于首界面 FORM2 用于登陆此系统的登录界面 FORM3 是主窗体,在这上面建立相应的菜单 如:文件——退出、添加用户(FORM4) 数据信息——管理使用(FORM5) 基本操作——学生操作、选课操作、课程操作(FORM6、FORM7、FORM8) (3)对以上的界面进行设计以及对所要操作的部件进行编程。 如图: 三.常用控件的说明 所有的Windows应用程序窗口或对话框,都是由诸如文本框、列表框、命令按扭、滚动 条、命令菜单等组成的。VB通过控件工具箱提供了它们与用户进行交互的可视化部件, 即控件。程序开发人员只需要通过简单的操作,在窗体上安排所需要的控件,完成应用 程序的用户界面设计即可。 序号   名称   功能 1   Label标签   用于说明 2   Textbox文本框   用于文本输入或显示 3  Frame框架  用于组合控件 4  Commandbutton命令按扭  单击执行命令 5  Timer计时期  用于定时 6  Data数据控件  用于访问数据库 三.详细说明 1、数据库的建立与设计 数据库是有结构的数据集合,它与一般的数据文件不同,(其中的数据是无结构的)是一 串文字或数字流。数据库中的数据可以是文字、图象、声音等。 Access数据库由六种对象组成,它们是表、查询、窗体、报表、宏和模块。 (1).表(Table) ——表是数据库的基本对象,是创建其他5种对象的基础。表由记录组成,记录由字段组成 ,表用来存贮数据库的数据,故又称数据表。 (2).查询(Query)——查询可以按索引快速查找到需要的记录,按要求筛选记录并能连接 若干个表的字段组成新表。 (3).窗体(Form)——窗体提供了一种方便的浏览、输入及更改数据的窗口。还可以创建 子窗体显示相关联的表的内容。窗体也称表单。 (4).报表(Report)——报表的功能是将数据库中的数据分类汇总,然后打印出来,以便分 析。 (5).宏(Macro)——宏相当于DOS中的批处理,用来自动执行一系列操作。Access列出了一 些常用的操作供用户选择,使用起来十分方便。 (6).模块(Module)——模块的功能与宏类似,但它定义的操作比宏更精细和复杂,用户可 以根据自己的需要编写程序。模块使用Visual Basic编程。 我们利用Access来建立数据库,我们的库中有五张表格,其分别是学生表、课程表、选 课表、学生选课表以及口令表。 我们就以学生表为例做一个简单的说明: 我们使用设计器来创建表的,我的这张表有七个字段,每个字段的名称分别是:学号、 班级、姓名、性别、出生年月、民族、地址、电话号码,每个字段有七个数据。我并对 其字段的属性进行了重新的修改,以做到不浪费其空间。 我具体的实施步骤是:启动数据库管理器——建立数据库——建立数据表结构——
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值