项目一 分析并设计学生管理数据库

news2024/11/17 15:36:14

项目一 分析并设计学生管理数据库

1,做好管理数据库的知识准备

1.1,初识数据库

**1,DBMS:**数据库管理系统(Database Management System)。数据库 是通过DBMS创建和操作的

容器。

1.png

**2,DB:**数据库(database) :存储数据的“仓库”。它保存了一系列有组织的数据。

**3,SQL:**结构化查询语言(Structure Query Language) :专门用来与数据库通信的语言。

三者关系说明1700892475637_C3FDE2AC-49F3-4f91-AEEC-C25BEAD4B1E0.png

4,SQL分类:

  • 数据定义语句DDL:数据库对象的create,alter,drop操作
  • 数据查询语句DQL:select操作(可细分为单表查询、多表查询和子查询)
  • 数据操作语句DML:insert,update,delete操作
  • 数据控制语句DCL:数据安全管理,事务处理,指针控制操作

1.2,探索数据库的存储结构

主要部分:数据库,数据表,列,行,冗余,主键,外键,复合键,索引参照完整性

**1,数据库:**是一些关联表的集合。

**2,数据表:**table

image.png

**3,列(字段):**字段包含字段名和字段值。字段名及其特性是在创建表结构时定义的,而字段值是

在表创建完成后,向表中插入的数据。

**4,行(记录):**所有字段值的集合。

**5,冗余:**是指同一个数据在系统中多次重复出现。

**6,主键:**某些字段的特性,所取字段值必须唯一且不为空,用来标识表中的记录。一个数据表只能有一个主键

**7,外键:**用于关联两个表。

  • 一对一关系
  • 一对多关系image.png
  • 多对对关系

image.png

**8,索引:**类似于目录

2,设计一个规范的学生管理数据库

2.1,完成学生管理数据库的设计

实体-关系模型(E-R 图) 的三大要素是:实体、属性和关系。

利用 E-R 模型进行逻辑设计

  • E-R 模型中的实体映射为表
  • E-R 模型中的属性映射为表中的字段
  • E-R 模型中的关系映射为表间关系

2.2,时间数据库的规范化

范式越高数据库的冗余越小,数据库只要满足第三范式就行。

目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、巴斯-科德范式(BCNF)、 第四范式 4NF)和第五范式(5NF,又称完美范式)。

1,第一范式:字段具有原子性,不可分割。

**2,第二范式:**数据库表中的每个实例或记录必须可以被唯一地区分(标识)。选取一个能区分每个实体的属性或属性组,作为实体的唯一标识。非主属性(非主键字段)完全依赖于主属性(主键)

**3,第三范式:**要求一个关系表中不包含已在其它关系表已包含的非主关键字段。3NF 就是在 2NF 基础上消除传递依赖,使得表中所有字段都直接依赖于主键字段。

3,完成项目环境的搭建

MySQL 是一个轻量级、免费开源的关系型数据库管理系统。

3.1,准备一个安装包

**官网下载社区版:**https://dev.mysql.com/downloads/mysql/

1,选择社区版本

image.png

2,找到Windows版本

image.png

3,点击下载按钮

image.png

4,点击开始下载

image.png

3.2,安装并配置MySQL服务器

1,安装MySQL数据库

image.png

2,选择安装类型

image.png

3,选择存储和数据目录

image.png

4,点击Execute,检测需要的安装

image.png

5,检测完成,选择同意,点击安装,安装完需要的软件后点击关闭(目录中不能有中文。否则会出错)

image.png

6,点击下一步

image.png

7,点击Execute

image.png

8,点击下一步

image.png

9,点击下一步

image.png

10,点击下一步

image.png

11,设置密码,登录时用

image.png

12,点击下一步

image.png

13,点击下一步

image.png

14,点击Execute

image.png

15,点击下一步

image.png

16,登录Windows的MySQL

image.png

image.png

3.3,选择并使用Navicat客户端工具

