赞
踩
本文的核心内容:记录积累一些库表设计方案与技巧
数据库实体与实体间的对应关系
1)数据库表的菜单【分类】设计:如省市关联、图书的一、二级分类。
2)数据库表设计之树形结构的表
3)表的简化方案(特定情况,例如,用户触发过的场景记录表)
4)数据库表设计之购物车,利用Session暂时存储购物车信息。
一对一
一对一,一般用于对主表的补充。假设A表为用户信息表,存储了用户的姓名、性别、年龄等基本信息。用户的家庭住址信息也属于用户的基本信息。我们可以选择将用户的家庭住址信息放到用户信息表,也可以单独建一张表,存储用户的家庭住址信息,以用户信息表的主键作为关联。
需不需要拆分取决:表信息的关联程度、表的字段个数限度。
一对多
一对多,是最常见的一种设计。就是 A 表的一条记录,对应 B 表的多条记录,且 A 的主键作为 B 表的外键。举几个 例子:
多对多
构建一张关系表将两张表进行关联,形成多对多的形式。例如:
- --教师表
-
- CREATE TABLE #Teacher(TeacherId int, Name nvarchar(20));
-
- INSERT INTO #Teacher VALUES(1, '张老师'), (2, '王老师');
-
- --学生表
-
- CREATE TABLE #Student(StudentId int, Name nvarchar(20));
-
- INSERT INTO #Student VALUES(1, '小张'), (2, '小赵');
-
- --老师学生关系表
- CREATE TABLE #Teacher_Student(StudentId int, TeacherId int);
-
- INSERT INTO #Teacher_Student VALUES(1, 1), (1, 2),(2, 1), (2, 2);
BookType 一级分类: 少儿、外语、计算机
BookClass 二级分类: 少儿[0-2岁、3-6岁、7-10岁、11-14岁、儿童文学]
外语[英语、日语、韩语、俄语、德语]
计算机[计算机理论、计算机考试、数据库、人工智能、程序设计]
BookInf 图书详情 : 图书信息的详细字段。。。
基于以上关系:我们建表有两种方法
①:建立三张表 一级分类表,二级分类表、图书详情表
一级分类ID->作为二级分类的外键
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。