专栏首页crudapi零代码实现一对一表关系和无限主子表级联保存
原创

零代码实现一对一表关系和无限主子表级联保存

表关系高阶

在上一篇 表关系管理 中,介绍了订单中一对多、多对一、以及多对多关系,本文主要介绍一对一关系和无限主子表在crudapi系统中的应用。

概要

一对一

一对一关系是指关系数据库中两个表之间的一种关系。关系数据库中第一个表中的单个行只可以与第二个表中的一个行相关,且第二个表中的一个行也只可以与第一个表中的一个行相关。

在一对多关系中,外键建立在子表中;在一对一关系中,外键可以建在主表或者子表中,为了保持一致,crudapi系统中统一将一对一关系中外键也建立在子表中,这样的好处是如果将来需要解除表关系的时候,无需修改主表结构。

客户资料

客户customer主表中,通常存放基本信息,如果有更多资料可以考虑单独存放在客户资料customerProfile表中,它们之间可以用一对一关系实现。

客户和客户资料:一对一(主子方向)

customer

之前创建客户customer表保持不变

customerProfile

创建客户资料customerProfile表,主要包括客户编号字段、生日、性别、爱好等,其中客户编号customerId字段用于建立表关系

profileRelation

建立主子方向一对一关系,客户customer表的编号id字段,指向客户资料customerProfile的客户编号customerId字段,关系的英文名称profile用于查询关联对象的时候,设置导航属性名称为profile。

客户资料和客户:一对一(子主方向)

customerRelation

建立子主方向一对一关系,客户资料customerProfile的客户编号customerId字段,指向客户customer表的编号id字段,关系的英文名称customer用于查询关联对象的时候,设置导航属性名称为customer,和之前订单和客户多对一关系有点类似,关联对象都是customer对象,不过那个时候多个订单可以关联同一个客户,现在一个客户资料只能关联一个客户。

客户主子表级联保存

createCustomer

ui创建客户,同时输入子表客户资料信息,chrome打开网络请求记录,可以看到POST body如下:

{
    "name": "刘备",
    "mobile": "13699998888",
    "email": "liubei@crudapi.cn",
    "profile": {
        "name": "刘备资料",
        "birthday": "2021-02-14",
        "sex": "男",
        "hobby": "骑马"
    }
}

其中profile为客户资料信息,

editCustomer

查询客户详情,发现客户和客户资料信息一次性保存成功!上一篇文章中,销售订单和订单行是一对多主子关系,

子表是数组形式,在一对一主子关系中子表是对象形式,在数据库中表现形式是相同的,外键都是建在子表中。

直接操作客户资料

editCustomerProfile

也可以直接创建客户资料表,选择挂在指定客户下,可以达到同样的效果。

无限子表

通过设置表关系,一对多和一对一(主子方向)理论上可以无限关联下去,所有的表一次性级联保存,比如省市区通常可以达到3级子表,目录文件属于无限子表。

省市区三级子表

ssqGraph

省和市是一对多关系,市和区是一对多关系。

ssq

ui效果,江苏省包括南京和淮安两个城市,南京市又包括江宁区和雨花台区。

目录无限子表

一级目录下可以包括子目录和文件,如果是子目录,子目录可以继续包括子目录和文件

folder1

图目录无限子表-1

folder2

图目录无限子表-2

ui效果,子表包括目录和文件,还可以继续展开下去,由于屏幕大小的原因,这里就不一一展示了。

查询目录列表

folders

小结

本文介绍了一对一关系,包括主子方向和子主方向,加上一篇文章中一对多,多对一,多对多关系,到目前为止所有的表关系都实现了。crudapi系统通过配置的方式实现了对象之间的关联,无需编程实现了主子表CRUD操作。

附demo演示

本系统属于产品级的零代码平台,不同于自动代码生成器,不需要生成Controller、Service、Repository、Entity等业务代码,程序运行起来就可以使用,真正0代码,可以覆盖基本的和业务无关的CRUD RESTful API。

官网地址:https://crudapi.cn