本次选择的客户端图形化工具是 Navicat_for_MySQL_11.0.10。

1,快捷方式安装

image.png

2,正在安装

image.png

3,安装完成

image.png

4,连接MySQL服务器

image.png

image.png

3.4,做一个MySQL的目录结构清单

1,MySQL 安装成功后,将生成下面的目录结构。

image.png

  • bin 目录:用于存放一些可执行文件
  • docs 目录:用于放置一些文档
  • include 目录:用于放置一些头文件
  • lib 目录:用于放置一系列的库文件
  • share 目录:用于存放字符集、语言等信息
  • my-default.ini 文件:数据库中使用的配置文件。
  • data 目录是存放数据库文件和数据库信息的地方

4,小试牛刀

4.1,启动与停止MySQL服务

1.使用 Windows 服务管理器操作 MySQL 服务

点击此电脑->点击管理(出现下面图之后,右击即可找到想要的服务)

image.png

2.使用 DOS 命令操作 MySQL 服务

(1)在菜单中使用cmd命令,进入DOS窗口

image.png

(2)启动 MySQL 服务的命令:net start mysql

image.png

(3)停止 MySQL 服务的命令:net stop mysql57

image.png

4.2登录MySQL服务器

1.使用命令登陆

在 DOS 环境中使用 mysql 命令登陆,格式为:mysql -h 主机名或 IP 地址 -u 用户名 -p 用户密码

注意,在输入密码时字母 p 和后面的密码之间不能有空格,但是字母 h 和 u 后面可以有空格也可以没有。

设置环境变量的方法:

(1)右击此电脑->点击属性(找到高级网络设置)

image.png

(2)点击环境变量

image.png

(3)添加环境变量

image.png

(4)将bin目录的完整路径添加上(最后一直点确定退出即可)

image.png

设置好 MySQL 的 bin 目录的环境变量后,再进入 DOS 环境中,无论提示符的当前路径是什么都可以直接使用 mysql 命令了。

例1.1:输入完成的mysql命令

image.png

也可以将上面的 localhost 改为 127.0.0.1

mysql -h 127.0.0.1 -u root -pabcdef

例 1.2:如果登陆本机,可以省略主机名部分。

mysql -u root -pabcdef

2.使用 MySQL 5.7 Command Line Client – Unicode 登陆

上面已讲过

3.使用 Navicat for MySQL 登陆

image.png

image.png

4.3,给root用户修改登录密码

#1.使用 bin 目录下的 mysqladmin命令修改密码
格式:mysqladmin -u 用户名 -p 旧密码 password 新密码
例 1.3:将 root 用户的旧密码 abcdef 修改为新密码 6 个 a 。
mysqladmin -u root -pabcdef password aaaaaa

#2.进入 MySQL 的命令窗口后,使用 SET PASSWORD 命令修改密码
 SET PASSWORD FOR 用户名= PASSWORD('新密码');
例 1.4:将 root 用户的密码再改回为 abcdef 。
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('abcdef');
mysql> quit;
退出 MySQL 环境后,在 DOS 中输入 mysql 命令,使用新密码重新进入。
mysql -u root -pabcdef

#3.进入 MySQL 的命令窗口后,使用 UPDATE 语句修改密码
 mysql> use mysql;
 mysql> update user set authentication_string=password('abcdef') where user='root' and host='localhost';
 mysql> FLUSH PRIVILEGES;

**说明:**在 MySQL5.7 版本中,user 表中的密码字段名是 authentication_string,而且用户的密码是使用password 函数加密后存储在该字段中的。

4.4,开始使用常见命令

1,输入“help;”或者“\h”命令,此时会显示 MySQL 的帮助信息

image.png

2,可以使用 delimiter 命令修改默认的结束符

3,exit 和 quit 两个命令都是退出当前 MySQL 环境

4,status 命令查看当前 MySQL 服务器的信息

image.png

5,使用 use 命令可以选中某个数据库,使之成为当前操作的数据库。

word 函数加密后存储在该字段中的。

