请问下报表形式的数据,数据库表要怎么设计呢

白白了白呀白 2019-04-23 11:19:05
需求是在web页面上做表格的编辑,可以添加删除一行,也可以在这个一行里在添加一个子行。然后添加完需要的表格后最后点击保存按钮。这种数据表该如何设计比较好呢,因为可能每行的表格样式都不一样。我之前是把这整个表格分成多个表格对象做关联,但是感觉这样不是和合理也比较麻烦,不知道这块是否有比较好的资料可以学习一下
...全文
3056 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
nayi_224 2019-04-28
  • 打赏
  • 举报
回复
引用 25 楼 qq389203946 的回复:
[quote=引用 7 楼 nayi_224 的回复:] 怎么设计取决于你要怎么用这张表。如果只是用作展示,直接把html代码存进数据库或者硬盘上都行。如果你要用这里面的数据做些其他事情,比如获取指标的权重来与其他数据表做关联,就只能用传统的表设计了。具体要根据你的实际业务去设计表。 至于你说的样式问题,这是你100%不需要考虑的。至少不会把样式直接存在数据库里。
我如果把前端的报表用json字符串保存进数据库,之后如果老板突然要求要做导入导出的话,是不是不好整。主要是excel格式可能不好判断,前端设置的可能有合并单元格之类的,不像一行一条数据那样[/quote] 相当不好整。前端花1分钟调整下样式,你可能要花1个小时去调整解析页面的方法。 如果有除了展示以外的功能,建议你只管好好设计表,把必要的数据传出去。至于怎么展示,交给前端处理。
白白了白呀白 2019-04-28
  • 打赏
  • 举报
回复
引用 7 楼 nayi_224 的回复:
怎么设计取决于你要怎么用这张表。如果只是用作展示,直接把html代码存进数据库或者硬盘上都行。如果你要用这里面的数据做些其他事情,比如获取指标的权重来与其他数据表做关联,就只能用传统的表设计了。具体要根据你的实际业务去设计表。 至于你说的样式问题,这是你100%不需要考虑的。至少不会把样式直接存在数据库里。
我如果把前端的报表用json字符串保存进数据库,之后如果老板突然要求要做导入导出的话,是不是不好整。主要是excel格式可能不好判断,前端设置的可能有合并单元格之类的,不像一行一条数据那样
白白了白呀白 2019-04-28
  • 打赏
  • 举报
回复
引用 23 楼 LCL_data 的回复:
[quote=引用 22 楼 getdate 的回复:] [quote=引用 13 楼 LCL_data 的回复:] 如果是mysql 的数据库,可以用varchar来存储html脚本的
个人认为,如果是mysql ,且存储html内容,还是建议用:text 数据类型比较好.[/quote] 这个看数据量大小了[/quote]请问下如果我直接把页面报表的内容让前端转成一个json字符串我保存后,之后如果老板突然要求要有导出功能,我能把这个json数据转成excel导出吗?关键是excel表格的样式不固定 我后台好像没法判断,有些单元格是合并的有些不是
nayi_224 2019-04-28
  • 打赏
  • 举报
回复
引用 27 楼 qq389203946 的回复:
[quote=引用 26 楼 nayi_224 的回复:] [quote=引用 25 楼 qq389203946 的回复:] [quote=引用 7 楼 nayi_224 的回复:] 怎么设计取决于你要怎么用这张表。如果只是用作展示,直接把html代码存进数据库或者硬盘上都行。如果你要用这里面的数据做些其他事情,比如获取指标的权重来与其他数据表做关联,就只能用传统的表设计了。具体要根据你的实际业务去设计表。 至于你说的样式问题,这是你100%不需要考虑的。至少不会把样式直接存在数据库里。
我如果把前端的报表用json字符串保存进数据库,之后如果老板突然要求要做导入导出的话,是不是不好整。主要是excel格式可能不好判断,前端设置的可能有合并单元格之类的,不像一行一条数据那样[/quote] 相当不好整。前端花1分钟调整下样式,你可能要花1个小时去调整解析页面的方法。 如果有除了展示以外的功能,建议你只管好好设计表,把必要的数据传出去。至于怎么展示,交给前端处理。[/quote]那这种相对复杂的报表对应数据表该怎么设计呢,我之前是比如一个合并的单元格后面有多行子行,我是把合并的单元格做一个表对象,然后后面的子行去关联它,但是感觉这样不合理,而且表可能会有很多张[/quote] 拿1、2、4列举个例子吧 只要传出这样的数据就够了
with tab1 as (
select 'kaohe' col1, 1 ord, 'a-----' detail, 1 detail_type from dual union all
select 'kaohe' col1, 2 ord, 'a-----', 1 from dual union all
select 'kaohe' col1, 3 ord, 'a-----', 2 from dual union all
select 'dingxingkaohe' col1, 4 ord, 'a-----', 2 from dual union all
select 'dingxingkaohe' col1, 5 ord, 'a-----', 2 from dual 
)
select t1.col1,
       row_number() over(partition by t1.col1 order by ord) rn,
       count(1) over(partition by t1.col1 order by ord) cn,
       t1.detail,
       t1.detail_type
  from tab1 t1
 order by t1.ord
