课设系统篇

《古代六扇门人员管理系统》

数据库 sixdoor

编码 utf8mb4

视图

查询官员等级

存储过程

CREATE DEFINER=`root`@`localhost` PROCEDURE `levelname`(IN g_name VARCHAR(20))
BEGINSELECT `name`,`level` FROM `servingofficials` INNER JOIN jobtitle onservingofficials.role = jobtitle.roleWHERE `name` = g_name;
END
​
​
CREATE DEFINER=`root`@`localhost` PROCEDURE `show_all`()
BEGIN
SELECT * from servingofficials;
END

存储函数

CREATE FUNCTION getname(gid VARCHAR(20)) 
RETURNS VARCHAR(50) 
BEGINDECLARE out_name VARCHAR(50);SELECT `name` INTO out_name FROM servingofficialsWHERE servingofficials.id = gid;
RETURN out_name;
END;

触发器

DELIMITER //
CREATE TRIGGER check_name
BEFORE INSERT
ON servingofficials
FOR EACH ROW
IF NEW.servingofficials.name = NULL THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = "输入的姓名不为空";
END IF//
DELIMITER ;
CREATE TRIGGER `name` AFTER INSERT ON `servingofficials` FOR EACH ROW BEGINUPDATE servingofficials SET `name` =
END;

外键

表已经建好时候

ALTER TABLE t_info ADD FOREIGN KEY (user_id) REFERENCES t_user(id);
​
ALTER TABLE users ADD FOREIGN KEY (user_account) REFERENCES account(user_account);

建表时添加外键

create table users2(user_id char(10) not null,user_account char(10) not null,user_name varchar(10) not null,user_sex char(1) not null,user_age int(3) not null,user_telephone char(11) not null,user_level int(1) not null,primary key (user_id),foreign key(user_account) references account(user_account)
);
​

字符校对 utf8mb4_general_ci

CREATE DATABASE `sixdoor` /*!40100 COLLATE 'utf8mb4_general_ci' */

查询官员几品

SELECT * FROM `servingofficials` INNER JOIN jobtitle onservingofficials.role = jobtitle.role;
​
SELECT `level` FROM `servingofficials` INNER JOIN jobtitle onservingofficials.role = jobtitle.roleWHERE `name`='陆九渊';

使用内连接

​
SELECT servingofficials.id,servingofficials.`name`,servingofficials.bday,servingofficials.role,jobtitle.`level` FROM `servingofficials` INNER JOIN jobtitle onservingofficials.role = jobtitle.role;
SELECT servingofficials.id,servingofficials.name,servingofficials.bday,servingofficials.role,jobtitle.level,salaries. Monthlysalaries,salaries.Romey FROM servingofficials INNER JOIN jobtitle onservingofficials.role = jobtitle.roleJOIN salaries ON jobtitle.level=salaries.level

视图创建

  • 创建角色视图

CREATE VIEW `sixdoor`.`view_level` AS SELECT `name`,`level` FROM `servingofficials` INNER JOIN jobtitle onservingofficials.role = jobtitle.role;
  • 创建salaries视图

    CREATE VIEW `sixdoor`.`view_salaries` AS select `servingofficials`.`id` AS `id`,`servingofficials`.`name` AS `name`,`servingofficials`.`bday` AS `bday`,`servingofficials`.`role` AS `role`,`jobtitle`.`level` AS `level`,`salaries`.`Monthlysalaries` AS `Monthlysalaries`,`salaries`.`Romey` AS `Romey` from ((`servingofficials` join `jobtitle` on((`servingofficials`.`role` = `jobtitle`.`role`))) join `salaries` on((`jobtitle`.`level` = `salaries`.`level`)));

主外键的区别,主从表的区别

