数据库设计(有实例)
1.概念
数据库设计就是根据业务系统的具体需求,结合我们所选用的DBMS(数据库管理系统),为这个业务系统构造出最优的数据存储模型。并建立数据库中的表结构以及表与表之间的关联关系的过程。使之能有效的对应用系统中的数据进行存储,并可以高效的对已存储的数据进行访问。
关系型数据库系统:MySQL;Oracle;SQLServer;PgSql
NoSQL系统:Mongo;Memcache;Redis
好的数据库:减少数据冗余;避免数据维护异常;节约存储结构;高效的访问
2.数据库设计的步骤:
- 需求分析(数据是什么;数据具有哪些属性;数据与属性的特点是什么)
- 逻辑分析(使用ER图对数据库进行逻辑建模,不需要考虑我们所选用的数据库管理系统)
- 物理设计(根据数据库自身的特点把逻辑设计转换为物理设计)
- 维护设计(1.对新的需求进行建表;2.索引优化;3.大表拆分)
2.1需求分析
了解系统中需要存储的数据;了解数据的存储特点;了解数据的生命周期
需要清楚的问题:
A.实体对实体之间的关系(1对1;1对多;多对多)
B.实体所包含的属性有什么
C.那些属性或属性的组合可以唯一标识一个实体
实例演示:
以一个小型的电子商务网站为例,在这个电子商务网站的系统中包括了几个核心模块:用户模块,商品模块,订单模块,购物车模块,供应商模块。
- 用户模块:用于记录注册用户信息
包括属性:用户名,密码,电话,邮箱,身份证号,地址,姓名,昵称.....
可唯一标识属性:用户名,身份证号,电话
存储特点:随系统上线时间的增长,需要永久存储
- 商品模块:用于记录网站中说销售的商品信息
包括属性:商品编码,商品名称,商品描述,商品品类,供货商名称,重量,有效期,价格......
可唯一标识属性:商品编码,(商品名称,供货商名称)
存储特点:对于下线商品可以归档存储(不能直接删除,可能跟订单有关)
- 订单模块:用于用户订购商品的信息
包括属性:订单号,用户姓名,用户电话,收货地址,商品编号,商品名称,数量,价格,订单状态,支付状态.....
可唯一标识属性:订单号
存储特点:永久存储(分表,分库存储)
- 购物车模块:用于保存用户购物时选的商品
包括属性:用户名,商品编号,商品名称,商品价格,加入时间,商品数量......
可唯一标识属性:(用户名,商品编号,加入时间),购物车编号
存储特点:不用永久存储(设置归档,清理规则)
- 供应商模块:用于保存供应商信息
包括属性:供应商编号,供应商名称,联系人,电话,营业执照,供应商品.....
可唯一标识属性:供应商编号,营业执照
存储特点:永久存储
ER图
逻辑设计:
1.将需求转化为数据库的逻辑模型
2.通过ER图的形式对逻辑模型进行展示
3.同所选用的具体的DBMS系统无关
常用的DBMS系统:
商业数据库:Oracle;SQLServer------->两种数据库适用于企业级项目
开源数据库:MySQL;PgSQL---------->两种数据库适用于互联网项目
数据库设计(有实例)相关推荐
- 数据库设计范式实例解析
设计范式(范式,数据库设计范式,数据库的设计范式)是符合某一种级别的关系模式的集合.构造数据库必须遵循一定的规则.在关系数据库中,这种规则就是范式.关系数据库中的关系必须满足一定的要求,即满足不同的范 ...
- MYSQL数据库设计和数据库设计实例(一)
数据库设计(database design):数据库设计是指对于一个给定的应用环境,构造(设计)优化的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效的存储和管理要求,满足各种用户 ...
- (转载)简洁、明晰!数据库设计三大范式应用实例剖析
(转载http://bbs.database.ccidnet.com/read.php?tid=325895) 简洁.明晰!数据库设计三大范式应用实例剖析 引言OL~eR{q ;iC,$vZ 0} ...
- 超大型Oracle数据库设计实例
超大型系统的特点为: 1.处理的用户数一般都超过百万,有的还超过千万,数据库的数据量一般超过1TB: 2.系统必须提供实时响应功能,系统需不停机运行,要求系统有很高的可用性及可扩展性. 这篇是笔者针对 ...
- 篮球赛场数据统计系统数据库设计实例
篮球赛场数据统计系统数据库设计实例 研究内容(篮球赛场数据统计系统) 1)比赛前对球队.球员各项基本信息的录入功能: 2)比赛时对进球得分.各种进球类型以及裁判评判情况等数据和信息的记录功能: ...
- 世界一级方程式锦标赛_Formula one小型查询数据库设计实例
世界一级方程式锦标赛_Formula one小型查询数据库设计实例 2022年一级方程式锦标赛小型数据库设计 0.数据库系统基础 0.1数据库系统基础概述 0.2数据库服务器名称 1.数据库初始化 1 ...
- 数据库设计三大范式应用实例剖析(转载)
引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的.结构明晰的,同时,不会发生插入(insert).删除(delete)和更新(update)操作异常.反之则是乱七八糟, ...
- 根据实例说数据库设计(一)—— 人员管理
说在前面 可能您会问,树的系列还差第三篇没有写呢,怎么就又说数据库设计了?因为如果写第三篇的话,那么就涉及到了权限,而权限里面又涉及到了人员,这些信息都是存放在表里面的,所以就只好先说数据库设计了. ...
- 数据库设计三大范式应用实例剖析
引言 数据库的设计范式是数据库设计所需要满足的规范,满足这些规范的数据库是简洁的.结构明晰的,同时,不会发生插入(insert).删除(delete)和更新(update)操作异常.反之则是乱七八糟, ...
- 数据库设计三大范式应用实例剖析(讲得比较清楚)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 转贴地址 ...
最新文章
- VMware虚拟机 取消 简易安装
- 面试谈薪,被 HR 压价,怎么办?
- *** Procedure 存储过程 ***
- shell基础二十篇 一些笔记
- 【Docker】日常记录
- 开发过程中的常见问题
- java将数字转化为类似10W+的字符串格式
- IOS开发之Autolayout——“Content Compression Resistance”和“Content Hugging”
- 【CF1394B】Boboniu Walks on Graph【图论】【集合哈希】
- 2021牛客第一场 I. Increasing Subsequence-前缀和优化dp
- c语言中变量的值十进制,C语言中介绍的整型变量 即十进制 十六进制什么的是什么意思 能具体解释一下吗 还有换算什么的 谢谢...
- Vivado提高综合和实现的速度
- addition过程 sgnb_5G NR接入优化问题排查思路
- 再也不怕重装eclipse! 让你的eclipse插件只下载一次
- 小程序首次获选世界互联网领先科技成果
- 微型计算机接口技术实训心得,微机原理与接口技术实验总结.doc
- vue中使用kindeditor编辑器_vue集成kindeditor富文本
- JDK成年了,JDK18版本发布,走进JDK18新特性
- jquery datatable 前端分页和后端分页例子
- html盒子里的图片居中,文本在盒子中水平、垂直居中(图片与文本居中)、多行文本垂直居中...
热门文章
- IE9如何降级返回IE8
- win7系统修复工具_系统哥教你如何修复win7启动引导的方法
- 如何使用计算机蓝牙设备管理器,电脑蓝牙bluetooth怎么使用_win7蓝牙bluetooth使用教程-系统城...
- 嵌入式系统开发-麦子学院(2)——开发环境的搭建
- CAN协议 J1939
- sht21 c语言程序,湿度传感器SHT21示例代码-SampleCodeforSHT21.PDF
- 机器学习数学基础- gradient descent算法(上)
- windows如何安装pycharm2022版本?pycharm如何安装汉化语言包{www.423zy.com}
- 2010.11.03_ximo_过VMP加壳程序的自效验(vmp 2.06)
- 制作 MacOS 系统 ISO 镜像