1、为什么需要设计

当数据库比较复杂的时候,我们就需要设计了

糟糕的数据库设计

  • 数据冗余,浪费空间
  • 数据库插入和删除都会麻烦、异常(屏蔽使用物理外键)
  • 程序的性能差

良好的数据库设计

  • 节省内存空间
  • 保证数据库的完整性
  • 方便我们开发系统

软件开发中,关于数据库的设计

  • 分析需求,分析业务和需要处理的数据库的需求
  • 概要设计:设计关系图E-R图

设计数据库步骤:(例如博客网站)

收集信息,分析需求

  • 用户表(用户登录注销,用户的个人信息,写博客,创建分类)
  • 分类表(文章分类,谁创建的)
  • 文章表(文章信息)
  • 评论表
  • 友链表(友情链接信息)
  • 自定义表(系统信息,某个关键的字,或者一些主字段) key:value
  • 关注表(粉丝数)
  • 说说表(发表心情, id…content…create_time)

标识实体(把需求落到每个字段)

标识实体之间的关系

  • 写博客:user --> blog
  • 创建分类:user --> category
  • 关注:user --> user
  • 友链:links
  • 评论:user --> user --> blog

如何设计一个项目的数据库?相关推荐

  1. 如何设计一个项目的数据库

    为什么需要设计 当数据库比较复杂的时候,我们就需要设计了 糟糕的数据库设计 数据冗余,浪费空间 数据库插入和删除都会麻烦.异常(屏蔽使用物理外键) 程序的性能差 良好的数据库设计 节省内存空间 保证数 ...

  2. 怎么设计一个好的数据库

    我有一个无比可恶的同窗,问了我一个非常好的问题,怎么样设计一个好的数据库,依据她这个问题,我愁闷了非常钟,而后在网上找到了下面的货色,有什么看法大家可以提出来,实在这个也是异常值得咱们程序员学习的.三 ...

  3. 怎样设计一个好的数据库

    数据库设计(Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求(信息要求和处理要求). 在数据库领 ...

  4. 如何设计一个优秀的数据库

    一个成功的管理系统,是由:[50% 的业务 + 50% 的软件] 所组成,而 50% 的成功软件又有 [25% 的数据库 + 25% 的程序] 所组成,数据库设计的好坏是一个关键.如果把企业的数据比做 ...

  5. PowerDesigner数据库设计与建模。数据库中设计一对一、一对多、多对多、依赖关系、继承关系。

    我们平时开发一个互联网项目的流程是:需求设计.数据库设计.功能设计.项目架构.技术选型.项目开发.数据库设计是我们项目的基石,一个中大型项目,要有一个良好的数据库设计,才能走得更远.一个项目如果数据库 ...

  6. 【python简易小程序设计】设计一个 python程序,模拟投掷100次色子。若总点数大于300点时,则提前结束 统计最后投掷出的各点数数量(要求使用列表)并输出

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.题目 二.设计思路 三.演示结果 总结 复盘 前言 最近需要使用python设计一个项目,但是之前毫无学习经验,刚 ...

  7. 数据库设计的步骤(数据库设计概述)

    数据库设计概述 数据库设计是指对于一个给定的应用环境,设计一个优良的数据库逻辑模式和物理结构,并据此建立数据库及其应用系统,使之能够有效地存储和管理数据,满足各种用户的应用需求,包括信息管理要求和数据 ...

  8. 软件工程电商系统数据库定义_某个电子商务系统项目的数据库设计

    杨教授工作室,版权所有,盗版必究, 1/13 页 1 1.1 EbookStore/EBank 项目的数据源设计 1.1.1 本项目中的数据库设计概述 1 .数据库设计 ( 1 )数据库设计方法 一般 ...

  9. mysql设计一个简单的系统_一个简单数据库设计例子

    一个曾经做过的简单的管理系统中数据库设计的例子,包括设计表.ER图.建模.脚本. 项目信息 Project Name: Book Manager System DB: MySQL5.5 DB Name ...

最新文章

  1. AI安防崛起迅速 开疆拓土少不了专利作“盔甲”
  2. windows平台HTTP代理server搭建(CCproxy)
  3. BERT源码分析(PART II)
  4. 方立勋_30天掌握JavaWeb_使用httpUrlConnection模似ie
  5. 6.824 Raft lesson4 2020(一)
  6. 如何判断自己的编程水平
  7. CASS软件学习笔记
  8. mysql 字段钳口可加引号_根据处理对象划分,计算机可以分为模拟计算机、(
  9. 书籍《智能交通》-观后感-2021年12月-下期分享
  10. 关于JVM内存的N个问题
  11. Spark核心类:SQLContext和DataFrame
  12. 安卓手机重启日志_安卓手机这些超级好用的技巧你知道几个?
  13. Margin 属性的一些边界情况说明 --转http://blog.csdn.net/ghj1976/article/details/4987686
  14. STLC++(队列queue、栈stack、set\multiset 的用法)
  15. DbgView不能显示OutputDebugString的输出内容
  16. 超简单制作栅格数据土地利用转移矩阵(Arcgis和Python实现)
  17. PC大作[微软模拟飞行10]
  18. Keepalived主主虚拟路由器与虚拟服务器
  19. 利用百度AI开放平台 实现 图片中的文字识别
  20. 四万字长文说operator new operator delete

热门文章

  1. 视频播放过程中做视频问答(视频弹题功能)
  2. 关于OpenCV中cv2.imwrite保存的图片是全黑色的解决方案
  3. 讯时MX51(fxs) 24口语音网关 连接Elastix服务器的配置
  4. python人工智能方向面试准备_关于机器学习面试的经典题目(面试经验和建议)...
  5. 微信在教育行业的营销
  6. Matlab求齐次方程的解
  7. Back Propagation Derivation
  8. 华为云服务器不显示盘符,云服务器只有一个盘符可以
  9. 6.#闲谈|小编一手腾讯课堂送花脚本 javascript
  10. 如何在Java中以编程方式阅读,添加或删除PPT中的幻灯片便笺?