Java学习-MySQL-数据库的设计

news2024/11/20 18:23:20

Java学习-MySQL-数据库的设计

为什么需要设计数据库

当数据库比较复杂的时候,需要设计数据库。
糟糕的数据库设计:

  • 数据冗余,浪费空间;
  • 数据库插入和删除很麻烦,可能导致异常(屏蔽使用物理外键);
  • 程序性能差。

良好的数据库设计:

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

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

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

设计数据库(以博客为例)

  • 收集信息,分析需求
    • 用户表(用户登录注销,用户的个人信息,写博客,创建分类);
    • 分类表(文章分类,创建者);
    • 文章表(文章信息);
    • 评论表;
    • 友情链接表;
    • 自定义表(系统信息,某个关键的字,或者一些主字段)key:value。
  • 标识实体(把需求落地到每个字段)
    • 用户表:
      在这里插入图片描述

    • 分类表:在这里插入图片描述

    • 文章表:
      在这里插入图片描述

    • 评论表:
      在这里插入图片描述

    • 友情链接表:
      在这里插入图片描述

  • 标识实体之间的关系
    • 写博客:user → blog
    • 创建分类:user → category
    • 关注:user → user
    • 友情连接:links
    • 评论:user → user → blog

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/491714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习实战教程(十三):集成学习

简介 集成学习是一种机器学习方法,它旨在通过将多个单独的学习器(称为基分类器或基学习器)的预测结果进行组合,来提高整体的预测准确率。 集成学习可以看作是一种“多个人一起合作做事”的方法。每个基分类器都是独立的学习器&a…

【恭喜宿主:你的神装Xpath到手】——07全栈开发——如桃花来

目录索引 什么是XML:文档演示: XML的节点关系:1.父节点:2. 子节点:3. 同胞节点:4. 先辈节点:5. 后代节点: Xpath:1. 相关语法:*最常用的路径表达式&#xff1…

Android Studio实现文艺阅读App

项目目录 一、系统概述二、系统特点三、开发环境四、运行演示五、源码获取 一、系统概述 本次带来的文艺阅读App可以提供高质量的原创文学作品。用户可以App中找到各种类型的文学作品,包括小说、散文、诗歌等,由来自不同领域的作家所创作。此外&#xf…

对不起,我们不招还在用Excel的人,和金山系新秀比起差太远了

相信点进来的朋友曾经也深受Excel荼毒。 的确,现如今在网上随便一搜,关于Excel的学习资料和答疑解惑的帖子不胜枚举,盖因为Excel有时太过热心,当然,是帮倒忙的那种热心。 自动把天数转换为日期,还替你把身…

Flume 从入门到精通

Flume Flume 是一种分布式、可靠且可用的服务 高效收集、聚合和移动大量日志 数据。 它具有基于流媒体的简单灵活的架构 数据流。它坚固耐用,容错,可靠性可调 机制以及许多故障转移和恢复机制。 它 使用允许在线分析的简单可扩展数据模型 应用。 系统要求…

Java程序设计入门教程---循环结构(while)

目录 思考 概念 语法 案例:求1到100的整数和? 案例分析 思考 1. 让你输出10000000000000000句“Hello,world!”,你怎么写代码? 2. 求1到100的整数和? 概念 循环结构程序多次循环执行相同或相近的任务。 while循环…

Nacos注册中心一些配置说明

未安装Nacos的可以参考以下的安装教程 Nacos 安装教程(史上最详细保姆级教程)_nacos安装_大三的土狗的博客-CSDN博客 注意: Nacos默认是集群部署,如果想单机启动需要在对应Nacos的bin目录执行下面的命令 因为以后不可能只有一个Nacos注册中心,所以就默认…

BERT+TextCNN实现医疗意图识别项目

