3000行代码之医院信息管理系统(内附MYSQL语句及背景图片)

文章目录


前言

本文参考​​​数据库课程设计:医院信息管理系统(pycharm+MySQL)_流光2021的博客-CSDN博客_数据库医院信息管理系统

修改了一些原文,也加入了自己的设计,简单分享介绍。想直接跑程序记得看    四、注意    ,里面都是自己犯的错和要修改的设置。

一、目的和背景

        医院信息管理是一项琐碎、复杂而又十分细致的工作,这关系到医院体系能否运行起来这一关乎国民健康水平的重大问题。只有利用好了医院中每个医生、护士的各项资源,才能使得医院系统能够有序而条理的进行,更好的安排有限的医生和护士资源,安排患者就诊。医院信息管理实现对科室,医生,患者,护士等进行增、删、改、查操作。更好的安排有限的医生和护士资源,安排患者就诊。同时,在设计医院信息管理系统的同时也兼顾了药品的管理,使得我们在安排各项工作的时候能够更加清晰明了,也可以与药房管理系统和挂号管理系统相连接,更好的实现医院的管理功能。

二、数据库设置

1.概念结构设计

E-R图:

 

2.逻辑结构设计

表的详细结构如下所示:

管理员列表

字段名

字段类型

备注

是否为空

admin_id

char(20)

管理员账号(主键)

admin_pass

char(20)

管理员密码

游客列表

字段名

字段类型

备注

是否为空

stu_id

char(20)

游客账号(主键)

stu_pass

char(20)

游客密码

医院信息列表

字段名

字段类型

备注

是否为空

id

char(20)

编号(主键)

hpname

char(20)

医院名称

hos

char(20)

院长

hadr

char(20)

地址

htel

char(20)

电话

部门信息表

字段名

字段类型

备注

是否为空

dpname

char(10)

科室名

dpno

char(2)

编号(主键)

dpadr

char(20)

地址

dptel

char(20)

电话

护士信息表

字段名

字段类型

备注

是否为空

nno

char(2)

护士编号(主键)

nnname

char(10)

护士名

nsex

char(1)

性别

nage

int

年龄

药品信息表

字段名

字段类型

备注

是否为空

dgno

char(4)

编号(主键)

dgname

char(20)

药品名

dgpro

char(20)

厂家

dgnum

int

库存

dgprice

int

价格

医生资料表

字段名

字段类型

备注

是否为空

dno

char(3)

编号(主键)

dname

char(20)

姓名

duty

char(20)

职称

dsex

char(2)

性别

dage

int

年龄

dpno

char(2)

科室(外键)

病房信息表

字段名

字段类型

备注

是否为空

rno

char(10)

病房号(主键)

radr

char(20)

地址

dpno

char(5)

科室号(外键)

患者信息表

字段名

字段类型

备注

是否为空

pno

char(20)

编号(主键)

pnome

char(20)

姓名

psex

char(2)

性别

page

int

年龄

dno

char(3)

医生编号(外键)

rno

char(10)

科室(外键)

illness

char(20)

病症

startdate

date

治疗时间

predictenddate

date

康复时间

护士护理记录表

字段名

字段类型

备注

是否为空

pno

char(20)

药品编号(外键)

nno

char(2)

患者编号(外键)

content

char(20)

用药次数

time

datetime

时间

病人用药记录表

字段名

字段类型

备注

是否为空

dgno

char(4)

药品编号(外键,主键)

pno

char(4)

患者编号(外键,主键)

num

int

用药次数

3.物理结构设计

触发器设计

触发器代码:

CREATE TRIGGER chufa

AFTER DELETE ON pd FOR EACH ROW

BEGIN

delete from drug where dgno=old.dgno;

END

三、系统概要设计

1.框架设计

系统框架设计图:

 2.功能实现

(1)Python代码

# (◕‿◕✿) ♪ 必须成功!
# ヾ(≧O≦)〃一次性通过~嗷~
import pymysql
from tkinter import ttk
import tkinter as tk
import tkinter.font as tkFont
from tkinter import *  # 图形界面库
import tkinter.messagebox as messagebox  # 弹窗


# 开始页面类
class StartPage:
    def __init__(self , parent_window):
        parent_window.update()
        parent_window.destroy()  # 销毁子界面
        self.window = tk.Tk()  # 初始框的声明
        self.window.title('医院信息管理系统')
        self.window.geometry('600x700')  # 这里的乘是小x

        # 创建一个图片管理类
        photo = tk.PhotoImage(file="img3.png")  # file:t图片路径
        label = tk.Label(self.window ,
                         text="医院信息管理系统" ,
                         justify=tk.LEFT ,
                         image=photo ,
                         compound=tk.CENTER ,  # 设置为背景图片
                         font=("Verdana" , 20) ,
                         fg="black")
        label.pack(pady=0)  # 界面的长度
        # 管理员登录
        Button(self.window , text="管理员登陆" , font=tkFont.Font(size=16) , command=lambda: AdminPage(self.window) ,
               width=30 ,
               height=2 , fg='white' , bg='cornflowerblue' , activebackground='black' , activeforeground='white').pack()
        # 游客登录
        Button(self.window , text="游客登陆" , font=tkFont.Font(size=16) , command=lambda: StudentPage(self.window) ,
               width=30 ,
               height=2 , fg='white' , bg='orange' , activebackground='black' , activeforeground='white').pack()
        # about页面
        Button(self.window , text="关于" , font=tkFont.Font(size=16) , command=lambda: AboutPage(self.window) ,
               width=30 ,
               height=2 , fg='white' , bg='pink' , activebackground='black' , activeforeground='white').pack()
        # 退出系统
        Button(self.window , text='退出系统' , font=tkFont.Font(size=16) , command=self.window.destroy ,
               width=30 ,
               height=2 , fg='white' , bg='gray' , activebackground='black' , activeforeground='white').pack()
        self.window.mainloop()  # 主消息循环


# 管理员登陆页面的初始化
class AdminPage:
    def __init__(self , parent_window):
        parent_window.destroy()  # 销毁主界面
        self.window = tk.Tk()  # 初始框的声明
        self.window.title('管理员登陆页面')
        self.window.geometry('600x650')  # 这里的乘是小x
        # 创建一个图片管理类
        photo1 = tk.PhotoImage(file="登录.png")  # file:t图片路径
        label = tk.Label(self.window,
                         image=photo1 ,
                         c
  • 22
    点赞
  • 207
    收藏
    觉得还不错? 一键收藏
  • 9
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值