1、主键约束( PRIMARY KEY):
Ⅰ、 唯一标识数据库表中的每条记录;
Ⅱ、主键必须包含唯一的值;
Ⅲ、主键列不能包含 NULL 值;
Ⅳ、每个表都应该有一个主键,并且每个表只能有一个主键。(PRIMARY KEY 拥有自动定义的 UNIQUE 约束
​
2、外键约束(FOREIGN KEY):
一张表的外键是另一张表的主键,所以两张表就形成了关联关系。
外键取值规则:空值或参照的主键值。
(1)插入非空值时,如果主键表中没有这个值,则不能插入。
(2)更新时,不能改为主键表中没有的值。
(3)删除主键表记录时,你可以在建外键时选定外键记录一起级联删除还是拒绝删除。
(4)更新主键记录时,同样有级联更新和拒绝执行的选择。
​
3、mysql数据库中的主键和外键的作用:
-------->简而言之,SQL的主键和外键就是对表起约束作用。
主键是能确定一条记录的唯一标识,比如,一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是主键。
外键用于与另一张表的关联。是能确定另一张表记录的字段,用于保持数据的一致性。
比如,A表中的一个字段,是B表的主键,那他就可以是A表的外键。
​
主表和从表:
​
主表(父表)
在数据库中建立的表格即Table,其中存在主键(primary key)用于与其它表相关联,并且作为在主表中的唯一性标识。
从表(子表)
以主表的主键(primary key)值为外键 (Foreign Key)的表,可以通过外键与主表进行关联查询。从表与主表通过外键进行关联查询。
关系及用法概述
从表数据依赖于主表,一般最后查询数据时把主表与从表进行关联查询。

最新的11-29号更新

12-1update,图中需要注明1-1,N-N的关系

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

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

相关文章

Android性能自测

目录 一、应用启动耗时自测 二、帧率查看 三、Top命令查看系统资源占用 3.1 第一行:任务(进程) 3.2 第二行:mem状态 3.3 第三行:swap交换分区 3.4 第四行:cpu状态 3.5 第五行:标题 四、抓取trace.html文件分析…

【CSP考点回顾】C++标准库加速输入输出

C标准库加速输入输出 ios_base::sync_with_stdio(false);:取消C标准库(iostream)与C标准库(stdio)之间的同步。默认情况下,为了保证C的cin、cout与C的stdin、stdout能够互相交换数据,它们之间会…

基于tcp协议的网络通信(基础echo版.多进程版,多线程版,线程池版),telnet命令

目录 基础版 思路 辅助函数 服务端 代码 运行情况 -- telnet ip 端口号 传输的数据为什么没有转换格式 客户端 思路 代码 多进程版 引入 问题 解决 注意点 服务端 代码 运行情况 进程池版(简单介绍) 多线程版 引入 问题解决 注意点 服务端 代码 …

嵌入式Linux 内核的内存管理方法

内存管理的主要工作就是对物理内存进行组织,然后对物理内存的分配和回收。但是Linux引入了虚拟地址的概念。 虚拟地址的作用 如果用户进程直接操作物理地址会有以下的坏处: 1、 用户进程可以直接操作内核对应的内存,破坏内核运行。 2、 用户进程也会破坏其他进程的运行 …

连号区间数c++

题目 输入样例1: 4 3 2 4 1输出样例1: 7输入样例2: 5 3 4 2 5 1输出样例2: 9样例解释 第一个用例中,有 77 个连号区间分别是:[1,1],[1,2],[1,3],[1,4],[2,2],[3,3],[4,4][1,1],[1,2],[1,3],[1,4],[2,2…

洛谷团队欢迎你的加入!

前言 我开这个团队的目的,是可以让大家有什么不会的题目讨论讨论,互相帮助,希望大家能加入。 我的团队——VirgoPHL 作用 我会不定期想一些题目,或出一些比赛,大家可以积极参加。 结尾 真心希望大家参加。

详细讲解c语言结构体、联合体、枚举

目录 1、结构体类型声明 1.1结构体的定义 1.2 结构体变量的声明 1.3 结构体变量的创建和初始化 2、如何使创建的结构体所占内存最小 2.1 结构体内存对齐-存储 2.2 通过宏offsetof计算结构体内变量的偏移量 2.3 如何通过宏offsetof计算数组的偏移量 2.4 为什么存在内存对…

吴恩达机器学习笔记 二十四 决策树模型 学习过程 什么时候停止分裂 如何选择结点特征

案例:识别小猫,上面这个分类的特征 x 采用分类值(几个离散的值) 决策树最顶端的结点称根结点(root node),除了根结点和叶子结点之外的叫决策结点(decision node),最底层的叫叶子结点(leaf node)&#xff0c…

嵌入式领域机器学习入门指南

基本概念 机器学习是一门使计算机无需进行明确编程即可学习的科学。它主要利用数据或以往的经验,以此来改进计算机自身的性能。以下是一些核心概念: 监督学习: 训练数据包含输入和预期输出,模型的目的是学习这两者之间的映射关系。无监督学习: 训练数据只包含输入,没有标签…

C++ 11:基于范围的 for 循环

基于范围的for 循环(Range-based for loop)是 C11 标准引入的一项特性,它提供了一种更简洁、更安全的遍历容器(如数组、向量等)的方式。 与传统的 for 循环相比,基于范围的 for 循环自动处理迭代&#xff…

华为openEuler系统卸载jdk

华为openEuler系统卸载jdk 1.查看openEuler上已安装的 Java 版本: 在终端中运行以下命令,查看系统中已经安装的 Java 版本。 sudo alternatives --config java这将列出已安装的 Java 版本,你可以看到当前使用的是哪个版本 2.卸载 Java&am…

Python函数学习

Python函数学习 1.函数定义 在函数定义阶段只检查函数的语法问题 2.实参形参 ​​​​总结: (1)位置参数就是经常用的按照位置顺序给出实参的值; (2)关键字实参形式:key123;放在…

轻松打造完美原型:9款在线工具推荐

早年,UI设计师选择的工具有限,功能相对单一,大多数在线原型设计工具都是国外的,语言和网络都增加了设计工作的负担。如今,国内外有许多在线原型设计工具,不仅可以在浏览器上使用,而且还具有团队…

基于SpringBoot的后勤管理系统【附源码】

后勤管理系统开发说明 开发语言:Java 框架:ssm JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:eclipse/myecli…

​LeetCode解法汇总303. 区域和检索 - 数组不可变

目录链接: 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:. - 力扣(LeetCode) 描述: 给定一个整数数组 nums,处理…

面试算法-51-翻转二叉树

题目 给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。 示例 1: 输入:root [4,2,7,1,3,6,9] 输出:[4,7,2,9,6,3,1] 解 class Solution {public TreeNode invertTree(TreeNode root) {dfs(root);re…

Hybrid第二次雪梨作业

作业要求: 利用ReactNative和Axios完成以下效果。 注意: 1、RN不能直接引用svg图片,需使用第三方库,可将logo图片换成百度logo 2、搜索框可不要搜索图标 3、“全部”“精华”等前5项类型切换功能要实现(“客户端测试可不写”,接口没给出参数值),调用 https://cnodejs…

arcgis数据导出到excel

将arcgis属性数据导出到excel: 1) 工具箱\系统工具箱\Conversion Tools.tbx\Excel\Excel 转表 2)用excel打开导出的图层文件中后缀为.dbf的数据(方便快捷,但是中文易乱码)

Spring(创建对象的方式3个)

3、Spring IOC创建对象方式一&#xff1a; 01、使用无参构造方法 //id&#xff1a;唯一标识 class&#xff1a;当前创建的对象的全局限定名 <bean id"us1" class"com.msb.pojo.User"/> 02、使用有参构造 <bean id"us2&…

phpstudy自定义安装mysql8.3并启动

phpstudy自定义安装mysql8.3并启动 先去官网:https://dev.mysql.com/downloads/下载压缩包文件 然后按下面的图片一步一步操作 选择版本&#xff0c;选择第一个压缩包文件&#xff0c;下载 下载完成后&#xff0c;解压到phpstudy环境目录下&#xff0c;如下图 然后进入mysq…