数据库设计系列之三

一步一个脚印,坚持 一步一个脚印,坚持     2022-08-06     713

关键词:

一、为什么要进行需求分析?

1、了解系统中所需要存储的数据

2、了解数据的存储特点

3、了解数据的生命周期

二、要搞清楚的一些问题

1、实体及实体之间的关系(1对1,1对多,多对多)

2、实体所包含的属性有什么?

3、哪些属性或属性的组合可以唯一标识一个实体

需求分析实例

实例演示:

以一个小型的电子商务网站为例,在这个电子商务网站的系统中包括了几个核心的模块:

用户模块、商品模块、订单模块、购物车模块、供应商模块

 

实例演示--用户模块

用于记录注册用户信息

包括属性:用户名、密码、电话、邮箱、身份证号、地址、姓名、昵称。。

可选唯一标识属性:用户名、身份证、电话

存储特点:随着系统上线时间的逐渐增加,需要永久存储

 

实例演示--商品模块

用于记录网站中所销售的商品信息

包括属性:商品编码、商品名称、商品描述、商品品类、供应商名称、重量、有效期、价格。。

可选唯一标识号:商品名称、供应商名称、商品编码

存储特点:对于下线商品可以归档存储

 

实例演示--订单模块

用于用户订购商品的信息

包括属性:订单号、用户姓名、用户电话、收货地址、商品编号、商品名称、数量、价格、订单状态、支付状态、订单类型。。

可选唯一标识号:订单号

存储特点:永久存储(分表,分库存储)

 

实例演示--购物车模块

用于保存用户购物时选对的商品

包括属性:用户姓名、商品编号、商品名称、数量、价格、商品分类、加入时间。。

可选唯一标志号:用户名、商品编号,加入时间,购物车编号

 存储特点:不用就存储(设置归档,清理规则)

技术分享

 技术分享

 

petshop数据访问层之消息处理-《解剖petshop》系列之三

...张逸的博客 三、PetShop数据访问层之消息处理在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量、数据流... 查看详情

轻松精通数据库管理之道——运维巡检之三(结构设计)

前言  做好日常巡检是数据库管理和维护的重要步骤,而且需要对每次巡检日期、结果进行登记,同时可能需要出一份巡检报告。  本系列旨在解决一些常见的困扰:不知道巡检哪些东西不知道怎么样便捷体检机器太多体检... 查看详情

qt系列文章之三十五(自定义组件)

...ery自定义Widget组件的使用动态效果图demo下载前言  当UI设计器提供的界面组件不满足实际设计需求时,可以从QWidget继承自定义界面组件。有两种方法使用自定义界面组件,一种是提升法(promotion),例如前面有一个demo中QGraphicsView... 查看详情

qt系列文章之三十九(qt多语言国际化程序实例设计实现)

关注我的公众号,可免费看全本Qt系列文章~文章目录概述tr()函数的使用生成语言翻译文件使用QtLinguist翻译ts文件调用翻译文件改变界面语言生成qm文件项目启动时设置界面语言动态切换语言效果图demo获取概述  有些软件需要... 查看详情

qt系列文章之三十九(qt多语言国际化程序实例设计实现)

关注我的公众号,可免费看全本Qt系列文章~文章目录概述tr()函数的使用生成语言翻译文件使用QtLinguist翻译ts文件调用翻译文件改变界面语言生成qm文件项目启动时设置界面语言动态切换语言效果图demo获取概述  有些软件需要... 查看详情

qt系列文章之三十五(自定义组件)

...欢迎关注我的公众号,有更多惊喜等着你!前言  当UI设计器提供的界面组件不满足实际设计需求时,可以从QWidget继承自定义界面组件。有两种方法使用自定义界面组件,一种是提升法(promotion),例如前面有一个demo中QGraphicsView... 查看详情

soc嵌入式软件架构设计之三:代码分块(bank)设计原则

