概述

  在以往的系统开发过程中,多对多的界面展示有多种形式,且风格各异。本文将按照自己的理解,对多对多的界面展示给予记录。希望能对日后系统有一些参考。

正文

  以常用的学生和课程为例子。数据库表以及主要字段展示如下:
​​​​

  1. 学生信息。主要属性:姓名、住址、联系电话等。
  2. 课程信息。主要属性:课程名称、出版社、是否必修等。
  3. 学生-课程中间表。主要属性:学生id、课程id等。

界面

学生信息列表界面

  学生和课程是多对多(m:n)的关系。即,一位学生可以选多门课程,一门课程可以被多位学生选中。学生界面如下:


常用的增加、更改、删除不做太多解释。重点解释批量绑定课程。“批量绑定课程”,选左侧按钮选中一位或者多位学生,批量给这些学生绑定多门课程,最终的数据保存在“学生-课程中间表”中。

课程信息列表界面

  课程界面如下:


重点解释批量绑定学生。“批量绑定学生”,选中左侧按钮,勾选一门或者多门课程,给这些课程批量绑定学生,最终的数据保存在“学生-课程中间表”中。

结语

  这样的“双向绑定”模式,不仅增加了界面的操作的便捷性和直观性,更符合软件工程中描述的“易用性”要求。
  当然,这里描述的比较简单,主要是针对m:n的界面优化展示的思想。在实际项目中,还需要更加完善的代码和界面展示。其他多对多的情况也可参照,比如权限设计的多对多,文件权限的多对多绑定等,可以推而广之。

  下面这个前辈,给出了代码层面的相关建议和展示。
推荐阅读

【2022年9月】

关于多对多关系(即E-R图中m:n)中的界面展示优化相关推荐

  1. ssas对数据仓库_SSAS中的多对多关系简介

    ssas对数据仓库 In this article, I'm going to explain what many-to-many relationships in SSAS are and how ...

  2. 什么是数据库中的多对多关系?

    什么是数据库建模中的多对多关系?如何在数据库中实现这种关系?本文中的示例将回答这些问题. 多对多关系可能是在数据库中显示的最棘手的关系.因此,我在本文中的第一步将是解释它们是什么.然后,我将继续给你几 ...

  3. 多对多关系的处理办法

    多对多关系的处理 在数据库设计的过程中,经常会遇到两张表是多对多的关系. 如订单和商品之间的关系:一个订单包含了很多商品,而一种商品同时也可能属于多个订单. 这时就需要通过建立一个第三方关联表,将多对 ...

  4. mysql表中的多对多关系表_「一对多」关系型数据库中一对多,多对一,多对多关系(详细) - seo实验室...

    一对多 在关系型数据库中,通过外键将表跟表之间联系在了一起. 一个班级有很多学生,外键维护在学生的一方,也就是多的一方.(在做页面设计的时候,需要把两个表连接到一块查询信息) 建立一个student和 ...

  5. 可以在xmind上同时有两个大主题吗_矩阵图有何用处?XMind完美展示多对多对象间的关系...

    矩阵图是思维导图中运用非常广泛的图形.通俗来说,它其实就是一个表格,但却能非常紧凑的展现出对象之间的多对多关系.它提供的维度至少比其他树形图多一个维度. 矩阵图(下图称为MD)表示多对多关系.但是,如 ...

  6. 矩阵图有何用处?XMind完美展示多对多对象间的关系!

    矩阵图是思维导图中运用非常广泛的图形.通俗来说,它其实就是一个表格,但却能非常紧凑的展现出对象之间的多对多关系.它提供的维度至少比其他树形图多一个维度. 矩阵图(下图称为MD)表示多对多关系.但是,如 ...

  7. 数据表设计:中间表——多对多关系E-R图转换

    设计数据表,遇到一个很常见的情况. 一.中间表-多对多关系的转化 实际中,经常存在多对多关系.以订单和商品为例,一个订单对应多个商品,一个商品也对应多个订单.此时在将E-R图转化为关系模型时,需要引入 ...

  8. NHibernate之旅(11):探索多对多关系及其关联查询

    本节内容 多对多关系引入 多对多映射关系 多对多关联查询 1.原生SQL关联查询 2.HQL关联查询 3.Criteria API关联查询 结语 多对多关系引入 让我们再次回顾在第二篇中建立的数据模型 ...

  9. 绘制E—R图(详细)

    ER图的实体(entity)即数据模型中的数据对象,例如人.学生.音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entity member)或者说实体对象(entity in ...

最新文章

  1. 曳舞---1、曳舞各个动作要点
  2. xstream不映射字段_Mybatis_day03:输入映射和输出映射
  3. java writedouble_Java FSDataOutputStream.writeDouble方法代碼示例
  4. 安装pytorch步骤
  5. 前端好学还是Java好学?
  6. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第十集之Nginx反向代理原理】(有参考其他文章)...
  7. ckplayer html5直播rtmp,实现简单网页rtmp直播:nginx+ckplayer+linux
  8. cupsd进程_CUPS 简介
  9. 华为认证: 高级redhat例题及答案
  10. 安卓程序运行显示permission is only granted to system apps的解决方法
  11. 贪心算法——皇后游戏(洛谷P2123)
  12. 【CSDN软件工程师能力认证学习精选】吐血整理!140 种 Python 标准库、第三方库和外部工具都有了
  13. 数据结构——超全的数据结构思维导图
  14. 程序员的十层楼,你属于哪一层?
  15. Go 使用IP纯真库获取IP对应的国家、省、市
  16. PHP获取根目录方法
  17. 行间距和文本样式的设置
  18. UAP 添加字典表
  19. 吴恩达深度学习笔记(四)
  20. Java多线程变量共享与隔离

热门文章

  1. YOLOv5实现吸烟行为检测
  2. maven生成webapp
  3. 使用Python套接字编程的视频聊天应用
  4. 学简单python好学吗_python好学吗
  5. 40V转5V,40V转3.3V,40V转3V降压芯片和LDO芯片选型表
  6. 架构师速成4.4-我该学什么语言
  7. 我们为什么用GO语言来做区块链?
  8. [架构之路-164]-《软考-系统分析师》-3-操作系统基本原理-文件系统(文件的逻辑组织、文件的物理组织、硬盘空间管理、分布式文件系统)
  9. 什么样的人适合当领导
  10. DNS基础:域名解析、多重域名解析、特殊域名解析、主从同步设置