MySQL--day1--数据库概述

(以下内容全部来自上述课程)

概述


1. 为什么要用数据库

  • 持久化 :内存中的数据断电之后就不存在了,所以需要持久化-->需要相关介质
    其中的一个介质就是数据库:存储数据量大、存储数据类型多

2. 数据库与数据库管理系统

2.1 数据库的相关概念

  • DB:数据库
  • DBMS:数据库管理系统
    比如:.doc文件是数据库,wps就是数据库管理系统
  • SQL:结构化查询语言

2.2 数据库与数据库管理系统的关系

3. RDBMS和非RDBMS

4.1 关系型数据库(RDBMS)

4.1.1 实质
  • 把数据结构归结为二元表格的形式。
  • 很多表在一起就是一个库。

    ps:数据库存储的是数据,数据库存储系统是我们正常下载的软件。
  • 关系模型:表和表之间存在关系。
4.1.2 优势
  • 复杂查询
  • 事务支持

4.2 非关系型数据库(非ROBMS)

可以理解为关系型数据库的阉割版。

4.2.1 有哪些非关系型数据库?
  • 键值型数据库:Redis 利用场景:内存缓存
  • 文档型数据库:MongDB xml,json等格式
  • 搜索引擎数据库:Solr 核心原理:倒排索引
  • 列式数据库:Hbase(见右图) 降低I/O,适合于分布式文件系统
  • 图形数据库:Neo4J、InfoGrid
4.2.2 NoSQL
  • SQL:RDBMS
  • NoSQL:非RDBMS
  • 就相当于对SQL的补充,,,not only SQL

5. 关系型数据库设计规则

5.1 表、记录、字段

  • E-R模型:实体集、属性、联系表
  • ORM思想:对象关系映射(下述对应)
  • 一个实体集对应数据库的一个表
  • 一个实体--表中的一行--一个记录
  • 一个属性--表中一列--一个字段

5.2 表的关联关系

  • 一对一关联:学生信息表
  • 一对多关联:部门表和员工表
  • 多对多关联:中间需要有联接表:学生表、课程表、选课表
  • 自我引用
相关推荐
mahailiang4 分钟前
codeblocks+wxWidgets Projects中引用第三方库(sqlite3)
数据库·sqlite·wxwidgets·codeblocks
凉年技术11 分钟前
MySQL 5.6 2000 万行高频读写表新增字段实战:从慢执行到无锁落地全解析
mysql
cyforkk25 分钟前
09、Java 基础硬核复习:异常处理(容错机制)的核心逻辑与面试考点
java·数据库·面试
CC.GG40 分钟前
【Linux】进程控制(二)----进程程序替换、编写自主Shell命令行解释器(简易版)
linux·服务器·数据库
2301_765703141 小时前
开发一个简单的Python计算器
jvm·数据库·python
QCzblack1 小时前
第三周作业
数据库
Root_Hacker1 小时前
sql注入学习笔记
数据库·sql·web安全·网络安全·oracle·网络攻击模型
IT邦德1 小时前
基于OEL8环境的图形化部署Oracle26ai
数据库·oracle
一心赚狗粮的宇叔1 小时前
mongosDb 安装及Mongosshell常见命令
数据库·mongodb·oracle·nosql·web·全栈