本文主要是介绍数据库概述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 数据库的相关概念
- 常用的数据库管理系统
-
- 关系型数据库设计原则
为什么使用数据库?为了持久化数据。
数据库的相关概念
- 数据库,DB,database。
- 数据库管理系统,DBMS,database management system。
- 结构化查询语言,SQL,structured query language。
数据库、数据库管理系统、SQL三者之间的关系,可以用下图来描述。
常用的数据库管理系统
DB-Engines Ranking,详见https://db-engines.com/en/ranking。
RDBMS
Relational Database Management System,关系型数据库管理系统,如Oracle、MySQL、Microsoft SQL Server、PostgreSQL等。
非RDBMS
非关系型数据库管理系统, 如MongoDB、Redis、ElasticSearch等。
关系型数据库设计原则
ORM,Object Relational Mapping,对象关系映射,体现在
数据库中的一张表 映射到 Java或Python中的一个类;
表中的一条记录 映射到 类的一个实例(或对象);
表中的一列 映射到 类的一个属性(或者字段)
E-R(Entity-Relationship,实体-联系)模型中主要有3个概念,分别是,
实体集。一个实体,对应表中的一条记录;一个实体集,对应数据库中的一张表。
属性。一个属性,对应数据库表的一列。
联系集。就是表与表之间的关联关系,有四种,分别是
- 一对一关联
A表中的一条记录对应B表中的一条记录。
举个例子。
一张是学生的基础信息表,包含学生的常用信息,比如学号、姓名、手机号、班级、系别。
另一张是学生的档案信息表,包含学生的一些不常用的信息,如学号、身份证号、家庭住址、籍贯、紧急联系人等。
基础信息表中记录与档案信息表中的记录是一一对应的关系。
在实际开发中,一对一关联应用不多,因为一对一可以创建成一张表。 - 一对多关联
常见场景,如
客户表和订单表,一个客户可以下多个订单;
分类表和商品表,一个类别下可以有多个商品;
部门表和员工表,一个部门下会有很多位员工。 - 多对多关联
要表示多对多的关系,必须创建第三个表,通常称为“联接表”,它将多对多关系划分为两个一对多关系。
比如,学生-课程。
学生信息表,一个学生可以选择多门课程;
课程信息表,一门课程可以被多名学生选择;
而选课信息表,就是联接表。
再比如,商品-订单。
商品表,一个商品可以被包含在多个订单里;
订单表,一个订单中可以包含多个商品;
而订单信息表,就是联接表。 - 自我引用
这篇关于数据库概述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!