1-3 superset数据模型
在models.py中大部分的class对应数据库中的表,那么我们就从AuditMixinNullable这个类开始我们的模型解析。
AuditMixin:这个类是FAB(Flask AppBuild)中的,它的作用是向子类中加入create_by_fk、create_by、changed_by_fk、changed_by、changed_on、create_on等属性,并且这些值不能为空
AuditMixinNullable:这个类是AuditMixin子类,但是对AuditMixin类的属性进行了修改,让AuditMixin相关属性值可以为空

AuditMixinNullable的子类:AuditMixinNullable的13个子类,对应数据库中13张表,类与表的对应关系如下:
|
Model类 |
数据表 |
说明 |
|
Database |
dbs |
对应superset中对数据库连接配置。 |
|
SqlaTable |
tables |
dbs中数据库引入到superset中的表,与dbs表是一对多的关系。 |
|
TableColumn |
table_columns |
对应tables中表的数据字段,与tables表是一对多的关系。 |
|
SqlMetric |
sql_metrics |
对表字段进行可聚合纬度度量,与tables表是一对多的关系。 |
|
Slice |
slices |
切片表。 |
|
slice_user |
slices与ab_user的关联表,slices与ab_user多对多关系 |
|
|
Dashboard |
dashboards |
仪表盘表。 |
|
dashboard_slices |
仪表盘与切片之间的关联表,由此可以看出,slices表与dashboards表是多对多的关系。 |
|
|
dashboard_user |
dashboards与ab_user的关联表,dashbaoards与ab_user是多对多关系。 |
|
|
DruidCluster |
clusters |
druid集群配置表 |
|
DruidDatasource |
datasources |
druid的数据源配置,与clusters是一对多关系 |
|
DruidColumn |
columns |
druid数据源的字段表,与datasource是一对多关系 |
|
DruidMettic |
metrics |
druid数据源的度量表,与datasource是一对多关系 |
|
DatasourceAccessRequest |
access_request |
访问datarource和dbs访问请求表 |
|
Url |
url |
用于短url功能 |
|
CssTemplate |
css_templates |
css的模板表 |
对比ORM类,查看对应数据库表,我们发现以上16张表除了dashboard_slices、dashboard_user、slice_user关联表之外,其余13张表中都有created_by_fk和changed_by_fk这2个字段,AuditMixin及其子类AuditMixinNullable的功能不言而喻。

Datasource不对应数据库中的表,它的功能是提供其子类SqlaTable、DruidDatasource类公用的的部分。


|
Model类 |
数据表 |
说明 |
|
Query |
query |
记录在SQL Lab菜单中,SQL Query子菜单中执行Run Query的查询历史 |
|
FavStar |
favstar |
用于记录用户喜欢的仪表盘或切片 |
|
Log |
logs |
记录superset对数据库的操作 |
|
KeyValue |
keyvalue |
用户任何类型的键值对存储 |
此外,在models.py中还有其它单独的类需要介绍,请看下面:
|
Model类 |
说明 |
|
QueryResult |
此类用于在SQL Lab菜单中,SQL Query子菜单中执行Run Query时对查询结果的反馈。 |
|
JavascriptPostAggregator |
下面介绍下fab中的用户权限的实体类:8

|
Model类 |
数据表 |
说明 |
|
User |
ab_user |
用户表。 |
|
RegisterUser |
ab_register_user |
注册用户表。 |
|
Role |
ab_role |
角色表。 |
|
ab_user_role |
用户与角色的关联表,ab_user与ab_role是多对多关系。 |
|
|
ab_permission_view_role |
权限视图与角色的关联表,ab_permission_view与ab_role是多对多关系 |
|
|
Permission |
ab_permission |
权限表 |
|
PermissionView |
ab_permission_view |
权限与视图菜单的关联表,ab_permission与ab_view_menu是多对多关系 |
|
ViewMenu |
ab_view_menu |
视图菜单表 |
表之间的关联图

