jianghujs数据库设计
简介
jianghujs数据库是一种管理数据存储和访问的应用程序。
数据库是用于存储和管理数据的软件,其可以提供数据的可靠性、安全性、可扩展性和方便性等方面的优势。通过数据库,网站和应用程序可以快速地存储和检索数据,也能够更容易地对数据进行管理和处理。在网站和应用程序的开发、运营和维护过程中,数据库通常是至关重要的一部分。
jianghujs数据库提供了友好易用的数据库管理界面,其中包括创建数据库、创建表格、添加数据、查询数据、备份和还原数据等基本数据库操作。
学习目标
- 了解 jianghujs 数据设计理念
- 学习基础系统表分布、业务字段
1. 表基础字段
id
: 这是自增的主键,用来唯一标识每个记录operation
: 操作类型,可以是插入(insert),更新(update),jhInsert,jhUpdate,jhDelete,jhRestoreoperationByUserId
: 操作者的用户IDoperationByUser
: 操作者的用户名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
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
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'