《数据库应用系统实践》------ 校友会信息系统

news2025/4/10 1:35:42

系列文章

《数据库应用系统实践》------ 校友会信息系统


文章目录

  • 系列文章
  • 一、需求分析
    • 1、系统背景
    • 2、 系统功能结构(需包含功能结构框图和模块说明)
    • 3.系统功能简介
  • 二、概念模型设计
    • 1.基本要素(符号介绍说明)
    • 2.ER图
  • 三、逻辑模型设计
    • 1.ER模型向关系模型转换规则
    • 2.转换后的关系模型
    • 3.关系模型优化(达到3NF)
  • 四、物理设计
    • 1.创建数据库的SQL语句或截图
    • 2.创建所有表的SQL语句或截图(包含完整性约束)
  • 五、数据库实施
    • 1.粘贴所创建的数据库关系图
    • 2.数据录入
    • 3.数据处理
  • 六、数据库应用系统实现
    • 1.相关界面截图(对每一张截图进行一定的文字说明)
    • 2.和数据库连接的程序语句
    • 3.其它代码
  • 七、总结
    • 参考文献:
  • 八、源代码获取


一、需求分析

1、系统背景

为了方便校友的管理,我设计了校友会信息系统来满足需求。

2、 系统功能结构(需包含功能结构框图和模块说明)

(1)功能结构图
在这里插入图片描述

(2)模块说明

系统分为用户、校友、管理员三个大的模块
每个模块包含相应校友。

3.系统功能简介

管理员可以对校友以及用户进行管理,用户可以查询相关信息。

二、概念模型设计

1.基本要素(符号介绍说明)

.基本要素(符号介绍说明)
① 矩形:表示实体。
② 椭圆形:表示属性,即实体的属性。
③ 菱形:表示联系。
④ 连线:该连线为没有方向的线段,分为连接实体与属性(矩形与椭圆形之间的连线)和连接实体与联系名(矩形与菱形之间的连线);实体与联系名的连线旁需标注联系的类型,如1:1、1:n、m:n。
注意:在联系类型标注时请按照约定俗成的方式标注,一对多使用1:n,多对多使用m:n,如果超过两个实体请采用m:n:p:q:

2.ER图

在这里插入图片描述

三、逻辑模型设计

1.ER模型向关系模型转换规则

① 实体转换为单独的关系模式。
② 一对一联系转换为关系模式有两种方法。一、将联系转换为单独的关系模式;二、将其中一个实体的之间加入到另外一个实体的关系模式中,作为外键。
③ 一对多联系转换为关系模式有两种方法。一、将联系转换为单独的关系模式;二、将n实体的主键合并到1实体的关系模式中,作为1实体关系模式的外键。

2.转换后的关系模型

用户(用户账号,密码,管理员账号)
校友(校友号,校友名,管理员账号)
管理员(管理员账号,密码)
查看(用户账号,校友号)

3.关系模型优化(达到3NF)

以上要素都属于第三范式

四、物理设计

1.创建数据库的SQL语句或截图

CREATE DATABASE AlumniInformation
ON PRIMARY
(NAME=YAN,
FILENAME='E:\SQLDate\AlumniInformation.mdf',
SIZE=5MB,
MAXSIZE=UNLIMITED)
LOG ON
(NAME=YAN_log,
FILENAME='E:\SQLDate\AlumniInformation.ldf',
SIZE=5MB,
MAXSIZE=UNLIMITED)

2.创建所有表的SQL语句或截图(包含完整性约束)

CREATE TABLE 管理员(
管理员账号        CHAR(20)      PRIMARY KEY,
密码		      CHAR(20)     NOT NULL
)


CREATE TABLE 用户(
用户账号        CHAR(20)      PRIMARY KEY,
密码		    CHAR(20)     NOT NULL,
管理员账号		CHAR(20)     NOT NULL,
FOREIGN KEY (管理员账号) REFERENCES 管理员(管理员账号)
)

