数据库-库表设计 【分享一些库表设计经验】

本文的核心内容:记录积累一些库表设计方案与技巧

数据库实体与实体间的对应关系

1)数据库表的菜单【分类】设计:如省市关联、图书的一、二级分类。

2)数据库表设计之树形结构的表

3)表的简化方案(特定情况,例如,用户触发过的场景记录表)

4)数据库表设计之购物车,利用Session暂时存储购物车信息。


实体与实体间的对应关系

一对一

一对一,一般用于对主表的补充。假设A表为用户信息表,存储了用户的姓名、性别、年龄等基本信息。用户的家庭住址信息也属于用户的基本信息。我们可以选择将用户的家庭住址信息放到用户信息表,也可以单独建一张表,存储用户的家庭住址信息,以用户信息表的主键作为关联。

需不需要拆分取决:表信息的关联程度、表的字段个数限度。

一对多

一对多,是最常见的一种设计。就是 A 表的一条记录,对应 B 表的多条记录,且 A 的主键作为 B 表的外键。举几个  例子:

    1. 班级表 与 学生表,一个班级对应多个学生,或者多个学生对应一个班级。
    2. 角色表 与 用户表,一个角色对应多个用户,或者多个用户对应一个角色。
    1. 商品表 与 图片表,一个商品对应多张图片,或者多张图片对应一个商品。

多对多

构建一张关系表将两张表进行关联,形成多对多的形式。例如:

    1. 老师表、学生表;一个学生可以选修多个老师的课程、同时一个老师也可以教多个学生。
--教师表

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->作为二级分类的外键

  • 39
    点赞
  • 270
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
- 在 Clock Configuration 标签页中,选择 TIM2 时钟频率为 72 MHz。 - 在 Middleware 标签页常见的数据库设计工具包括: 1. ERWin:一款功能强大的数据库设计工具,支持多中,启用 HAL 和 DMA。 - 在 Project Manager 标签页中,选择 Keil 或者 IAR 作为 IDE种数据库平台,包括 Oracle、SQL Server、MySQL 等。 2. PowerDesigner:一款功能强大的建模工,并为您的项目命名。 然后,您可以使用以下程序来进行测距: ```c #include "stm32f具,可以帮助用户设计和管理各种类型的数据库。 3. Navicat:一款跨平台的数据库管理1xx_hal.h" TIM_HandleTypeDef htim2; DMA_HandleTypeDef hdma_tim2; void SystemClock_Config(void); static void MX_GPIO工具,支持多种数据库平台,包括 MySQL、Oracle、SQL Server 等。 4. MySQL Workbench:一款_Init(void); static void MX_TIM2_Init(void); static void MX_DMA_Init(void); uint32_t pulse_start = 0; uint32针对 MySQL 数据库设计和管理工具,提供数据库建模和设计、SQL 开发、数据库管理等功能。 _t pulse_end = 0; uint32_t pulse_duration = 0; float distance = 0; int main(void) { HAL5. Toad Data Modeler:一款功能强大的数据库设计工具,支持多种数据库平台,包括_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_DMA_Init(); MX_TIM2_Init(); HAL_TIM_Base_Start(& Oracle、SQL Server、MySQL 等。 这些工具可以帮助用户快速设计和管理数据库,提高工作效率。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值