医药销售管理系统SQL语句

合集下载

医院管理系统sql数据库

医院管理系统sql数据库

湖南涉外经济学院课程设计报告课程名称数据库原理与应用课程设计题目医院管理系统学院信息科学与工程学院组员班级计科1301班指导教师彭浩2015年12月25日任务分配表摘要信息化的今天,计算机的普及应用和信息技术、网络技术的发展给人们的工作和生活带来了极大的便利和高效,信息化、电子化已经成为节约运营成本,提高工作效率的首选。

与此同时,医学技术的提高和人们生活观念的改变,使传统的医院管理机制表现出许多不足,国内的相当数量的中小型医院的信息管理工作流程还采用相对保守的人工工作方式,数据信息的查询和存储的成本较高,而且效率还很低下。

医院要紧跟时代发展的步伐和潮流,必须实现医院全面的信息化管理,为病人提供现代化的服务,提高对病人的服务水平,方便、准确、快捷地为病人提供医疗服务和医疗费用信息,进而增强病人对医院的信任和支持。

当前,医院还面临着越来越激烈的市场竞争、要想在竞争中取胜,也必须采用先进的管理方法和手段。

医院信息管理系统主要采用了JAVA语言和SQL数据库结合的B/S设计模式,可以帮助医院实现对医务人员工作的考核管理,动态了解医院的经营状况等,同时也从侧面减少了医院处方的流失,提高了医院的综合管理效益与经济效益。

在医院各部门之间进行数据通信,自动把信息送到各有关科室,易于实现全院性的各种统计、检索和分析。

在加速培养高水平医务人员上起到了作用,极大提高信息传递速度和减少错误。

关键词:医院信息管理系统;JAVA;SQL目录第一章绪论 (1)1.1系统开发背景概述 (1)1.2 系统开发的目的与意义 (1)第二章数据库需求分析 (2)2.1信息要求 (2)2.2系统构成 (2)2.3数据流图 (3)2.4数据字典 (4)第三章数据库概念结构设计 (6)第四章数据库逻辑结构设计 (10)4.1关系模式 (10)4.2数据模型优化 (10)第五章数据库实施阶段 (14)5.1数据库创建 (15)5.2数据表查询 (20)5.3数据表删除 (21)5.4视图创建 (21)5.5存储过程创建 (23)5.5.1 存储过程的查询功能 (23)5.5.2 存储过程的添加功能 (25)5.5.1 存储过程的修改功能 (26)5.5.1 存储过程的删除功能 (27)第六章数据库运行和维护 (28)总结 (36)参考文献 (36)第一章绪论1.1系统开发背景概述随着计算机技术的飞速发展,计算机在医院管理中应用的普及,利用计算机实现医院管理势在必行。

销售管理系统相关代码

销售管理系统相关代码

