电子商务应用中商品的数据结构设计(二)商品目录中商品类目数据结构
商品类目用于确定商户添加的某种商品是什么类型的,具有哪些特定的销售属性、描述属性或者关键属性,系统在获取一个商品的完整数据前,需要先读取其所属的类型数据,根据类型数据再从数据库中获取其有哪些数据属性。
数据结构
-- Table: catalog_category
-- DROP TABLE catalog_category;
CREATE TABLE catalog_category
(
id serial NOT NULL, -- ID
uuid uuid NOT NULL, -- 全局唯一标识
parent_id integer NOT NULL DEFAULT 0, -- 父级ID
location character varying(255) NOT NULL DEFAULT '0'::character varying, -- 位置,若为顶级类型,则为 0,否则路径为通过 '/' 连接上级类型的路径与上级的ID而成的字符串,比如ID为 1 的类型的路径为 0,它有一个子分类ID为2,那么子分类2的路径就为 0/1,若该子分类还有一个ID为3的子分类,那么3的位置即为:0/1/2
name character varying(32) NOT NULL, -- 类型名称
description character varying(255) DEFAULT ''::character varying, -- 介绍说明
icon character varying(255) DEFAULT ''::character varying, -- 图标,直接填写图标名称即可
cover character varying(255) DEFAULT ''::character varying, -- 类型封面图片,图片的URI地址,
is_parent boolean NOT NULL DEFAULT false, -- 是否为父级分类,若分类有下级分类,则该值为 true,否则为 false,默认为 false。
is_editable boolean NOT NULL DEFAULT true, -- 是否可编辑
is_usable boolean NOT NULL DEFAULT true, -- 是否可用
create_time timestamp with time zone, -- 创建时间
update_time timestamp with time zone, -- 最后更新时间
CONSTRAINT catalog_category_pkey PRIMARY KEY (id),
CONSTRAINT catalog_category_parent_id_fkey FOREIGN KEY (parent_id)
REFERENCES catalog_category (id) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT catalog_category_name_key UNIQUE (name)
)
WITH (
OIDS=FALSE
);
ALTER TABLE catalog_category
OWNER TO postgres;
COMMENT ON TABLE catalog_category
IS '商品类型';
COMMENT ON COLUMN catalog_category.id IS 'ID';
COMMENT ON COLUMN catalog_category.uuid IS '全局唯一标识';
COMMENT ON COLUMN catalog_category.parent_id IS '父级ID';
COMMENT ON COLUMN catalog_category.location IS '位置,若为顶级类型,则为 0,否则路径为通过 ''/'' 连接上级类型的路径与上级的ID而成的字符串,比如ID为 1 的类型的路径为 0,它有一个子分类ID为2,那么子分类2的路径就为 0/1,若该子分类还有一个ID为3的子分类,那么3的位置即为:0/1/2';
COMMENT ON COLUMN catalog_category.name IS '类型名称';
COMMENT ON COLUMN catalog_category.description IS '介绍说明';
COMMENT ON COLUMN catalog_category.icon IS '图标,直接填写图标名称即可';
COMMENT ON COLUMN catalog_category.cover IS '类型封面图片,图片的URI地址,';
COMMENT ON COLUMN catalog_category.is_parent IS '是否为父级分类,若分类有下级分类,则该值为 true,否则为 false,默认为 false。';
COMMENT ON COLUMN catalog_category.is_editable IS '是否可编辑';
COMMENT ON COLUMN catalog_category.is_usable IS '是否可用';
COMMENT ON COLUMN catalog_category.create_time IS '创建时间';
COMMENT ON COLUMN catalog_category.update_time IS '最后更新时间';
字段说明
uuid: 全局唯一标识,在系统中暂时没有任何用处,只为备用parent_id: 对应系统类型CatalogCategory中的parentId,关键至catalog_category表中的id字段,用于指定类型的父类型;location: 记录当前类目在类目树中的位置,它是以/符号连接的所有父级分类的ID串,若为顶级类型,则为 0,否则路径为通过 ''/'' 连接上级类型的路径与上级的ID而成的字符串,比如ID为 1 的类型的路径为 0,它有一个子分类ID为2,那么子分类2的路径就为 0/1,若该子分类还有一个ID为3的子分类,那么3的位置即为:0/1/2;name:类目的名称description:类目的介绍icon:用于指定类目的图标cover:类目的封面图片地址is_parent:是否为父级类目,若有一个或者多个类目将parent_id设置为类目的ID,则这个类目parent_id所指定的类目的is_parent属性即为true,否则为falseis_usable:这是系统级的属性,用于确定某一个类目是否可用,若某一个类目的is_usable属性为false,则该类目下面的所有子类目均不可用,因系统的开发过程中,需要考虑到此项。create_time:类目的创建时间update_time:类目信息最后更新时间
评论已关闭