物联网应用网站数据库设计

文章目录

  • 项目实战——物联网应用网站数据库设计
    • 1. 数据表总览
    • 2. 具体设计

项目实战——物联网应用网站数据库设计

1. 数据表总览

  • 用户表(存储用户基本信息)
  • Token 表 (存储登录状态,以及请求是否有效)
  • 设备表(存储设备基本信息)
  • 设备数据表(设备实时发送的数据信息)
  • 用户-设备拥有关系表
  • 设备历史信息表(包括历史轨迹等)
  • 用户反馈表(主题、内容和时间)
  • HTTP请求日志(如用户下载数据记录等)

2. 具体设计

  • 用户表 user

    create table user
    (
        email varchar(80) not null,
        password varchar(80) not null,
        user_name varchar(80) not null,
        name varchar(80),
        gender int, /* 1 for male, 0 for female */
        work_school varchar(80),
        description text,
        phone varchar(20),
        address varchar(255),
        
        primary key (email)
    );
    
  • Token 表 token

    create table token
    (
        email varchar(80) not null,
        token_value varchar(32) not null,
        expire datetime not null,
        
        primary key (email, token_value, expire),
        foreign key (email) references user(email)
    );
    
  • 设备表 device

    create table device
    (
        device_id varchar(20) not null,
        class int not null, /* 0 for iot device, 1 for cloud computing device, 2 for database device, 3 for cloud storage device, 4 for satellite device */
        type varchar(255) not null, /* for example, 'ECS', 'GPU Cloud Host', 'Elastic High Energy Calculation' and so on */
        create_time datetime not null,
        device_name varchar(100),
        description text,
        
        primary key (device_id)
    );
    
    type 说明
    0-1 智能家居
    0-2 智能穿戴
    0-3 智能交通
    0-4 智慧城市
    0-5 环境监测
    1-1 弹性云主机ECS
    1-2 GPU云主机
    1-3 弹性高性能计算
    2-1 Oracle MySQL
    2-2 Microsoft SQL Server
    2-3 Redis
    2-4 分布式数据库Memcache
    3-1 对象存储
    3-2 云硬盘
    3-3 云备份
    4-1 通信卫星
    4-2 气象卫星
    4-3 侦察卫星
    4-4 导航卫星
  • 设备数据表 device_information

    create table device_information
    (
    	device_id varchar(20) not null,
        device_state boolean not null,
        device_value int not null,
        message text not null,
        longitude float not null,
    	latitude float not null,
        timestamp datetime not null,
        
        primary key (device_id, timestamp),
        foreign key (device_id) references device(device_id)
    );
    
  • 用户-设备拥有关系表 own

    create table own
    (
        email varchar(80) not null,
        device_id varchar(20) not null,
        
        primary key (email, device_id),
        foreign key (email) references user(email),
        foreign key (device_id) references device(device_id)
    );
    
  • 设备状态信息表 history

    create table history
    (
    	device_id varchar(20) not null,
        device_state boolean not null,
        message text not null,
        longitude float not null,
    	latitude float not null,
        timestamp datetime not null,
        
        primary key (device_id, timestamp),
        foreign key (device_id) references device(device_id)
    );
    
  • 用户反馈 reply

    create table reply
    (
    	reply_id int auto_increment not null,
        subject varchar(25),
        content varchar(105),
        submit_time datetime not null,
        
        primary key (reply_id)
    );
    
  • HTTP请求日志 log

    create table log
    (
    	log_id int auto_increment not null,
        timestamp datetime not null,
        request_url varchar(100) not null,
        method varchar(4) not null, /* get or post */
        front_data text, /* in json string */
        back_data text, /* in json string */
        operation varchar(100), /* the opeartion of the http request */
        
        primary key (log_id)
    );
    
本文章来源于互联网,如有侵权,请联系删除!原文地址:物联网应用网站数据库设计

相关推荐: EMQX助力企业快速构建物联网平台与应用

EMQX 是一款云原生分布式物联网接入平台,通过一体化的分布式 MQTT 消息服务和强大的 IoT 规则引擎,为高可靠、高性能的物联网实时数据移动、处理和集成提供动力,「随处运行,无限连接,任意集成」,助力企业快速构建关键业务的 IoT 平台与应用。 EMQX…