jianghujs数据库设计

简介

jianghujs数据库是一种管理数据存储和访问的应用程序。

数据库是用于存储和管理数据的软件,其可以提供数据的可靠性、安全性、可扩展性和方便性等方面的优势。通过数据库,网站和应用程序可以快速地存储和检索数据,也能够更容易地对数据进行管理和处理。在网站和应用程序的开发、运营和维护过程中,数据库通常是至关重要的一部分。

jianghujs数据库提供了友好易用的数据库管理界面,其中包括创建数据库、创建表格、添加数据、查询数据、备份和还原数据等基本数据库操作。

学习目标

  • 了解 jianghujs 数据设计理念
  • 学习基础系统表分布、业务字段

1. 表基础字段

  • id : 这是自增的主键,用来唯一标识每个记录
  • operation : 操作类型,可以是插入(insert),更新(update),jhInsert,jhUpdate,jhDelete,jhRestore
  • operationByUserId : 操作者的用户ID
  • operationByUser : 操作者的用户名
  • operationAt : 操作发生的时间,格式为 "2021-05-28T10:24:54+08:00"

2. 基础表(必须)

  • _page: 页面配置
  • _resource: 页面内的请求
  • _user: 用户
  • _user_session: 用户登录会话
  • _group: 群组
  • _role: 角色
  • _user_group_role: 用户群组
  • _user_group_role_page: 页面权限配置
  • _user_group_role_resource: 请求权限配置
  • ————————————多应用 之 user_app_mamagement—————————————-
  • _app: 应用表
  • _user_app: 用户应用权限配置

3. 工具表(非必须)

  • _cache: 缓存
  • _record_history: 数据历史
  • _constant_ui: 国际化页面常量表
  • access_control_介绍x:xxx业务表的权限配置表。

4. 基础View

  • _view01_user: 用户信息View;在登录时使用(主要考虑到多应用场景用户登录并不是用_user)
  • ————————————多应用—————————————-
  • _view02_user_app: 用户app权限表; 鉴定app权限时使用

作业

  • 新建一个 student 表,表里要包含基础字段
  • 新建一个student的view表,要遵循view命名规范

常见问题

  • 数据库报错this is incompatible with sql_mode=only_full_group_by
    1. Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'jianghujs_server_render.category.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
    • 解决办法: 在终端或者navicat查询界面执行以下sql
      1. set @@global.sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'