数据库为什么没有数组
来源:百度知道 编辑:UC知道 时间:2024/08/23 15:03:36
增加数据对数据库厂商来说有什么难度?
只能使用中间表来完成多对多关系吗
只能使用中间表来完成多对多关系吗
数组是编程语言里面的概念。
数据库,尤其是现在主流的“关系型数据库”,是专门用来存放表结构的。
所以标准的SQL语言,主要针对的是数据查询修改。
数据库里表的功能,已经足够强大。可以定义多个不同类型的列,甚至可以直接定义它是否允许重复等等。
这样的情况下,再强调数组的概念就没有任何意义了。因为数据库的用途不是编程,而是对数据进行管理。
如2楼所言。oracle所谓的定义数组,是因为它自带了plsql,也就是以标准sql语言为基础,面向过程的一种编程语言。这种语言可以编写一些procedure,function,package等等。
我们观察可以发现,plsql在使用上,就是一种面向过程的语言。它和普通sql语句的使用还是有极大的不同。因此它需要可以自定义一些东西。比如游标,比如参数,比如变量,比如返回值等等。
-------------------------------
所以你明白了吧,普通数据库使用的SQL语言里没有明确的直接定义“数组”的概念,是因为用途的不同。而plsql等用于编程的部分,则是有类似定义的。
--------------------------------------------------------------
补充说明,oracle表结构允许违背第一范式。但个人认为这并无推广意义。
数据库中的每一个表实际上就是数组——多维数组。为什么非要数组呢?
oracle 是有数组的。
增加数组对数据库厂商来说,没有任何难度。
但是每一个表实际上就是数组,也没有什么必要!
不知道你说的是什么数据库?
如果是oracle 的话,有类似数组的数据类型,只是你不懂吧?
谁说没有