大连提高网站排名,wordpress导航源码,服装定制官网,怎么建做网站作者介绍 「作者主页」#xff1a;雪碧有白泡泡 「个人网站」#xff1a;雪碧的个人网站 「推荐专栏」#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄…作者介绍 「作者主页」雪碧有白泡泡 「个人网站」雪碧的个人网站 「推荐专栏」 ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄vue成神之路★ ★ 解决算法一个专栏就够了★ ★ 架构咱们从0说★ ★ 数据流通的精妙之道★ ★后端进阶之路★ 文章目录 作者介绍引言环境安装与前后端启动启动过程 数据库的设计1.首先我们要确定项目需求2.我们要明确数据流程3.那么我们接下来就要确定所需要存储的数据类型和关系4. 画E-R图5.设计数据库表结构6.建库7.运行sql语句8.运行sql看看是否出错以及修改方法9.验证数据库和表的创建 总结 引言 当我们拿到项目需求后有时候可能会感到迷茫不知道整体流程和接下来该做什么。为了能够不断实战并快速提高自己我们需要找到适合自己的一套开发流程。这样我们就能够有条不紊地进行项目开发并且及时发现和修正自己的不足之处。 以最常用的java全栈开发为例这个系列以MySQL数据库后端以SpringBootMybatisPlusRedisSpring security前端以vue微信小程序的技术栈组合进行步骤细化。 环境安装与前后端启动 要完成目标项目首先我们要确定合适的技术栈组合然后检查环境是否安装正确完整 首先是数据库的安装配置
常用的主要有mysql和mongodb还有可视化工具HeidiSQL
接下来就是后端还有前端的环境安装
jdk idea maven redis node vscode
当然还有微信开发工具 这些工具可自行安装出现问题可在评论区留言讨论 启动过程
// 前端VsCode
// 1. 下载安装 Node.js18 版本
// 2. 安装 Vue 脚手架
npm i -g vue/cli
// 3. 安装前端依赖
npm i
// 4. 启动前端项目
npm run dev// 后端Idea
// 2. 配置 Maven、开启redis否则系统无法启动
// 3. 导入数据库建议 MySQL8若 5.7 版本需设置编码为 UTF-8否则会提示密码错误
// 4. 等待后端依赖下载完成后启动项目或编译后执行 mvn spring-boot:run数据库的设计
1.首先我们要确定项目需求
拿最常用的登录系统为例最简单的自然是一种用户我们使用数据库存储他的账号和密码。 我们自定义一个题目设计三种用户登录管理员教师学生。 我们自定义一个题目设计三种用户登录的规则一个管理员可能管理多个教师/学生一个教师可能教授多个学生 以上定为项目需求
2.我们要明确数据流程
根据自拟的登录系统题目来看我们来想象一下数据流程
用例名称管理员登录
参与者管理员
前置条件管理员已注册账号
后置条件管理员成功登录系统
基本流程
管理员打开管理员端应用。
系统显示登录界面。
管理员输入用户名和密码。
点击登录按钮。
系统验证用户名和密码是否匹配。
如果验证通过系统跳转至管理员主页面。
如果验证失败系统提示用户名或密码错误。用例名称管理员注销
参与者管理员
前置条件管理员已登录系统
后置条件管理员成功注销账号
基本流程
在管理员主页面点击注销按钮。
系统弹出确认注销提示框。
点击确认注销按钮。
系统退出管理员账号并跳转至登录页面。用例名称教师注册
参与者教师
前置条件教师未注册账号
后置条件教师成功注册账号
基本流程
教师打开用户端应用。
系统显示注册页面。
教师输入工号和密码。
点击注册按钮。
系统验证工号是否已被注册。
如果工号未被注册系统将教师信息存储至数据库。
如果工号已被注册系统提示工号已被注册请重新输入。用例名称学生注册
参与者学生
前置条件学生未注册账号
后置条件学生成功注册账号
基本流程
学生打开用户端应用。
系统显示注册页面。
学生输入学号和密码。
点击注册按钮。
系统验证学号是否已被注册。
如果学号未被注册系统将学生信息存储至数据库。
如果学号已被注册系统提示学号已被注册请重新输入。3.那么我们接下来就要确定所需要存储的数据类型和关系
需要存储的数据类型和可能如下 管理员信息 用户名密码角色权限 教师信息 用户名密码工号基本信息姓名、性别、联系方式等 学生信息 用户名密码学号基本信息姓名、性别、联系方式等 管理员与教师/学生的关系 一个管理员可能管理多个教师/学生 教师与学生的关系 一个教师可能教授多个学生 4. 画E-R图 -------------- -------------- --------------| Administrator | | Teacher | | Student |-------------- -------------- --------------| -username | | -username | | -username || -password | | -password | | -password || -role | | -employee_id | | -student_id |-------------- -------------- --------------| | || have || many || | || ----------- |------------------| Manages |---------------------| -manager_id || -teacher_id || -student_id |-----------||-----------| Teaches |-----------| -teacher_id || -student_id |-----------这个ER图较为简单主要就是管理员老师学生之间的关系根据ER图可以一目了然了 那么接下来我们根据ER图进行建表
5.设计数据库表结构
根据提供的ER图设计数据库的表结构如下
表名Administrator
字段名称usernamepasswordrole
字段类型VARCHARVARCHARVARCHAR
约束无表名Teacher
字段名称usernamepasswordemployee_id
字段类型VARCHARVARCHARINT
约束无表名Student
字段名称usernamepasswordstudent_id
字段类型VARCHARVARCHARINT
约束无表名Manages
字段名称manager_idteacher_idstudent_id
字段类型INTINTINT
约束外键约束其中manager_id参考Administrator表的username字段teacher_id参考Teacher表的employee_id字段student_id参考Student表的student_id字段表名Teaches
字段名称teacher_idstudent_id
字段类型INTINT
约束外键约束其中teacher_id参考Teacher表的employee_id字段student_id参考Student表的student_id字段结构既然已经确定那么就开始建库建库了
6.建库
CREATE DATABASE SchoolDB;根据以上的表结构设计可以创建一个名为SchoolDB的数据库并在该数据库中创建以下的表
表名Administrator
字段名类型约束usernameVARCHARpasswordVARCHARroleVARCHAR
表名Teacher
字段名类型约束usernameVARCHARpasswordVARCHARemployee_idINT
表名Student
字段名类型约束usernameVARCHARpasswordVARCHARstudent_idINT
表名Manages
字段名类型约束manager_idINT外键参考Administrator表的username字段teacher_idINT外键参考Teacher表的employee_id字段student_idINT外键参考Student表的student_id字段
表名Teaches
字段名类型约束teacher_idINT外键参考Teacher表的employee_id字段student_idINT外键参考Student表的student_id字段
以上表结构中的INT类型表示整数类型VARCHAR类型表示可变长度字符串类型。在表结构中的约束部分外键约束指明了该字段必须参考另一个表的特定字段并且保证参考的字段值在参考表中存在。
7.运行sql语句
可以使用以下的SQL语句来创建表和约束
创建Administrator表
CREATE TABLE Administrator (username VARCHAR,password VARCHAR,role VARCHAR
);创建Teacher表
CREATE TABLE Teacher (username VARCHAR,password VARCHAR,employee_id INT
);创建Student表
CREATE TABLE Student (username VARCHAR,password VARCHAR,student_id INT
);创建Manages表
CREATE TABLE Manages (manager_id INT,teacher_id INT,student_id INT,FOREIGN KEY (manager_id) REFERENCES Administrator(username),FOREIGN KEY (teacher_id) REFERENCES Teacher(employee_id),FOREIGN KEY (student_id) REFERENCES Student(student_id)
);创建Teaches表
CREATE TABLE Teaches (teacher_id INT,student_id INT,FOREIGN KEY (teacher_id) REFERENCES Teacher(employee_id),FOREIGN KEY (student_id) REFERENCES Student(student_id)
);这样就可以根据给定的表结构在名为SchoolDB的数据库中创建以上的表。
8.运行sql看看是否出错以及修改方法 在使用上述代码运行过程中遇到了两个代码错误 未指定字段类型和长度外键约束在 Manages 表中参照的列和被参照的列类型不兼容。manager_id 是 INT 类型而 Administrator 表中的 username 列是 VARCHAR(255) 类型。 则完整代码如下并正确运行
CREATE DATABASE SchoolDB;
USE SchoolDB;CREATE TABLE Administrator (username VARCHAR(255),password VARCHAR(255),role VARCHAR(255),PRIMARY KEY (username)
);
CREATE TABLE Teacher (username VARCHAR(255),password VARCHAR(255),employee_id INT,PRIMARY KEY (employee_id)
);
CREATE TABLE Student (username VARCHAR(255),password VARCHAR(255),student_id INT,PRIMARY KEY (student_id)
);
CREATE TABLE Manages (manager_id VARCHAR(255),teacher_id INT,student_id INT,FOREIGN KEY (manager_id) REFERENCES Administrator(username),FOREIGN KEY (teacher_id) REFERENCES Teacher(employee_id),FOREIGN KEY (student_id) REFERENCES Student(student_id)
);
CREATE TABLE Teaches (teacher_id INT,student_id INT,FOREIGN KEY (teacher_id) REFERENCES Teacher(employee_id),FOREIGN KEY (student_id) REFERENCES Student(student_id)
);运行如图 Administrator Student Teacher
9.验证数据库和表的创建
验证库
DESCRIBE SchoolDB;验证表
DESCRIBE Administrator;
DESCRIBE Teacher;
DESCRIBE Student;总结 在我们刚刚拿到项目时首先需要详细了解业务需求和数据流程明确数据的输入和输出确定需要存储的数据类型和关系。再设计数据库其中可以画出ER图进行辅助那么建好数据库之后我们就完成了第一个工作——数据库设计和创建 那么接下来就正式开始后端开发