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

时间:2023-12-04 16:57:38

纯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