4.4,开始使用常见命令

1,输入“help;”或者“\h”命令,此时会显示 MySQL 的帮助信息

[外链图片转存中…(img-BSprYpxu-1702120035245)]

2,可以使用 delimiter 命令修改默认的结束符

3,exit 和 quit 两个命令都是退出当前 MySQL 环境

4,status 命令查看当前 MySQL 服务器的信息

[外链图片转存中…(img-L6Agxr3c-1702120035246)]

5,使用 use 命令可以选中某个数据库,使之成为当前操作的数据库。

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

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

相关文章

Ubuntu20.04使用cephadm部署ceph集群

文章目录 Requirements环境安装Cephadm部署Ceph单机集群引导(bootstrap)建立新集群 管理OSD列出可用的OSD设备部署OSD删除OSD 管理主机列出主机信息添加主机到集群从集群中删除主机 部署Ceph集群 Cephadm通过在单个主机上创建一个Ceph单机集群&#xff0…

最长子串问题(LCS)--动态规划解法

题目描述: 如果Z既是X的子串,又是Y的子串,则称Z为X和Y的公共子串。 如果给定X、Y,求出最长Z及其长度。 注意:这里求的不是子序列,两者的意思并不相同。子串要求连续,子序列并不需要。 如果想…

操作系统考研笔记(王道408)

文章目录 前言计算机系统概述OS的基本概念OS的发展历程OS的运行机制OS体系结构OS引导虚拟机 进程和线程进程和线程基础进程进程状态进程控制进程通信线程线程实现 CPU调度调度的层次进程调度细节调度算法评价指标批处理调度算法交互式调度方法 同步与互斥基本概念互斥互斥软件实…

Python 云服务器应用,Https,定时重启

Python 云服务器应用,Https,定时重启 环境搭建Python模块模块导入生成Flask实例GET处理启动服务器打开网页验证 GET接入证书 支持https申请证书下载证书保留 xxx.crt 和 xxx.key文件就可以了 copy到python项目目录ssl_context 配置 宝塔面板操作在www目录下新建python工作目录在…

大作文:图画(06:偶像崇拜)

题目 第一段 第二段 第三段 第四段

蓝桥小白赛1

