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

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 命令可以选中某个数据库,使之成为当前操作的数据库。