在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数据模型的更多相关文章

  1. Superset

    Superset是一款可自助.可交互,可视化非常不错的产品 Superset is a data exploration platform designed to be visual, intuiti ...

  2. MongoDB学习笔记~数据模型属性为集合时应该为它初始化

    回到目录 今天要说一下技术点,我们在设计mongodb的数据模型时,如果属性是数组或者集合类型,我们在模型初始化时,需要为它们初始化一下,否则在数据库里将会被存储为NULL,当被存储为NULL时,我们 ...

  3. 从零自学Hadoop(20):HBase数据模型相关操作上

    阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...

  4. Entity Framework 教程——创建实体数据模型

    创建实体数据模型: 本文将带你创建实体数据模型(EDM)SchoolDB数据库和理解基础建设模块. 实体数据模型(EDM)是用于描述实体之间关系的一种模型,以下将使用Visual Studio 201 ...

  5. ZooKeeper:数据模型

    ZooKeeper数据模型 ZNode ZNode 分类 Stat Watcher Watcher工作原理 Watcher事件说明 Watcher注册 事件发布 示例 ZooKeeper 数据模型 整 ...

  6. 从零自学Hadoop(21):HBase数据模型相关操作下

    阅读目录 序 变量 数据模型操作 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...

  7. ExtJS 数据模型

    自定义数据模型 数据模型类其实就是一个继承自Ext.data.Model 的类. Ext.define('MyApp.User', { extend: 'Ext.data.Model', fields ...

  8. 在powerdesigner中创建物理数据模型

    物理数据模型(PDM)是以常用的DBMS(数据库管理系统)理论为基础,将CDM/LDM中所建立的现实世界模型生成相应的DBMS的SQL语言脚本.PDM叙述数据库的物理实现,是对真实数据库的描述 PDM ...

  9. Visual 2015创建新项,缺少ADO.NET 实体数据模型的解决方法

    现在的某度查资料真的很麻烦,突然我自身的VS2015创建EF的时候找不到 ADO.NET 实体数据模型,但是使用CodeFrist是可以生成数据表的.所有特别郁闷. 打开界面如下 某度半天,都没有查出 ...

随机推荐

  1. python----tkinterm模块

    python tkinter学习——布局   目录 一.pack() 二.grid() 三.place() 四.Frame() 正文 布局 一.pack() pack()有以下几个常用属性: side ...

  2. 发送垃圾邮件的僵尸网络——药物(多)、赌博、股票债券等广告+钓鱼邮件、恶意下载链接、勒索软件+推广加密货币、垃圾股票、色情网站(带宏的office文件、pdf等附件)

    卡巴斯基实验室<2017年Q2垃圾邮件与网络钓鱼分析报告> 米雪儿 2017-09-07 from:http://www.freebuf.com/articles/network/1465 ...

  3. Java进阶3. 内存回收机制

    Java进阶3. 内存回收机制 20131029 前言: 学过C++的都知道,C++中内存需要程序员自己维护.说道这里,很多开发的同学就感觉很痛苦,当他转向Java的时候,就会说你看Java多好啊,程 ...

  4. jQuery Ajax同步参数导致浏览器假死怎么办

    俗话说不作死就不会死,今天作死了一回,写了一个比较二逼的函数,遇到了同步Ajax引起的UI线程阻塞问题,在此记录一下.   事情起因是这样的,因为页面上有多个相似的异步请求动作,本着提高代码可重用性的 ...

  5. 《Effective C++》第3章 资源管理(1)-读书笔记

    章节回顾: <Effective C++>第1章 让自己习惯C++-读书笔记 <Effective C++>第2章 构造/析构/赋值运算(1)-读书笔记 <Effecti ...

  6. c# 实体处理工具类

    using System; using System.Collections; using System.Collections.Generic; using System.ComponentMode ...

  7. 配置mysql 允许远程连接

    今天折腾了好常时间远程连接mysql ,在云服务器里面打开了3306端口,使用了service mysql status查看到mysql进程正常. netstat -anp | grep mysql ...

  8. 如何让PPT播放时仅电脑显示备注页,而投影仪不显示

    完全可以!第一步:在电脑上右键点击桌面选择属性,进入显示属性选着设置,点击2号屏(前提已连接投影仪或第2显示器),并且在“将WINDOS桌面扩展到改监视器上”(这个关键)前面打钩,且自主选择分辨率,应 ...

  9. resultMap的使用

    1)属性 id:resultMap的唯一标识 type:Java实体类 2)子元素 id 一般对应数据库中该行的主键id,设置此项可提高MyBatis性能 result 映射到JavaBean的某个“ ...

  10. Slice Header中的field_pic_flag的含义?

    编码模式指帧编码.场编码.帧场自适应编码.当这个句法元素取值为1时属于场编码:0为非场编码. 序列参数集中的句法元素frame_mbs_only_flag和mb_adaptive_frame_fiel ...