From 65ec0046e26a284b220cc40eee080205e4a73bdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E4=BD=B3=E7=82=9C?= <626104790@qq.com> Date: Thu, 7 Sep 2023 22:08:00 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=89=E6=AC=A1=E7=AC=94=E8=AE=B0?= =?UTF-8?q?=E2=80=9C=20git=20commit=20-m=E7=AC=AC=E4=B8=89=E6=AC=A1?= =?UTF-8?q?=E7=AC=94=E8=AE=B0=20git=20commit=20-m=20=E7=AC=AC=E4=B8=89?= =?UTF-8?q?=E6=AC=A1=E7=AC=94=E8=AE=B0=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...34\344\270\232\347\254\224\350\256\260.md" | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 "25\351\231\210\344\275\263\347\202\234/9.7\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232\347\254\224\350\256\260.md" diff --git "a/25\351\231\210\344\275\263\347\202\234/9.7\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232\347\254\224\350\256\260.md" "b/25\351\231\210\344\275\263\347\202\234/9.7\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232\347\254\224\350\256\260.md" new file mode 100644 index 0000000..deb5f5b --- /dev/null +++ "b/25\351\231\210\344\275\263\347\202\234/9.7\347\254\254\344\270\211\346\254\241\344\275\234\344\270\232\347\254\224\350\256\260.md" @@ -0,0 +1,79 @@ +# 笔记 + +数据库的范式 + +1.第一范式:要求字段的内容,不可分割,为的是保证数据的原子性。 + +2.第二范式:要求满足第一范式的基础上,要求非主键字段要完全依赖主键(非主键要依赖整个联合主键),而不能只依赖部分。 + +3.第三范式:满足第二范式的前提上,要求非主键属性要直接依赖于主键。 + +# 练习 + +CREATE DATABASE task charset utf8; +use task; +-- 学校 +CREATE TABLE college( +c_id int PRIMARY KEY auto_increment, +c_name VARCHAR(20), +c_tel char(11), +c_address VARCHAR(20) +); +-- 专业 +CREATE TABLE major( +m_id int PRIMARY KEY auto_increment, +m_name VARCHAR(20), +c_id int, +FOREIGN KEY(c_id) REFERENCES college(c_id) +); +-- 班级 +CREATE TABLE clazz( +cz_id int PRIMARY KEY auto_increment, +cz_name VARCHAR(20), +cz_grade VARCHAR(20), +m_id int, +FOREIGN KEY(m_id) REFERENCES major(m_id) +); + +-- 教室 +CREATE TABLE classroom( +cr_id int PRIMARY KEY auto_increment, +cr_name VARCHAR(20) +); +-- 教师 +CREATE TABLE teacher( +t_id int PRIMARY KEY auto_increment, +t_name VARCHAR(20), +c_id int, +FOREIGN KEY(c_id) REFERENCES college(c_id) +); +-- 课程信息表 +CREATE TABLE message( +ms_id int PRIMARY KEY auto_increment, +ms_time VARCHAR(20) +); +-- 课程表 +CREATE TABLE timetable( +tt_id int PRIMARY KEY auto_increment, +tt_name VARCHAR(20), +tt_credit int, +c_id int, +cr_id int, +t_id int, +ms_id int, +FOREIGN KEY(c_id) REFERENCES college(c_id), +FOREIGN KEY(cr_id) REFERENCES classroom(cr_id), +FOREIGN KEY(t_id) REFERENCES teacher(t_id), +FOREIGN KEY(ms_id) REFERENCES message(ms_id) +); +-- 学生 +CREATE TABLE student( +s_id int PRIMARY KEY auto_increment, +s_name VARCHAR(20), +s_tel char(11), +s_grade VARCHAR(20), +cz_id int, +tt_id int, +FOREIGN KEY(cz_id) REFERENCES clazz(cz_id), +FOREIGN KEY(tt_id) REFERENCES timetable(tt_id) +); \ No newline at end of file -- Gitee