👩‍🏫 地址 1. 蘑菇炸弹 👩‍🏫 蘑菇炸弹 🎉 AC code import java.util.Scanner;public class Main {public static void main(String[] args){Scanner sc new Scanner(System.in);int n sc.nextInt();int[] a …

STM32F407-14.3.9-02输出比较模式

输出比较模式 输出比较模式生成波形时 当采用上升沿或下降沿计数时,更改ARR的值可改变周期; 更改CCRx的值会影响到生成波形的相位。波形的占空比永远50% 当采用中心对齐模式时, 更改ARR的值可以改变周期,更改CCRx的值可以改…

【每日一题】【面试经典150 | 动态规划】爬楼梯

Tag 【动态规划】【数组】 题目来源 70. 爬楼梯 题目解读 有过刷题「动态规划」刷题经验的读者都知道,爬楼梯问题是一种最典型也是最简单的动态规划问题了。 题目描述为:你每次可以爬 1 或者 2 个台阶,问爬上 n 阶有多少种方式。 解题思路…

Ubuntu上安装 Git

在 Ubuntu 上安装 Git 可以通过包管理器 apt 进行。以下是在 Ubuntu 上安装 Git 的步骤: 打开终端。你可以按 Ctrl Alt T 组合键来打开终端。 运行以下命令以确保你的系统的软件包列表是最新的: sudo apt update 安装 Git: sudo apt inst…

C/C++,贪婪算法——博鲁夫卡算法(Boruvka)的计算方法与源程序

1 文本格式 // Boruvkas algorithm to find Minimum Spanning // Tree of a given connected, undirected and // weighted graph #include <stdio.h> // a structure to represent a weighted edge in graph struct Edge { int src, dest, weight; }; // a struc…

Leetcode刷题详解——字符串相加

1. 题目链接&#xff1a;415. 字符串相加 2. 题目描述&#xff1a; 给定两个字符串形式的非负整数 num1 和num2 &#xff0c;计算它们的和并同样以字符串形式返回。 你不能使用任何內建的用于处理大整数的库&#xff08;比如 BigInteger&#xff09;&#xff0c; 也不能直接将…

python格式化内容

1.字符串格式化: 定义列表 [{"姓名": "张三", "年龄": 18, "性别": "男"}, {"姓名": "里斯李四李斯", "年龄": 18, "性别": "男"}, {"姓名": "斯托夫斯基…

HarmonyOS--ArkTS(1)--基本语法(1)

目录 基本语法概述 声明式UI描述 自定义组件 创建自定义组件 自定义组件的结构--struct &#xff0c;Component&#xff0c;build()函数 生命周期 基本语法概述 装饰器&#xff1a; 用于装饰类、结构、方法以及变量&#xff0c;并赋予其特殊的含义。如上述示例中Entry、C…

[ROS2] --- 通信接口

1 通信接口的定义 通信并不是一个人自言自语&#xff0c;而是两个甚至更多个人&#xff0c;你来我往的交流&#xff0c;交流的内容是什么呢&#xff1f;为了让大家都好理解&#xff0c;我们可以给传递的数据定义一个标准的结构&#xff0c;这就是通信接口。 ROS的通信系统&am…

CleanMyMac X2024免费许可证(激活教程)

CleanMyMac X是一款流行的系统优化工具&#xff0c;专为Mac用户设计。它可以帮助用户清理Mac系统中的垃圾文件、卸载不需要的程序、加速Mac性能以及保护Mac系统的安全。 一、简介 CleanMyMac X是一款功能强大的系统优化工具&#xff0c;它可以帮助用户清理Mac系统中的垃圾文件…

时间序列预测 — GRU实现多变量多步光伏预测(Tensorflow)

目录 1 数据处理 1.1 数据集简介 1.2 导入库文件 1.3 数据集处理 1.4 训练数据构造 2 模型训练与预测 2.1 模型训练 2.2 模型多步预测 2.3 预测可视化 1 数据处理 1.1 数据集简介 实验数据集采用数据集7&#xff1a;常州普利司通光伏数据集&#xff08;下载链接&…

C语言精选——选择题Day41

第一题 1. 有以下程序段&#xff1a; char *p, *q; p (char *)malloc(sizeof(char) * 20); q p; scanf("%s %s", p, q); printf("%s %s\n", p, q); 若从键盘输入&#xff1a;abc def↙&#xff0c;则输出结果是&#xff08; &#xff09; A&#xff1a;d…

系统架构设计师教程(一)绪论

系统架构设计师 1.1 系统架构概述1.1.1 系统架构的定义及发展历程1.1.2 软件架构的常用分类及建模方法1、软件架构常用分类2、系统架构的常用建模方法 1.2 系统架构设计师概述1.3 如何成为一名好的系统架构设计师 1.1 系统架构概述 自1946年第一台计算机诞生以来&#xff0c;计…

【C语言】函数调用及创建,并将数组传参到函数

&#x1f3a5; 岁月失语唯石能言的个人主页 &#x1f525;个人栏专&#xff1a;秒懂C语言 ⭐若在许我少年时&#xff0c;一两黄金一两风 目录 前言 一、函数的概念 二、库函数 2.1 标准库和头文件 2.2库函数的使用方法 2.2.1功能 2.2.2库函数的头文件 2.2…

看图学源码之 Atomic 类源码浅析二(cas + 分治思想的原子累加器)

原子累加器 相较于上一节看图学源码 之 Atomic 类源码浅析一&#xff08;cas 自旋操作的 AtomicXXX原子类&#xff09;说的的原子类&#xff0c;原子累加器的效率会更高 XXXXAdder 和 XXXAccumulator 区别就是 Adder只有add 方法&#xff0c;Accumulator是可以进行自定义运算方…