database - lixidaydayup/plan GitHub Wiki

数据库是什么

我们现在讲的绝大多数“数据库”又叫做“关系型数据库”,关系是什么呢,结合面向对象的思想,任何东西都是类,那么类之间必然有一定的耦合关系,有时候某些类会成对出现,比如“老师”这个类,必然跟“学生”这个类有一定的关系。那么如果要存储“老师”,“学生”,那么必然有办法存储他们之间的关系。关系一般包括继承关系(父类和子类),组合关系(一台电脑由显示器和主机组成)。

关系型数据库是怎么来表示关系的

用表,和表之间的连接(术语叫做”约束“),一个表一般用来存储一种类,表可以有一个列存储了另一个类的主键,那么这样就可以实现组合关系,比如

电脑表:

电脑名称 显示器号 主机号
我的电脑 001 002
你的电脑 001 003

显示器表:

显示器号 显示器品牌
001 戴尔

注意斜体的部分(显示器号)就是表示一种关系。

怎么设计

你可以理解为 一个类 就是一个表,


class Person {
    String name;
    int age;
}

对应的表就是:

列名 类型
name varchar
age int

在数据库中 String被叫做varchar

再比如

 class Person {
     String name;
     Address address;
 }

 class Address  {
     String street;
     String roomNumber;
 }

就会被表示成

列名 类型
name varchar
address_id int
列名 类型
address_id int
street varchar
roomNumber varchar