From 1f4ff8be7ef8b528e3eb1f3deb55f3a8f71b7b2f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A8=8B=E8=88=9C?= <1991510644@qq.com> Date: Thu, 7 Sep 2023 13:55:52 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AC=AC=E4=B8=80=E6=AC=A1=E4=BD=9C=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "51 \347\250\213\350\210\234/20230906.md" | 106 ++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 "51 \347\250\213\350\210\234/20230906.md" diff --git "a/51 \347\250\213\350\210\234/20230906.md" "b/51 \347\250\213\350\210\234/20230906.md" new file mode 100644 index 0000000..d9ed88f --- /dev/null +++ "b/51 \347\250\213\350\210\234/20230906.md" @@ -0,0 +1,106 @@ +# 笔记 + +## 表与表的关系有几种:1对1、1对多、多对多 + +1对1的关系:将其中任一表中的主键,放在另一个表当外键 + +1对多的关系:将一所在的表的主键,放到多的表当外键 + +多对多的关系:必须第三张表,将前两个表的主键放进来当主键 + +## E-R图 + +E-R图又称**实体关系图**,是一种提供了实体,属性和联系的方法,用来描述现实世界的概念模型。 + +## E-R图中的基本元素 + +### 1)实体 + +实际问题中客观存在的并且可以相互区别的事物称为实体。实体是现实世界中的对象,可以具体到人,事,物。 + +### 2)属性 + +实体所具有的某一个特性称为属性,在E-R图中属性用来描述实体。 + +### 3)实体集 + +具有相同属性的实体的集合称为实体集。例如:全体学生就是一个实体集, + +### 4)键 + +在描述实体集的所有属性中,可以唯一标识每个实体的属性称为键。键也是属于实体的属性,作为键的属性取值必须唯一且不能“空置”。 + +### 5)实体型 + +具有相同的特征和性质的实体一定有相同的属性,用实体名及其属性名集合来抽象和刻画同类实体称为实体型,其表示格式为:实体名(属性1,属性2,……) + +### 6)联系 + +世界上任何事物都不是孤立存在的,事物内部和事物之间都有联系的,实体之间的联系通常有3种类型:一对一联系,一对多联系,多对多联系。 + +# 练习 + +![image-20230907104428249](C:\Users\19915\AppData\Roaming\Typora\typora-user-images\image-20230907104428249.png) + +```mysql +create database school charset utf8; + +use school; + +-- 院系表 +create table department( + d_id int primary key, + d_name varchar(10) +); +insert into department values +(1,'软件工程学院'); + +-- 专业表 +create table speciality( + s_id int primary key, + s_name varchar(10), + d_id int, + foreign key (d_id) references department(d_id) + ); +insert into speciality values +(11,'开发班',1), +(12,'前端班',1), +(13,'新媒体班',1); + +-- 班级表 +create table class( + c_id int primary key, + c_name varchar(10), + grade int +); +insert into class values +(1,'软件技术1班',21), +(2,'软件技术2班',22), +(3,'软件技术3班',23); + +-- 教室表 +create table classroom( +r_id int PRIMARY KEY, +r_name varchar(10) +); +insert into classroom values +(1,'实训一'), +(2,'实训二'), +(3,'实训三'); + +-- 课程 +CREATE TABLE course( + couseId int PRIMARY key, + courseName varchar(10), + credit int, + c_id int,-- 班级编号 + r_id int,-- 教室编号 + foreign key (c_id) references class(c_id), + foreign key (r_id) references classroom(r_id) +); +insert into course VALUES +(1,'java',78,1,2), +(2,'html',90,2,3), +(3,'mysql',80,3,1); +``` + -- Gitee