--销售管理系统相关代码班级:计科学061 学号:061004103 姓名:方爽--创建数据库IF EXISTS (SELECT name FROM master.dbo.sysdatabases WHERE name =销售管理系统')DROP DATABASE [销售管理系统]GOCREATE DATABASE [销售管理系统] ON (NAME = N '销售管理系统_Data', 销售管理系统销售管理系统_Data.MDF' ,SIZE = 2, FILEGROWTH = 10%)LOG ON (NAME = N '销售管理系统_Log', FILENAME = 销售管理系统销售管理系统_Log.LDF' ,SIZE = 1, FILEGROWTH = 10%)COLLATE Chinese_PRC_CI_ASGOexec sp_dboption N销售管理系统',N'autoclose', N'false'GOexec sp_dboption N销售管理系统',N'bulkcopy', N'false'GOexec sp_dboption N销售管理系统',N'trunc. log', N'true'GOexec sp_dboption N销售管理系统',N'torn page detection', N'false'GOexec sp_dboption N销售管理系统',N'read only', N'false'GOexec sp_dboption N销售管理系统',N'dbo use', N'false'GOexec sp_dboption N销售管理系统',N'single', N'false'GOexec sp_dboption N销售管理系统',N'autoshrink', N'true'GOexec sp_dboption N销售管理系统',N'ANSI null default', N'false'GOexec sp_dboption N销售管理系统',N'recursive triggers', N'false'GOexec sp_dboption N销售管理系统’,N'ANSI nulls', N'false'GOexec sp_dboption N'销售管理系统',N'coneat null yields null', N'false'GOexec sp_dboption N'销售管理系统',N'cursor close on commit', N'false'GOexec sp_dboption N销售管理系统',N'default to local cursor', N'false'GOexec sp_dboption N销售管理系统',N'quoted identifier', N'false'GOexec sp_dboption N销售管理系统',N'ANSI warnings', N'false'GOexec sp_dboption N'销售管理系统',N'auto create statistics', N'true'GOexec sp_dboption N销售管理系统',N'auto update statistics', N'true'GOif( (@@microsoftversion / power(2, 24) = 8) and (@@microsoftversion & 0xffff >= 724) )exec sp_dboption N销售管理系统',N'db chaining', N'false'GOuse [销售管理系统]GO --检查当前数据库是否已存在相应表if exists (select * from dbo.sysobjects whereid = object_id(N'[dbo].[FK_ 客户订货表_商品基础信息表]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[客户订货表]DROP CONSTRAINT FK_客户订货表—商品基础信息表GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_ 库存表_商品基础信息表]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[库存表]DROP CONSTRAINT FK_库存表_商品基础信息表GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_ 销售表_商品基础信息表]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[销售表]DROP CONSTRAINT FK_销售表_商品基础信息表GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_ 销售退货表_商品基础信息表]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[销售退货表]DROP CONSTRAINT FK_销售退货表—商品基础信息表GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_ 客户订货表_客户基础信息表]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[客户订货表]DROP CONSTRAINT FK_客户订货表—客户基础信息表GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_ 客户结款表_客户基础信息表]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[客户结款表]DROP CONSTRAINT FK_客户结款表—客户基础信息表GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_ 客户订货表_订货票号表]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[客户订货表]DROP CONSTRAINT FK_客户订货表—订货票号表GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_ 销售表_销售票号表2]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[销售表]DROP CONSTRAINT FK_ 销售表—销售票号表2GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_ 销售退货表_销售退单票号表]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[销售退货表]DROP CONSTRAINT FK_销售退货表—销售退单票号表GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[FK_ 客户结款记录表_客户结款表]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)ALTER TABLE [dbo].[ 客户结款记录表] DROP CONSTRAINT FK_ 客户结款记录表_客户结款表GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[销售管理视图]') and OBJECTPROPERTY(id, N'IsView') = 1)drop view [dbo].[ 销售管理视图]GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[客户结款记录表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[客户结款记录表]GOif exists (select * from dbo.sysobjectswhere id = object_id(N'[dbo].[客户结款表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[客户结款表]GOif exists (select * from dbo.sysobjectswhere id = object_id(N'[dbo].[客户订货表]')and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[客户订货表]GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ 库存表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[库存表]GOif exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ 销售表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[销售表]GOif exists (select * from dbo.sysobjectswhere id = object_id(N'[dbo].[销售退货表]')and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[销售退货表]GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ 商品基础信息表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [d bo] . [商品基础信息表]GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ 客户基础信息表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[客户基础信息表]GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[操作员信息表]')and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[操作员信息表]GO if exists (select * from dbo.sysobjectswhere id = object_id(N'[dbo].[订货票号表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[订货票号表]GOif exists (select * from dbo.sysobjectswhere id = object_id(N'[dbo].[ 销售票号表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[销售票号表]GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[ 销售退单票号表]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)drop table [dbo].[销售退单票号表]GO--创建用户if not exists (select * from master.dbo.syslogi nswhere log inn ame = N'山')BEGINdeclare @logindb nvarchar(132), @loginlang nvarchar(132) select @logindb = N' 销售管理系统', @loginlang = N '简体中文'if @logindb is null or not exists (select * from master.dbo.sysdatabasews here name = @logindb)select @logindb = N'master'if @loginlang is null or (not exists (select * from master.dbo.syslanguages where name = @loginlang) and @loginlang <> N'us_english')select @loginlang = @@languageexec sp_addlog in Nil!', nu II, @logi ndb, @log inlangENDGOif not exists (select * from dbo.sysusers where name = N'guest' and hasdbaccess = 1)EXEC sp_grantdbaccess N'guest'GOif not exists (select * from dbo.sysusers where n ame = N山')EXEC sp_gra ntdbaccess NiT, N'山'GO --创建数据库表CREATE TABLE [dbo].[ 商品基础信息表] ([商品编号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,[商品名称 ] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL[保质期 ] [char] (5) COLLATE Chinese_PRC_CI_AS NULL , [进价] [money] NULL ,[批发价 ] [money] NULL ,[零售价 ] [money] NULL ,[备注 ] [varchar] (60) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GOCREATE TABLE [dbo].[ 客户基础信息表 ] ([客户编号 ] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [客户全称 ] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL , [简称] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [地址] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL , [传真] [varchar] (30) COLLATEChinese_PRC_CI_AS NULL ,[联系人 ] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [联系人电话 ][varchar] (30) COLLATE Chinese_PRC_CI_AS NULL , [开户银行 ] [varchar](30) COLLATE Chinese_PRC_CI_AS NULL , [纳税人 ] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [邮箱网址 ] [varchar] (30) COLLATEChinese_PRC_CI_AS NULL , [邮政编码 ] [varchar] (30) COLLATEChinese_PRC_CI_AS NULL ,[银行账号 ] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL[简称 ] [varchar] (20) COLLATE[规格 ] [varchar] (20) COLLATE[产地 ] [varchar] (30) COLLATE[单位 ] [varchar] (20) COLLATEChinese_PRC_CI_AS NULL Chinese_PRC_CI_AS NULL Chinese_PRC_CI_AS NULL Chinese_PRC_CI_AS NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[ 操作员信息表] ([操作员编号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL , [操作员姓名] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,[操作员密码] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,[操作员级别] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL , [时间] [datetime] NOT NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[ 订货票号表] ([订单号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,[品种数] [int] NULL ,[数量] [int] NULL ,[应付金额] [money] NULL ,[订货时间] [datetime] NULL ,[经手人] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,[操作员] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,[是否可用] [int] NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[ 销售票号表] ([销售票号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL , [品种数] [int] NULL ,[数量] [int] NULL ,[应付金额] [money] NULL ,[付款方式] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,[实付金额] [money] NULL ,[销售时间] [datetime] NULL ,[经手人] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,[操作员] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY] GOCREATE TABLE [dbo].[销售退单票号表]([销售退单票号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,[品种数] [int] NULL ,[数量] [int] NULL , [应付金额] [money] NULL ,[付款方式] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL[实付金额] [money] NULL ,[退货时间] [datetime] NOT NULL ,[经手人] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL[操作员] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL ) ON [PRIMARY] GOCREATE TABLE [dbo].[客户结款表]([客户编号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,[客户全称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[金额小计] [money] NULL ,[欠款记账] [money] NULL ,[付款合计] [money] NULL ,[结款时间] [datetime] NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[客户订货表]([客户编号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,[客户名称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[商品编号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,[商品名称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[数量] [int] NULL ,[金额] [money] NULL ,[折扣] [float] NULL ,[订货票号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[ 库存表] ([商品编号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,[商品名称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[库存数量] [int] NULL ,[库存金额] [money] NULL ,[盘点] [int] NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[ 销售表] ([商品编号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,[商品名称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[客户编号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[客户全称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[数量] [int] NULL ,[金额] [money] NULL ,[折扣] [float] NULL ,[销售票号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[ 销售退货表] ([商品编号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ,[商品名称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[客户编号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[客户全称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[数量] [int] NULL ,[金额] [money] NULL ,[折扣] [float] NULL ,[销售退单票号] [varchar] (30) COLLATE Chinese_PRC_CI_AS NOT NULL ) ON [PRIMARY] GOCREATE TABLE [dbo].[客户结款记录表]([客户编号] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,[客户全称] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL ,[结款金额] [money] NULL ,[结款时间] [datetime] NULL ,[操作员] [varchar] (30) COLLATE Chinese_PRC_CI_AS NULL) ON [PRIMARY]GO--创建主键约束ALTER TABLE [dbo].[ 商品基础信息表] WITH NOCHECK ADDCONSTRAINT [PK_商品基础信息表]PRIMARY KEY CLUSTERED([商品编号]) ON [PRIMARY]GOALTER TABLE [dbo].[ 客户基础信息表] WITH NOCHECK ADDCONSTRAINT [PK_客户基础信息表]PRIMARY KEY CLUSTERED([客户编号]) ON [PRIMARY]GOALTER TABLE [dbo].[ 操作员信息表] WITH NOCHECK ADD CONSTRAINT [PK_操作员信息表]PRIMARY KEY CLUSTERED[操作员编号]) ON [PRIMARY]GOALTER TABLE [dbo].[ 订货票号表] WITH NOCHECK ADDCONSTRAINT [PK_ 订货票号表] PRIMARY KEY CLUSTERED([订单号]) ON [PRIMARY]GOALTER TABLE [dbo].[ 销售票号表] WITH NOCHECK ADDCONSTRAINT [PK_ 销售票号表] PRIMARY KEY CLUSTERED([销售票号]) ON [PRIMARY]GOALTER TABLE [dbo].[ 销售退单票号表] WITH NOCHECK ADD CONSTRAINT [PK_ 销售退单票号表] PRIMARY KEY CLUSTERED([销售退单票号]) ON [PRIMARY]GOALTER TABLE [dbo].[ 客户结款表] WITH NOCHECK ADD CONSTRAINT [PK_ 客户结款表] PRIMARY KEY CLUSTERED([客户编号]) ON [PRIMARY]GOALTER TABLE [dbo].[ 客户订货表] WITH NOCHECK ADD CONSTRAINT [PK_ 客户订货表] PRIMARY KEY CLUSTERED [客户编号],[商品编号]) ON [PRIMARY]GOALTER TABLE [dbo].[ 库存表] WITH NOCHECK ADDCONSTRAINT [PK_库存表]PRIMARY KEY CLUSTERED([商品编号]ON [PRIMARY])GOALTER TABLE [dbo].[ 销售表] WITH NOCHECK ADDCONSTRAINT [PK_销售表]PRIMARY KEY CLUSTERED([销售票号]ON [PRIMARY])GOALTER TABLE [dbo].[ 销售退货表] WITH NOCHECK ADDCONSTRAINT [PK_销售退货表]PRIMARY KEY CLUSTERED([销售退单票号]ON [PRIMARY])GOALTER TABLE [dbo].[ 客户结款记录表] WITH NOCHECK ADDCONSTRAINT [PK_客户结款记录表]PRIMARY KEY CLUSTERED([客户编号]ON [PRIMARY]) GO--创建默认值约束ALTER TABLE [dbo].[ 操作员信息表] ADDCONSTRAINT [DF_ 操作员信息表_时间]DEFAULT (getdate()) FOR [时间]GOALTER TABLE [dbo].[ 销售票号表] ADDCONSTRAINT [DF_ 销售票号表_销售时间] DEFAULT (getdate()) FOR [ 销售时间]GOALTER TABLE [dbo].[ 销售退单票号表] ADDCONSTRAINT [DF_销售退单票号表_退货时间]DEFAULT (getdate()) FOR [退货时间]GO --创建默认值约束ALTER TABLE [dbo].[ 客户结款表] ADDCONSTRAINT [DF_ 客户结款表_结款时间]DEFAULT (getdate()) FOR [结款时间],CONSTRAINT [IX_ 客户结款表]UNIQUE NONCLUSTERED([客户编号]) ON [PRIMARY]GO --创建默认值约束ALTER TABLE [dbo].[ 库存表] ADDCONSTRAINT [DF_ 库存表—盘点]DEFAULT (0) FOR [盘点]GOALTER TABLE [dbo].[ 客户结款记录表] ADDCONSTRAINT [DF_客户结款记录表_结款时间]DEFAULT (getdate()) FOR [结款时间]GOALTER TABLE [dbo].[ 客户结款表] ADDCONSTRAINT [FK_客户结款表_客户基础信息表]FOREIGN KEY([客户编号])REFERENCES [dbo].[客户基础信息表]([客户编号])GOALTER TABLE [dbo].[客户订货表] ADDCONSTRAINT [FK_ 客户订货表_订货票号表] FOREIGN KEY([订货票号])REFERENCES [dbo].[订货票号表]([订单号]), CONSTRAINT [FK_客户订货表_客户基础信息表]FOREIGN KEY([客户编号])REFERENCES [dbo].[客户基础信息表]([客户编号]),CONSTRAINT [FK_客户订货表_商品基础信息表]FOREIGN KEY([商品编号])REFERENCES [dbo].[商品基础信息表]([商品编号])GOALTER TABLE [dbo].[ 库存表] ADDCONSTRAINT [FK_库存表_商品基础信息表]FOREIGN KEY([商品编号])REFERENCES [dbo].[商品基础信息表]([商品编号])GOALTER TABLE [dbo].[ 销售表] ADDCONSTRAINT [FK_销售表_商品基础信息表]FOREIGN KEY([商品编号])REFERENCES [dbo].[商品基础信息表]([商品编号]),CONSTRAINT [FK_ 销售表_销售票号表2] FOREIGN KEY [销售票号])REFERENCES [dbo].[销售票号表]([销售票号])GOALTER TABLE [dbo].[ 销售退货表] ADDCONSTRAINT [FK_销售退货表_商品基础信息表]FOREIGN KEY([商品编号])REFERENCES [dbo].[商品基础信息表]([商品编号]),CONSTRAINT [FK_销售退货表_销售退单票号表]FOREIGN KEY([销售退单票号])REFERENCES [dbo].[销售退单票号表]([销售退单票号])GOALTER TABLE [dbo].[ 客户结款记录表] ADDCONSTRAINT [FK_客户结款记录表—客户结款表]FOREIGN KEY([客户编号])REFERENCES [dbo].[客户结款表]([客户编号])GOSET QUOTED_IDENTIFIER ONGOSET ANSI_NULLS ONGO--创建视图CREATE VIEW dbo. 销售管理视图ASSELECT dbo订货票号表订单号,dbo.库存表商品编号,dbo销售退货表.销售退单票号,dbo.商品基础信息表.商品编号AS Exprl, dbo.客户订货表.客户编号,dbo.客户订货表.商品编号AS Expr2, dbo.客户基础信息表.客户编号AS Expr3,dbo.销售表.销售票号,dbo.销售票号表.销售票号AS Expr4,dbo.客户结款表.客户编号AS Expr5, dbo.客户结款记录表.客户编号AS Expr6,dbo.销售退单票号表.销售退单票号AS Expr7FROM dbo.订货票号表INNER JOINdbo.客户订货表ON dbo.订货票号表.订单号=dbo.客户订货表.订货票号INNER JOINdbo.客户基础信息表ONdbo.客户订货表.客户编号=dbo.客户基础信息表.客户编号INNER JOINdbo.客户结款表ONdbo.客户基础信息表.客户编号=dbo.客户结款表.客户编号INNER JOINdbo.客户结款记录表ONdbo.客户结款表.客户编号=dbo.客户结款记录表.客户编号INNER JOINdbo.库存表ON dbo.客户订货表.商品编号=dbo.库存表.商品编号INNER JOINdbo.商品基础信息表ONdbo.客户订货表.商品编号=dbo.商品基础信息表.商品编号ANDdbo.库存表.商品编号=dbo.商品基础信息表.商品编号INNER JOINdbo.销售表ON dbo商品基础信息表.商品编号=dbo.销售表.商品编号INNER JOINdbo.销售票号表ON dbo.销售表.销售票号=dbo.销售票号表.销售票号INNER JOINdbo.销售退货表ONdbo.商品基础信息表.商品编号=dbo.销售退货表商品编号INNER JOINdbo.销售退单票号表ONdbo.销售退货表.销售退单票号=dbo•销售退单票号表.销售退单票号GOSET QUOTED_IDENTIFIER OFFGOSET ANSI_NULLS ONGO--创建触发器create trigger tri11on 库存表for insert,update,delete as print '数据修改成功!' goinsert into 库存表values('S20081228003'饼干',50,500,0) gocreate trigger tri2 on 操作员信息表for insert,update,deleteas print '数据修改成功!'gocreate trigger tri3on 订货票号表for insert,update,deleteas print '数据修改成功!'gocreate trigger tri4 on 客户订货表for insert,update,delete as print '数据修改成功!' gocreate trigger tri5 on 客户基础信息表for insert,update,delete as print '数据修改成功!' gocreate trigger tri6on 销售表for insert,update,delete as print '数据修改成功!go --创建触发器use 销售管理系统gocreate trigger 商品信息_tron 商品基础信息表for insert,update,deleteas print'提示:商品进行了相应的变动,您进行了插入,更新或删除了等相关操作,请留意!go--创建触发器use 销售管理系统gocreate trigger 商品信息_tron 客户基础信息表for insert,update,deleteas print'提示:客户进行了相应的调整,您进行了插入,更新或删除了等相关操作,请留意!go--插入数据insert into 商品基础信息表values ('S20081228005',锅巴','绿豆沙拉','50 包/箱','南阳','箱','1 个月’,12.5,14.5,16,' 好锅巴')goselect * from 商品基础信息表go insert into 客户基础信息表values ('K20081228005',胖东来','东来','平原路','3637633',赵山','3637633','中国银行',东来','2348879@','453002','29384238462349698')goselect * from 客户基础信息表go--删除数据delete from 商品基础信息表where 商品名称='锅巴'godelete from 客户基础信息表where 客户名称='胖东来'go--创建多表连接select 商品基础信息表.商品名称,销售表.数量as 已售出,库存表.库存数量as 库存剩余from 商品基础信息表inner join销售表on 商品基础信息表.商品编号=销售表.商品编号inner join库存表on 库存表.商品编号=销售表.商品编号go --创建存储过程use 销售管理系统gocreate proc 第一个存储过程asselect 商品编号,商品名称from 商品基础信息表go第一个存储过程go --创建存储过程create proc proc1asselect 客户编号,商品编号,数量,金额from 客户订货表goexec proc1go create proc proc2asselect * from 操作员信息表go exec proc2 go--创建数量规则create rule rule1 as @库存数量>=0 go create rule rule2 as @数量>=0 go--创建视图create view view1 as select 商品编号,客户编号,数量,金额,销售退单票号from 销售退货表go select * from view1 gocreate view view2asselect客户编号,sum(欠款记账)as欠款from 客户结款表group by 客户编号goselect * from view2go--创建索引create index ind1 on 操作员信息表(操作员编号asc) go sp_helpindex 操作员信息表go---- 创建登陆帐户---exec sp_addlogi n 'aaa','bbb 销售管理系统'。

使用mysql创建医药管理数据库的步骤

使用mysql创建医药管理数据库的步骤

使用mysql创建医药管理数据库的步骤要使用MySQL创建医药管理数据库,您需要按照以下步骤进行操作:1.确保已经安装了MySQL服务器。

如果您还没有安装MySQL,请根据您的操作系统和要求进行安装。

2.打开命令行终端或MySQL客户端工具。

3.使用管理员权限登录到MySQL服务器。

您可以使用以下命令登录:cssmysql -u root -p输入该命令后,系统会提示您输入管理员密码。

4. 创建医药管理数据库。

在MySQL命令行中,执行以下SQL语句创建数据库:sqlCREATE DATABASE 医药管理;这将创建一个名为"医药管理"的数据库。

5. 确认数据库已成功创建。

使用以下命令查看已创建的数据库列表:sqlSHOW DATABASES;在结果列表中,您应该能够看到"医药管理"数据库。

6. 选择医药管理数据库。

使用以下命令选择刚刚创建的数据库:sqlUSE 医药管理;7.根据您的需求,在医药管理数据库中创建表、定义字段和设置关系。

您可以根据自己的业务需求来设计和定义数据库结构。

这包括定义各种医药相关表,如药品、供应商、销售记录等,并设置适当的主键、外键和约束。

8.输入并执行SQL语句以创建表、插入数据等操作。

您可以使用任何MySQL客户端工具(如phpMyAdmin、MySQL Workbench等)或编写自己的应用程序来与数据库进行交互。

9.根据需要,为数据库设置适当的用户权限和访问控制。

确保只有授权用户能够访问和修改医药管理数据库中的数据。

10.最后,备份医药管理数据库以防数据丢失。

您可以使用mysqldump命令或MySQL自带的备份工具进行备份操作。

以上是使用MySQL创建医药管理数据库的基本步骤。

请注意,这只是一个简单的示例,实际的医药管理系统可能需要更复杂的数据库设计和更多的功能模块。

根据您的具体需求,您可能还需要进一步设计和扩展数据库结构、添加索引、优化查询性能等。

医药销售管理系统数据库设计

医药销售管理系统数据库设计

医药销售管理系统数据库设计一、系统概述当前社会医药行业发展迅速,为提高医药销售管理的效率和准确性,设计了医药销售管理系统。

该系统旨在帮助医药企业管理销售数据、客户信息、产品信息等,并能进行销售业绩分析、库存管理等功能。

二、数据库设计1. 数据库结构本系统的数据库采用关系型数据库管理系统,包括以下表:•客户表(Customer):存储客户信息,包括客户ID、姓名、联系方式等字段。

•产品表(Product):存储产品信息,包括产品ID、名称、价格等字段。

•销售记录表(Sales_Record):存储销售记录,包括销售记录ID、客户ID、产品ID、销售数量、销售日期等字段。

•库存表(Inventory):存储产品库存信息,包括产品ID、库存数量等字段。

2. 数据库字段设计客户表(Customer)字段名类型描述CustomerID INT 客户IDName VARCHAR 姓名Contact VARCHAR 联系方式产品表(Product)字段名类型描述ProductID INT 产品IDName VARCHAR 产品名称Price DECIMAL 价格销售记录表(Sales_Record)字段名类型描述SalesRecordID INT 销售记录IDCustomerID INT 客户IDProductID INT 产品IDSalesQuantity INT 销售数量SalesDate DATE 销售日期库存表(Inventory)字段名类型描述ProductID INT 产品IDStockQuantity INT 库存数量3. 数据库关系设计•客户表和销售记录表之间存在一对多关系,一个客户可以有多条销售记录。

•产品表和销售记录表之间也存在一对多关系,一个产品可以对应多条销售记录。

•产品表和库存表之间为一对一关系,每个产品对应唯一的库存信息。

三、系统功能医药销售管理系统将提供以下核心功能:1.客户信息管理:包括客户的添加、修改和删除操作。

医药进销存系统

医药进销存系统
医药进销存系统
医药进销存系统
系统功能结构介绍 数据库设计 代码编写过程
设计主窗体 设计差不多数据模块
设计进货管理模块 设计销售管理模块 设计库存管理模块 设计查询模块
系统功能结构介绍
医药进销存系统
基础数据
进货管理 销售管理
库存管理
查询
药 品
供 应 商
客 户
业 务 员
进 仓货 库订
单Leabharlann 入 库 单销 售 订

销 售 单
仓 库 调

库进 销 存货 售 信查 查 息询 询
数据库设计
本系统使用数据库MS SQL Server 2000保存数据,共建13张表: jxc_type(药品类别)表:用于保存药品的类别信息 。 jxc_CommName(药品信息)表:用于保存销售药品的各项信息 。 jxc_cust(客户信息)表:用于保存客户的各项信息 。 jxc_supp(供应商信息)表:用于保存供应商的各项信息 。 jxc_SMType(业务员类别)表:用于保存业务员的分类 。 jxc_sales(业务员信息)表:用于保存业务员的各项信息 。 jxc_store(仓库信息)表:用于保存公司各仓库的信息 。 jxc_orders(进货订单)表:用于保存进货订单信息 。 jxc_SalesOrders(销售订单)表:用于保存销售订单信息 。 jxc_in(入库单)表:用于保存药品采购入库信息 。 jxc_out(销售单)表:用于保存药品销售出库信息 。 jxc_stock(库存)表:用于保存药品的库存信息 。 jxc_move(仓库调货信息)表:用于保存在不同仓库之间调货的信息 。

医药连锁店管理系统SQL

医药连锁店管理系统SQL

医药连锁店管理系统(SQL)4.4&nbsp; 求医问药模块设计<BR>求医问药模块作为一个医药连锁店管理系统(SQL)完全独立的模块,主要包括留言列表、发表留言、查看留言、回复留言和删除医药连锁店管理系统(SQL)留言5部分。

<BR>1.留言列表<BR>用户可以单击首页主导航区【医药连锁店管理系统(SQL)求医问药】超链接,进入到“留言列表”页面。

用户可以在留言列表页面医药连锁店管理系统(SQL)填写留言信息;单击任意一个留言的标题链接,打开查看留言页面,浏览对应医药连锁店管理系统(SQL)留言的详细信息。

<BR>留言列表页面的设计效果如图17所示。

<医药连锁店管理系统(SQL)BR>2.发表留言<BR>用户可以在留言列表页面中单击【发表医药连锁店管理系统(SQL)新留言】按钮,进入到“发表留言”页面发表留言信息。

<BR>在设计发表医药连锁店管理系统(SQL)留言页时,为了使用户的留言信息保存后,留言内容的文字和标点符号医药连锁店管理系统(SQL)能够统一,在查看留言信息时,不影响阅读效果,所以在此,将不规则字符医药连锁店管理系统(SQL)“’”通过函数replace()替换为字符“’”,同时控制用户医药连锁店管理系统(SQL)输入的任一主题内容不为空,如果为空,将给予信息提示。

<BR>发表留言医药连锁店管理系统(SQL)页面的设计效果如图19所示。

<BR>图21&nbsp; 查看医药连锁店管理系统(SQL)留言页面的设计效果<BR>查看留言页面主要就是将数据中的留言信息输出医药连锁店管理系统(SQL)到浏览器中,通过传递的参数id,在数据表中检索留言信息,来判断医药连锁店管理系统(SQL)访问留言信息的人数,如果检索到参数id,则说明访问一次id所对应医药连锁店管理系统(SQL)的留言信息,这时通过更新数据表对访问人数做自加1操作。

sql文档(销管)

sql文档(销管)

一、基本查询sql1. SELECT … from …1.1 Select column1,column2,column3... from table;● select 指定查询哪些列的数据● column 指定查询列● from 指定查询哪张表SELECT district, branch, store FROM tb_store;1.2 Select distinct column1,column2,column3... from table;● distinct 指显示结果时,是否剔除重复数据SELECT DISTINCT store FROM tb_store;1.3 Select * from table;● * 代表查询所有列SELECT * FROM tb_store;1.4 Select column1 列名1,column2 列名2 from table;● 表示为查询出的列定义别名SELECT district 区域, branch 分部, store门店FROM tb_store;1.5 Select 语句中可使用表达式对查询的列进行运算如:Select column1*column2+column3 from table;2. where子句,进行过滤查询SELECT * FROM tb_store WHERE district = '南区';● where 子句经常使用的运算符3. order by 子句排序查询结果Select column1,column2,column3... from table order by column1 asc | desc● order by后指定的排序的列,排序的列既可是table中的列名,也可以是select 语句后列出的列名,也可以用order by 1,2,3…来表示(数字表示select后面查询列的位置序号)● Asc 升序、Desc 降序,此项缺失的情况下默认AscSELECT district, branch, store, actual_dateFROM tb_storeWHERE district = '南区'ORDER BY actual_date; --等同于order by 44. 聚合函数● count --计数● sum --求和● avg--求均值● max/min --最大值/最小值SELECT district,COUNT(store), --普通计数COUNT(DISTINCT store), --返回store非空且不重复的记录总数COUNT(*) --返回总记录数FROM tb_storeWHERE district IN ('南区', '北区')GROUP BY districtORDER BY district;● 聚合函数忽略空值5. Group by子句Group by语句通过一定的规则将一个数据集划分成若干个小的区域,然后针对若干个小区域进行数据处理。

SQL药品管理系统设计

SQL药品管理系统设计

SQL药品管理系统设计1. 简介SQL药品管理系统是一个用于管理药品的信息系统。

该系统通过使用SQL数据库来存储和管理药品相关的数据,包括药品的基本信息、库存数量、销售记录等。

本文档将详细介绍该系统的设计和功能。

2. 数据库设计2.1 数据表设计系统中涉及的主要数据表包括:2.1.1 药品表(drugs)该表用于存储药品的基本信息,包括药品名称、类别、规格、单价等字段。

字段名类型说明drug_id int 药品ID(主键)name varchar 药品名称category varchar 药品类别specification varchar 药品规格unit_price decimal 药品单价create_time datetime 创建时间update_time datetime 更新时间2.1.2 库存表(inventory)该表用于记录每种药品的库存数量。

字段名类型说明inventory_id int 库存ID(主键)drug_id int 药品IDquantity int 库存数量create_time datetime 创建时间update_time datetime 更新时间2.1.3 销售记录表(sales)该表用于记录药品的销售记录。

字段名类型说明sales_id int 销售记录ID(主键)drug_id int 药品IDquantity int 销售数量create_time datetime 创建时间update_time datetime 更新时间2.2 数据库关系设计在系统中,药品与库存表和销售记录表存在关联关系。

药品表与库存表的关系为一对一关系(一个药品对应一个库存)。

药品表与销售记录表的关系为一对多关系(一个药品可以有多个销售记录)。

3. 功能设计SQL药品管理系统提供以下功能:3.1 药品管理功能•添加药品:可以添加新的药品信息,包括药品名称、类别、规格、单价等。

药品进销存管理系统数据库设计

药品进销存管理系统数据库设计

医药进销存系统数据库设计说明书编写:吴观富日期:2013-6-21审核:日期:批准:日期:受控状态:是否发布版次:日期:编号:变更记录签字确认目录1引言 (4)1.1 预期的读者 (4)1.2 数据库 (4)1.3 目的和作用 (4)2数据字典设计 (4)3数据库设计 (7)3.1 系统物理结构设计........................................................................... 错误!未定义书签。

3.2 表设计............................................................................................... 错误!未定义书签。

3.2.1TableName(表名的解释) (8)3.3 表之间的关联设计 (13)3.4 存储过程设计 (14)3.5 触发器设计 (14)3.6 J OB设计 (15)1引言1.1 预期的读者1)项目经理2)客户项目经理3)系统开发人员4)系统测试人员1.2 数据库●采用MY SQL 5.5●数据库命名规范:1、数据库表根据表所属的子系统/模块,命名方式为:数据库表名 = 子系统/模块缩写其中子系统/模块的缩写首字母大写2、表字段:概念模型中,每个数据库中为每个表定义唯一的缩写字段名 = 表缩写+ 字段含义。

如地区代码表字段前缀为Area,其相关字段名:AreaId:地区代码ID主键AreaName :地区代码名称数据库表名及表缩写应在《数据库设计说明书》中加以描述。

3、索引索引名 = Idx + _ + 表缩写 + 相关字段/索引含义4、关联关联指数据库表之间的外键关系关联名 = rl + _ + 主表 + 从表 (首字母大写)5、存储过程:存储过程名 = proc + _ + 存储过程含义(首字母大写)1.3 目的和作用将数据分析的结果进一步整理,形成最终的计算机模型,以便开发人员建立物理数据库。

基于SQL的医疗信息管理系统设计与数据挖掘

基于SQL的医疗信息管理系统设计与数据挖掘

基于SQL的医疗信息管理系统设计与数据挖掘一、引言随着医疗信息化的不断发展,医疗信息管理系统在医疗机构中扮演着越来越重要的角色。

基于SQL的医疗信息管理系统能够有效地管理患者信息、医生信息、药品信息等数据,同时结合数据挖掘技术,可以帮助医疗机构更好地进行决策分析、资源优化和疾病预测。

二、系统架构设计1. 数据库设计在设计基于SQL的医疗信息管理系统时,首先需要进行数据库设计。

数据库中应包括患者信息表、医生信息表、药品信息表等核心数据表,通过建立表与表之间的关联关系,实现数据的高效存储和检索。

2. 系统功能设计医疗信息管理系统应具备患者挂号、医生排班、药品管理、病历记录等功能模块。

通过SQL语句实现对各功能模块的数据操作,确保系统运行稳定高效。

三、数据挖掘应用1. 数据预处理在医疗信息管理系统中,大量的数据需要进行清洗和整理,以便后续的数据挖掘分析。

通过SQL语句对数据进行去重、缺失值处理等预处理操作,提高数据质量。

2. 数据挖掘算法应用利用SQL语句结合数据挖掘算法,可以实现对患者就诊记录的分析、医生工作效率的评估、药品销售趋势的预测等应用。

例如,可以通过聚类算法对患者进行分组,发现潜在的就诊规律;通过关联规则挖掘药品之间的关联性,为药品采购提供参考。

3. 模型评估与优化在数据挖掘过程中,需要对模型进行评估和优化,以提高预测准确率和模型稳定性。

通过SQL语句对模型进行参数调整和性能评估,不断优化数据挖掘结果。

四、安全与隐私保护在设计基于SQL的医疗信息管理系统时,安全与隐私保护是至关重要的。

通过权限管理、数据加密等技术手段,保障患者和医生信息的安全性和隐私性,避免敏感数据泄露。

五、总结与展望基于SQL的医疗信息管理系统设计与数据挖掘为医疗机构提供了强大的数据支持和决策分析能力。

未来随着人工智能和大数据技术的不断发展,基于SQL的医疗信息管理系统将更加智能化和个性化,为医疗行业带来更多创新和发展机遇。

数据库课程设计(医药销售管理系统)

数据库课程设计(医药销售管理系统)
(1)必须提交系统分析报告,包括:数据流图、数据词典和系统功能分析。
(2)数据库的设计与实现。包括数据库的数据字典,数据库的概念结构(E-R图),数据库中的表、视图(如果使用)、存储过程(如果使用)的结构和定义,数据库数据的插入、修改、删除、查询,要求使用SQL脚本提供。
(3)程序设计的报告:包括程序的运行环境、开发环境、程序的详细设计(包括模块之间的关系,模块的功能、主要功能实现的程序段)。
设计依据、要求及主要内容(可另加附页):
调查医药及医药用品经营等相关行业,根据其具体情况设计医药销售管理系统。
1.系统功能的基本要求:
(1)基础信息管理:包括药品信息、员工信息、客户信息;
(2)医药及医药用品的销售管理:实现药品的查询、销售、收费收据管理和药品退货处理等;
(3)系统设置管理:包括不同角色的管理、不同用户权限的设置等;
Varchar
10
顾客编号
唯一标识不同时间的一个顾客
Varchar
10
图1-5 主要数据项列表
(2)主要数据结构
数据结构名称
含义说明
组成结构
顾客
定义了一个顾客的有关信息
顾客编号+顾客类别+会员号
员工
定义了一个员工的有关信息
员工编号+员工姓名+联系电话+登录密码
药品
定义了一个药品的有关信息
药品编号+药品名称+产地+生产批号+所属类别+进价+单价+库存+会员折扣+包装规格+生产日期+有效期
(5)物理结构设计:选定实施环境,确定系统数据库的存储结构和存取方法等;
(6)数据实施和维护:用DBMS建立数据库结构,加载数据,实现各种查询,链接应用程序,设计库中触发器、存储过程等对象,并能对数据库做简单的维护操作。

SQL药品管理系统设计

SQL药品管理系统设计

目录数据库原理课程设计任务书................................................................................... 错误!未定义书签。

1.问题描述 .............................................................................................................. 错误!未定义书签。

1.1背景................................................................................................................... 错误!未定义书签。

1.2数据需求........................................................................................................... 错误!未定义书签。

2.数据库设计 ........................................................................................................ 错误!未定义书签。

2.1E-R图................................................................................................................. 错误!未定义书签。

2.2数据流程图....................................................................................................... 错误!未定义书签。

医药销售管理及数据库管理知识分析原理

医药销售管理及数据库管理知识分析原理

《数据库原理及应用》课程设计设计题目医药销售管理系统设计时间2011.12.29至2012.1.4学生姓名学生学号所在班级指导教师摘要根据医药管理系统的需求分析结果总结系统内实体及联系并绘制系统的局部ER图然后画出全局ER图。

结合需求分析与概念结构设计把设计好的ER图转换为DBMS所支持的数据模型所符合的逻辑结构,运用SQL数据库管理系统建好表和相关约束。

关键词:医药管理系统;ER图;DBMS;数据模型;SQL目录1课题描述近年来,中国医药行业迅速发展,药店企业多业态经营,仓储式大型超市、中等规模超市、便利连锁综合发展。

随着规模的扩大,传统的医药管理已经不能适应发展的需要,很难在激烈的竞争中生存。

通过对从事医药产品的零售、批发等工作企业的深入调查,发现其业务主要包括企业药品销售、出入库管理、企业的财务、人事管理等。

医药管理是一项琐碎、复杂而又十分细致的工作。

手工进行企业日常的药品销售、出入库的工作,容易出现“开空单”的现象,且呆账、错账时有发生,而且费时费力。

本系统在设计中考虑和克服了上述问题,实现了企业管理工作的系统化、规范化和自动化。

开发环境:CPU:Intel Pentium4 2GHz内存:1G操作系统:Microsoft Windows XP后台数据库在Microsoft SQL Server 20002设计过程本系统进行了建立数据库的必要性和可行性的分析,需求分析,数据库的概念设计、逻辑设计、物理设计和数据库的实现、运行、维护以及相应的前台的主要功能模块的开发。

2.1 需求分析2.1.1 系统目标与要求要求本系统能够投入实际的使用并且满足基本的功能要求。

要求具有较高的可靠性、安全性和易维护性,具有较高的可移植性。

本系统实现了以下的功能:基本信息模块:包括药品信息、员工信息、客户信息、供应商信息四个子模块。

(1)进货管理模块:包括入库登记、入库登记查询二个子模块。

(2)库房管理模块:包括库存查询、库存盘点、退货处理三个子模块。

药品管理系统代码

药品管理系统代码

药品管理系统代码药品管理系统Private Sub cmdCancel_Click()EndEnd Sub添加Dim mbookmark As variantPrivate Sub cmdAdd_Click()cmdDelete.Enabled=Not cmdDelete.Enabled cmdEdit.Enabled=Not cmdEdit.Enabled cmdCancel.Enabled=Not cmdCancel.EnabledIf cmdAdd.Caption=”添加” ThencmdAdd.Caption=”确认”mbookmark=datst_info.Recordset.bookmark datstinfo.Recordset.AddNewtxtstid.SetFocusElsecmdAdd.Caption=”添加”datstinfo.RecordSet.Updatedatstinfo.RecordSet.MoveLastEnd IfEnd Sub删除Private Sub cmdDelete_Click()On Error Resume Nextdatstinfo.Recordset.Deletedatstinfo.Recordset.MoveNextIf datstinfo.Recordset.EOF Then datstinfo.RecordSet.MoveLast End IfEnd Sub编辑Private Sub cmdEdit_Click()cmdAdd.Enabled=Not cmdAdd.EnabledcmdDelete.Enabled=Not cmdDelete.EnabledcmdCancel.Enabled=Not cmdCancel.EnabledIf cmdAdd.Caption=”修改” ThenMbookmark=datst_info.Recordset.bookmarkcmdAdd.Caption=”确认”datstinfo.Recordset.Edittxtstid.SetFocusElsecmdEdit.Caption=”添加”datstinfo.RecordSet.UpdateEnd IfEnd Sub取消Private Sub cmdCancel_Click()cmdAdd.Caption=”添加”cmdEdit.Caption=”修改”cmdAdd.Enabled=TruecmdDelete.Enabled=TruecmdEdit.Enabled=True cmdCancel.Enabled=Falsedatst_info.Recordset.bookmark =MbookmarkEnd SubADO控件修改药品添加Private Sub cmdAdd_Click() Dim mrc As ADODB.Recordset Dim txtsql As StringDim msgtext As StringIf Trim(No.Text) = "" ThenMsgBox "请输入药品编号~", vbOKOnly, "警告"No.SetFocusExit SubEnd IfIf Trim(medname.Text) = "" ThenMsgBox "请输入药品名称~", vbOKOnly, "警告"medname.SetFocusExit SubEnd IfIf Trim(medkind.Text) = "" ThenMsgBox "请输入药品类别~", vbOKOnly, "警告"medkind.SetFocusExit SubEnd IfIf Trim(EfficentDate.Text) = "" Then MsgBox "请输入有效日期~", vbOKOnly, "警告" EfficentDate.SetFocusExit SubEnd IfIf Trim(factory.Text) = "" ThenMsgBox "请输入生产厂家~", vbOKOnly, "警告" factory.SetFocusExit SubEnd IfIf Trim(OutputDate.Text) = "" ThenMsgBox "请输入出厂日期~", vbOKOnly, "警告" OutputDate.SetFocusExit SubEnd IfIf Trim(imNo.Text) = "" ThenMsgBox "请输入库存量~", vbOKOnly, "警告" imNo.SetFocusExit SubEnd IfIf Trim(imprice.Text) = "" ThenMsgBox "请输入进价~", vbOKOnly, "警告"imprice.SetFocusExit SubEnd IfIf Trim(emprice.Text) = "" ThenMsgBox "请输入售价~", vbOKOnly, "警告"emprice.SetFocusExit SubEnd Ifmrc.AddNewmrc.Fields("药品编号") = Trim(No.Text) mrc.Fields("药品名称") =Trim(medname.Text) mrc.Fields("药品类别") = Trim(medkind.Text)mrc.Fields("有效日期") = Trim(EfficentDate.Text) mrc.Fields("生产厂家") = Trim(factory.Text) mrc.Fields("出厂日期") = Trim(OutputDate.Text) mrc.Fields("库存量") = Trim(imNo.Text) mrc.Fields("进价") =Trim(imprice.Text) mrc.Fields("售价") = Trim(emprice.Text) mrc.Update End Sub药品信息删除Dim bookmark As VarientPrivate Sub cmdEdit_Click() If Trim(No.Text) = "" ThenMsgBox "请输入药品编号~", vbOKOnly, "警告"No.SetFocusExit SubEnd IfIf Trim(medname.Text) = "" ThenMsgBox "请输入药品名称~", vbOKOnly, "警告" medname.SetFocusExit SubEnd IfIf Trim(medkind.Text) = "" ThenMsgBox "请输入药品类别~", vbOKOnly, "警告" medkind.SetFocusExit SubEnd IfIf Trim(EfficentDate.Text) = "" Then MsgBox "请输入有效日期~", vbOKOnly, "警告" EfficentDate.SetFocusExit SubEnd IfIf Trim(factory.Text) = "" ThenMsgBox "请输入生产厂家~", vbOKOnly, "警告" factory.SetFocusExit SubEnd IfIf Trim(OutputDate.Text) = "" ThenMsgBox "请输入出厂日期~", vbOKOnly, "警告" Adodc1.RefreshAdodc1.Recordset.bookmark = bookmarkOutputDate.SetFocusExit SubEnd IfIf Trim(imNo.Text) = "" ThenMsgBox "请输入库存量~", vbOKOnly, "警告" Adodc1.RefreshAdodc1.Recordset.bookmark = bookmark imNo.SetFocusExit SubEnd IfIf Trim(imprice.Text) = "" ThenMsgBox "请输入进价~", vbOKOnly, "警告" imprice.SetFocusExit SubEnd IfIf Trim(emprice.Text) = "" ThenMsgBox "请输入售价~", vbOKOnly, "警告" emprice.SetFocusExit SubEnd IfMsgBox "当前记录已更新~", vbOKOnly, "提示" End Sub查询Private Sub cmdquery_Click()If Trim(Text1.Text)=”” ThenMsgBox ”请输入检索词~”Exit SubEnd IfIf Combo1.Text=”库存量” ThenAdodc1.RecordSource=”select * from 药品信息数据表 where 库存量=’” , Trim(Text1.Text) , ”’ ”Adodc1.RefreshEnd IfIf Combo1.Text=”数量” ThenAdodc1.Reco rdSource=”select * from 医药销售子表 where 数量=’” , Trim(Text1.Text), ”’ ”Adodc1.RefreshEnd IfIf Combo1.Text=”总金额” ThenAdodc1.RecordSource=”select * from医药销售子表where 总金额=’” , Trim(Text1.Text), ”’ ”Adodc1.RefreshEnd IfEnd SubDim arrValues(1 To 8,1 To 2)Private Sub Form_Load()Dim i As Integeradochart.RefreshFor i = 1 To 8If adochart.Recordset.EOF <> True Then arrvalues(i, 1) =adochart.Recordset.Fields(0) arrvalues(i, 1) =adochart.Recordset.Fields(1) adochart.Recordset.MoveNext End IfNext iMSChart1.Plot.SeriesCollection(1).LegendText = "总金额"MSChart1.ChartData = arrvaluesEnd SubPrivate Sub Mschart1_pointselected(series As Integer, datapoint As Integer, mouseflags As Integer,cancel As Integer)MsgBox "销售员编号:" + arrvalues(datapoint, 1) _ + Chr(13) + MSChart1.Plot.SeriesCollection(series).LegendText _+ ":" + Trim(Str(arrvalues(datapoint, series + 1))), , "医药销售信息" End SubPrivate Sub MSChart2_OLEStartDrag(Data As MSChart20Lib.DataObject, AllowedEffects AsLong)End SubOption ExplicitPrivate Sub cmdok_Click()If username.Text=”” ThenMsgBox ”请输入用户名~”Username.SetFocusElsetxtsql=”select * from 用户表 where 用户名=’” ,username.Text , ”’ ”Set mrc=ExecutSQL(txtsql,msgtext)If mrc.EOF ThenMsgBox “没有这个用户”Username.SetFocusElseIf Trim(mrc.Fields(“user_Pwd”))=Trim(userpasssword.Text) Then Username_OK=Trim(userpassword.Text)Unload MeElseMsgBox “输入密码错误~请重新输入~”Userpassword.SetFocusEnd IfEnd IfEnd IfEnd Sub。

医药销售管理系统SQL语句

医药销售管理系统SQL语句

医药销售管理系统SQL语句医药销售管理系统SQL语句create database MedicalManagerSystem/*创立医药销售管理系统*/ use MedicalManagerSystemcreate table MedID/*创立药品类别索引信息*/(MedKindeCode char(10) constraint MI_PRI PRIMARY KEY,KindExplanation varchar(12) NOT NULL)create table MedInfor/*创立药品信息表*/(MedicineCode char(6) constraint M_PRIM PRIMARY KEY,MedicineName varchar(8) NOT NULL,MedKindeCode char(10) FOREIGN KEY REFERENCES MedID(MedKindeCode),Price Money,ListPrice Money,Number Int,FirmCode char(10) FOREIGN KEY REFERENCES FirmInfor(FirmCode), Userfulllife Datetime)create table GueInfor/*创立客户信息表*/(GuestCode char(10) constraint G_PRIM PRIMARY KEY,GuestName varchar(16) NOT NULl,GLink varchar(12),GLinkTell varchar(11),City varchar(8))create table FirmInfor/*创立供应商信息表*/(FirmCode char(10) constraint F_PRIM PRIMARY KEY,FirmName varchar(16) NOT NULL,Link varchar(12),LinkTell varchar(11),City varchar(8))create table WorkInfor/*创立员工信息表*/(WorkNo char(10) constraint W_PRIM PRIMARY KEY,Name varchar(12),UserRegName char(6) NOT NULL,Password char(10) NOT NULL,Position char(10),Power Int)create table sellMain/*创立医药销售主表*/(SaleNo int constraint SM_PRIM PRIMARY KEY,WorkNo char(10) FOREIGN KEY REFERENCES WorkInfor(WorkNo), SaleDate DateTime,Amount Money)create table sellChild/*创立医药销售子表*/(SaleNo int constraint SC_PRIM PRIMARY KEY,MedicineCode char(6) FOREIGN KEY REFERENCES MedInfor(MedicineCode),MedicineName varchar(32) NOT NULL,Price Money,Number Int,Uint char(8),Amount Money)/*插入数据的存储过程 */create proc MedID_proc@MedKindeCode char(10),@KindExplanation varchar(12)asinsert into MedID (MedKindeCode,KindExplanation) values(@MedKindeCode ,@KindExplanation )exec MedID_proc '0001','口腔溃疡'exec MedID_proc '0002','感冒'exec MedID_proc '0003','发烧'exec MedID_proc '0004','拉肚子'exec MedID_proc '0005' ,'外伤'create proc MedInfor_proc@MedicineCode char(6),@MedicineName varchar(8),@MedKindeCode char(10),@Price money,@ListPrice money, @Number int,@FirmCode char(10),@Userfulllife Datetimeasinsert into MedInfor(MedicineCode ,MedicineName,MedKindeCode,Price,L istPric e,Number,Supplicer,Userfulllife)values(@MedicineCode,@MedicineName,@MedKindeCode, @Price,@ ListPrice,@Number,@FirmCode,@Userfulllife)exec MedInfor_proc '1001','板蓝根','0002',5,3,'100','014',' -12-5'exec MedInfor_proc ' ','四季感康','0002',14,10.5,'150','051',' -12-12' exec MedInfor_proc ' ','银黄颗粒','0002',12,8.8, '120 ','014',' -10-6' exec MedInfor_proc ' ','感冒清热软胶囊','0002',17,12, '150','015', ' -11-1'exec MedInfor_proc '3001','阿斯匹林','0003',15,11,'100','014',' -12-1' exec MedInfor_proc '3002','布洛芬','0003',21,17.5,'120','051',' -6-5' exec MedInfor_proc '4001','泻利挺','0004',25,20,'120','015',' -10-2' exec MedInfor_proc '4002','诺氟沙星胶囊','0004',15,12,'100','015',' -9-16'exec MedInfor_proc '5001','碘酒','0005',5,2.5,'50' ,'051',' -10-12' exec MedInfor_proc '5002','创口贴','0005',2,1,'250','014',' -5-1' create proc GueInfor_proc@GuestCode char(10),@GuestName varchar(16),@GLink varchar(12),@GLinkTell varchar(11),@City varchar(8)asinsert into GueInfor(GuestCode,GuestName,GLink,GLinkTell, City)values(@GuestCode,@GuestName,@GLink,@GLinkTell,@City) exec GueInfor_proc '015112','zhangsan','xiaozhang','668401','jiaxing' exec GueInfor_proc '065114','lisi','xiaofang','614425','yuyao' exec GueInfor_proc '052114','wangwu','xiaowu','659024','wenzhou' exec GueInfor_proc '043115','zhaoliu','xiaowu','615874','shangyu' exec GueInfor_proc '014221','awu','xiaozhang','651283','linan' exec GueInfor_proc '025471','asha','xiaofang','691472','dongyang'create proc FirmInfor_proc@FirmCode char(10),@FirmName varchar(16),@Link varchar(12),@LinkT ell varchar(11),@City varchar(8)asinsert into FirmInfor(FirmCode,FirmName,Link,LinkTell,City) values(@FirmCode,@FirmName,@Link,@LinkTell,@City)exec FirmInfor_proc '015','yangshengtang','xiaotai','681472','huzhou' exec FirmInfor_proc '014','baozhilin','zhangqing','658421','deqing' exec FirmInfor_proc '051','pinmingdayaofang','oudan','65417','xiangshan' create proc WorkInfor_proc@WorkNo char(10),@Name varchar(12),@UserRegName char(6),@Password char(10),@Position char(10),@Power Intasinsert into WorkInfor(WorkNo,Name,UserRegName,Password,Position,Pow er)values(@WorkNo,@Name,@UserRegName,@Password,@Positi on,@P ower)exec WorkInfor_proc '075101','ZKL','zkl01','456789','jingli','' exec WorkInfor_proc '075201','ZJM','zjm01','123789','dongshi',''exec WorkInfor_proc '075215','WMX','wmx05','147258','xiaomi','' exec WorkInfor_proc '075120','ZZW','zzm20','123456','buzhang',''create proc sellMain_proc@SaleNo int,@WorkNo char(10),@SaleDate DateTime,@Amount Moneyasinsert into sellMain(SaleNo,WorkNo,SaleDate,Amount)values(@SaleNo,@WorkNo,@SaleDate,@Amount)exec sellMain_proc '12','075101',' -1-1',1000exec sellMain_proc '13','075201',' -1-1',1500exec sellMain_proc '15','075215',' -1-1',800exec sellMain_proc '20','075120',' -1-1',1200alter proc sellChild_proc@SaleNo int,@MedicineCode char(6),@MedicineName varchar(32),@Price Money,@Number Int,@Uint char(8),@Amount Moneyasinsert into sellChild(SaleNo,MedicineCode,MedicineName,Price,Number,Ui nt,Am ount)values(@SaleNo,@MedicineCode,@MedicineName,@Price, @Number, @Uint,@Amount)exec sellChild_proc '13','1001','板蓝根',5,'20','bao',100exec sellChild_proc '15',' ','四季感康',14,'15','he',210exec sellChild_proc '20','3001','阿斯匹林',15,'20','he',300/*删除数据的存储过程*/create proc MedID_delete_proc@MedKindeCode char(10)asdelete from MedIdwhere MedKindeCode=@MedKindeCode exec MedID_delete_proc '0002'create proc MedInfor_delete_proc@MedicineName varchar(8)asdelete from MedInforwhere MedicineName=@MedicineNamecreate proc GueInfor_delete_proc@GuestCode char(10)asdelete from GueInforwhere GuestCode=@GuestCodecreate proc FirmInfor_delete_proc@FirmCode char(10)asdelete from FirmInforwhere FirmCode=@FirmCodecreate proc WorkInfor_delete_proc @WorkNo char(10)asdelete from WorkInforwhere WorkNo=@WorkNocreate proc sellMain_delete_proc @SaleNo intasdelete from sellMainwhere SaleNo=@SaleNocreate proc sellChild_delete_proc @SaleNo intasdelete from sellChildwhere SaleNo=@SaleNo/*修改数据的存储过程*/create proc MedID_update_proc@MedKindeCode char(10),@KindExplanation varchar(12),@MedKindeCode1 char(10)asupdate MedIDsetMedKindeCode=@MedKindeCode,KindExplanation=@Kind Explanation where MedKindeCode=@MedKindeCode1 exec MedID_update_proc '0002','感冒','0001'create proc MedInfor_update_proc@MedicineCode1 char(6),@MedicineName varchar(8),@MedKindeCode char(10),@Price money,@ListPrice money, @Number int,@FirmCode char(10),@Userfulllife Datetime,@MedicineCode char(6)asupdate MedInforsetMedicineCode=@MedicineCode1,MedicineName=@Medici neName,M edKindeCode=@MedKindeCode,Price=@Price, ListPrice=@ListPrice,Number=@Number,FirmCode=@FirmCode,Userfulllife=@Userfulllife,MedicineCode=@MedicineCodewhere MedKindeCode=@MedKindeCodecreate proc GueInfor_update_proc@GuestCode1 char(10),@GuestName varchar(16),@GLink varchar(12),@GLinkTell varchar(11),@City varchar(8),@GuestCode char(10)asupdate GueInforsetGuestCode=@GuestCode1,GuestName=@GuestName,GLin k=@GLink, GLinkT ell=@GLinkTell,City=@Citywhere GuestCode=@GuestCodecreate proc FirmInfor_update_proc@FirmCode1 char(10),@FirmName varchar(16),@Link varchar(12),@LinkT ell varchar(11),@City varchar(8),@FirmCode char(10)asupdate FirmInforsetFirmCode=@FirmCode1,FirmName=@FirmName,Link=@Li nk,LinkTell=@LinkTell,City=@Citywhere FirmCode=@FirmCodecreate proc WorkInfor_update_proc@WorkNo1 char(10),@Name varchar(12),@UserRegName char(6),@Password char(10),@Position char(10),@Power Int, @WorkNo char(10)asupdate WorkInforsetWorkNo=@WorkNo1,Name=@Name,UserRegName=@Us erRegName,Password=@Password,Position=@Position,Power=@Power where WorkNo=@WorkNocreate proc sellMain_update_proc@SaleNo1 int,@WorkNo char(10),@SaleDate DateTime,@Amount Money,@SaleNo intasupdate sellMainsetSaleNo=@SaleNo1,WorkNo=@WorkNo,SaleDate=@SaleDa te,Amount=@Amountwhere SaleNo=@SaleNocreate proc sellChild_update_proc@SaleNo1 int,@MedicineCode char(6),@MedicineName varchar(32),@Price Money,@Number Int,@Uint char(8),@Amount Money,@SaleNo intasupdate sellChildsetSaleNo=@SaleNo1,MedicineCode=@MedicineCode,Medici neName=@MedicineName,Price=@Price,Number=@Number,Amount=@A mount where SaleNo=@SaleNo/*建立存储过程实现单表查询*//*建立名为“单表查询1”的存储过程,用来查询某种药品的信息*/create proc 单表查询1@MedicineCode char(6)ASselect *from MedInforwhere MedicineCode=@MedicineCode/*建立名为“单表查询2”的存储过程,用来查询某个客户的信息*/create proc 单表查询2@GuestCode char(10)ASselect *from GueInforwhere GuestCode=@GuestCode/*建立名为“单表查询3”的存储过程,用来查询某个员工的信息*/create proc 单表查询3@WorkNo char(10)ASselect *from WorkInforwhere WorkNo=@WorkNo/*建立名为“单表查询4”的存储过程,用来查询某个供应商的信息*/create proc 单表查询4@FirmCode char(10)ASselect *from FirmInforwhere FirmCode=@FirmCode/*建立名为“单表查询5”的存储过程,用来查询某个药品代码对应的药品类型的信息*/create proc 单表查询5@MedKindeCode char(10)ASselect *from MedIDwhere MedKindeCode=@MedKindeCode/*建立存储过程实现连接查询*//*建立名为“连接查询1”的存储过程,用来查询某个药品名称对应的药品类型的信息*/create proc 连接查询1@MedicineName varchar(8)asselect MedicineName ,KindExplanationfrom MedInfor,MedIDwhere MedID.MedKindeCode=MedInfor.MedKindeCode andMedicineName=@MedicineName/*建立名为“连接查询2”的存储过程,用来查询某个供应商提供的药品类型*/create proc 连接查询2@FirmName varchar(16)asselect FirmName,KindExplanationfrom MedInfor,MedID,FirmInforwhere MedID.MedKindeCode=MedInfor.MedKindeCode andMedInfor.FirmCode=FirmInfor.FirmCode andFirmName=@FirmName/*建立名为“连接查询3”的存储过程,用来查询某个销售员销售某种药品的数量*/create proc 连接查询3@Name varchar(12),@MedicineName varchar(8)asselect name ,MedInfor.MedicineName,sellChild.Numberfrom WorkInfor,sellChild,MedInfor,sellMainwhere WorkInfor.WorkNo=sellMain.WorkNo andsellMain.SaleNo=sellChild.SaleNo andsellChild.MedicineCode=MedInfor.MedicineCode andname=@Name andMedInfor.MedicineName=@MedicineName/*建立名为“连接查询4”的存储过程,用来查询某类药品的销售量*/create proc 连接查询4@KindExplanation varchar(12)asselect KindExplanation,sellChild.Numberfrom sellChild,MedID,MedInforwhere MedID.MedKindeCode=MedInfor.MedKindeCode andMedInfor.MedicineCode=sellChild.MedicineCode andKindExplanation=@KindExplanation/*建立名为“连接查询5”的存储过程,用来查询某个员工销售的药品类型*/create proc 连接查询5@Name varchar(12)asselect Name,KindExplanationfrom sellChild,MedID,MedInfor,sellMain,WorkInforwhere MedInfor.MedicineCode=sellChild.MedicineCode and MedID.MedKindeCode=MedInfor.MedKindeCode andWorkInfor.WorkNo=sellMain.WorkNo andsellMain.SaleNo=sellChild.SaleNo andName=@Name建立存储过程实现嵌套查询/*建立名为“嵌套查询1”的存储过错,用来查询某类药品的销售量*/create proc 嵌套查询1@KindExplanation varchar(12)asselect Numberfrom sellChildwhere MedicineCode In(select MedicineCodefrom MedIDwhere KindExplanation=@KindExplanation)/*建立名为“嵌套查询2”的存储过错,用来查询某个供应商提供的商品*/create proc 嵌套查询2@FirmName varchar(16)。

医药进销存管理系统(业务流程图)

医药进销存管理系统(业务流程图)

医药进销存管理系统信息A1022班一系统分析1 需求分析随着互联网的发展,利用网络技术来实现“无纸办公”这个概念已经深入人心,医药管理系统作为医院信息化建设的一个重要平台在完成各种医药资源的合理统计与分配,互联网访问,医院管理,电子设备等方面面发挥了重要的作用.但是现在十分缺少类似的能够满足医院需求的医药进销存管理系统,为规范医院的医药进存销管理和数据统计和分析,在较小的代价下满足用户信息需求,设计了这个医药进存销管理系统。

该医药进存销管理系统是针对医院医药管理方面而开发的一款以医药管理为基础(涉及到医药的基本信息查询和管理,医药采购,医药销售,医药退货,医药商的信息维护,客户的信息维护等)的医药信息管理软件,它以广泛的调查为基础,最大程度上满足使用需求,同时辅助于其他自定义管理的医院管理系统来提升医院的管理水平,优化资源,尽可能地降低成本,统筹安排以实现最大效益化。

1.1系统需求说明随着计算机的普及和计算机科学技术的飞速发展,人们开始越来越多地利用计算机解决实际问题。

进销存管理是医药行业管理中的重要部分,面对大量的药品进销存信息,采用人力畜力将浪费大量时间,人力和物力,并且数据准确性低,数据汇总速度慢,所以针对医药行业由于每天销售量很大,呆账,错帐时有发生且常出现开“空单”的现象, 开发一个界面友好,易于操作的进销存软件成为医药企业的首选.通过计算机对企业信息流通过程中的数据进行自动化管理是开发本系统的主要目的。

整个系统从操作简便、界面友好、灵活、使用、安全的要求出发,完成对进货、销售、库存查询管理的全过程的信息跟踪与管理,包括对操作员与系统数据的维护,信息的添加、删除、查询、统计等。

本系统可以满足医药行业中各种批发、零售及经销公司的进、销、存方面的需求。

1。

2用户需求说明该需求说明明确的表达了设计实现该医药进存销系统所需要的各种数据和操作需求,建立在这个基础上设计的系统在最大程度上满足了用户的需求而且代价相对较小,其中主要包括有关医药的各种基本信息以及管理人员在处理医药的过程中所体现出来的各种操作特性及相关信息1.3数据需求:1:药品在录入信息前要提供药品的基本信息:药品编号、药品名称、通用码、拼音码、单位、规格、剂型、包装数量、产地、有效期质量标准、经营方式、批号、零售价格、进货价格、批发价格、药品类别、医疗编号等。

数据库课程设计(论文)-药品销售管理系统

数据库课程设计(论文)-药品销售管理系统

药品销售管理系统一.系统简介:该系统具有系统用户管理、药品信息管理、库存管理、药品入库、药品销售、购买结算、取药管理、制定销售和采购报表等主要功能。

图一显示了系统的主界面。

图一该系统主要有以下特点:(1)具有多文档界面(MDI)。

系统以Visual Foxpro窗口作为主窗口,可以同时打开多个功能模块窗口。

(2)创建了一个自定义类来实现记录导航。

所有功能模块都使用该类,并进一步扩展其功能。

(3)使用数据绑定功能实现记录的浏览和编辑操作。

利用数据绑定可以简化数据的显示和保存。

(4)使用菜单系统来集成系统功能。

系统各个功能模块独立实现,最后通过系统集成到一起。

系统菜单替换了Visual Foxpro的系统菜单,并显示在Visual Foxpro窗口中。

二.系统分析:本系统是针对仓储式药房创建“药品销售管理系统”的,主要有以下功能:·系统用户管理:药房的使用人员涉及前台销售员、收银员、取药员、采购员以及系统高级管理员,系统用户管理完成对各类使用人员系统帐户的添加、修改、删除和查询。

·药品信息管理:管理药品的基本信息,包括添加、修改、删除和查询。

·库存信息管理:管理药品的入库,库存量修改与查询,制定库存报表。

·前台销售管理:管理客户购物车记录的创建、添加、修改、删除和查询,以及根据用户要求查询特定药品信息。

·购买结算管理:根据客户购物车记录结算购药费用,并可对购物车记录进行修改。

·取药管理:客户结算之后,取药人员根据客户购物车从库房为用户取药,并完成购物车的注销操作。

·制定采购计划:购物人员根据药品库存量和药品销售情况制定采购计划。

·销售报表管理:根据每月药品的销售情况生成药品销售报表。

三.系统模块设计:四.数据库设计根据系统功能模块和药房销售管理流程,绘制药房销售系统数据流图。

●根据系统数据流图以及一般药房销售管理系统的需求,总结出如下数据字典:系统用户数据:包含的数据项有系统用户名、登录口令和权限代码。

数据库之医药销售管理系统

数据库之医药销售管理系统

数据库之医药销售管理系统在当今的医药行业中,高效的销售管理是企业成功的关键之一。

医药销售管理系统作为一种重要的工具,借助数据库技术,为企业提供了全面、准确和及时的信息,以支持决策制定、优化业务流程和提升客户满意度。

医药销售管理系统的核心是数据库,它就像一个巨大的仓库,存储着各种与销售相关的数据。

这些数据包括药品的基本信息,如名称、规格、剂型、生产厂家等;客户的信息,如客户名称、地址、联系方式、购买历史等;销售订单的信息,包括订单编号、日期、金额、支付方式等;库存信息,如药品的库存数量、库存位置等。

通过对这些数据的有效管理,医药销售管理系统能够实现多个重要的功能。

首先是销售订单管理。

当客户下达订单时,系统能够快速准确地记录订单信息,并自动检查库存情况。

如果库存充足,系统会立即处理订单;如果库存不足,系统会发出补货提醒,确保订单能够及时满足。

这不仅提高了订单处理的效率,还减少了因库存问题导致的订单延误。

其次是客户关系管理。

系统可以详细记录客户的信息和购买历史,帮助企业了解客户的需求和偏好。

基于这些数据,企业可以为客户提供个性化的服务,如推荐适合的药品、发送优惠信息等,从而提高客户的满意度和忠诚度。

库存管理也是系统的重要功能之一。

它实时监控药品的库存水平,当库存低于设定的阈值时,自动生成采购订单。

同时,系统还能对库存的周转率、积压情况等进行分析,为企业的库存优化提供决策依据。

在医药销售管理系统中,数据的安全性和准确性至关重要。

由于医药行业的特殊性,数据的泄露可能会导致严重的后果,如患者隐私被侵犯、企业商业机密被窃取等。

因此,系统需要采取严格的安全措施,如数据加密、用户权限管理、防火墙等,确保数据的安全。

同时,为了保证数据的准确性,系统需要对数据的录入和更新进行严格的审核和验证,避免错误数据的产生。

此外,医药销售管理系统还能够为企业提供数据分析和决策支持的功能。

通过对销售数据、客户数据、库存数据等进行分析,企业可以了解市场趋势、销售业绩、客户满意度等情况。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

create database MedicalManagerSystem/*创建医药销售管理系统*/use MedicalManagerSystemcreate table MedID/*创建药品类别索引信息*/(MedKindeCode char(10) constraint MI_PRI PRIMARY KEY,KindExplanation varchar(12) NOT NULL)create table MedInfor/*创建药品信息表*/(MedicineCode char(6) constraint M_PRIM PRIMARY KEY,MedicineName varchar(8) NOT NULL,MedKindeCode char(10) FOREIGN KEY REFERENCES MedID(MedKindeCode), Price Money,ListPrice Money,Number Int,FirmCode char(10) FOREIGN KEY REFERENCES FirmInfor(FirmCode),Userfulllife Datetime)create table GueInfor/*创建客户信息表*/(GuestCode char(10) constraint G_PRIM PRIMARY KEY,GuestName varchar(16) NOT NULl,GLink varchar(12),GLinkTell varchar(11),City varchar(8))create table FirmInfor/*创建供应商信息表*/(FirmCode char(10) constraint F_PRIM PRIMARY KEY,FirmName varchar(16) NOT NULL,Link varchar(12),LinkTell varchar(11),City varchar(8))create table WorkInfor/*创建员工信息表*/(WorkNo char(10) constraint W_PRIM PRIMARY KEY,Name varchar(12),UserRegName char(6) NOT NULL,Password char(10) NOT NULL,Position char(10),Power Int)create table sellMain/*创建医药销售主表*/(SaleNo int constraint SM_PRIM PRIMARY KEY,WorkNo char(10) FOREIGN KEY REFERENCES WorkInfor(WorkNo),SaleDate DateTime,Amount Money)create table sellChild/*创建医药销售子表*/(SaleNo int constraint SC_PRIM PRIMARY KEY,MedicineCode char(6) FOREIGN KEY REFERENCES MedInfor(MedicineCode),MedicineName varchar(32) NOT NULL,Price Money,Number Int,Uint char(8),Amount Money)/*插入数据地存储过程 */create proc MedID_proc@MedKindeCode char(10),@KindExplanation varchar(12)asinsert into MedID (MedKindeCode,KindExplanation) values(@MedKindeCode ,@KindExplanation )exec MedID_proc '0001','口腔溃疡'exec MedID_proc '0002','感冒'exec MedID_proc '0003','发烧'exec MedID_proc '0004','拉肚子'exec MedID_proc '0005' ,'外伤'create proc MedInfor_proc@MedicineCode char(6),@MedicineName varchar(8),@MedKindeCode char(10),@Price money,@ListPrice money,@Number int,@FirmCode char(10),@Userfulllife Datetimeasinsert into MedInfor(MedicineCode ,MedicineName,MedKindeCode,Price,ListPrice,Number,Supplicer,Userfulllife)values(@MedicineCode,@MedicineName,@MedKindeCode,@Price,@ListPrice,@Number,@FirmCode,@Userfulllife)exec MedInfor_proc '1001','板蓝根','0002',5,3,'100','014','2010-12-5'exec MedInfor_proc '2002','四季感康','0002',14,10.5,'150','051','2010-12-12'exec MedInfor_proc '2003','银黄颗粒','0002',12,8.8, '120 ','014','2012-10-6'exec MedInfor_proc '2004','感冒清热软胶囊','0002',17,12, '150','015', '2011-11-1'exec MedInfor_proc '3001','阿斯匹林','0003',15,11,'100','014','2010-12-1'exec MedInfor_proc '3002','布洛芬','0003',21,17.5,'120','051','2010-6-5'exec MedInfor_proc '4001','泻利挺','0004',25,20,'120','015','2012-10-2'exec MedInfor_proc '4002','诺氟沙星胶囊','0004',15,12,'100','015','2012-9-16'exec MedInfor_proc '5001','碘酒','0005',5,2.5,'50' ,'051','2012-10-12'exec MedInfor_proc '5002','创口贴','0005',2,1,'250','014','2015-5-1'create proc GueInfor_proc@GuestCode char(10),@GuestName varchar(16),@GLink varchar(12),@GLinkTell varchar(11),@City varchar(8)asinsert into GueInfor(GuestCode,GuestName,GLink,GLinkTell,City) values(@GuestCode,@GuestName,@GLink,@GLinkTell,@City)exec GueInfor_proc '015112','zhangsan','xiaozhang','668401','jiaxing'exec GueInfor_proc '065114','lisi','xiaofang','614425','yuyao'exec GueInfor_proc '052114','wangwu','xiaowu','659024','wenzhou'exec GueInfor_proc '043115','zhaoliu','xiaowu','615874','shangyu'exec GueInfor_proc '014221','awu','xiaozhang','651283','linan'exec GueInfor_proc '025471','asha','xiaofang','691472','dongyang'create proc FirmInfor_proc@FirmCode char(10),@FirmName varchar(16),@Link varchar(12),@LinkTell varchar(11),@City varchar(8)asinsert into FirmInfor(FirmCode,FirmName,Link,LinkTell,City)values(@FirmCode,@FirmName,@Link,@LinkTell,@City)exec FirmInfor_proc '015','yangshengtang','xiaotai','681472','huzhou'exec FirmInfor_proc '014','baozhilin','zhangqing','658421','deqing'exec FirmInfor_proc '051','pinmingdayaofang','oudan','65417','xiangshan'create proc WorkInfor_proc@WorkNo char(10),@Name varchar(12),@UserRegName char(6),@Password char(10),@Position char(10),@Power Intasinsert into WorkInfor(WorkNo,Name,UserRegName,Password,Position,Power)values(@WorkNo,@Name,@UserRegName,@Password,@Position,@Power)exec WorkInfor_proc '075101','ZKL','zkl01','456789','jingli',''exec WorkInfor_proc '075201','ZJM','zjm01','123789','dongshi',''exec WorkInfor_proc '075215','WMX','wmx05','147258','xiaomi',''exec WorkInfor_proc '075120','ZZW','zzm20','123456','buzhang',''create proc sellMain_proc@SaleNo int,@WorkNo char(10),@SaleDate DateTime,@Amount Moneyasinsert into sellMain(SaleNo,WorkNo,SaleDate,Amount)values(@SaleNo,@WorkNo,@SaleDate,@Amount)exec sellMain_proc '12','075101','2009-1-1',1000exec sellMain_proc '13','075201','2009-1-1',1500exec sellMain_proc '15','075215','2009-1-1',800exec sellMain_proc '20','075120','2009-1-1',1200alter proc sellChild_proc@SaleNo int,@MedicineCode char(6),@MedicineName varchar(32),@Price Money,@Number Int,@Uint char(8),@Amount Moneyasinsert into sellChild(SaleNo,MedicineCode,MedicineName,Price,Number,Uint,Amount)values(@SaleNo,@MedicineCode,@MedicineName,@Price,@Number,@Uint,@Amount)exec sellChild_proc '13','1001','板蓝根',5,'20','bao',100exec sellChild_proc '15','2002','四季感康',14,'15','he',210exec sellChild_proc '20','3001','阿斯匹林',15,'20','he',300/*删除数据地存储过程*/create proc MedID_delete_proc@MedKindeCode char(10)asdelete from MedIdwhere MedKindeCode=@MedKindeCodeexec MedID_delete_proc '0002'create proc MedInfor_delete_proc@MedicineName varchar(8)asdelete from MedInforwhere MedicineName=@MedicineNamecreate proc GueInfor_delete_proc@GuestCode char(10)asdelete from GueInforwhere GuestCode=@GuestCodecreate proc FirmInfor_delete_proc@FirmCode char(10)asdelete from FirmInforwhere FirmCode=@FirmCodecreate proc WorkInfor_delete_proc@WorkNo char(10)asdelete from WorkInforwhere WorkNo=@WorkNocreate proc sellMain_delete_proc@SaleNo intasdelete from sellMainwhere SaleNo=@SaleNocreate proc sellChild_delete_proc@SaleNo intasdelete from sellChildwhere SaleNo=@SaleNo/*修改数据地存储过程*/create proc MedID_update_proc@MedKindeCode char(10),@KindExplanation varchar(12),@MedKindeCode1 char(10)asupdate MedIDset MedKindeCode=@MedKindeCode,KindExplanation=@KindExplanationwhere MedKindeCode=@MedKindeCode1exec MedID_update_proc '0002','感冒','0001'create proc MedInfor_update_proc@MedicineCode1 char(6),@MedicineName varchar(8),@MedKindeCode char(10),@Price money,@ListPrice money,@Number int,@FirmCode char(10),@Userfulllife Datetime,@MedicineCode char(6)asupdate MedInforsetMedicineCode=@MedicineCode1,MedicineName=@MedicineName,MedKindeCode=@MedKindeCod e,Price=@Price,ListPrice=@ListPrice,Number=@Number,FirmCode=@FirmCode,Userfulllife=@Userfulllife,MedicineCode=@MedicineCodewhere MedKindeCode=@MedKindeCodecreate proc GueInfor_update_proc@GuestCode1 char(10),@GuestName varchar(16),@GLink varchar(12),@GLinkTell varchar(11),@City varchar(8),@GuestCode char(10)asupdate GueInforsetGuestCode=@GuestCode1,GuestName=@GuestName,GLink=@GLink,GLinkTell=@GLinkTell,City=@Citywhere GuestCode=@GuestCodecreate proc FirmInfor_update_proc@FirmCode1 char(10),@FirmName varchar(16),@Link varchar(12),@LinkTell varchar(11),@City varchar(8),@FirmCode char(10)asupdate FirmInforsetFirmCode=@FirmCode1,FirmName=@FirmName,Link=@Link,LinkTell=@LinkTell,City=@Citywhere FirmCode=@FirmCodecreate proc WorkInfor_update_proc@WorkNo1 char(10),@Name varchar(12),@UserRegName char(6),@Password char(10),@Position char(10),@Power Int,@WorkNo char(10)asupdate WorkInforsetWorkNo=@WorkNo1,Name=@Name,UserRegName=@UserRegName,Password=@Password,Position= @Position,Power=@Powerwhere WorkNo=@WorkNocreate proc sellMain_update_proc@SaleNo1 int,@WorkNo char(10),@SaleDate DateTime,@Amount Money,@SaleNo intasupdate sellMainset SaleNo=@SaleNo1,WorkNo=@WorkNo,SaleDate=@SaleDate,Amount=@Amountwhere SaleNo=@SaleNocreate proc sellChild_update_proc@SaleNo1 i nt,@MedicineCode char(6),@MedicineName varchar(32),@Price Money,@Number Int,@Uint char(8),@Amount Money,@SaleNo intasupdate sellChildsetSaleNo=@SaleNo1,MedicineCode=@MedicineCode,MedicineName=@MedicineName,Price=@Pri ce,Number=@Number,Amount=@Amountwhere SaleNo=@SaleNo/*建立存储过程实现单表查询*//*建立名为“单表查询1”地存储过程,用来查询某种药品地信息*/create proc 单表查询 1@MedicineCode char(6)ASselect *from MedInforwhere MedicineCode=@MedicineCode/*建立名为“单表查询2”地存储过程,用来查询某个客户地信息*/create proc 单表查询 2@GuestCode char(10)ASselect *from GueInforwhere GuestCode=@GuestCode/*建立名为“单表查询3”地存储过程,用来查询某个员工地信息*/create proc 单表查询 3@WorkNo char(10)ASselect *from WorkInforwhere WorkNo=@WorkNo/*建立名为“单表查询4”地存储过程,用来查询某个供应商地信息*/create proc 单表查询 4@FirmCode char(10)ASselect *from FirmInforwhere FirmCode=@FirmCode/*建立名为“单表查询5”地存储过程,用来查询某个药品代码对应地药品类型地信息*/ create proc 单表查询 5@MedKindeCode char(10)ASselect *from MedIDwhere MedKindeCode=@MedKindeCode/*建立存储过程实现连接查询*//*建立名为“连接查询1”地存储过程,用来查询某个药品名称对应地药品类型地信息*/ create proc 连接查询 1@MedicineName varchar(8)asselect MedicineName ,KindExplanationfrom MedInfor,MedIDwhere MedID.MedKindeCode=MedInfor.MedKindeCode andMedicineName=@MedicineName/*建立名为“连接查询2”地存储过程,用来查询某个供应商提供地药品类型*/create proc 连接查询 2@FirmName varchar(16)asselect FirmName,KindExplanationfrom MedInfor,MedID,FirmInforwhere MedID.MedKindeCode=MedInfor.MedKindeCode andMedInfor.FirmCode=FirmInfor.FirmCode andFirmName=@FirmName/*建立名为“连接查询3”地存储过程,用来查询某个销售员销售某种药品地数量*/create proc 连接查询 3@Name varchar(12),@MedicineName varchar(8)asselect name ,MedInfor.MedicineName,sellChild.Numberfrom WorkInfor,sellChild,MedInfor,sellMainwhere WorkInfor.WorkNo=sellMain.WorkNo andsellMain.SaleNo=sellChild.SaleNo andsellChild.MedicineCode=MedInfor.MedicineCode andname=@Name andMedInfor.MedicineName=@MedicineName/*建立名为“连接查询4”地存储过程,用来查询某类药品地销售量*/ create proc 连接查询 4@KindExplanation varchar(12)asselect KindExplanation,sellChild.Numberfrom sellChild,MedID,MedInforwhere MedID.MedKindeCode=MedInfor.MedKindeCode andMedInfor.MedicineCode=sellChild.MedicineCode andKindExplanation=@KindExplanation/*建立名为“连接查询5”地存储过程,用来查询某个员工销售地药品类型*/ create proc 连接查询 5@Name varchar(12)asselect Name,KindExplanationfrom sellChild,MedID,MedInfor,sellMain,WorkInforwhere MedInfor.MedicineCode=sellChild.MedicineCode andMedID.MedKindeCode=MedInfor.MedKindeCode andWorkInfor.WorkNo=sellMain.WorkNo andsellMain.SaleNo=sellChild.SaleNo andName=@Name建立存储过程实现嵌套查询/*建立名为“嵌套查询1”地存储过错,用来查询某类药品地销售量*/ create proc 嵌套查询 1@KindExplanation varchar(12)asselect Numberfrom sellChildwhere MedicineCode In(select MedicineCodefrom MedIDwhere KindExplanation=@KindExplanation)/*建立名为“嵌套查询2”地存储过错,用来查询某个供应商提供地商品*/ create proc 嵌套查询 2@FirmName varchar(16)asselect MedicineNamefrom MedInforwhere FirmCode In (select FirmCodefrom FirmInforwhere FirmName=@FirmName)/*建立存储过程实现集合查询*//*建立名为“集合查询1”地存储过错,用来查询提供某类商品地供应商数*/create proc 集合查询 1@MedicineName varchar(8)asselect avg(FirmCode)from FrimInforwhere FirmCode in(select FirmCodefrom MedInfor,FrimInforwhere MedInfor.FirmCode=FrimInfor.FirmCode andMedicineName=@MedicineName)/*建立名为“集合查询2”地存储过错,用来查询药品种类数*/create proc 集合查询 2asselect count(MedKindeCode)from MedID/*视图建立*//*1,由药品类别表“MedID”建立一个视图,该视图由药品类别表地所有列构成*/create view 药品类别(药品类别代码,类别说明)asselect* from MedID/*2,由客户信息表“GueInfor”建立一个视图,该视图由客户信息表地所有列构成*/ create view 客户信息(客户编码,客户名称,联系人,联系电话,所在城市)asselect* from GueInfor/*3,由供应商信息表“FirmInfor”建立一个视图,该视图由供应商信息表地所有列构成*/ create view 供应商信息(供应商编码,供应商名称,联系人,联系电话,所在城市)asselect* from FirmInfor/*建立INSERT触发器*/create trigger MedID_insert on MedIDfor insertas if(select count(*)个人收集整理勿做商业用途from MedID_med,insertedwhere MedID_med.MedKindeCode=inserted.MedKindeCode)=0 rollback transaction/*建立DELETE触发器*/create trigger delete_MedID on MedIDfor deleteasselect* from MedIDdeclare @MedKindeCode char(10)select @MedKindeCode=MedKindeCode from deleteddelete from MedIDwhere MedKindeCode=@MedKindeCodeselect*from MedID*/建立UPDATE触发器*/create trigger MedID_update on MedIDfor updateasif update(MedKindeCode)beginraiserror('you can not modify this column',16,1)rollback transactionend11 / 11。

相关文档
最新文档