BERTTextCNN实现医疗意图识别项目 一、说明 本项目采用医疗意图识别数据集CMID传送门 数据集示例: {"originalText": "间质性肺炎的症状?", "entities": [{"label_type": "疾病和诊断", "start_pos&quo…

Qt-数据库开发-用户登录、后台管理用户

Qt-数据库开发-用户登录、后台管理用户 [1] Qt-数据库开发-用户登录、后台管理用户1、概述2、实现效果 [2] Qt使用SqlLite实现权限管理初始化数据库创建数据表插入数据可使用结构体对数据信息进行封装数据库查询函数为数据库更新数据函数为删除数据函数为 [3] 测试效果 [1] Qt-…

最详细的静态路由的原理和配置

第四章:静态路由 转发数据包是路由器的最主要功能。路由器转发数据包时需要查找路由表,管理员可以通过手工的方法在路由器中直接配置路由表,这就是静态路由。虽然静态路由不适合于在大的网络中使用,但是由于静态路由简单、路由器…

亚马逊云科技让数十亿的数据清洗、转移和查询只需要10分钟

随着数字经济对经济社会的发展贡献愈渐增多,数字金融作为数字经济的有机组成部分和重要支撑,也正成为金融领域竞争与合作的制高点。但在数据要素推动数字金融高速发展的同时,逐渐复杂的互联网环境与日益增强的金融监管力度,对数字…

FL Studio21最新中文版本下载及详细安装教程

FL Studio21最新中文版本是一款专业的音乐制作软件,软件支持录音、音频剪辑、混音、编曲等众多实用功能,可以让你的电脑化身为专业的录音室,进行音乐的录制和剪辑工作,帮助用户轻松创作出各种优秀的音乐作品。 FL Studio21中文版…

亚马逊云科技携手普华永道,推出健康及生命科学行业出海合规指南

自2022年起,国内医疗健康行业的投融资热度略有降低。但医疗行业投资结构正面临转型,投资逐步呈现全球化布局的趋势,在跨境合作领域仍持续释放活力。同时,随着药品集采、医保谈判持续推进,越来越多的中国健康及生命科学…

基于RK3588+TensorFlow的人工智能跨模态行人重识别方法及应用

摘要: 跨模态行人重识别技术(cm-ReID)旨在可见光、红外等不同模态图像中识别出同一个人,其在人 机协同、万物互联、跨界融合、万物智能的智能系统与装备中有重要应用。提出一种数据增强的跨模态行人 重识别方法,在波长…

【Vue 基础】尚品汇项目-10-Search模块中商品分类与过渡动画

一、商品导航的显示与隐藏 打开“src/componetnts/TypeNav/index.vue”,让商品导航默认为显示 在TypeNav组件挂载完毕时,判断当前的路由是否是“/home”,如果不是“/home”,就将分类导航隐藏 当鼠标移入时 移入时让商品导航显示 …

如何在Windows上轻松安全的将数据从HDD迁移到SSD?

当你打算升级硬盘时,如何将数据从HDD迁移到SSD?你可以使用一款免费的软件将所有数据从一个硬盘克隆到另一个硬盘。 为什么要将数据从HDD迁移到SSD? HDD(机械硬盘)和SSD(固态硬盘)是目前常用…

java 学习日记

今天先搞题目 给你一个points 数组,表示 2D 平面上的一些点,其中 points[i] [xi, yi] 。 连接点 [xi, yi] 和点 [xj, yj] 的费用为它们之间的 曼哈顿距离 :|xi - xj| |yi - yj| ,其中 |val| 表示 val 的绝对值。 请你返回将所…

DS1302芯片介绍

低功耗时钟芯片DS1302可以对年、月、日、时、分、秒进行计时,且具有闰年补偿等多种功能。 DS1302的性能特性: 实时时钟,可对秒、分、时、日、周、月以及带闰年补偿的年进行计数; 用于高速数据暂存的318位RAM; 最少引脚…

Redis --- 持久化、主从

一、Redis持久化 Redis有两种持久化方案: RDB持久化 AOF持久化 1.1、RDB持久化 RDB全称Redis Database Backup file(Redis数据备份文件),也被叫做Redis数据快照。简单来说就是把内存中的所有数据都记录到磁盘中。当Redis实例故…

第 5 章 HBase 优化

5.1 RowKey 设计 一条数据的唯一标识就是 rowkey,那么这条数据存储于哪个分区,取决于 rowkey 处于 哪个一个预分区的区间内,设计 rowkey的主要目的 ,就是让数据均匀的分布于所有的 region 中,在一定程度上防止数据倾斜…