From 7ef49f9919533d4c33d484781326b8926822250a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=B5=81=E6=B6=9B?= <1841582040@qq.com> Date: Thu, 7 Sep 2023 20:17:08 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...56\345\272\223\350\256\276\350\256\241.md" | 72 ++++++------- ...56\345\272\223\350\214\203\345\274\217.md" | 100 ++++++++++++++++++ 2 files changed, 136 insertions(+), 36 deletions(-) create mode 100644 "57 \351\273\204\346\265\201\346\266\233/20230907 \346\225\260\346\215\256\345\272\223\350\214\203\345\274\217.md" diff --git "a/57 \351\273\204\346\265\201\346\266\233/20230906 \346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.md" "b/57 \351\273\204\346\265\201\346\266\233/20230906 \346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.md" index 8d646d9..298bc44 100644 --- "a/57 \351\273\204\346\265\201\346\266\233/20230906 \346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.md" +++ "b/57 \351\273\204\346\265\201\346\266\233/20230906 \346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.md" @@ -44,83 +44,83 @@ USE school; -- 院系表 CREATE TABLE faculties ( -faculties_id INT PRIMARY KEY; -- 院系编号 -faculties_name VARCHAR -- 院系名称 +faculties_id INT PRIMARY KEY, -- 院系编号 +faculties_name VARCHAR(255) -- 院系名称 ); -- 专业表 CREATE TABLE specialized( -faculties_id INT; -- 院系编号 -specialized_id INT PRIMARY KEY; -- 专业编号 -specialized_name VARCHAR; -- 专业名称 +faculties_id INT, -- 院系编号 +specialized_id INT PRIMARY KEY, -- 专业编号 +specialized_name VARCHAR(255), -- 专业名称 FOREIGN KEY (faculties_id) REFERENCES faculties (faculties_id) -- 外键 ); -- 班级表 CREATE TABLE class ( -specialized_id INT; -- 专业编号 -class_id INT PRIMARY KEY; -- 班级编号 -class_name VARCHAR; -- 班级名称 -class_year int; -- 年段 +specialized_id INT, -- 专业编号 +class_id INT PRIMARY KEY, -- 班级编号 +class_name VARCHAR(255), -- 班级名称 +class_year int, -- 年段 FOREIGN KEY (specialized_id) REFERENCES specialized (specialized_id) -- 外键 ); -- 学生表 CREATE TABLE student ( -class_id INT; -- 班级编号 -student_id INT PRIMARY KEY; -- 学号 -student_name VARCHAR; -- 姓名 -student_sex char; -- 性别 +class_id INT, -- 班级编号 +student_id INT PRIMARY KEY, -- 学号 +student_name VARCHAR(255), -- 姓名 +student_sex char(1), -- 性别 FOREIGN KEY (class_id) REFERENCES class (class_id) -- 外键 ); -- 教师表 CREATE TABLE teacher( -teacher_id INT PRIMARY KEY; -- 教师工号 -teacher_name VARCHAR; -- 姓名 -teacher_sex char -- 性别 +teacher_id INT PRIMARY KEY, -- 教师工号 +teacher_name VARCHAR(255), -- 姓名 +teacher_sex char(1) -- 性别 ); -- 课表 CREATE TABLE schedul( -schedul_id INT PRIMARY KEY; -- 课表编号 -schedul_week VARCHAR; -- 星期 -schedul_section VARCHAR -- 节次 +schedul_id INT PRIMARY KEY, -- 课表编号 +schedul_week VARCHAR(255), -- 星期 +schedul_section VARCHAR(255) -- 节次 ); -- 课程表 CREATE TABLE course( -teacher_id INT; -- 教师工号 -schedul_id INT; -- 课表编号 -course_id INT PRIMARY KEY; -- 课程编号 -course_name VARCHAR; -- 课程名称 -course_credits int; -- 学分 -FOREIGN KEY (teacher_id) REFERENCES teacher (teacher_id); -- 外键 +teacher_id INT, -- 教师工号 +schedul_id INT, -- 课表编号 +course_id INT PRIMARY KEY, -- 课程编号 +course_name VARCHAR(255) -- 课程名称 +course_credits int, -- 学分 +FOREIGN KEY (teacher_id) REFERENCES teacher (teacher_id), -- 外键 FOREIGN KEY (schedul_id) REFERENCES schedul (schedul_id) -- 外键 ); -- 选课表 CREATE TABLE CourseSelection( -CourseSelection_id INT PRIMARY KEY; -- 选课编号 -student_id INT; -- 学号 -course_id INT; -- 课程编号 -FOREIGN KEY (student_id) REFERENCES student (student_id); -- 外键 +CourseSelection_id INT PRIMARY KEY, -- 选课编号 +student_id INT, -- 学号 +course_id INT, -- 课程编号 +FOREIGN KEY (student_id) REFERENCES student (student_id), -- 外键 FOREIGN KEY (course_id) REFERENCES course (course_id) -- 外键 ); -- 教室表 CREATE TABLE classroom( -classroom_id INT PRIMARY KEY; -- 教室编号 -classroom_name VARCHAR; -- 名称 -classroom_add VARCHAR -- 地址 +classroom_id INT PRIMARY KEY, -- 教室编号 +classroom_name VARCHAR(255), -- 名称 +classroom_add VARCHAR(255) -- 地址 ); -- 场所使用表 CREATE TABLE location( -location_id INT PRIMARY KEY; -- 使用编号 -schedul_id INT; -- 课表编号 -classroom_id INT; -- 教室编号 -FOREIGN KEY (schedul_id) REFERENCES schedul (schedul_id); -- 外键 +location_id INT PRIMARY KEY, -- 使用编号 +schedul_id INT, -- 课表编号 +classroom_id INT, -- 教室编号 +FOREIGN KEY (schedul_id) REFERENCES schedul (schedul_id), -- 外键 FOREIGN KEY (classroom_id) REFERENCES classroom (classroom_id) -- 外键 ); ``` diff --git "a/57 \351\273\204\346\265\201\346\266\233/20230907 \346\225\260\346\215\256\345\272\223\350\214\203\345\274\217.md" "b/57 \351\273\204\346\265\201\346\266\233/20230907 \346\225\260\346\215\256\345\272\223\350\214\203\345\274\217.md" new file mode 100644 index 0000000..22e8898 --- /dev/null +++ "b/57 \351\273\204\346\265\201\346\266\233/20230907 \346\225\260\346\215\256\345\272\223\350\214\203\345\274\217.md" @@ -0,0 +1,100 @@ +# 笔记 + +### 数据库范式 + +​ 数据库第一范式:要求字段的内容,不可在分割,为的是保证数据的原子性。 + +​ 数据库第二范式:要求在满足第一范式的基础上,要求非主键字段要完全依赖主键(非主键,要依赖整个联合主键)而不能只能依赖部分。 + +​ 数据库第三范式:满足第二范式的前提上,要求,非主键属性要直接依赖于主键。 + + + +```mysql +-- 建库 +CREATE DATABASE school charset utf8; +-- 使用库 +use school; +-- 院系表 +CREATE TABLE department( + dt_id INT PRIMARY key auto_increment, -- 院系编号 + dt_name char(10) -- 院系名称 +); + +-- 专业表 +CREATE TABLE major ( + mj_id INT PRIMARY key auto_increment, -- 专业编号 + mj_name char(10), -- 专业名称 + dt_id INT, -- 院系编号 + foreign KEY (dt_id) references department (dt_id) -- 外键 +); + +-- 班级表 +create table clas( + cl_id INT primary KEY auto_increment, -- 班级编号 + cl_name char(10), -- 班级名称 + cl_year char(6), -- 年段 + mj_id INT, -- 专业编号 + foreign KEY (mj_id) references major (mj_id) -- 外键 +); + +-- 学生表 +create table student( + st_id int primary key auto_increment, -- 学生学号 + st_name char(10), -- 姓名 + st_sex char(1), -- 性别 + st_age int, -- 年龄 + cl_id INT, -- 班级编号 + foreign KEY (cl_id) references clas (cl_id) -- 外键 +); + +-- 教师表 +create table teacher( + te_id int primary key auto_increment, -- 教师工号 + te_name char(10), -- 姓名 + te_sex char(1), -- 性别 + te_age int -- 年龄 +); + +-- 课程表 +CREATE table course( + cs_id int primary key auto_increment, -- 课程编号 + cs_name char(10), -- 课程名称 + cs_credit int, -- 学分 + te_id int, -- 教师工号 + foreign KEY (te_id) references teacher (te_id) -- 外键 +); + +-- 学生选课表 +create table selecourse( + sc_id int primary key auto_increment, -- 选课编号 + sc_score double(3,1), -- 成绩 + st_id int, -- 学生学号 + cs_id int, -- 课程编号 + foreign KEY (st_id) references student (st_id), -- 外键 + foreign KEY (cs_id) references course (cs_id) -- 外键 +); + +-- 教室表 +CREATE table classroom( + cr_id int primary key auto_increment, -- 教室编号 + cr_name char(10), -- 教室名称 + cr_add varchar(255) -- 教室地址 +); + +-- 上课表 +create table timetable( + tt_id int primary key auto_increment, -- 上课编号 + tt_week char(3), -- 星期 + tt_time char(10), -- 节次 + cl_id INT, -- 班级 + cs_id int, -- 课程 + cr_id int, -- 教室 + te_id int, -- 授课老师 + foreign KEY (cl_id) references clas (cl_id), -- 外键 + foreign KEY (cs_id) references course (cs_id), -- 外键 + foreign KEY (cr_id) references classroom (cr_id), -- 外键 + foreign KEY (te_id) references teacher (te_id) -- 外键 +); +``` + -- Gitee