;
前端通过rn==1来判断是否输出td,并且以cn为rowspan去合并单元格。第四列只有两种格式,普通的td与带有去边框、滚动条的textarea的td,具体是哪个通过detail_type判断。
白白了白呀白 2019-04-28
  • 打赏
  • 举报
回复
引用 26 楼 nayi_224 的回复:
[quote=引用 25 楼 qq389203946 的回复:] [quote=引用 7 楼 nayi_224 的回复:] 怎么设计取决于你要怎么用这张表。如果只是用作展示,直接把html代码存进数据库或者硬盘上都行。如果你要用这里面的数据做些其他事情,比如获取指标的权重来与其他数据表做关联,就只能用传统的表设计了。具体要根据你的实际业务去设计表。 至于你说的样式问题,这是你100%不需要考虑的。至少不会把样式直接存在数据库里。
我如果把前端的报表用json字符串保存进数据库,之后如果老板突然要求要做导入导出的话,是不是不好整。主要是excel格式可能不好判断,前端设置的可能有合并单元格之类的,不像一行一条数据那样[/quote] 相当不好整。前端花1分钟调整下样式,你可能要花1个小时去调整解析页面的方法。 如果有除了展示以外的功能,建议你只管好好设计表,把必要的数据传出去。至于怎么展示,交给前端处理。[/quote]那这种相对复杂的报表对应数据表该怎么设计呢,我之前是比如一个合并的单元格后面有多行子行,我是把合并的单元格做一个表对象,然后后面的子行去关联它,但是感觉这样不合理,而且表可能会有很多张
十八道胡同 2019-04-25
  • 打赏
  • 举报
回复
引用 22 楼 getdate 的回复:
[quote=引用 13 楼 LCL_data 的回复:] 如果是mysql 的数据库,可以用varchar来存储html脚本的
个人认为,如果是mysql ,且存储html内容,还是建议用:text 数据类型比较好.[/quote] 这个看数据量大小了
getdate 2019-04-25
  • 打赏
  • 举报
回复
引用 13 楼 LCL_data 的回复:
如果是mysql 的数据库,可以用varchar来存储html脚本的
个人认为,如果是mysql ,且存储html内容,还是建议用:text 数据类型比较好.
小唯  2019-04-25
  • 打赏
  • 举报
回复
厉害啊,学习了
十八道胡同 2019-04-24
  • 打赏
  • 举报
回复
如果是mysql 的数据库,可以用varchar来存储html脚本的
sichuanwww 2019-04-24
  • 打赏
  • 举报
回复
MVC考虑一下
nayi_224 2019-04-24
  • 打赏
  • 举报
回复
怎么设计取决于你要怎么用这张表。如果只是用作展示,直接把html代码存进数据库或者硬盘上都行。如果你要用这里面的数据做些其他事情,比如获取指标的权重来与其他数据表做关联,就只能用传统的表设计了。具体要根据你的实际业务去设计表。 至于你说的样式问题,这是你100%不需要考虑的。至少不会把样式直接存在数据库里。
YuebingX 2019-04-24
  • 打赏
  • 举报
回复
学习学习了~~
勇敢牛牛_ 2019-04-24
  • 打赏
  • 举报
回复
这不是一个典型的列数据库嘛
mnbk123mnbk 2019-04-24
  • 打赏
  • 举报
回复

学习学习,了解一下,
weixin_ab 2019-04-24
  • 打赏
  • 举报
回复
学习学习,了解一下,
白白了白呀白 2019-04-23
  • 打赏
  • 举报
