纯 sql 语句写出:
- '''设计 图书管理系统 表结构:
- - 书
- - 书名
- - 作者
- - 姓名
- - 出版社
- - 出版社名称
- - 地址
- 一本书只能由一家出版社出版 --> 多对一 (书对出版社)
- 一本书可以有多个作者, 一个作者也可以写多本书 --> 多对多
- '''
- # 答案
- CREATE TABLE book (
- id INT PRIMARY KEY AUTO_INCREMENT,
- title VARCHAR(64),
- publisher_id INT,
- FOREIGN KEY(publisher_id) REFERENCES publisher(id)
- );
- CREATE TABLE author (
- id INT PRIMARY KEY AUTO_INCREMENT,
- name VARCHAR(32)
- );
- CREATE TABLE book2author (
- id INT PRIMARY KEY AUTO_INCREMENT,
- book_id INT,
- author_id INT,
- FOREIGN KEY(book_id) REFERENCES book(id),
- FOREIGN KEY(author_id) REFERENCES author(id)
- );
- CREATE TABLE publisher (
- id INT PRIMARY KEY AUTO_INCREMENT,
- name VARCHAR(64),
- addr VARCHAR(255)
- );
当然在实际开发中, 很少会建立外键连接, 但是面试我们还是要懂的.. 最常用的的还是查询和优化,
复习博客地址: https://www.cnblogs.com/ManyQian/p/9076247.htm https://www.cnblogs.com/ManyQian/p/9076247.html
来源: http://www.bubuko.com/infodetail-2637196.html