项目一 分析并设计学生管理数据库
1,做好管理数据库的知识准备
1.1,初识数据库
**1,DBMS:**数据库管理系统(Database Management System)。数据库 是通过DBMS创建和操作的
容器。
**2,DB:**数据库(database) :存储数据的“仓库”。它保存了一系列有组织的数据。
**3,SQL:**结构化查询语言(Structure Query Language) :专门用来与数据库通信的语言。
三者关系说明:
4,SQL分类:
- 数据定义语句DDL:数据库对象的create,alter,drop操作
- 数据查询语句DQL:select操作(可细分为单表查询、多表查询和子查询)
- 数据操作语句DML:insert,update,delete操作
- 数据控制语句DCL:数据安全管理,事务处理,指针控制操作
1.2,探索数据库的存储结构
主要部分:数据库,数据表,列,行,冗余,主键,外键,复合键,索引参照完整性
**1,数据库:**是一些关联表的集合。
**2,数据表:**table
**3,列(字段):**字段包含字段名和字段值。字段名及其特性是在创建表结构时定义的,而字段值是
在表创建完成后,向表中插入的数据。
**4,行(记录):**所有字段值的集合。
**5,冗余:**是指同一个数据在系统中多次重复出现。
**6,主键:**某些字段的特性,所取字段值必须唯一且不为空,用来标识表中的记录。一个数据表只能有一个主键
**7,外键:**用于关联两个表。
- 一对一关系
- 一对多关系
- 多对对关系
**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,选择社区版本
2,找到Windows版本
3,点击下载按钮
4,点击开始下载
3.2,安装并配置MySQL服务器
1,安装MySQL数据库
2,选择安装类型
3,选择存储和数据目录
4,点击Execute,检测需要的安装
5,检测完成,选择同意,点击安装,安装完需要的软件后点击关闭(目录中不能有中文。否则会出错)
6,点击下一步
7,点击Execute
8,点击下一步
9,点击下一步
10,点击下一步
11,设置密码,登录时用
12,点击下一步
13,点击下一步
14,点击Execute
15,点击下一步
16,登录Windows的MySQL
3.3,选择并使用Navicat客户端工具
本次选择的客户端图形化工具是 Navicat_for_MySQL_11.0.10。
1,快捷方式安装
2,正在安装
3,安装完成
4,连接MySQL服务器
3.4,做一个MySQL的目录结构清单
1,MySQL 安装成功后,将生成下面的目录结构。
- bin 目录:用于存放一些可执行文件
- docs 目录:用于放置一些文档
- include 目录:用于放置一些头文件
- lib 目录:用于放置一系列的库文件
- share 目录:用于存放字符集、语言等信息
- my-default.ini 文件:数据库中使用的配置文件。
- data 目录是存放数据库文件和数据库信息的地方
4,小试牛刀
4.1,启动与停止MySQL服务
1.使用 Windows 服务管理器操作 MySQL 服务
点击此电脑->点击管理(出现下面图之后,右击即可找到想要的服务)
2.使用 DOS 命令操作 MySQL 服务
(1)在菜单中使用cmd命令,进入DOS窗口
(2)启动 MySQL 服务的命令:net start mysql
(3)停止 MySQL 服务的命令:net stop mysql57
4.2登录MySQL服务器
1.使用命令登陆
在 DOS 环境中使用 mysql 命令登陆,格式为:mysql -h 主机名或 IP 地址 -u 用户名 -p 用户密码
注意,在输入密码时字母 p 和后面的密码之间不能有空格,但是字母 h 和 u 后面可以有空格也可以没有。
设置环境变量的方法:
(1)右击此电脑->点击属性(找到高级网络设置)
(2)点击环境变量
(3)添加环境变量
(4)将bin目录的完整路径添加上(最后一直点确定退出即可)
设置好 MySQL 的 bin 目录的环境变量后,再进入 DOS 环境中,无论提示符的当前路径是什么都可以直接使用 mysql 命令了。
例1.1:输入完成的mysql命令
也可以将上面的 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 登陆
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 的帮助信息
2,可以使用 delimiter 命令修改默认的结束符
3,exit 和 quit 两个命令都是退出当前 MySQL 环境
4,status 命令查看当前 MySQL 服务器的信息
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 命令可以选中某个数据库,使之成为当前操作的数据库。