测试地址:https://demo.crudapi.cn/crudapi/login

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 有赞权限系统

    有赞作为一个商家服务公司,通过产品和服务,帮助互联网时代的生意人成功。在新零售的浪潮下,有赞零售为商家提供不同规模的门店和网店经营解决方案,帮助零售商家们快速进...

    有赞coder
  • ​「免费开源」基于Vue和Quasar的crudapi前端SPA项目实战之业务数据(七)

    通过上一篇文章 基于Vue和Quasar的前端SPA项目实战之表关系(六)的介绍,元数据设计功能全部实现了,本文主要介绍业务数据的crud增删改查功能。

    crudapi
  • 2021零信任解决方案大盘点

    零信任最早由Forrester 分析师John Kindervag于2010年提出,它既不是一项技术,也不是一款产品,而是一种新理念,基本原则是“从不信任,总是...

    SDNLAB
  • 星巴克的猫爪杯,新零售的深逻辑

    不得不说,星巴克的猫爪杯已经成为这个春天最让人侧目的营销案例。从线上销售的火爆到线下讨论的激烈,无不印证着猫爪杯的火爆。很多人会将猫爪杯定义为星巴克最为成功的营...

    孟永辉
  • 零售企业如何保障公有云安全合规 腾讯安全运营中心助力安全管理

    近年来,随着云计算、大数据、AI等先进技术手段的不断成熟,零售行业以互联网为依托,开始对商品的生产、流通与销售过程进行升级改造,向智慧零售时代大步迈进。大批传统...

    腾讯安全
  • 行业盘点 | 新零售行业10大关键词

    前言 一场仿佛能够带来历史机遇的零售变革——新零售,自发声起已经走过一个年头了。所谓的新零售元年2017,也一定会因为其承载的“新零售”开端与试错的责任使命,在...

    灯塔大数据
  • 学BOM绝佳资料!

    导读:本文将就静态数据中物料清单(BOM)的作用,结合CAD(计算机辅助设计)、CAPP(计算机辅助工艺编制)、PDM(产品数据管理)、MRPⅡ(物造资源计划)...

    用户5495712
  • 新零售,存量时代的必然

    无论是头部的玩家,还是中下游的玩家,所有的动作几乎都是围绕着“流量”这个核心运作的。

    孟永辉
  • 如果土匪都懂“零信任网络”,杨子荣还能智取威虎山吗?

    《林海雪原》中,侠客般的杨子荣靠着“黑话”/“暗号”,赢得了土匪头子“座山雕”的信任,成功打入土匪内部,智取了威虎山。

    SDNLAB
  • 再说零信任

    2010年,由著名研究机构Forrester的首席分析师John Kindervag最早提出了零信任(Zero Trust)的概念, 并由Google在Beyo...

    FB客服
  • 2018上海国际新零售产业大会暨23届智慧新零售产业链展览会

    “2018上海国际新零售产业大会暨23届智慧新零售产业链展览会”前身是“第22届中国(上海)零售业博览会”,于2017年组委会率先移师上海国家会展中心,吸引了...

    用户2286278
  • 零信任原生安全:超越云原生安全

    本文从信任的定义开始,探讨(零)信任的内涵,然后分析云原生安全和零信任安全的关系,云上的成功会将零信任原生安全融合更多安全防护手段,应用各类复杂应用场景。

    绿盟科技研究通讯
  • Salesforce 28亿美元收购Demandware进入电子商务领域

    新浪科技讯,北京时间6月1日晚间消息,全球领先的客户关系管理(CRM)软件服务提供商Salesforce今日宣布,将以每股75美元的现金收购电子商务解决方案提供...

    臭豆腐
  • 汽车配件+供应链一体化:降低库存成本,提高运营效率

    汽车供应链管理系统开发可以降低供应链成本和库存,并提高运营效率。如何打造高效B2B供应链电商平台?汽车供应链系统制作平台数商云表示,B2B供应链采购管理系统方案...

    数商云市场营销总监
  • Rookey.Frame企业级快速开发框架开源了

    Rookey.Frame是一套基于.NET MVC + easyui的企业级极速开发框架,支持简单逻辑模块零代码编程、支持工作流(BPM)、支持二次开发,具有...

    逸鹏
  • 订单和产品的多对多表关系在crudapi系统零代码实现

    在上一篇 序列号管理 中,产品和销售订单都是孤立的单表,本文通过crudapi中表关系(relation)管理将多个表连接起来,形成一个整体。

    crudapi
  • 微信早报 | 微软第一款微信小程序正式发布;微信将管制「互骂群」;腾讯官方感谢 360

    知晓君
  • 美军网络安全 | 第5篇:身份和访问管理(IdAM)

    美军JIE(联合信息环境)的目标是实现“三个任意”的愿景——美军作战人员能够用任意设备、在任意时间、在任意地方获取经授权的所需信息,以满足联合作战的需求。

    网络安全观
  • 2018上海国际新零售产业大会暨23届智慧新零售产业链展览会

    “2018上海国际新零售产业大会暨23届智慧新零售产业链展览会”前身是“第22届中国(上海)零售业博览会”,于2017年组委会率先移师上海国家会展中心,吸引了...

    用户2286278

扫码关注云+社区

领取腾讯云代金券