python3 开发面试题(创建表结构)6.9
纯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