1-3 superset数据模型的更多相关文章
- Superset
Superset是一款可自助.可交互,可视化非常不错的产品 Superset is a data exploration platform designed to be visual, intuiti ...
- MongoDB学习笔记~数据模型属性为集合时应该为它初始化
回到目录 今天要说一下技术点,我们在设计mongodb的数据模型时,如果属性是数组或者集合类型,我们在模型初始化时,需要为它们初始化一下,否则在数据库里将会被存储为NULL,当被存储为NULL时,我们 ...
- 从零自学Hadoop(20):HBase数据模型相关操作上
阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- Entity Framework 教程——创建实体数据模型
创建实体数据模型: 本文将带你创建实体数据模型(EDM)SchoolDB数据库和理解基础建设模块. 实体数据模型(EDM)是用于描述实体之间关系的一种模型,以下将使用Visual Studio 201 ...
- ZooKeeper:数据模型
ZooKeeper数据模型 ZNode ZNode 分类 Stat Watcher Watcher工作原理 Watcher事件说明 Watcher注册 事件发布 示例 ZooKeeper 数据模型 整 ...
- 从零自学Hadoop(21):HBase数据模型相关操作下
阅读目录 序 变量 数据模型操作 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- ExtJS 数据模型
自定义数据模型 数据模型类其实就是一个继承自Ext.data.Model 的类. Ext.define('MyApp.User', { extend: 'Ext.data.Model', fields ...
- 在powerdesigner中创建物理数据模型
物理数据模型(PDM)是以常用的DBMS(数据库管理系统)理论为基础,将CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本.PDM叙述数据库的物理实现,是对真实数据库的描述 PDM ...
- Visual 2015创建新项,缺少ADO.NET 实体数据模型的解决方法
现在的某度查资料真的很麻烦,突然我自身的VS2015创建EF的时候找不到 ADO.NET 实体数据模型,但是使用CodeFrist是可以生成数据表的.所有特别郁闷. 打开界面如下 某度半天,都没有查出 ...
随机推荐
- ansible入门七(实战)
Ansible实战:部署分布式日志系统 本节内容: 背景 分布式日志系统架构图 创建和使用roles JDK 7 role JDK 8 role Zookeeper role Kafka role ...
- ActiveMQ教程(简介与安装)
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久 ...
- 【zznu-2174】
题目链接 题目描述 给出一个圆C1的圆心和半径x1,y1,r1和另外一个圆C2的圆心为x2,y2(x,y均为整数 r为正整数 且绝对值不超1e8).已知两圆圆心距不超1e8,给出两者相交面积S(大于 ...
- 八、dbms_rls(实现精细访问控制)
1.概述 本报只适用于Oracle Enterprise Edition,它用于实现精细访问控制,并且精细访问控制是通过在SQL语句中动态增加谓词(WHERE子句)来实现的.通过使用ORACLE的精细 ...
- DRF中五大扩展类及视图集的介绍
五个扩展类 (1)ListModelMixin 列表视图扩展类,提供list(request, *args, **kwargs)方法快速实现列表视图,返回200状态码. 该Mixin的list方法会对 ...
- PostgreSQL 9.6 同步多副本、remote_apply记录
摘自:https://yq.aliyun.com/articles/61274 同步多副本配置方法 参数配置如下 synchronous_standby_names (string) 支持两种写法 n ...
- Slice Header中的field_pic_flag的含义?
编码模式指帧编码.场编码.帧场自适应编码.当这个句法元素取值为1时属于场编码:0为非场编码. 序列参数集中的句法元素frame_mbs_only_flag和mb_adaptive_frame_fiel ...
- 用css和php脚本来使得poscms的list标签顺利输出记录
每次拿到前端给的页面,都会有意想不到的惊喜,因为他们给的页面总是不能很好地契合poscms的模板标签 输出规范,这时候就需要动点脑筋去解决问题了. 拿前两天拿到的一类(对,你没看错,是一类)页面来说吧 ...
- 【Spring实战】Spring注解配置工作原理源码解析
一.背景知识 在[Spring实战]Spring容器初始化完成后执行初始化数据方法一文中说要分析其实现原理,于是就从源码中寻找答案,看源码容易跑偏,因此应当有个主线,或者带着问题.目标去看,这样才能最 ...
- RxJava 1.x 笔记:变换型操作符
在写这几篇 RxJava 笔记时,发现官方文档很久都没有更新啊. 一些前辈两年前写的学习笔记内容跟现在也基本一致,RxJava 2.x 的文档也基本没有,不知道是不是缺实习生. 本文内容为 RxJav ...