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 |