本文的核心内容:数据库表的关联设计:如省市关联、图书的一、二级分类。
数据库库表设计对于一个软件系统的设计相当重要,这部分知识需要长时间和项目的积累。因为,我的梦想不止CURD!!!Maps在博客写下积累,以供学习和参考。
BookType 一级分类: 少儿、外语、计算机
BookClass 二级分类: 少儿[0-2岁、3-6岁、7-10岁、11-14岁、儿童文学]
外语[英语、日语、韩语、俄语、德语]
计算机[计算机理论、计算机考试、数据库、人工智能、程序设计]
BookInf 图书详情 : 图书信息的详细字段。。。
基于以上关系:我们建表有两种方法
①:建立三张表 一级分类表,二级分类表、图书详情表
一级分类ID->作为二级分类的外键
二级分类ID->作为图书详情的外键
这一种依赖外键,实体模型也比较简单。(不再过多描述)
查询语句:可以采用 left join on 或者 等值连接 将二级分类的外键与一级分类的主键等值连接即可查询。
②:建立两张表 一级分类和二级分类合并成一张表
图书详情表(引用TypeID为外键)
TypeID 指一级二级分类的ID(唯一标识、主键) 序列自增从1开始。
TypeName 指一级二级分类的名字
ParentID 指二级分类所属一级分类TypeID (若为一级分类则填”0”与二级分类加以区分)
countNumber 指一级图书包含二级图书的个数
二级分类所包含详细图书的个数
数据库查询一级分类信息的SQL
select typeid,typename,parentid,countnumber from t_booktype where parentid='0'
数据查询二级分类信息(利用表的自连接)
select child.typeid,child.typename, child.parentid,child.countnumber from t_booktype child ,t_booktype parent where child.parentid=parent.typeid
下一篇库表设计:电商系统必涉及的购物车模块的库表设计