回复
引用 3 楼 LCL_data 的回复:
[quote=引用 2 楼 qq389203946 的回复:] [quote=引用 1 楼 LCL_data 的回复:] 表A记录表格的行的信息,比如记录 行A 序号是1,属于表格tableA,有无子行,改行的父行的序号是多少 表B记录序号为1的行A的样式信息 这样是不是清晰点
这样的话一张报表就不是会产生很多表的记录了,有没有什么办法一个报表我就作为一条记录,能否让前端棉编辑完这个报表后,直接把他的页面格式作为json传给我我直接保存到一个字段里就行,展示的话也按前端传给我的格式返给它,这样会不会方便点,而且报表可能会有很多内容这样多的话字段长度会不会不够,我把报表发你看下 [/quote] 其实是可以把前端的html 保存到数据库的某个字段里面的 这个方法也可以的。[/quote] 这种方式字段长度设置多少合适呢
十八道胡同 2019-04-23
  • 打赏
  • 举报
回复
引用 2 楼 qq389203946 的回复:
[quote=引用 1 楼 LCL_data 的回复:]
表A记录表格的行的信息,比如记录 行A 序号是1,属于表格tableA,有无子行,改行的父行的序号是多少
表B记录序号为1的行A的样式信息
这样是不是清晰点
这样的话一张报表就不是会产生很多表的记录了,有没有什么办法一个报表我就作为一条记录,能否让前端棉编辑完这个报表后,直接把他的页面格式作为json传给我我直接保存到一个字段里就行,展示的话也按前端传给我的格式返给它,这样会不会方便点,而且报表可能会有很多内容这样多的话字段长度会不会不够,我把报表发你看下
[/quote]


其实是可以把前端的html 保存到数据库的某个字段里面的

这个方法也可以的。
白白了白呀白 2019-04-23
  • 打赏
  • 举报
回复
引用 1 楼 LCL_data 的回复:
表A记录表格的行的信息,比如记录 行A 序号是1,属于表格tableA,有无子行,改行的父行的序号是多少 表B记录序号为1的行A的样式信息 这样是不是清晰点
这样的话一张报表就不是会产生很多表的记录了,有没有什么办法一个报表我就作为一条记录,能否让前端棉编辑完这个报表后,直接把他的页面格式作为json传给我我直接保存到一个字段里就行,展示的话也按前端传给我的格式返给它,这样会不会方便点,而且报表可能会有很多内容这样多的话字段长度会不会不够,我把报表发你看下
十八道胡同 2019-04-23
  • 打赏
  • 举报
回复
表A记录表格的行的信息,比如记录 行A 序号是1,属于表格tableA,有无子行,改行的父行的序号是多少
表B记录序号为1的行A的样式信息


这样是不是清晰点
酒店管理系统分为前台和后台两个部分,其中后台供管理员管理系统之用,包括客房类型设置模块、客房设置模块以及操作员设置三个子模块,具体的功能模块如下。 客房类型设置模块:该模块用来管理酒店的所有客房类型,包括新增客房类型、编辑已有客房类型、删除客房类型等功能。 客房设置模块:该模块用来管理酒店的所有客房信息,包括新增客房、编辑已有客房、删除客房等功能。 操作员设置模块:该模块用来管理酒店的操作员信息,包括新增操作员、编辑已有操作员信息、删除操作信息等功能。 系统前台供酒店所有工作人员使用,包括入住登记模块、结账模块、预定模块、客户管理模块以及业务统计五个模块。具体的功能模块如下。 入住登记模块:该模块用来登记客户的入住信息,其中入住信息包括登记信息、客人信息以及费用信息三部分。 结账模块:该模块用来处理客户的退房信息,只需要知道客户所住的房间号码,就能进行退房结账。 预定模块:该模块用来处理客户的预定信息,除了可以新增预定信息外,还可以对已有的预定信息进行管理。 客户管理模块:该模块用来管理客户的登记信息,包括新增客户信息、编译已有客户信息、删除客户信息等功能。 业务统计模块:该模块用来统计酒店的客房出租率,并且已图形报表形式来显示出租率信息。 本系统的开发工具具体如下。 系统开发平台:MyEclipse 6.5。 数据管理系统软件:MySQL 5.0。 java开发包:JDK 5.0以上。 Web服务器:Tomcat 6.0。 本系统采用MVC架构模式开发,具体技术如下。 AJAX框架:使用ExtJS技术开发 显示层:使用JSP技术开发 数据访问层:使用DAO模式开发 持久层:使用Hibernate框架开发 首页访问地址 :http://localhost:8080/JavaPrj_9/首页配置 页面 修改 打开web.xml 修改 即可 /WEB-INF/pages/userLogin.jsp 复制代码 数据配置 为hotel-hibernate.xml 文件 测试了将近2个小时 系统跑的还不错 一下小细节 bug 大家可以自己去调整下

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