From 2531b9e33fc7f17d241c468cdd77b68b6fe70d30 Mon Sep 17 00:00:00 2001 From: unknown <2112572495@qq.com> Date: Thu, 7 Sep 2023 12:54:32 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=BA=8C=E6=AC=A1=E4=BD=9C=E4=B8=9A?= 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" | 141 ++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 "39 \351\203\255\346\202\246\350\277\216/20230906 \346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.md" diff --git "a/39 \351\203\255\346\202\246\350\277\216/20230906 \346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.md" "b/39 \351\203\255\346\202\246\350\277\216/20230906 \346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.md" new file mode 100644 index 0000000..592a1fc --- /dev/null +++ "b/39 \351\203\255\346\202\246\350\277\216/20230906 \346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.md" @@ -0,0 +1,141 @@ +## 数据库设计 + +- 表与表之间的关系:**一对多、一对一、多对多** + +- *关系是相互的*:一个学生,可以选多个课程;一个课程可以被多个学生选 + +### 一对一 + +将其中任一表中的主键放到另一个表中当外键 + +### 一对多 + +将一个所在表的主键,放到多的表当外键 + +### 多对多 + +必须第三张表,将前面两个表的主键放进来当外键 + +------ + +## E-R图 + +- 概念:实体关系图,以实体、关系、属性三个基本概念概括数据的基本结构,从而描述静态数据结构的概念模式 + +- 三要素:实体 属性 关系 + +------ + +## 作业 + +```mysql +create database StudentSystem charset utf-8; +use StudentSystem; +-- 学院表 +create table college( + c_id int primary key, + c_name varchar(80), + c_tel varchar(20) +); +insert into college values +(1,'软件工程学院','167567'); + +-- 专业表 +create table major( + m_id int primary key, + m_name varchar(20), + c_id int, + foreign key (c_id) reference college(c_id) +); +insert into major values +(1,'软件开发',1), +(2,'前端',2), +(3,'新媒体',3); + +-- 班级表 +create table class( + s_grade varchar(10) primary key, + s_name varchar(20), + m_id int, + foreign key (m_id) reference major(m_id) +); +insert into class values +('22级','软件1班',1), +('22级','软件2班',1), +('22级','软件3班',2), +('22级','软件4班',3); + +-- 教室表 +create table classroom( + r_id int primary key, + r_name varchar(20), + r_address varchar(20), + courseId int, + foreign key (courseId) reference course(courseId) +); +insert into classroom values +(1,'实训8','望云楼',1), +(2,'实训3','望云楼',3); + +-- 课程 +create table course( + courseId int PRIMARY key, + courseName varchar(10), + s_grade varchar(10), + r_id int, + foreign key (s_id) references class(s_id), + foreign key (r_id) references classroom(r_id) +); +insert into course values + (1,'Java','22级',1), + (2,'html','22级',1), + (3,'MySQL','22级',2), + (4,'css','22级',2); + +-- 课程表 +create table schedule( + sch_id int primary key, + time varchar(20), + couseId int, + t_id int, + r_id int, + foreign key (couseId) references course(couseId), + foreign key (t_id) references teacher(t_id), + foreign key (r_id) references classroom(r_id) +); +insert into schedule values +(1,'星期一',2,1), +(2,'星期三',3,2); + +-- 教师表 +create table teacher( + t_id int primary key, + t_name varchar(10), + couseId int, + foreign key (couseId) references course(couseId) +); +insert into teacher values +(1,'丘',1), +(2,'李',2); + +-- 学生表 +create table student( + stu_id int primary key, + stu_name varchar(20), + stu_age int, + stu_gender varchar(10), + s_grade varchar(10), + foreign +); +insert into student values +(1,'小米',16,'女','22级'), +(2,'小花',16,'女','22级'), +(3,'小红',16,'女','22级'), +(4,'小明',16,'男','22级'), +``` + + + +![01](C:\Users\Administrator\Desktop\01.png) + +![02](C:\Users\Administrator\Desktop\02.png) \ No newline at end of file -- Gitee