研究了一下BBlog的数据库设计,给我了些启发,不过PHP程序和Flex多少还是有区别.
比如,php可以直接引用数据库数据,随时查询随时使用,而Flex程序要靠AMFPHP中介控制数据库,这样,很多数据解析处理工作放在了客户端.
研究BB的文档之前我还没有一个明确的思路,但是刚刚突然想到了几个关键的问题,只要针对这些特点就能设计好相对科学的数据库.
首先,Flex的内存回收机制是”无法预测”的,那么需要尽量模块化,尽量在组件内部使用相对固定的对象,和引用.也就是独立化.那么,数据库应该根据View层出现的各个组件来设计,比如:
首页需要一个计数器,计数器会单独使用一些统计数据,比如网站总浏览量,网站文章数量,今日访问数量等等,那么针对这个组件就独立设计一个计数器表,对外的联系使用外部表项目的唯一ID.这样一个相对独立的计数器组件系统就完整了,基本和其他功能脱偶.
如何构建一个适合AMFPHP结合Flex的数据库呢?
我认为,应该先勾画出View层,也就是用户界面,把各个组件的分工明确化,独立化,然后根据各个组件需要的数据库数据设计各个相对对应的数据库表.
当然,不可能完全做到一个表服务于一个组件,因为关系数据库的数据基本上都会有些联系和互相依赖.
比如,文章Product的类别名称,在Product表中仅仅保存了一个CategoryID,这样,读取Product的时候就必须搜集Category分类表中的分类名称信息.而Category表更侧重于服务ProductCategory列表这个View层的组件…
那么,如何处理这样的情况呢?
之前,我考虑直接使用文本类型保存分类信息到Product表中,避免需要读取分类表,而需要用到分类列表的时候直接发出文本类型的查询.唯一的要求就是全局使用UTF-8保存数据.
另外,对于时间的保存问题.
虽然AS3可以解析标准UNIX时间戳格式,但是很麻烦,需要用5个以上函数加在一起才能还原可读的格式…
所以我决定直接使用NOW()保存可读格式,客户端当成文本使用.而且,把创作Product时间设为NOW()之后,基本上不会再update这个数据了,而修改时间使用Mysql的另一个保存格式,自动更新每次修改Product表的时间.这样大家都不用直接操作时间这方面的东西了.可以满足基本的需要.
对于某些常量的规定,我不想用笔写下来在客户端规定,而是用数据库专门创建几个表来保存这些数据,比如:
Products如何显示的几个常量,”置顶”,”不置顶”,”展开”,”收缩”等,这样一来,甚至可以做到客户端可以自定义这些常量名称,或者修改其显示方式.
对于缓存表的作用我还没有明白,为什么需要一个缓存表呢?
好像mysql会自动排序请求,一个接一个的完成查询啊.就算是计数器也是读取一次插入一次而已.
好了,明天开始设计客户端界面组件,一切都已经准备好了,我的新网站就要开始了.
相关推荐
数据库设计在软件工程中扮演着至关重要的角色,它与软件生命周期和不同的开发模型紧密相连。软件生命周期是指软件从构思到退役的整个过程,包括多个阶段,如可行性研究、需求分析、设计、实现、测试和维护。数据库...
总之,一个良好的电子商务网站数据库设计不仅需要考虑业务需求,还要兼顾系统性能和数据安全。通过合理的逻辑设计和物理设计,可以构建一个高效、稳定且易于扩展的数据库系统,为电子商务网站的运营提供坚实的基础。
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
数据库设计基础是软件工程领域中一个至关重要的主题,它涵盖了数据管理的核心理论和技术,对于确保数据的高效存储、检索和管理至关重要。以下是基于标题“数据库设计基础”和描述中的核心知识点的深入解析: ### ...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
火车票售票系统数据库设计是构建一个高效、稳定且安全的铁路交通信息管理平台的关键环节。在设计这样的系统时,我们需要考虑各种数据实体及其相互关系,确保数据的一致性、完整性和可访问性。以下是根据标题、描述和...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...
网站总体规划方案与数据库设计是构建高效、用户友好且功能丰富的在线平台的关键步骤。这份文档将深入探讨这个过程,包括从初期的项目启动到最终的数据库实施。 1. 引言: 在开发任何网站之前,首先需要一个清晰的...
本文档《基于Visio的Geodatabase数据库设计.pdf》是关于如何使用Microsoft Visio这一流行且功能全面的绘图工具来设计和构建Geodatabase数据库的教程或指南。文档的标题表明其主要关注点是在Visio环境下对Geodatabase...
本资源合集涵盖了丰富多样的数据库课程设计实例,旨在为广大学习者提供全面而实用的参考,帮助您深入理解数据库设计的原理与实践。 无论您是数据库初学者,还是正在寻求提升数据库设计能力的进阶学习者,这里都有您...