mysql - 在用 ER 图表示关系之后,在 SQL 中创建表时如何说明它们?

标签 mysql sql entity-relationship create-table erd

在试图描述为 future 数据库创建 ER 图的过程的众多来源中,我看到了许多不同类型的关系。其中一些具有附加属性,而另一些则没有。完成 ER 图并继续编写负责创建保存数据的表的 SQL 语句后,这些创建表语句中的关系如何表示?

例如,通过使用create table语句来表示一个实体及其对应的属性。

关系是否也通过使用这些创建表语句来表示?

他们有自己的创建表语句吗?

带属性的关系和不带属性的关系有什么区别,这种区别如何体现在为需要存储的数据创建表的方式上?

最佳答案

ER 图表示数据库实体及其之间的关系。要使用 SQL 创建实体,您可以使用 CREATE TABLE 语句,关系用外键表示。例如下面的 ER 图,

ERD

可以用下面的SQL代码来表示:

CREATE TABLE group (
  id INTEGER PRIMARY KEY,
  name VARCHAR(50)
);

CREATE TABLE student (
  id INTEGER PRIMARY KEY,
  name VARCHAR(50),
  group_id INTGER references group(id)
);

关于mysql - 在用 ER 图表示关系之后,在 SQL 中创建表时如何说明它们?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59275256/

相关文章:

database - Visual Paradigm 12.1 中的候选键约束

ios - 如何创建具有多列的 TableView

php - 2 个不同的小查询与 1 个带有子查询的查询

sql - 获取 SQL 服务器组中可用服务器的列表

mysql - 生成 MySQL 模式的 ERD 工具

swift - CoreData 关系循环?

php - Cakephp 如何获取从今天开始一周内的生日列表

mysql - hadoop集群中的MySQL安装过程

mysql - 在类别 sql 查询下对子类别进行分组

sql - 在oracle表中自动更改状态