`
youyu4
  • 浏览: 440241 次
社区版块
存档分类
最新评论

数据库设计 -- 表与表的三种关系

 
阅读更多

数据库设计 -- 表与表的三种关系

 

 

一对一

 

    例如:user表和user_detail表,每一个user有一条detail,每一条detail属于一个用户。

 

    表一(user_campaign)



 

    表二(user_campaign_detail)

 


 

    思路小结:user表和user_detail表,可以给user_detail表中的user_id建立唯一索引,既保证数据的正确性,也能提高查询速度;这里的第一张表的每一行只与第二张表的一行相对应。

 

 

    提示

 

    一对一关系是比较少见的关系类型。但在某些情况下,还是会需要使用这种类型。

 

 

    适用场景

 

  • 一个表包含了太多的数据列
  • 将数据分离到不同的表,划分不同的安全级别。
  • 将常用数据列抽取出来组成一个表

 

 

 

 

一对多

 

    例如:一个人可以拥有多个session,每条session只属于一个人。 

 

    表一(user)



 

    表二(user_session)



 

    思路小结:建两个表,‘一’方不动,‘多’方添加一个外键字段

 

 

    提示

 

    一对多关系是最常见的关系类型。

 

 

    适用场景

 

  • 一个user有多个friend,一个user有多个session
  • 一个user有多张银行卡,每张银行卡只属于一个user

 

 

 

 

多对多

 

    例如:系统有多个用户,每个用户可以属于多个分组,每个分组中可以有多个用户。

 

    表一(system_user)



 

    表二(system_group)



 

    表三(system_user_group)



 

    思路小结:两个多对多的表,然后建立第三个表做关系表

 

 

    提示

 

    多对多关系,在关系数据库中也是比较常用的方式。

 

 

    适用场景

 

  •  系统有多个用户,每个用户有多个权限;其中也有多个权限,每个权限对应多个用户
  • 学生选课,一个学生可以选修多门课程,每门课程可供多个学生选择

 

 

  • 大小: 40.1 KB
  • 大小: 52.5 KB
  • 大小: 70.7 KB
  • 大小: 83.2 KB
  • 大小: 89.6 KB
  • 大小: 54.8 KB
  • 大小: 38.8 KB
分享到:
评论

相关推荐

    Oracle数据库设计-图书管理系统.doc

    E-R图是实体-关系图的简称,是一种常用的数据库设计方法。 知识点:数据库设计、E-R图、实体-关系图。 3. 数据库表的设计:数据库表的设计是指根据E-R图,设计数据库中的表结构。Oracle数据库设计-图书管理系统中...

    数据库设计-------小型超市管理系统

    - 数据库设计是系统核心,涉及员工表、商品表、厂商表等多个实体之间的关系设计。需要考虑数据的一致性、完整性,以及查询效率。 - 使用关系模型,通过主键和外键来建立表间的联系,如商品表与厂商表通过厂商ID...

    数据库设计---需求分析设计

    2. 数据库设计分析阶段,进行详细的数据库需求分析,进行概念数据库的设计,画出数据库的E-R图(局部和整体E-R图) 3. 设计出详细的逻辑数据库结构,将各个实体和联系转化为相应的二维表即关系模式,指定各个关系...

    数据库实验--E-R建模与关系表转换--实验报告

    数据库实验报告 - E-R 建模与关系表转换 本实验报告的主要目的是了解和掌握 E-R 图的基本概念,培养根据实际应用领域数据对象描述、抽取数据对象特征、关联关系等信息,设计数据库概念结构的能力,并学习 Power ...

    图书管理系统数据库设计-MYSQL实现.docx

    三、数据库设计方案 1. E-R模型:系统包含学生、图书、借阅归还、管理员和图书类别等多个实体,以及它们之间的关系。例如,学生与图书之间存在借阅归还关系,管理员与图书信息、学生信息之间有管理关系。 2. 表设计...

    数据库设计(数据字典,E-R图,模式关系等)

    E-R图(实体-关系图)是数据库设计的可视化工具,用于表示实体、属性以及实体之间的关系。实体可以是人、事物或概念,而属性则是描述实体的特性。E-R图通常由实体(矩形)、属性(椭圆)和联系(线段)组成。例如,...

    数据库设计-模板.docx

    它适用于系统架构师、数据库管理员(DBA)、开发人员以及任何参与数据库设计与管理的团队成员。 1.2. 名词术语 在数据库设计中,常见的名词术语包括: - 数据模型:用于描述数据结构和关系的理论模型,如关系模型、...

    数据库作业-网上书店系统数据库设计.docx

    ER图是数据库设计的初步阶段,它可视化了实体之间的关系,如用户和角色的一对多关系,图书和类别的多对一关系,留言与图书和用户的多对多关系,订单与用户的一对多关系,以及订单子项与订单和图书的一对多关系。...

    数据库课程设计-------库存管理系统

    - 数据库设计包括概念设计(ER模型)、逻辑设计(关系模型)和物理设计。ER模型用于表达实体、属性和关系,关系模型则将ER模型转换为表结构。 2. **表结构设计**: - 商品表:记录商品的基本信息,如商品ID、名称...

    数据库设计-教务管理系统

    数据库设计主要包括概念设计、逻辑设计和物理设计三个阶段。在概念设计阶段,我们通常使用实体-关系模型(E-R Model)来描绘实体、属性和关系,例如学生、课程、教师等实体,以及选课、授课等关系。这些实体和关系...

    SQL-server数据库设计-餐饮管理系统.doc

    这篇报告旨在通过设计一个餐饮管理系统,让学生掌握管理系统及数据库设计方法,包括关系数据库设计、SQL Server 2000的应用以及简单的VB程序设计。 1. **设计目的**: - 掌握系统分析和设计的方法,运用管理信息...

    数据库设计-网络收集的PPT

    - 数据库设计包括概念设计、逻辑设计和物理设计三个阶段。 2. **概念设计** - 实体识别:确定系统中的主要对象(实体),如用户、订单、产品等。 - 属性定义:描述实体的特性(属性),如用户有用户名、密码等...

    关系型数据库及SQL语句-SQLSERVER数据库设计与实现210页.doc

    "关系型数据库及SQL语句-SQLSERVER数据库设计与实现" 关系型数据库是一种常用的数据库管理系统,它使用SQL语句来管理和操作数据。在本文中,我们将介绍关系型数据库的基本概念、SQL语句的使用以及SQLSERVER数据库...

    数据库设计文档 --软件开发中数据库设计

    数据库设计是软件开发过程中的关键环节,它直接影响到系统的性能、稳定性和可扩展性。一个良好的数据库设计文档能够清晰地阐述系统数据结构、业务规则以及数据间的关联,从而为开发团队提供准确的指导。以下是对...

    关系数据库--逻辑结构设计举例.ppt

    关系数据库--逻辑结构设计举例

    数据库设计--报刊订阅管理系统(有关数据库的课程设计)

    总的来说,数据库设计--报刊订阅管理系统涵盖了数据库设计的全过程,包括需求分析、概念设计、逻辑设计、物理设计以及前端与后端的交互。这个课程设计提供了实践数据库知识和技能的宝贵机会,对于学习者来说是非常有...

    数据库课程设计---报刊订阅管理系统的设计与实现.pdf

    《报刊订阅管理系统的设计与实现》课程设计报告书涵盖了数据库系统开发的关键步骤,旨在培养...学生在完成设计过程中,不仅能学习数据库设计原理,还能掌握实际开发中的问题解决技巧,为未来的职业生涯打下坚实基础。

    数据库课程设计--选课系统-java 实现

    数据库设计,选课系统,附带数据库. 数据库中表的代表关系 z----count 账户表 k----course 课程表 y----depart 院系表 s----shouke 授课表 t----student 学生表 j----teacher 教师表 x----xuanke 选课表

    图书馆数据库设计 需求分析 E-R 图 逻辑设计

    逻辑设计是数据库设计的第三步骤。在这个阶段,我们将 E-R 图转换为关系模型,设计关系模式和完整性约束。我们的关系模式包括: * 学生关系模式 * 图书关系模式 * 借阅关系模式 * 馆藏地关系模式 * 学生日常事务...

Global site tag (gtag.js) - Google Analytics