促销活动
CodeGym University
学习
课程
任务
调查和小测验
游戏
帮助
提醒时间表
社区
用户
论坛
聊天
文章
成功故事
活动
评论
订阅服务
浅色主题
课程
评论
关于我们
开始
开始学习
立即开始学习
目标地图
课程
级别 17
数据库设计中的基本任务
SQL & Hibernate
第 17 级,
课程 0
1.1 简介 设计数据库有点类似于设计 Java 项目的架构。您可以将所有数据放在几个表中,或者您可以从模式和数十个表构建一个漂亮的数据结构。 以下是开发人员在设计数据库时通常面临的任务: 确保所有必要的信息都存储在数据库中。 确保获得有关所有必要请求的数据的可能性。 减少数据的冗余和重复。 确保数据库完整性 数据访问速度优化 要记住的主要事情是你不能建立一个理想的数据库结构,因为。它和您的代码一样,也会不断变化。设计数据库结构时应牢记三点: 结构必须足够好。 凡事必有其人能
关键数据库设计步骤
SQL & Hibernate
第 17 级,
课程 1
2.1. 概念设计 数据库设计分三个阶段进行: 概念设计; 逻辑设计; 物理设计。 概念设计阶段的目的是根据用户对主题领域的想法创建概念数据模型。为了实现它,执行了一系列顺序程序。实体(概念)模式的示例: 1. 实体及其文档的定义。为了识别实体,定义了独立于其他对象存在的对象。这些对象是实体。每个实体都有一个用户可以理解的有意义的名称。实体的名称和描述被输入到数据字典中。如果可能,设置每个实体的预期实例数。 2. 确定实体及其文档之间的关系。只定义满足数据库设计要求所必需的实
数据库范式
SQL & Hibernate
第 17 级,
课程 2
3.1 数据库规范化 范式是关系数据模型中关系的一种属性,它在冗余方面对其进行了表征,可能导致采样或更改数据的逻辑错误结果。范式被定义为关系(数据库中的表)必须满足的一组要求。 将数据库关系转换为符合规范形式的形式的过程称为规范化。规范化旨在使数据库的结构成为提供最小逻辑冗余的形式,而不是为了降低或提高性能,或者减少或增加数据库的物理量。 规范化的最终目标是减少存储在数据库中的信息的潜在不一致性。归一化过程的一般目的如下: 排除某些类型的冗余; 修复一些更新异常; 开发一个足
数据库中表之间的依赖关系
SQL & Hibernate
第 17 级,
课程 3
4.1 简介 通过将数据库表转换为常规表,您现在可以分析它们之间的关系。两个相关表之间交互的元素数称为基数。基数可帮助您控制将数据分区到表中的效率。 从理论上讲,所有实体之间都可以保持相互关系,但在实践中,实体之间存在三种类型的关系: 一对一 一对多 多对多 4.2 一对一沟通 如果对于实体 B 的每个实例只有一个实体 A 的实例,则称它们具有一对一的关系(通常表示为“1:1”)。在 ER 图上,这种关系由两端各有一个小条的线表示: 1:1 关系通常表示,除非您有充分的理由将
数据库中的键
SQL & Hibernate
第 17 级,
课程 4
5.1 简介 Internet 上充斥着关于应如何在关系数据库中选择和使用键的教条式规则。有时争论甚至会演化为 holivars:应该使用自然密钥还是人工密钥?自动递增整数或 UUID? 在阅读了 64 篇文章,翻阅了 5 本书的章节,并在 IRC 和 StackOverflow 上提出了大量问题之后,我(Joe “begriffs” Nelson,原文章的作者)似乎已经把拼图的各个部分放在一起并且现在可以调和对手。很多关键性的争论其实都是因为误解了别人的观点而产生的。 让我
数据采样率优化
SQL & Hibernate
第 17 级,
课程 5
6.1 简介 现在让我们从理论转向实践。 “从理论上讲,理论和实践之间没有区别。实际上,他们是。” 我们生活在现实世界中,所有的软件产品最终都是为活着的人创造的。这些活着的人对加载缓慢的网站和运行缓慢的程序感到非常恼火。 而如果一个数据库查询花费的时间超过一秒,这是不可接受的。用户根本不会使用页面/功能如此缓慢的产品。 但通常,为了显示一个页面,您需要对数据库执行几十次查询。如果它们是按顺序执行的,那么您将不再有第二个限制,但假设每个请求 100 毫秒。 以下是程序员加速数据
在 MySQL 中缓存
SQL & Hibernate
第 17 级,
课程 6
7.1 DB端缓存 MySQL 在处理表时使用高度可扩展的算法,因此即使使用少量内存也可以运行 MySQL。当然,为了获得更好的性能,您需要更多的 RAM。 要查看当前设置,请连接到数据库
数据库表的非规范化
SQL & Hibernate
第 17 级,
课程 7
8.1 为什么需要反规范化? 大表之间计算量最大的操作是连接。因此,如果在一个查询中需要“通风”几个由数百万行组成的表,那么 DBMS 将花费大量时间进行此类处理。 此时用户可以移开去喝咖啡。处理的交互性几乎消失,接近批处理的交互性。更糟糕的是,在批处理模式下,用户在早上收到前一天请求的所有数据并冷静地处理它们,为晚上准备新的请求。 为了避免大量连接的情况,表被非规范化。但无论如何都不是。有一些规则允许您根据为数据仓库构建表的规则将事务非规范化表视为“规范化”。 在分析处理中
Please enable JavaScript to continue using this application.