Java教程

数据库概述

本文主要是介绍数据库概述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

        • 数据库的相关概念
        • 常用的数据库管理系统
          • RDBMS
          • 非RDBMS
        • 关系型数据库设计原则

为什么使用数据库?为了持久化数据。

数据库的相关概念

  • 数据库,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个概念,分别是,
实体集。一个实体,对应表中的一条记录;一个实体集,对应数据库中的一张表。
属性。一个属性,对应数据库表的一列。
联系集。就是表与表之间的关联关系,有四种,分别是

  1. 一对一关联
    A表中的一条记录对应B表中的一条记录。
    举个例子。
    一张是学生的基础信息表,包含学生的常用信息,比如学号、姓名、手机号、班级、系别。
    另一张是学生的档案信息表,包含学生的一些不常用的信息,如学号、身份证号、家庭住址、籍贯、紧急联系人等。
    基础信息表中记录与档案信息表中的记录是一一对应的关系。
    在这里插入图片描述
    在实际开发中,一对一关联应用不多,因为一对一可以创建成一张表。
  2. 一对多关联
    常见场景,如
    客户表和订单表,一个客户可以下多个订单;
    分类表和商品表,一个类别下可以有多个商品;
    部门表和员工表,一个部门下会有很多位员工。
  3. 多对多关联
    要表示多对多的关系,必须创建第三个表,通常称为“联接表”,它将多对多关系划分为两个一对多关系。
    比如,学生-课程。
    学生信息表,一个学生可以选择多门课程;
    课程信息表,一门课程可以被多名学生选择;
    而选课信息表,就是联接表。
    再比如,商品-订单。
    商品表,一个商品可以被包含在多个订单里;
    订单表,一个订单中可以包含多个商品;
    而订单信息表,就是联接表。
  4. 自我引用
    在这里插入图片描述
这篇关于数据库概述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!