高校科研管理系统(数据库课设)

  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 Departments (
    DepartmentID INT PRIMARY KEY AUTO_INCREMENT,
    DepartmentName VARCHAR(255) NOT NULL,
    Location VARCHAR(255)
);

-- 创建职务表
CREATE TABLE Positions (
    PositionID INT PRIMARY KEY AUTO_INCREMENT,
    PositionName VARCHAR(255) NOT NULL
);

-- 创建职称表
CREATE TABLE Titles (
    TitleID INT PRIMARY KEY AUTO_INCREMENT,
    TitleName VARCHAR(255) NOT NULL
);

-- 创建教师信息表
CREATE TABLE Teachers (
    TeacherID INT PRIMARY KEY AUTO_INCREMENT,
    Name VARCHAR(255) NOT NULL,
    DepartmentID INT,
    PositionID INT,
    TitleID INT,
    Email VARCHAR(255),
    OfficePhone VARCHAR(20),
    MobilePhone VARCHAR(20),
    FOREIGN KEY (DepartmentID) REFERENCES Departments(DepartmentID),
    FOREIGN KEY (PositionID) REFERENCES Positions(PositionID),
    FOREIGN KEY (TitleID) REFERENCES Titles(TitleID)
);

-- 创建科研项目表
CREATE TABLE ResearchProjects (
    ProjectID INT PRIMARY KEY AUTO_INCREMENT,
    Title VARCHAR(255) NOT NULL,
    StartDate DATE,
    EndDate DATE,
    Budget DECIMAL(10, 2),
    TeacherInChargeID INT,
    ApprovalStatus ENUM('Pending', 'Approved') DEFAULT 'Pending',
    AcceptanceStatus ENUM('未验收', '验收通过') DEFAULT '未验收',
    FOREIGN KEY (TeacherInChargeID) REFERENCES Teachers(TeacherID)
);

5.Java代码思路及结构

此处只放部分代码截图

 

6.效果运行实例  

 

附带完整源码,数据库文件,需要后台私信  

  • 24
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
由于数据流程图只是对数据处理及彼此之间的联系进行说明,未对数据的详细内容及数据的加工过程进行说明,而这正是数据字典所要表达的。数据字典是关于数据信息的集合,也就是对数据流程图中包含的所有元素的定义的集合。它能将数据流程图中全部数据流及其组成部分的数据元素、数据存储、数据加工等描述清楚,便于后续工作—系统设计的进行。 数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存诸和处理过程5个部分。其中数据项是最小组成单位,若干数据项组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储和逻辑内容。 针对一般食堂管理信息系统的需求,通过对食堂管理工作过程的内容和数据流程分析,设计如下所示的数据项和数据结构: 数据结构名称:职工用餐卡信息 含义说明:这里指的是职工用来使用付款的工具卡的一系列信息,它记录了包括它本身以及持卡者的一些信息 包括的数据项有: 1)卡号 (消费者使用的用来付款的卡的编号,与消费者办卡的先后顺序有关 别名Card_number 字符型 长度6) 2)余额(今日剩余用餐量) (消费者卡中所剩的金钱数量,别名Balance 字符型 长度 6) 3)办卡日期 (消费者办卡的日期,别名Card_date 日期型 长度 8) 4)持卡者姓名 (拥有信息卡的消费者的名称,别名 Person_name 字符型 长度 10) 5)花费(用餐次数统计) (消费者所消费的金钱数量 别名 Consume 字符型 长度 20) 数据结构名称:员工信息 含义说明:消费者群体之一,可以自由选择消费方式,办过卡用卡交易或者用现金交易 包括的数据项有: 1)工号 (职工在公司所编的号码 别名 S_number 字符型 长度 6) 2)部门 (职工所在的部门的名称 别名 S_system 字符型 长度 16) 3)职位 (职工所担任的职位 别名 S_class 字符型 长度 20) 4)姓名 (职工的姓名 别名 S_name 字符型 长度 10) 5)性别 (职工的性别 别名 S_sex 字符型 长度 4) 6)地址 (职工的所在地址 别名 S_adress 字符型 长度 20) 7)联系方式 (职工的手机号码 别名 S_tel 字符型 长度 20) 由于数据流程图只是对数据处理及彼此之间的联系进行说明,未对数据的详细内容及数据的加工过程进行说明,而这正是数据字典所要表达的。数据字典是关于数据信息的集合,也就是对数据流程图中包含的所有元素的定义的集合。它能将数据流程图中全部数据流及其组成部分的数据元素、数据存储、数据加工等描述清楚,便于后续工作—系统设计的进行。 数据字典是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典通常包括数据项、数据结构、数据流、数据存诸和处理过程5个部分。其中数据项是最小组成单位,若干数据项组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储和逻辑内容。 针对一般食堂管理信息系统的需求,通过对食堂管理工作过程的内容和数据流程分析,设计如下所示的数据项和数据结构: 数据结构名称:职工用餐卡信息 含义说明:这里指的是职工用来使用付款的工具卡的一系列信息,它记录了包括它本身以及持卡者的一些信息 包括的数据项有: 1)卡号 (消费者使用的用来付款的卡的编号,与消费者办卡的先后顺序有关 别名Card_number 字符型 长度6) 2)余额(今日剩余用餐量) (消费者卡中所剩的金钱数量,别名Balance 字符型 长度 6) 3)办卡日期 (消费者办卡的日期,别名Card_date 日期型 长度 8) 4)持卡者姓名 (拥有信息卡的消费者的名称,别名 Person_name 字符型 长度 10) 5)花费(用餐次数统计) (消费者所消费的金钱数量 别名 Consume 字符型 长度 20) 数据结构名称:员工信息 含义说明:消费者群体之一,可以自由选择消费方式,办过卡用卡交易或者用现金交易 包括的数据项有: 1)工号 (职工在公司所编的号码 别名 S_number 字符型 长度 6) 2)部门 (职工所在的部门的名称 别名 S_system 字符型 长度 16) 3)职位 (职工所担任的职位 别名 S_class 字符型 长度 20) 4)姓名 (职工的姓名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值