diff --git "a/42 \346\226\271\345\242\236\345\205\264/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" "b/42 \346\226\271\345\242\236\345\205\264/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" new file mode 100644 index 0000000000000000000000000000000000000000..b671ea3a80bf1aed3acecaba5ad171d2407d029f --- /dev/null +++ "b/42 \346\226\271\345\242\236\345\205\264/\345\233\276\344\271\246\347\256\241\347\220\206\347\263\273\347\273\237.md" @@ -0,0 +1,52 @@ +# 图书管理系统 + +```mysql +create database book_admin; +use book_admin; +CREATE TABLE `admin` ( + `admin_id` int NOT NULL AUTO_INCREMENT, + `admin_name` char(5) DEFAULT NULL, + PRIMARY KEY (`admin_id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3; + +CREATE TABLE `admin_to_book_type` ( + `book_type_id` int NOT NULL AUTO_INCREMENT, + `type_name` varchar(10) DEFAULT NULL, + `admin_id` int DEFAULT NULL, + PRIMARY KEY (`book_type_id`), + KEY `admin_id` (`admin_id`), + CONSTRAINT `admin_to_book_type_ibfk_1` FOREIGN KEY (`admin_id`) REFERENCES `admin` (`admin_id`) +) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb3; + +CREATE TABLE `author_info` ( + `author_id` int NOT NULL AUTO_INCREMENT, + `author_name` varchar(10) DEFAULT NULL, + `author_age` char(5) DEFAULT NULL, + `author_address` varchar(10) DEFAULT NULL, + `book_id` int DEFAULT NULL, + PRIMARY KEY (`author_id`), + KEY `book_id` (`book_id`), + CONSTRAINT `author_info_ibfk_1` FOREIGN KEY (`book_id`) REFERENCES `book_info` (`book_id`) +) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb3; + +CREATE TABLE `book_info` ( + `book_id` int NOT NULL AUTO_INCREMENT, + `book_name` varchar(10) DEFAULT NULL, + `book_number` varchar(10) DEFAULT NULL, + `book_status` char(2) DEFAULT NULL, + `book_type_id` int DEFAULT NULL, + PRIMARY KEY (`book_id`), + KEY `book_type_id` (`book_type_id`), + CONSTRAINT `book_info_ibfk_1` FOREIGN KEY (`book_type_id`) REFERENCES `admin_to_book_type` (`book_type_id`) +) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb3; + + + +SELECT admin.admin_id, admin.admin_name, admin_to_book_type.book_type_id, admin_to_book_type.type_name, book_info.book_id, book_info.book_name, book_info.book_number, book_info.book_status, author_info.author_id, author_info.author_name, author_info.author_age, author_info.author_address +FROM admin +LEFT JOIN admin_to_book_type ON admin.admin_id = admin_to_book_type.admin_id +LEFT JOIN book_info ON admin_to_book_type.book_type_id = book_info.book_type_id +LEFT JOIN author_info ON book_info.book_id = author_info.book_id; +``` + +![image-20230910222208203](https://gitee.com/fang-zengxing/database-advanced/raw/master/image-20230910222208203.png) \ No newline at end of file