zoukankan      html  css  js  c++  java
  • OA 办公系统 模块设计

    --连接主数据库
    use Master
    go 
    
    --如果数据库simpleoa 存在,则先删除simpleoa。
    if exists (select * from sysdatabases where name='simpleoa') 
    drop database  simpleoa 
    go
    
    --创建simpleoa数据库
    create database simpleoa
    go
    
    --
    use simpleoa
    go
    
    --创建用户表
    create table [dbo].[User]
    (
    	[UserID]		int		Identity(1,1) not null,--用户ID
    	[UserLoginName]	nvarchar(20)	not null,		--用户登录名
    	[UserName]	nvarchar(20)	not null,		--用户姓名
    	[UserPassword]	nvarchar(20)	not null,		--用户密码
    	[UserRegister]	nvarchar(20)	default getdate(),	--用户注册时间
    	[UserUp]		bit		default 'true',	--是否需要上交
    	[UserInfo]		nvarchar(200)	not null		--备注		--
    )
    alter table [dbo].[User] add constraint pk_user primary key(UserID);
    go
    
    
    --创建部门表
    create table [dbo].[Department]
    (
    	[DepartmentID] 	[int] 		identity(1,1) 	not null,	--部门ID
    	[DepartmentNum]	[nvarchar](20)	not null,		--部门编号
    	[DepartmentName]	[nvarchar](20)	not null,		--部门名称
    	[UserID]		[int]	             	not null,	--部门负责人ID
    	[DepartmentInfo]	[nvarchar](200)	not null		--部门备注
    )
    alter table [dbo].[Department] add constraint pk_department primary key(DepartmentID);
    go
    --添加外键约束
    --alter table Department add constraint dep_ref_use foreign key(UserID) references [dbo].[User](UserID)
    --go
    
    --创建消息表
    create table [dbo].[Message]
    (
    	[MessageID]	[int]		identity(1,1) not null,	--消息ID
    	[MessageSender]	[int]		not null,		--外键
    	[MessageSubject]	[nvarchar](50)	default getdate(),	--消息主题
    	[MessageBody]	[nvarchar](500)	not null,		--消息内容
    	[MessageDataTime]	[datetime]		default getdate(),	--发送消息时间
    	[MessageAttachment]	[bit]	default 'false'	--是否含有附件
    )
    alter table [dbo].[Message] add constraint pk_MessageID primary key (MessageID);
    go
    --消息接收人表:
    create table [dbo].[Recipient]
    (
    	[RecipientID]	[int]		identity(1,1) not null,	--接收人ID
    	[MessageID]	[int]		not null,		--外键
    	[RecipientRead]	[bit]		not null,		--是否读过
    	[RecipientDel]	[bit]		not null,		--是否删除(显示在已删除消息栏)
    	[RecipientReadTime]	[nvarchar](20)	default '尚未阅读',	--客户要求能看到接收人是否已经看过。
    	[RecipientDelTime]	[nvarchar](20)	default '尚未删除',	--储存删除消息时间
    	[RecipientAllDel]	[nvarchar](20)	default '尚未彻底删除'--不再显示在已删除消息栏
    )
    alter table [dbo].[Recipient] add constraint pk_recipient primary key(RecipientID);
    go
    --附件表
    create table [dbo].[Attachment]
    (
    	AttachmentID	[int]		identity(1,1),	--附件ID
    	AttachmentName	[nvarchar](50)	not null,		--附件名称
    	AttachmentFilePath  [nvarchar](100)	not null,		--附件存放类型
    	AttachmentType	[nvarchar](20)	not null,		--附件文件类型
    	AttachmentDateTime	[datetime]		not null,	--附件上传时间
    	AttachmentSource		[nvarchar](20)	not null,	--附件来源:消息、文章、上交?
    	AttachmentSourceID	[int]		not null,	--附件来源ID
    )
    alter table [dbo].[Attachment] add constraint pk_Attachment primary key(AttachmentID)
    go
    
    --每月上传时间表
    create table [dbo].[Time]
    (
    	TimeID		[int]		identity(1,1),	--表时间ID
    	TimeName	[nvarchar](20)	not null,		--时间变量名
    	TimeContent	[datetime]		default getdate()	--时间变量值
    )
    alter table [dbo].[Time] add constraint pk_timeid primary key(TimeID)
    go
    
    
    代码
    --连接主数据库
    use Master
    go

    --如果数据库simpleoa 存在,则先删除simpleoa。
    if exists (select * from sysdatabases where name='simpleoa')
    drop database simpleoa
    go

    --创建simpleoa数据库
    create database simpleoa
    go

    --
    use simpleoa
    go

    --创建用户表
    create table [dbo].[User]
    (
    [UserID] int Identity(1,1) not null,--用户ID
    [UserLoginName] nvarchar(20) not null, --用户登录名
    [UserName] nvarchar(20) not null, --用户姓名
    [UserPassword] nvarchar(20) not null, --用户密码
    [UserRegister] nvarchar(20) default getdate(), --用户注册时间
    [UserUp] bit default 'true', --是否需要上交
    [UserInfo] nvarchar(200) not null --备注 --
    )
    alter table [dbo].[User] add constraint pk_user primary key(UserID);
    go


    --创建部门表
    create table [dbo].[Department]
    (
    [DepartmentID] [int] identity(1,1) not null, --部门ID
    [DepartmentNum] [nvarchar](20) not null, --部门编号
    [DepartmentName] [nvarchar](20) not null, --部门名称
    [UserID] [int] not null, --部门负责人ID
    [DepartmentInfo] [nvarchar](200) not null --部门备注
    )
    alter table [dbo].[Department] add constraint pk_department primary key(DepartmentID);
    go
    --添加外键约束
    --
    alter table Department add constraint dep_ref_use foreign key(UserID) references [dbo].[User](UserID)
    --
    go

    --创建消息表
    create table [dbo].[Message]
    (
    [MessageID] [int] identity(1,1) not null, --消息ID
    [MessageSender] [int] not null, --外键
    [MessageSubject] [nvarchar](50) default getdate(), --消息主题
    [MessageBody] [nvarchar](500) not null, --消息内容
    [MessageDataTime] [datetime] default getdate(), --发送消息时间
    [MessageAttachment] [bit] default 'false' --是否含有附件
    )
    alter table [dbo].[Message] add constraint pk_MessageID primary key (MessageID);
    go
    --消息接收人表:
    create table [dbo].[Recipient]
    (
    [RecipientID] [int] identity(1,1) not null, --接收人ID
    [MessageID] [int] not null, --外键
    [RecipientRead] [bit] not null, --是否读过
    [RecipientDel] [bit] not null, --是否删除(显示在已删除消息栏)
    [RecipientReadTime] [nvarchar](20) default '尚未阅读', --客户要求能看到接收人是否已经看过。
    [RecipientDelTime] [nvarchar](20) default '尚未删除', --储存删除消息时间
    [RecipientAllDel] [nvarchar](20) default '尚未彻底删除'--不再显示在已删除消息栏
    )
    alter table [dbo].[Recipient] add constraint pk_recipient primary key(RecipientID);
    go
    --附件表
    create table [dbo].[Attachment]
    (
    AttachmentID
    [int] identity(1,1), --附件ID
    AttachmentName [nvarchar](50) not null, --附件名称
    AttachmentFilePath [nvarchar](100) not null, --附件存放类型
    AttachmentType [nvarchar](20) not null, --附件文件类型
    AttachmentDateTime [datetime] not null, --附件上传时间
    AttachmentSource [nvarchar](20) not null, --附件来源:消息、文章、上交?
    AttachmentSourceID [int] not null, --附件来源ID
    )
    alter table [dbo].[Attachment] add constraint pk_Attachment primary key(AttachmentID)
    go

    --每月上传时间表
    create table [dbo].[Time]
    (
    TimeID
    [int] identity(1,1), --表时间ID
    TimeName [nvarchar](20) not null, --时间变量名
    TimeContent [datetime] default getdate() --时间变量值
    )
    alter table [dbo].[Time] add constraint pk_timeid primary key(TimeID)
    go
    最近偶然接到这样一个小项目,所以认真做一下。

    1,消息模块设计:

         方案一:A给B,C,D发送信息,则在消息表中生成3条信息,接收人分别是B,C,D,并有Bool表示是否查看过。

         方案二:A给B,C,D发送信息,在表A中生成一条信息 ,表B中保存消息ID,和接收人分别是B,C,D的3条信息。(优点,当消息字数多时,能有效节省数据库空间)

         关于消息附件:设计表FuJianBiao ,每个附件记录引用消息表ID,可实现一条消息附带多条附件。

    2,用户及权限模块设计:

        

    用户角色表关联用户表和角色表,角色功能表关联角色表和功能表,都是多对多关系。每个用户有多个角色,每个角色也有多个用户;每个角色有多个功能,每个功能可以对应多个角色,由于该项目对权限要求明确而且很简单,所以不必这样设计用户权限系统。简单合适就好。

    3,部门管理模块(管理员)设计

    设计部门表

    4,文档上传管理模块:

    5,服务器文件管理模块:

  • 相关阅读:
    python-django学习
    c++异常处理
    Python输入输出
    Python变量
    Python异常处理
    Python起源与发展
    vsftpd基于mysql的认证方式
    vsftpd搭建ftp服务,并实现虚拟用户访问
    httpd结合php的fpm模式
    编译安装apache
  • 原文地址:https://www.cnblogs.com/netact/p/1900568.html
Copyright © 2011-2022 走看看