当前位置: 首页 > 面试题库 >

我们为什么要关心数据类型?

慕佑运
2023-03-14
问题内容

具体来说,在关系数据库管理系统中,为什么我们在创建时需要知道列的数据类型(更可能是对象的属性)?

对我来说,数据类型感觉就像是一种优化,因为可以以多种方式实现一个数据点。将语义角色和约束分配给数据点,然后让引擎在内部检查和优化哪种数据类型最能为用户服务会更好吗?

我怀疑这是繁重的工作,为什么只问用户而不是做工作就更容易了。

你怎么认为?我们要去哪里?这是现实的期望吗?还是我有一个错误的假设?


问题答案:

没错:将数据类型分配给列是实现细节,与数据库引擎背后的集合论或演算无关。作为一个理论模型,数据库应该是“无类型的”,并且能够存储我们扔给它的任何东西。

但是我们必须在具有实际约束的真实计算机上实现数据库。从性能的角度来看,让计算机动态尝试找出如何最好地存储数据是不切实际的。

例如,假设您有一个表,其中存储了几百万个整数。计算机可以-正确地-
弄清楚它应该将每个数据存储为整数值。但是,如果您有一天突然尝试在该表中存储字符串,那么数据库引擎是否应该停止所有操作,直到它将所有数据转换为更通用的字符串格式?

不幸的是,指定数据类型是必不可少的。



 类似资料:
  • 本文向大家介绍为什么我们需要一个数据库,包括了为什么我们需要一个数据库的使用技巧和注意事项,需要的朋友参考一下 数据库是数据的集合,通常以电子形式存储。数据库的设计通常是为了使其易于存储和访问信息。 好的数据库对任何公司或组织都至关重要。这是因为数据库存储了有关公司的所有相关详细信息,例如员工记录,交易记录,工资详细信息等。 数据库重要的各种原因是- 管理大量数据 数据库每天存储和管理大量数据。使

  • 问题内容: 基数实际上是什么意思?我们为什么需要它? 问题答案: 您可能并不总是希望将整数解析为以10为底的数字,因此提供基数可以指定其他数字系统。 基数是一位数字的值数。十六进制为16。八进制为8,二进制为2,依此类推… 在该函数中,您可以执行一些操作来提示基数而不提供基数。如果用户输入的字符串与其中一个规则匹配,但没有明确规定,则这些方法也可能对您不利。例如:

  • 问题内容: Angular应用使用属性而不是事件。 为什么是这样? 问题答案: ng-click包含一个角度表达式。Angular表达式是在Angular 范围的上下文中求值的,该范围绑定到具有ng- click属性的元素或该元素的祖先。 Angular表达式语言不包含流控制语句,也不能声明变量或定义函数。这些限制意味着模板只能访问由控制器或指令提供的变量和运行功能。

  • 以我的拙见,关于“什么是单子”这个著名问题的答案,尤其是投票最多的答案,试图解释什么是单子,而没有明确解释为什么单子是真正必要的。它们能被解释为一个问题的解决方案吗?

  • 为什么我们需要字典? 计算机最适合使用数字,而人类最适合使用姓名。我们创建了DNS以便记住主机名而不是IP地址。字典以相同的方式使用,因此我们可以记住AVP名称而不是类型编号。当FreeRADIUS解析请求或生成响应时,会查阅字典。 但是,字典与DNS不同,因为RADIUS客户端不知道FreeRADIUS使用的这些“友好”名称。永远不会在RADIUS客户端和RADIUS服务器之间交换AVP名称。

  • 大家最近肯定有这么一个感受——只要一上网,ChatGPT就高频率地映入你的眼帘,人们会忍不住了解这款人工智能有多神、有多火。那对有的人来说,它是款“神器”,标志着人工智能向前迈进了“历史级”的一大步,对有的人来说,它是个“幽灵”,让人恐慌、担忧,一说就是害怕自己被机器取代。