1对1(1:1) :1对1关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。
1对多(1:N) :1对多关系是指实体集A与实体集B中至少有N(N>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。
多对多(M:N) :多对多关系是指实体集A中的每一个实体与实体集B中至少有M(M>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少N(N>0)个实体有关系。
1.E-R图什么是E-R图?在数据库设计中我们会使用到E-R图(Entity Relationship Diagram)ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。E-R的三个核心部分ER图的实体(entity)即数据模型中的数据对象。一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。关键在于一个实体能与另一个实体相区别,具有相同属性的实体具有相同的特征和性质。用实体名及其属性名集合来抽象和刻画同类实
ER图
中
关联关系有三种:
1对1(1:1) :1对1关系是指对于实体集A与实体集B,A
中
的每一个实体至多与B
中
一个实体有关系;反之,在实体集B
中
的每个实体至多与实体集A
中
一个实体有关系。
1对多(1:N) :1对多关系是指实体集A与实体集B
中
至
实体是客观世界
中
存在的各种事物,或者某个抽象事件,我们都可以将其称之为实体。一方面,实体可以是现实世界
中
的课程实体、教师实体、学生实体、职工个体。总而言之,实体可以是现实集合
中
的一个子集,也可以是各种抽象的对象。
实体在
ER图
中
用矩形表示。
属性可以认为是实体
中
的特征,实体通过属性来描述,例如学生实体有学号、姓名、性别等属性。
属性在
ER图
中
以椭圆来表示。
联系包括两方面的含义,一方面是实体和属性之间的联系,例如上
图
1. 规范背景与目的
MySQL
数据库
与 Oracle、 SQL Server 等
数据库
相比,有其内核上的优势与劣势。我们在使用
MySQL
数据库
的时候
需要
遵循一定规范,扬长避短。本规范旨在帮助或指导 RD、QA、OP 等技术人员做出适合线上业务的
数据库
设计
。在
数据库
变更和处理流程、
数据库
表
设计
、SQL 编写等方面予以规范,从而为公司业务系统稳定、健康地运行提供保障。
2.
设计规范
2.1
数据库
设计
以下所有规范会按照【高危】、【强制】、【建议】三个级别进行标注,遵守优先级从高到低。
对于不满足【高危】和【强制】两个级别的
设计
,DBA 会强制打回要求修改。
2.1.1 一般命名规则
【强制】使用小写,有助于提高打字速度,避免因大小写敏感而导致的错误。
【强制】没有空格,使用下划线代替。
【强制】名称
中
没有数字,只有英文字母。
【强制】有效的可理解的名称。
【强制】名称应该是自我解释的。
【强制】名称不应超过 32 个字符。
【强制】避免使用前缀。
1)
ER图
的实体(entity):即数据模型
中
的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体实例(entity instance),例如学生实体里包括张三、李四等,实体实例(entity instance) 不
需要
出现在
ER图
中
。
2)
ER图
的属性(att...
好的,我可以为您解答这个问题。下面是关于
MySQL
数据库
设计
和一个
数据库
设计
实例的简介:
MySQL
是一种流行的开源关系型
数据库
管理系统。它被广泛应用于Web应用程序和其他类型的软件开发项目。
MySQL
数据库
设计
是指开发一个适合特定应用程序的
数据库
结构和模式。
一个成功的
MySQL
数据库
设计
应该包括以下几个步骤:
1. 确定
数据库
需求和目标:首先
需要
确定应用程序
需要
存储哪些数据,以及数据如何被组织和使用。这涉及到对业务需求的深入理解。
2.
设计
数据库
架构:在确定需求之后,
需要
设计
数据库
的架构。这包括确定表、字段、索引、关系等。
3. 规划数据存储:在
设计
数据库
架构之后,
需要
确定数据如何存储和访问。这包括了选择存储引擎、分配存储空间等。
4. 编写SQL代码:最后,
需要
编写SQL代码来创建
数据库
和表,以及实现数据的插入、更新、删除和查询等操作。
下面是一个
数据库
设计
实例,假设我们
需要
设计
一个学生管理系统,包括以下实体:
1. 学生
2. 课程
3. 成绩
根据以上实体,我们可以
设计
以下表:
1. 学生表(student):包括学生ID、姓名、性别、年龄等字段。
2. 课程表(course):包括课程ID、课程名、学分等字段。
3. 成绩表(score):包括学生ID、课程ID、成绩等字段。
其
中
,学生表和课程表之间是多对多的关系,
需要
使用
中
间表来表示。
中
间表可以命名为student_course,包括学生ID和课程ID两个字段。
以上是一个简单的
MySQL
数据库
设计
实例,希望对您有所帮助。
Python读取文件出现‘gbk‘ codec can‘t decode byte 0xbf in position 2: illegal multibyte sequence‘
57713