数据库-简单库表设计一

本文的核心内容:数据库表的关联设计:如省市关联、图书的一、二级分类。


数据库库表设计对于一个软件系统的设计相当重要,这部分知识需要长时间和项目的积累。因为,我的梦想不止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

下一篇库表设计:电商系统必涉及的购物车模块的库表设计


猜你喜欢

转载自blog.csdn.net/sugar_map/article/details/80384780