diff --git "a/01 \345\274\240\350\276\211/.keep" "b/01 \345\274\240\350\276\211/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/01 \345\274\240\350\276\211/20230905 \347\254\254\344\270\200\345\240\202\350\257\276\345\277\203\345\276\227.md" "b/01 \345\274\240\350\276\211/20230905 \347\254\254\344\270\200\345\240\202\350\257\276\345\277\203\345\276\227.md" new file mode 100644 index 0000000000000000000000000000000000000000..fd36f365cae6f107991c82d4fe8f2785ced6e0cd --- /dev/null +++ "b/01 \345\274\240\350\276\211/20230905 \347\254\254\344\270\200\345\240\202\350\257\276\345\277\203\345\276\227.md" @@ -0,0 +1 @@ +脚踏实地,认真完成每一个目标,别再拖沓,保持自信 \ No newline at end of file diff --git "a/01 \345\274\240\350\276\211/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273ER\345\233\276/20230906 SQL\350\257\255\345\217\245.sql" "b/01 \345\274\240\350\276\211/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273ER\345\233\276/20230906 SQL\350\257\255\345\217\245.sql" new file mode 100644 index 0000000000000000000000000000000000000000..88448d88002df6a6605b9de17e35da38c491aa3e --- /dev/null +++ "b/01 \345\274\240\350\276\211/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273ER\345\233\276/20230906 SQL\350\257\255\345\217\245.sql" @@ -0,0 +1,257 @@ +# 心得 + +```text + +``` + +# 代码 + +```mysql +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- Table structure for class + +DROP TABLE IF EXISTS `class`; +CREATE TABLE `class` ( + `cid` int(11) NOT NULL AUTO_INCREMENT, + `cName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `sid` int(11) NULL DEFAULT NULL, + `cr_id` int(11) NULL DEFAULT NULL, + PRIMARY KEY (`cid`) USING BTREE, + INDEX `sid`(`sid`) USING BTREE, + INDEX `cr_id`(`cr_id`) USING BTREE, + CONSTRAINT `class_ibfk_1` FOREIGN KEY (`sid`) REFERENCES `major` (`sid`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `class_ibfk_2` FOREIGN KEY (`cr_id`) REFERENCES `classroom` (`cr_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- Records of class + +-- ---------------------------- + +INSERT INTO `class` VALUES (1, '一班', 1, 1); +INSERT INTO `class` VALUES (2, '二班', 1, 2); +INSERT INTO `class` VALUES (3, '三班', 2, 3); +INSERT INTO `class` VALUES (4, '四班', 2, 4); +INSERT INTO `class` VALUES (5, '五班', 3, 1); +INSERT INTO `class` VALUES (6, '六班', 3, 2); + +-- ---------------------------- + +-- Table structure for classroom + +-- ---------------------------- + +DROP TABLE IF EXISTS `classroom`; +CREATE TABLE `classroom` ( + `cr_id` int(11) NOT NULL AUTO_INCREMENT, + `address` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`cr_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- + +-- Records of classroom + +-- ---------------------------- + +INSERT INTO `classroom` VALUES (1, '教室101'); +INSERT INTO `classroom` VALUES (2, '教室102'); +INSERT INTO `classroom` VALUES (3, '教室103'); +INSERT INTO `classroom` VALUES (4, '教室104'); + +-- ---------------------------- + +-- Table structure for course + +-- ---------------------------- + +DROP TABLE IF EXISTS `course`; +CREATE TABLE `course` ( + `cou_id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`cou_id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- + +-- Records of course + +-- ---------------------------- + +INSERT INTO `course` VALUES (1, '语文'); +INSERT INTO `course` VALUES (2, '数学'); +INSERT INTO `course` VALUES (3, '英语'); +INSERT INTO `course` VALUES (4, '计算机'); + +-- ---------------------------- + +-- Table structure for coursetable + +-- ---------------------------- + +DROP TABLE IF EXISTS `coursetable`; +CREATE TABLE `coursetable` ( + `ct_id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `cr_id` int(11) NULL DEFAULT NULL, + PRIMARY KEY (`ct_id`) USING BTREE, + INDEX `cr_id`(`cr_id`) USING BTREE, + CONSTRAINT `coursetable_ibfk_1` FOREIGN KEY (`cr_id`) REFERENCES `classroom` (`cr_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- + +-- Records of coursetable + +-- ---------------------------- + +INSERT INTO `coursetable` VALUES (1, '语文', 1); +INSERT INTO `coursetable` VALUES (2, '数学', 2); +INSERT INTO `coursetable` VALUES (3, '英语', 3); +INSERT INTO `coursetable` VALUES (4, '计算机', 4); + +-- ---------------------------- + +-- Table structure for department + +-- ---------------------------- + +DROP TABLE IF EXISTS `department`; +CREATE TABLE `department` ( + `did` int(11) NOT NULL AUTO_INCREMENT, + `dName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`did`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- + +-- Records of department + +-- ---------------------------- + +INSERT INTO `department` VALUES (1, '软件工程学院'); + +-- ---------------------------- + +-- Table structure for major + +-- ---------------------------- + +DROP TABLE IF EXISTS `major`; +CREATE TABLE `major` ( + `sid` int(11) NOT NULL AUTO_INCREMENT, + `sName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `did` int(11) NOT NULL, + PRIMARY KEY (`sid`) USING BTREE, + INDEX `did`(`did`) USING BTREE, + CONSTRAINT `major_ibfk_1` FOREIGN KEY (`did`) REFERENCES `department` (`did`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- + +-- Records of major + +-- ---------------------------- + +INSERT INTO `major` VALUES (1, '前端', 1); +INSERT INTO `major` VALUES (2, '后端', 1); +INSERT INTO `major` VALUES (3, '新媒体', 1); + +-- ---------------------------- + +-- Table structure for selectcourse + +-- ---------------------------- + +DROP TABLE IF EXISTS `selectcourse`; +CREATE TABLE `selectcourse` ( + `se_id` int(11) NOT NULL AUTO_INCREMENT, + `stu_id` int(11) NULL DEFAULT NULL, + `cou_id` int(11) NULL DEFAULT NULL, + PRIMARY KEY (`se_id`) USING BTREE, + INDEX `stu_id`(`stu_id`) USING BTREE, + INDEX `cou_id`(`cou_id`) USING BTREE, + CONSTRAINT `selectcourse_ibfk_1` FOREIGN KEY (`stu_id`) REFERENCES `student` (`stu_id`) ON DELETE RESTRICT ON UPDATE RESTRICT, + CONSTRAINT `selectcourse_ibfk_2` FOREIGN KEY (`cou_id`) REFERENCES `course` (`cou_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- + +-- Records of selectcourse + +-- ---------------------------- + +INSERT INTO `selectcourse` VALUES (1, 1, 1); +INSERT INTO `selectcourse` VALUES (2, 2, 2); +INSERT INTO `selectcourse` VALUES (3, 3, 3); +INSERT INTO `selectcourse` VALUES (4, 4, 4); +INSERT INTO `selectcourse` VALUES (5, 5, 1); +INSERT INTO `selectcourse` VALUES (6, 6, 2); + +-- ---------------------------- + +-- Table structure for student + +-- ---------------------------- + +DROP TABLE IF EXISTS `student`; +CREATE TABLE `student` ( + `stu_id` int(11) NOT NULL AUTO_INCREMENT, + `id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `cid` int(11) NULL DEFAULT NULL, + PRIMARY KEY (`stu_id`) USING BTREE, + INDEX `cid`(`cid`) USING BTREE, + CONSTRAINT `student_ibfk_1` FOREIGN KEY (`cid`) REFERENCES `class` (`cid`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 7 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- + +-- Records of student + +-- ---------------------------- + +INSERT INTO `student` VALUES (1, '1', '梦泪', 1); +INSERT INTO `student` VALUES (2, '2', '蜗壳', 2); +INSERT INTO `student` VALUES (3, '3', '杰鸽', 3); +INSERT INTO `student` VALUES (4, '4', '王毛毛', 4); +INSERT INTO `student` VALUES (5, '5', '郑绿灰', 5); +INSERT INTO `student` VALUES (6, '6', '郑蓝黑', 6); + +-- ---------------------------- + +-- Table structure for teacher + +-- ---------------------------- + +DROP TABLE IF EXISTS `teacher`; +CREATE TABLE `teacher` ( + `tid` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(11) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL, + `cou_id` int(11) NULL DEFAULT NULL, + PRIMARY KEY (`tid`) USING BTREE, + INDEX `cou_id`(`cou_id`) USING BTREE, + CONSTRAINT `teacher_ibfk_1` FOREIGN KEY (`cou_id`) REFERENCES `course` (`cou_id`) ON DELETE RESTRICT ON UPDATE RESTRICT +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- + +-- Records of teacher + +-- ---------------------------- + +INSERT INTO `teacher` VALUES (1, '郑弘辉', 1); +INSERT INTO `teacher` VALUES (2, '陈姐', 2); +INSERT INTO `teacher` VALUES (3, '张飞', 3); +INSERT INTO `teacher` VALUES (4, '林吮吸', 4); + +SET FOREIGN_KEY_CHECKS = 1; +``` + +# 查询 + +```MySQL +select student.`name` as '学生姓名',class.cName AS '班级' from student,class where student.cid=class.cid and student.`name`='梦泪'; +``` + diff --git "a/01 \345\274\240\350\276\211/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273ER\345\233\276/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273_ER\345\233\276.md" "b/01 \345\274\240\350\276\211/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273ER\345\233\276/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273_ER\345\233\276.md" new file mode 100644 index 0000000000000000000000000000000000000000..0662e72f0f113eb7e544b5003e15bb7dad339a5f --- /dev/null +++ "b/01 \345\274\240\350\276\211/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273ER\345\233\276/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273_ER\345\233\276.md" @@ -0,0 +1,11 @@ +数据库设计——表之间的关系 + +1. 一对一:将其中任一表中的主键,放到另一个表当外键(一放一,任意) + +2. 一对多:将一所有的表的主键,放到多的表当外键(一放多) + +3. 多对多:必须新建第三张表,将前面两个表的主键放进来当外键 + + + +ER图:实体关系图 \ No newline at end of file diff --git "a/01 \345\274\240\350\276\211/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273ER\345\233\276/ER\345\233\276.png" "b/01 \345\274\240\350\276\211/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273ER\345\233\276/ER\345\233\276.png" new file mode 100644 index 0000000000000000000000000000000000000000..b7b79d0b1b49c8ceadce6db725ac43d8b6ce9855 Binary files /dev/null and "b/01 \345\274\240\350\276\211/20230906 \350\241\250\344\271\213\351\227\264\347\232\204\345\205\263\347\263\273ER\345\233\276/ER\345\233\276.png" differ diff --git "a/01 \345\274\240\350\276\211/20230907 \350\214\203\345\274\217.md" "b/01 \345\274\240\350\276\211/20230907 \350\214\203\345\274\217.md" new file mode 100644 index 0000000000000000000000000000000000000000..70c6c4bd3cbe620840a60c3e4377005f1cc772e1 --- /dev/null +++ "b/01 \345\274\240\350\276\211/20230907 \350\214\203\345\274\217.md" @@ -0,0 +1,7 @@ +# 笔记 + +数据库设计的三大范式(项目小偷懒用反范式) + +1. 第一范式:每个属性,也就是字段要求**不可再分割**,也就要求有原子性 +2. 第二范式:在满足第一范式的基础上,要求非主键字段要完全依赖主键(有联合主键时,非主键要同时完全依赖这两个主键,而不能部分依赖) +3. 第三范式:在满足第二范式的基础上,要求非主键字段要直接依赖于主键(建多个表) \ No newline at end of file