python3 开发面试题(创建表结构)6.9

时间:2021-10-25 18:32:29

纯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