引言
从数据库的原理和应用出发,主要学习数据库系统的其本知识和原理,主要包括数据模型和关系数据库标准语言SQL,关系数据库的查询,关系数据库的主要对象使用,数据库的设计,数据库规范化化设计,事务及并发控制,数据库的安全性,数据库故障与恢复技术,数据库系统应用与开发
先修课程:《Java编程技术》、《数据结构》
教材:
《数据库原理及应用(MySQL版)》,陈业斌主编,人民邮电出版社,2023.8。
主要参考书目:
1.《数据库原理及应用(Oracle版)》,陈业斌、申元霞主编,人民邮电出版社,2020.8。
2.《数据库系统概论》(第六版),王珊、杜小勇、陈红编著,高等教育出版社,2023.8
3.《MySQL数据库原理、设计与应用》黑马程序员编著,清华大学出版社,2019.4
数据库可以关注的一些平台
CCF 数据库专业委员会网站(http://tcdb.ccf.org.cn/)
数据库(DataBase)
数据库(DataBase):是指长期存储在计算机内、有组织地、可共享的大量数据的集合。 数据库数据具有永久存储、有组织、可共享三个基本特点
数据库管理系统(DataBase Management System)
DBMS 是位于用户与操作系统之间的一层对数据进行管理的软件系统。它能按照数据库的方法建立、维护、存储及实现对DB的各种控制,并能向应用系统提供数据和信息支持的系统。DBMS的基本功能: ① 数据库定义和建立 ② 数据存取功能 ③ 数据库运行控制功能 ④ 组织、存储、管理和维护等
数据库语言(SQL)是用户与DBMS之间的媒介,完成对数据库操作的工具。
数据库语言
DDL 数据描述语言:定义数据结构及约束
DML 数据操纵语言:实现数据操作
DCL 数据控制语言:进行数据控制
数据库系统(DataBase System)
DBS 是一个实际可运行的,按照数据库方式存储、维护和向应用系统提供数据或信息支持的系统;它是存储介质、处理对象和管理系统的集合体,方便多用户访问的计算机软件、硬件和数据资源组成的系统。
关系理论
是建立在集合代数理论基础上的,有着坚实的数学基础。
定义1: 域(Domain)是一组具有相同类型的值的集合。
定义2: 笛卡尔积 给定一组域D1,D2,…,Dn, D1,D2,…,Dn的笛卡儿积为D1×D2×…×Dn={(d1,d2,…,dn)|di∈Di,i=1,2,…,n} 笛卡儿积中每一个元素(d1,d2,…,dn)叫做一个n元组。
定义3: 关系 D1×D2×…×Dn的子集叫作在域D1,D2, …,Dn上的关系,记为R(D1,D2,…,Dn)。
广义笛卡儿积 R是一个n度关系,S是一个m度关系。关系R和S的广义笛卡儿积记为R×S,其结果是(n+m)度的关系,结果中的元组是R中元组和S中元组连成的一串,前n个分量是R中的一个元组,后m个分量是S的一个元组。假定R中有元组(r1,r2,…,rn),S中有元组(s1,s2,…,sm),则结果中的元组为 (r1,r2,…,rn,s1,s2,…,sm)。若R有k1个元组,S有k2个元组,则R×S有k1×k2个元组。
①记录和属性 记录是行,属性是列,域是属性的取值范围。
② 关系的码(Key) (或候选码、键)。 如果一个属性(或属性集合)的值能唯一地标识一个关系的元组而又不含有多余的属性,则称该属性(或属性集合)为关系的码(或候选码,也称键)。 每个关系都有一个且只有一个主码(Primary Key)。
③ 外码(Foreign Key) 如果某一个关系中的属性(或属性集合)在另一个关系中是主码,则称该属性(或属性集合)是外码。
搭建环境
1,MySQL 安装
点击MySQL直接到MySQL 官网,拉到官网底部选择 MySQL Community Server,
MySQL Community Server(社区版):该版本完全免费,但是官方不提供技术支持。用户可以自由下载使用。
1. MySQL下载
(1)打开MySQL官网(https://www.mysql.com);
(2)点击DOWNLOADS进入产品列表,点击社区版下载链接MySQL Community Downloads;
(3)下载Windows操作系统图形化MySQL安装包。
MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/
(1)双击MySQL安装文件,进入MySQL安装界面,如图所示,选择安装类型。
Developer Default:默认安装
Server only:仅作为服务
Client only:仅作为客户端
Full:完全安装
Custom:自定义安装
这里选默认安装类型
(2)进入“Check Requirements”界面,如图所示。
然后单击Next按钮进入下一步。
(3)进入安装确认界面,如图所示,点击Execute按钮,开始MySQL各个产品的安装。
(4)开始安装MySQL文件,安装完成后在【Status】列表下显示 Complete, 确认后点击Next按钮。
进入服务器类型和网络配置窗口,如图所示。 网络连接一般使用TCP/IP模式,默认端口为3306。 单击Next按钮进入下一步。
进入认证方式,如图3所示,选择使用强密码认证还是使用已有认证方式。 初次使用,可保持默认设置。 单击Next按钮进入下一步。
配置管理员账号和密码,如图所示。 输入管理员root账号的密码,记住该密码以便配置完成后进行登录。 单击Next按钮进入下一步。
配置MySQL服务的实例名称以及是否在系统启动后自动运行,如图所示。 可使用默认设置。 单击Next按钮进入下一步。
根据上述配置进入界面,如图所示,点击Execute按钮完成MySQL的各项配置。
都检测通过后,继续点击 Finish、Next 安装就可配置完成了。 MySQL安装配置完成的界面如图所示
启动MySQL
安装服务器时设置root用户的密码,如为 'myroot'
安装好客户端后用用户root和密码myroot登录出现问题,则用下面方式修改密码,用cmd方式进入数据库,执行以下语句:
1、让原密码过期
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'myroot' PASSWORD EXPIRE NEVER;
2、更改密码:新密码仍可以用myroot
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'myroot';
3、刷新:
mysql> FLUSH PRIVILEGES;
使用管理员身份打开命令提示符,输人如下命令启动名称为MySQL的服务:
net start MySQL80
通过如下命令停止MySQL服务:
net stop MySQL80
C:\Users\USER>net start MySQL80
请求的服务已经启动。
在MySQL的bin目录中,mysql.exe是MySQL提供的命令行客户端工具,用于访问数据库。该程序不能直接双击运行,需要打开命令行窗口,执行如下命令。
mysql -u <用户名> –p<密码>
当CMD命令提示符窗口中提示符变成“mysql>”后,表示连接MySQL服务成功,即可输入SQL语句,如输入“show databases;”查看服务器中的所有数据库。
mysql>show databases;
2, 客户端工具
图形化的的客户端工具,如SQLyog、Navicat和MySQL Workbench等
SQLyog安装
打开SQLyog的官网“https://sqlyog.en.softonic.com”,下载并进行安装SQLyog;
注册名与 注册码
打开SQLyog,建立新的连接。
我的SQL主机地址:默认为“localhost”
用户名和密码:可输入root和相应密码
端口:使用MySQL默认端口号3306
数据库:默认为服务器中的所有数据库
MySQL Workbench安装官网
MySQL :: MySQL Workbenchhttps://www.mysql.com/products/workbench/
SQL
SQL:Structured Query Language,结构化查询语言。 其功能包括数据查询、定义、操纵和控制等方面。 SQL 有SQL 89、SQL 92和SQL 99多个版本,并向下兼容。
SQL是关系数据库的标准语言,在语法上,不同的数据库产品略有不同,MySQL的语法与其他工具差别较大。
数据库语言
DDL 数据描述语言:定义数据结构及约束
DML 数据操纵语言:实现数据操作
DCL 数据控制语言:进行数据控制
查看数据库
查看所有的数据库
SHOW DATABASES;
查看某个数据库
SHOW CREATE DATABASE mytest;
使用数据库
MySQL服务器中可以同时存在多个数据库,在做数据处理前,需要切换到指定数据库。语法如下:
USE 数据库名;
例:将mytest切换为当前数据库
use mytest;