...制器系列、ARMcortexm系列)上实现虚拟内存管理的集成硬件设计方法。新设计的内存管理管理单元要实现虚拟内存管理还须要操作系统、代码分块(Bank)的支持。详见SoC嵌入式软件架构设计之二:没有MMU的CPU实现虚拟内存管理的设计... 查看详情

cpu之三杂项知识

1.CPU参数方面,i3-7100处理器基于原生双核四线程设计,默认主频高达3.9Ghz,拥有3M三级缓存,支持更高的DDR42400频率的内存,最佳搭配新一代200系列主板,并且依旧兼容六代100系列主板,对于新装机用户来说,首选主流级B250主板... 查看详情

缓存系列之三:redis安装及基本数据类型命令使用

一:Redis是一个开源的key-value存储系统。与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串、哈希表、链表、集合、有序集合以及基于这些数据类型的相关操作。Redis使用C语言开发,在大多数像Linux、... 查看详情

大数据学习系列之三-----hbasejavaapi图文详解(代码片段)

引言在上一篇中大数据学习系列之二-----HBase环境搭建(单机)中,成功搭建了Hadoop+HBase的环境,本文则主要讲述使用Java对HBase的一些操作。一、事前准备1.确认hadoop和hbase成功启动2.确认防火墙是否关闭3.maven所需要的依赖架包<!--h... 查看详情

java并发编程系列之三juc概述

...框架的所有内容,而是站在一定的高度下,了解Juc下包的设计与实现。一、LOCK锁概述实现同步的另外一种方式 查看详情

数据库面试系列之三:慢查询以及慢查询的优化

什么是慢查询?查询的执行时间大于mysql系统设置的指定时间(long_query_time)的话,该查询就叫做慢查询,会被记录到慢查询日志文件里面。  记录慢查询日志的设置是关闭,需要开启之后才可以记录慢查询setglobalslow_query_l... 查看详情

java并发编程系列之三juc概述

...框架的所有内容,而是站在一定的高度下,了解Juc下包的设计与实现。一、LOCK锁概述实现同步的另外一种方式是Lock锁。Lock锁是一个接口,其所有的实现类为:ReentrantLock(可重入锁)Reentra 查看详情

qt系列文章之三十三(基于qthread的信号量的线程同步)

...章目录前言信号量的原理双缓冲区数据采集和读取线程类设计线程实例信号量的使用效果图前言  本章将是QThread中最后一个有关同步的方法介绍了,可能很少有人会用到使用信号量,不过了解该机制也是不错的,下面看我的... 查看详情

qt系列文章之三十三(基于qthread的信号量的线程同步)

...章目录前言信号量的原理双缓冲区数据采集和读取线程类设计线程实例信号量的使用效果图前言  本章将是QThread中最后一个有关同步的方法介绍了,可能很少有人会用到使用信号量,不过了解该机制也是不错的,下面看我的... 查看详情

tcp/ip网络编程系列之三(初级)

TCP/IP网络编程系列之三-地址族与数据序列分配给套接字的IP地址和端口  IP是InternetProtocol(网络协议)的简写,是为首发网络数据而分配给计算机的值。端口号并非赋予计算机值,而是为了区分程序中创建的套接字而分配给套接... 查看详情

数据库设计之三范式

数据库设计之三范式数据库设计之三范式1.数据库设计之三范式的介绍2.第一范式的介绍3.第二范式的介绍4.第三范式的介绍5.E-R模型的介绍5.小结数据库设计之三范式1.数据库设计之三范式的介绍范式:对设计数据库提出的一些规范... 查看详情

《js高级程序设计》之三

1、JS中==和==的区别  ==可以进行类型的转化,把true转换为1,即为"1"==1;  ===严格比较,只要类型不匹配就返回false。 2、基础类型在内存中的表示,基本数据类型的值在传递过程中互不影响。  varnum1=5;varnum2=num1;3、复杂... 查看详情