CREATE TABLE 校友(
校友号               CHAR(20)     PRIMARY KEY,
校友名                 CHAR(20)     NOT NULL,
管理员账号             CHAR(20)     NOT NULL,
FOREIGN KEY (管理员账号) REFERENCES 管理员(管理员账号)
)


CREATE TABLE 查看(
用户账号              CHAR(20)     NOT NULL,
校友号                CHAR(20)     NOT NULL,
 PRIMARY KEY(用户账号,校友号),
 FOREIGN KEY (用户账号) REFERENCES 用户(用户账号),
  FOREIGN KEY (校友号) REFERENCES 校友(校友号),
)

五、数据库实施

1.粘贴所创建的数据库关系图

在这里插入图片描述

2.数据录入

INSERT INTO 管理员 VALUES ('001','001')
INSERT INTO 管理员 VALUES ('002','002')
INSERT INTO 管理员 VALUES ('003','003')
INSERT INTO 管理员 VALUES ('004','004')
INSERT INTO 管理员 VALUES ('005','005')

INSERT INTO 用户 VALUES ('001','001','001')
INSERT INTO 用户 VALUES ('002','002','002')
INSERT INTO 用户 VALUES ('003','003','003')
INSERT INTO 用户 VALUES ('004','004','004')
INSERT INTO 用户 VALUES ('005','005','005')


INSERT INTO 校友 VALUES ('001','李一','001')
INSERT INTO 校友 VALUES ('002','李二','002')
INSERT INTO 校友 VALUES ('003','李三','003')
INSERT INTO 校友 VALUES ('004','李四','004')
INSERT INTO 校友 VALUES ('005','李五','005')

INSERT INTO 查看 VALUES ('001','001')
INSERT INTO 查看 VALUES ('002','002')
INSERT INTO 查看 VALUES ('003','003')
INSERT INTO 查看 VALUES ('004','004')
INSERT INTO 查看 VALUES ('005','005')

3.数据处理

(1)至少包括2张表的等值连接;
在这里插入图片描述

(2)创建视图;
在这里插入图片描述

(3)编写包含子查询的SQL语句;
在这里插入图片描述

(4)有修改语句;
在这里插入图片描述

(5)有删除语句;
在这里插入图片描述

(6)有包含聚集函数;
在这里插入图片描述

(7)有记录过滤,条件过滤语句;
在这里插入图片描述

(8)有修改表结构的SQL语句;
在这里插入图片描述

(9)用T-SQL语句写出一个对数据表处理的人机交互程序;
在这里插入图片描述

(10)编写一个触发器;
在这里插入图片描述

六、数据库应用系统实现

1.相关界面截图(对每一张截图进行一定的文字说明)

用户登录:
账号:001
密码:001

在这里插入图片描述

信息查询
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
管理员登录:
账号:001
密码:001

在这里插入图片描述
信息查询:
在这里插入图片描述
在这里插入图片描述

信息修改:
在这里插入图片描述

数据增加:
在这里插入图片描述

数据删除:
在这里插入图片描述

数据修改:
在这里插入图片描述

2.和数据库连接的程序语句

	String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
	String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=AlumniInformation";
	String userName = "sa";
	String userPwd = "1";

