我不是MySQL的专业人士,但想要做一些像关系型MySQL表格之上的对象层。更好的方法来做MySQL对象层
我想有很多“结构”,只有7个表中存储了类型为“bigint”,“longtext”,“datetime”,“double”的字段。
entity_types(et_id,et_name) - “structures”的列表;
entity_types_fields(etf_id,parent_et_id,.....,etf_ident,etf_type) - 存储在所有结构的一个表中的结构属性列表; etf_type包含int值(0,1,2,3),它引用下面描述的4个表中的一个。
实体(E_ID,et_id) - 所有可用的实体的列表(实体的ID和类别ID)
和4的数据表(包含实体的所有数据) -
entities_props_bigint(parent_e_id ,parent_etf_id,ep_data) - 用于BIGINT数据属性 entities_props_longtext(parent_e_id,parent_etf_id,ep_data) - 用于LONGTEXT数据属性 entities_props_datetime(parent_e_id, parent_etf_id,ep_data) - 为DATETIME数据性能 entities_props_double(parent_e_id,parent_etf_id,ep_data) - 双数据性能
什么,从这些数据层做选择的最佳方式?
让我有e_id(实体的id)列表,每个实体可以有任何类型。我想获得预定义的属性列表。如果有些实体没有这样的属性,我想让它等于NULL。
你有关于如何做的一些信息?可能是你有一些链接或已经处理这样的事情。
谢谢!
我应该解释一下。 – Epsiloncool
我应该解释一下。以一种常见的方式,我必须为任何类型的实体提取数据。例如,我有一组可以组合到树中的实体。每个实体都有“parent_id”属性和“title”属性,但是不同的类型。所以它不能被放置在同一个关系结构中(例如普通的MySQL表)。你明白吗 ? 当我需要一个相关类型实体的“关系”表时,我需要只获取一个实体和任务。但是我想要对所描述的模型有一定的灵活性。 – Epsiloncool
**查询设计的唯一可扩展方式是将属性数据和元数据作为行获取,并在应用程序代码中重建对象。**是的,我认为是这样。但我无法为其构建适当的查询。 – Epsiloncool