MySQL—数据库基础概述

本文介绍了MySQL数据库的基础知识,包括数据库的出现背景、DBMS、服务器与客户端的区别,以及SQL语言的理解。深入讨论了MySQL中的数据类型如INT、VARCHAR、DATETIME,以及常见的表约束。还探讨了数据库的主要使用场景OLTP和OLAP,以及如何在MySQL中创建数据库和表。
摘要由CSDN通过智能技术生成

目录

一、数据库概述及常见概念理解

1.出现背景(为什么要有这套东西)

2.数据库管理系统(即数据库管理软件):DBMS

数据库/方案:Database/Schema

3.服务器与客户端(server and client)

服务器:特指一类用来提供服务(service)的软件/程序

客户端:为了使用服务器,需要的一个中介的软件

4.理解计算机的三个位面/层次

5.SQL:结构化查询语言

1)SQL分类

2)SQL与Java的不同

注意:表中的数据,无论CURD,基本单位都是以行/一条记录为基本单位

6.数据库主要使用场景

a.OLTP:做事务处理

b.OLAP:做事务分析

二、MySQL中的建库建表语句

1.命令行上创建库表的演示

2、建表语句

3、MySQL中的数据类型

1)INT所代表的数字类型

2)VARCHAR所代表的字符串类型

3)DATETIME代表的日期时间类型

4、常见的约束

a.PK:Primary key 主键,针对数据的唯一标识

b.AI:Auto Increment 自增,只能用于INT类型主键

c.NN:Not Null 不允许为Null

d.UQ:Unique 唯一键,不允许出现重复的(非主键的字段)

e.UN:Unsigned 无符号

三、基础的CURD

四、表与表之间的数据关系

1.表的设计:概念层->逻辑层

表与表之间通过字段建立联系

1)分析应用的不同角色

2)找出应用场景-需求分析(沟通为主)

3)以不同角色为视角,写用户故事

4)从用户故事中提炼名词/实体(Entity)

5)借助E-R图,描述实体与实体之间的关系

实体与实体之间的关系类型:一对一;一对多;多对多

6)为上一步找到的表(名词),确定有哪些字段(非主键、关系字段)

7)检查表设计是否合理

三大范式:(减少数据冗余,but增加查询难度)

2.外键


一、数据库概述及常见概念理解

1.出现背景(为什么要有这套东西)

Data(数据) Date(日期)Information 信息

      为了保存和管理数据,我们不能把数据存储在内存中,内存中的数据(断电后不保留)是容易丢失的,所以需要具备持久化能力的存储,即硬盘中的数据(持久化后的数据)。

需求出现:开发使用软件、程序时,需要进行硬盘数据的管理。

前提:硬盘中数据的管理要比内存中数据的管理复杂

导致:如果让程序员们完全自由的管理硬盘中的数据变得困难

      因此,数据库管理软件就基础诞生了,由这些软件进行科学的、高效的管理硬盘中的数据。作为数据库管理软件的用户(一般理解为程序员),可以直接通过该软件方便的使用管理数据。

2.数据库管理系统(即数据库管理软件):DBMS

DataBase Management System(我们安装的MySQL服务器+客户端就是DBMS)

      其他目前市场上常见的DBMS:Postgres、SQLServer、Oracle...(这些主要是单机场景下的);ToplingDB,RocksDB...(分布式的);Sqlite(浏览器,手机上) 

      DBMS中有一类,将数据以“关系 Relationship”进行组织,这里被称为关系型数据库管理系统:RDBMS

数据库/方案:Database/Schema

      假设有这五张表,可以组成三种不同的应用方式,就可以做一个单独的database/schema,五张表可以统一存在于一个MySQL服务器上。

具体结构总结:

3.服务器与客户端(server and client)

服务器:特指一类用来提供服务(service)的软件/程序

      如:我们这的MySQL服务器提供的是数据管理服务,类比厨师,空调,java中的对象,服务器并不会让我们真正接触到

客户端:为了使用服务器,需要的一个中介的软件

      中介软件类比服务员、遥控器、java中的引用,我们要使用服务器,得通过客户端去接触到服务器。一个服务器可以有不同客户端,如一个mysql服务器,客户端就可以有:workbench;命令行;navicat;idea自带客户端。

4.理解计算机的三个位面/层次

5.SQL:结构化查询语言

      Structure Query Language  组织了一种统一的语言,进行结构和数据的管理 

1)SQL分类

a.DDL【用来处理结构】

      数据定义语言 -> 新建一个database、删除一个database、新建一张table、修改表结构、删除一个table(Data Defination Language)(low-不是那么重要)

b.DCL【控制DBMS行为】

      数据控制语言 -> 添加一个DBMS用户、修改DBSM密码、重启...(Data Control Language)(每个DBMS都不一样)

c.DML【进行真正数据(行)增删改查】

      数据操控语言 -> 添加一行数据、删除一行数据、查询某些符合条件的数据,修改某行中的数据(DML Data Manipulation language)⭐⭐

2)SQL与Java的不同

注意:表中的数据,无论CURD,基本单位都是以行/一条记录为基本单位

6.数据库主要使用场景

a.OLTP:做事务处理

发表文章、写个作业、批改作业、短期的对数据的一系列动作。(增删拆改都有)

b.OLAP:做事务分析

某班级一共写了多少作业,完成率是多少,CSDN三月份用户比2月份增长了多少。(一次涉及到很多数据,一般只查询,很少修改)

聚集查询;联表查询;子查询

二、MySQL中的建库建表语句

workbench;命令行上......

1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值