3.其它代码

		{

			if (jr1.isSelected())// 简单查询
			{
				String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
				String dbURL = "jdbc:sqlserver://localhost:1433;DatabaseName=AlumniInformation";
				String userName = "sa";
				String userPwd = "1";
				userId = null; // 用户
				try {
					Class.forName(driverName);
				} catch (Exception e1) {
					e1.printStackTrace();
				}
				try {
					Connection con = DriverManager.getConnection(dbURL, userName, userPwd);
					Statement s = con.createStatement();
					String r1 = "select * from 用户  where 用户账号=? and 密码=?";
					PreparedStatement P = con.prepareStatement(r1);
					P.setString(1, jtf1.getText());
					P.setString(2, jtf2.getText());
					ResultSet rs = P.executeQuery();
					if (rs.next()) {
						userId = rs.getString("用户账号").trim();
						new YG(userId);
						jfrm.setVisible(false);
					}

					else {
						JOptionPane.showMessageDialog(null, "用户账号或密码不正确!");
					}
					s.close();
					con.close();
				} catch (Exception e1) {
					e1.printStackTrace();
				}
			}

			if (jr3.isSelected())// 
			{
				String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";

七、总结

(可选,200字左右的小结,包括
(1)完成情况和不足之处
(2)心得体会
(3)建议)

这次的实训内容都已完成,开始五天是有关于数据库的设计,从数据库的创建到数据的插入都是独自完成的,其中因为许多的原因改了很多次,但最后还是完美的完成了。后面的五天是将自己设计的数据库与java连接起来,编写java代码来查询所创建的数据库里的信息,由于种种原因我JAVA学的不好,编程我几乎写不出来,只能照着别人的来修改,而且还老是出错,最后在同学的热心帮助下最终完成了。在我做完实验之后,我又重新复习了java的相关知识,这次的实验总体上对我来说还是具有挑战性的。

参考文献:

[1]刘桂玲. SQLServer数据库应用分析[J]. 软件导刊, 2012, 11(10):2.
[2]徐人凤, 曾建华. SQLServer数据库及应用[M]. 高等教育出版社, 2013.
[3]邓文艳. SQLServer数据库备份和还原[J]. 山西财经大学学报, 2007(S2):1.

八、源代码获取

本次的分享就到这里啦,创作不易,感谢点赞收藏👍
感兴趣的小伙伴可以在评论区留言或者私信我哦💕

提示:代码获取链接: 下载完整源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/580145.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DJ6-6/7 文件共享和访问控制、文件保护

目录 6.6 文件共享和访问控制 1、同时存取 2、存取权限 3、文件共享的实现 6.6.1 基于索引结点的共享方式 1、基本思想 2、具体操作 6.6.2 利用符号链接实现文件共享 6.6.3 利用 URL 实现文件共享 6.7 文件保护 6.6 文件共享和访问控制 文件共享的有效控制涉及…

腾讯云服务器可用区是什么?怎么选择随机吗?

腾讯云服务器可用区什么意思?可用区(Zone)是指腾讯云在同一地域内电力和网络互相独立的物理数据中心,一个可用区故障不会影响另一个可用区的正常运行,所以可用区用于构建高容灾、高可靠性应用。腾讯云服务器网来详细说…

如何在华为OD机试中获得满分?Java实现【截取字符串】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

PCA主成分分析 | 机器学习

1、概述(Principal componet analysis,PCA) 是一种无监督学习方法,是为了降低特征的维度。将原始高维数据转化为低维度的数据,高维数据指的是数据的特征维度较多,找到一个坐标系,使得这些数据特征映射到一个二维或三维的坐标系中…

Python爬虫教程:如何爬取教育漏洞报告平台中的漏洞报告?

部分数据来源:ChatGPT 引用 在本教程中,我们将使用 Python 语言和 requests、lxml 库来分析和爬取教育漏洞报告平台的数据。 1. 爬取网站数据 首先,我们需要从教育漏洞报告平台上获取需要的数据。我们可以通过 requests 库向特定网址发送请求,获取响应内容。 import req…

路径规划算法:基于布谷鸟优化的路径规划算法- 附代码

路径规划算法:基于布谷鸟优化的路径规划算法- 附代码 文章目录 路径规划算法:基于布谷鸟优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法…

数字信号的基本运算——线性卷积(相关)和圆周卷积(相关)

简介 在介绍卷积和相关运算之前,需要先认识一些更加基本的运算 翻折 设某一序列x(n),则x(-n)是以n0的纵轴为对称轴,将x(n)加以翻折得到的 移位 设某一序列x(n),m为正整数,x(n-m)表示x(n)逐项依次延时&#xff08…

《数据库应用系统实践》------ 超市销售管理系统

系列文章 《数据库应用系统实践》------ 超市销售管理系统 文章目录 系列文章一、需求分析1、系统背景2、 系统功能结构(需包含功能结构框图和模块说明)3.系统功能简介 二、概念模型设计1.基本要素(符号介绍说明&…

数据大航海时代,奇安信如何构筑数据安全的“天盾”?

你知道你的数据正在“被动”泄露吗? 随着ChatGPT技术的快速落地,数据安全面临的挑战越来越多。数据安全供应商Cyberhaven近期发布的一份研究显示,在2023年初的一周内,每十万名员工中机密业务数据被输入ChatGPT199次。用户可能没有…

C Primer Plus第十章编程练习答案

学完C语言之后,我就去阅读《C Primer Plus》这本经典的C语言书籍,对每一章的编程练习题都做了相关的解答,仅仅代表着我个人的解答思路,如有错误,请各位大佬帮忙点出! 1.修改程序清单10.7的rain.c程序&…

如何在华为OD机试中获得满分?Java实现【记票统计】一文详解!

✅创作者:陈书予 🎉个人主页:陈书予的个人主页 🍁陈书予的个人社区,欢迎你的加入: 陈书予的社区 🌟专栏地址: Java华为OD机试真题(2022&2023) 文章目录 1. 题目描述2. 输入描述3. 输出描述…

VTK读入DICOM数据

date: 2019-04-02 16:26:00 VTK读入DICOM数据 DICOM示例: 图像来自www.dicomlibrary和medDream 准备图像 公开数据库 DICOM Library:链接,少量CT(Computed Tomography,计算机断层扫描),MR&…

网络知识点之-HTTP协议

超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内…

基于Open3D的点云处理4-数据结构Kdtree和Octree

Kdtree Kdtree是一种划分k维数据空间的数据结构,本质也是一颗二叉树,只不过每个节点的数据都是k维,当k1时,就是普通二叉树。 建立Kdtree实际上是一个不断划分的过程,首先选择最sparse的维度(一般通过计算…

【LeetCode热题100】打开第6天:正则表达式匹配

文章目录 正则表达式匹配⛅前言🔒题目🔑题解 正则表达式匹配 ⛅前言 大家好,我是知识汲取者,欢迎来到我的LeetCode热题100刷题专栏! 精选 100 道力扣(LeetCode)上最热门的题目,适合…

Spring Authorization Server 系列(三)code换取token

code换取token 概述客户端认证方式换取结果 概述 在获取到code后,就可以使用code换取token了,但在换取token这一步还会对客户端进行一些校验,而这也支持不同的方式,一起来看看。 客户端认证方式 JwtClientAssertionAuthenticati…

2023 英国剑桥大学博士后含金量

作为英国顶尖的大学之一,剑桥大学自然也是博士后研究的理想选择。然而,对于那些希望在这所学府找到博士后职位的人来说,他们可能会问:剑桥大学的博士后含金量如何?首先,我们需要了解什么是博士后研究。简单…

阿里版ChatGPT已接入钉钉,张勇:未来所有业务都有大模型加持

ChatGPT狂飙160天,世界已经不是之前的样子。 我新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 阿里:大模型也是基础设施。 4 月 7 日下午,阿里云没有一点预告的突然宣布,自研类 ChatGPT …

《数据库应用系统实践》------ 小区停车管理系统

系列文章 《数据库应用系统实践》------ 小区停车管理系统 文章目录 系列文章一、需求分析1、系统背景2、 系统功能结构(需包含功能结构框图和模块说明)3.系统功能简介 二、概念模型设计1.基本要素(符号介绍说明&…

MySQL_7 常见约束及演示

目录 一、约束概述 二、 PRIMARY KEY(主键) 1.作用 : 2.格式 : 3.自增长 : 4.演示 : 演示Ⅰ—— 主键约束的特点 演示Ⅱ—— 复合主键 演示Ⅲ—— 自增长 三、UNIQUE(唯一) 1.作用 : 2.格式 : 3.演示 : …