惭愧啊!那么多年,今天才真正弄懂了一个数据库最、最、最基本的概念

a3212b12 2017-07-06 09:49:49
我们现在常用的oracle、sqlserver、mysql等数据库,一般都是属于 关系数据库。
说来惭愧,使用了这么多年,这里这个“关系”的真正含义,一直都是想当然的错误理解了。
----------------------------------------
先说,今天早上看明白的正确概念:关系就是一张表。

再说自己多年来的错误理解:数据库是由一张张表组成,每张表代表一类实体,各类实体 之间 是有一定 【关系】的,因此,这样的数据库 是 【关系数据库】

-------------------------------------
因此,学习理论知识不能凭字面意思想当然!
...全文
1685 72 打赏 收藏 转发到动态 举报
写回复
用AI写文章
72 条回复
切换为时间正序
请发表友善的回复…
发表回复
西漠以西 2017-07-18
  • 打赏
  • 举报
回复
引用 69 楼 closurer 的回复:
[quote=引用 68 楼 u012881998 的回复:] [quote=引用 59 楼 a3212b12 的回复:] [quote=引用 48 楼 ForestDB 的回复:] 顶LZ。 其实我也一直有这个疑问,到底什么是“关系”。 然后每每碰到数据库专家,我都会问,“如果只有一张表,那么关系表现在哪里?”甚至“如果只有一张表,表只有一列,那么关系表现在哪里?”。 最后的结论就是“一张表就是一个关系”,和LZ的一致。 然后我的理解就是“这里的关系实际上是个数学概念,应用到数据库,具体的表现,就是一张表”。
谢谢支持,看来,我们是一类人。[/quote] 数据库专家的说法是对的,在“关系型数据库”这个词中“关系”指的就是二维表 一个关系在数据库中实现的方式就是一张二维表。 任何一本经典的关系型数据库的入门书籍都是这么说的。[/quote] 哪本?好像你看过很多本似的,或者说,好像关系数据库的入门书籍还有很多本似的。 不要说你看的是 SQL Server、MySQL 的入门书籍,这个我也看过一些,要不我们切磋切磋? 也不要想耍太极糊弄过去,最近有个太极大师被人十秒钟打得起不来。 [/quote] 还是你牛!
闭包客 2017-07-12
  • 打赏
  • 举报
回复
引用 68 楼 u012881998 的回复:
[quote=引用 59 楼 a3212b12 的回复:] [quote=引用 48 楼 ForestDB 的回复:] 顶LZ。 其实我也一直有这个疑问,到底什么是“关系”。 然后每每碰到数据库专家,我都会问,“如果只有一张表,那么关系表现在哪里?”甚至“如果只有一张表,表只有一列,那么关系表现在哪里?”。 最后的结论就是“一张表就是一个关系”,和LZ的一致。 然后我的理解就是“这里的关系实际上是个数学概念,应用到数据库,具体的表现,就是一张表”。
谢谢支持,看来,我们是一类人。[/quote] 数据库专家的说法是对的,在“关系型数据库”这个词中“关系”指的就是二维表 一个关系在数据库中实现的方式就是一张二维表。 任何一本经典的关系型数据库的入门书籍都是这么说的。[/quote] 哪本?好像你看过很多本似的,或者说,好像关系数据库的入门书籍还有很多本似的。 不要说你看的是 SQL Server、MySQL 的入门书籍,这个我也看过一些,要不我们切磋切磋? 也不要想耍太极糊弄过去,最近有个太极大师被人十秒钟打得起不来。
闭包客 2017-07-10
  • 打赏
  • 举报
回复
引用 61 楼 a3212b12 的回复:
[quote=引用 60 楼 closurer 的回复:] 我只是不想学习编程的人落入这种一定要符合某种理论的窠臼。 你可以详细讨论的,比如最基本的一对一关系,怎么是一张表呢?
建议你还是找书学习下。 这里仅再重复本帖主题:关系不是怎么就是一张表的问题,而是关系就是被规定为一张表。[/quote] 那本书又把关系规定为一张表?你写的?
闭包客 2017-07-10
  • 打赏
  • 举报
回复
引用 61 楼 a3212b12 的回复:
[quote=引用 60 楼 closurer 的回复:] 我只是不想学习编程的人落入这种一定要符合某种理论的窠臼。 你可以详细讨论的,比如最基本的一对一关系,怎么是一张表呢?
建议你还是找书学习下。 这里仅再重复本帖主题:关系不是怎么就是一张表的问题,而是关系就是被规定为一张表。[/quote] 往大里说,你说不了,往详细说,你又要我找书学习。楼主到底你会什么?
a3212b12 2017-07-10
  • 打赏
  • 举报
回复
引用 60 楼 closurer 的回复:
我只是不想学习编程的人落入这种一定要符合某种理论的窠臼。 你可以详细讨论的,比如最基本的一对一关系,怎么是一张表呢?
建议你还是找书学习下。 这里仅再重复本帖主题:关系不是怎么就是一张表的问题,而是关系就是被规定为一张表。
闭包客 2017-07-10
  • 打赏
  • 举报
回复
引用 58 楼 a3212b12 的回复:
[quote=引用 54 楼 closurer 的回复:] 数据结构只是对现实世界的朴素映射,关系是在现实世界中是普遍存在的简单概念。 抠这些概念是很扯淡的,因为现实世界太复杂,计算机又太蠢,所以需要简单地归纳,让计算机能懂得我们的世界。如果这些简单概念反而造成了我们的学习障碍,那真是得不偿失,那不是设计出这些概念的人科学家的原意! 在编程语言中,一个对象包含对另外的一个对象的引用,就是关系了,就这么简单的事。 在现实世界中,张国荣对张曼玉说:“从现在开始我们就是一分钟的朋友,这是事实,你改变不了,因为已经过去了。”
似是而非的一段话,更似是而非的一句文艺范的结尾。具体我也不详细展开讨论了。[/quote] 我只是不想学习编程的人落入这种一定要符合某种理论的窠臼。 你可以详细讨论的,比如最基本的一对一关系,怎么是一张表呢?
西漠以西 2017-07-10
  • 打赏
  • 举报
回复
引用 59 楼 a3212b12 的回复:
[quote=引用 48 楼 ForestDB 的回复:] 顶LZ。 其实我也一直有这个疑问,到底什么是“关系”。 然后每每碰到数据库专家,我都会问,“如果只有一张表,那么关系表现在哪里?”甚至“如果只有一张表,表只有一列,那么关系表现在哪里?”。 最后的结论就是“一张表就是一个关系”,和LZ的一致。 然后我的理解就是“这里的关系实际上是个数学概念,应用到数据库,具体的表现,就是一张表”。
谢谢支持,看来,我们是一类人。[/quote] 数据库专家的说法是对的,在“关系型数据库”这个词中“关系”指的就是二维表 一个关系在数据库中实现的方式就是一张二维表。 任何一本经典的关系型数据库的入门书籍都是这么说的。
a3212b12 2017-07-10
  • 打赏
  • 举报
回复
引用 62 楼 closurer 的回复:
往大里说,你说不了,往详细说,你又要我找书学习。楼主到底你会什么?
本帖只是发表下自己 如前某位兄弟说的 “顿误” 后的感慨,楼主既没水平,也没时间搞科普贴。 至于楼主到底会什么的问题,你认为楼主会什么 那就会什么好了。
a3212b12 2017-07-10
  • 打赏
  • 举报
回复
引用 63 楼 closurer 的回复:
那本书又把关系规定为一张表?你写的?
当然不是我写的。 具体那本书,想学的人自然找的到。
ilikeff8 2017-07-10
  • 打赏
  • 举报
回复
感觉有点钻牛角尖了
正怒月神 2017-07-10
  • 打赏
  • 举报
回复
引用 54 楼 closurer 的回复:
在编程语言中,一个对象包含对另外的一个对象的引用,就是关系了,就这么简单的事。
同意
a3212b12 2017-07-07
  • 打赏
  • 举报
回复
引用 48 楼 ForestDB 的回复:
顶LZ。 其实我也一直有这个疑问,到底什么是“关系”。 然后每每碰到数据库专家,我都会问,“如果只有一张表,那么关系表现在哪里?”甚至“如果只有一张表,表只有一列,那么关系表现在哪里?”。 最后的结论就是“一张表就是一个关系”,和LZ的一致。 然后我的理解就是“这里的关系实际上是个数学概念,应用到数据库,具体的表现,就是一张表”。
谢谢支持,看来,我们是一类人。
a3212b12 2017-07-07
  • 打赏
  • 举报
回复
引用 54 楼 closurer 的回复:
数据结构只是对现实世界的朴素映射,关系是在现实世界中是普遍存在的简单概念。 抠这些概念是很扯淡的,因为现实世界太复杂,计算机又太蠢,所以需要简单地归纳,让计算机能懂得我们的世界。如果这些简单概念反而造成了我们的学习障碍,那真是得不偿失,那不是设计出这些概念的人科学家的原意! 在编程语言中,一个对象包含对另外的一个对象的引用,就是关系了,就这么简单的事。 在现实世界中,张国荣对张曼玉说:“从现在开始我们就是一分钟的朋友,这是事实,你改变不了,因为已经过去了。”
似是而非的一段话,更似是而非的一句文艺范的结尾。具体我也不详细展开讨论了。
a3212b12 2017-07-07
  • 打赏
  • 举报
回复
引用 52 楼 foren_whb 的回复:
非要研究到这么深,还是建议看看数学的集合论,关系型数据集的理论依据源自集合论,关系型数据库中关系的概念直接从集合论中的关系概念衍生的,只是集合论的概念非常抽象,不想数据库体现的那么具体,估计不是每个人都适合研究
不是要研究很深,既然“关系数据库”提到了“关系”,那么搞明白它的意思不也是快哉的事情吗?尽管搞不明白,也如我此前说的,不影响使用。
闭包客 2017-07-07
  • 打赏
  • 举报
回复
数据结构只是对现实世界的朴素映射,关系是在现实世界中是普遍存在的简单概念。 抠这些概念是很扯淡的,因为现实世界太复杂,计算机又太蠢,所以需要简单地归纳,让计算机能懂得我们的世界。如果这些简单概念反而造成了我们的学习障碍,那真是得不偿失,那不是设计出这些概念的人科学家的原意! 在编程语言中,一个对象包含对另外的一个对象的引用,就是关系了,就这么简单的事。 在现实世界中,张国荣对张曼玉说:“从现在开始我们就是一分钟的朋友,这是事实,你改变不了,因为已经过去了。”
爱睡觉的阿狸 2017-07-07
  • 打赏
  • 举报
回复
丰云 2017-07-07
  • 打赏
  • 举报
回复
非要研究到这么深,还是建议看看数学的集合论,关系型数据集的理论依据源自集合论,关系型数据库中关系的概念直接从集合论中的关系概念衍生的,只是集合论的概念非常抽象,不想数据库体现的那么具体,估计不是每个人都适合研究
小灰狼 2017-07-07
  • 打赏
  • 举报
回复
引用 48 楼 ForestDB 的回复:
顶LZ。 其实我也一直有这个疑问,到底什么是“关系”。 然后每每碰到数据库专家,我都会问,“如果只有一张表,那么关系表现在哪里?”甚至“如果只有一张表,表只有一列,那么关系表现在哪里?”。 最后的结论就是“一张表就是一个关系”,和LZ的一致。 然后我的理解就是“这里的关系实际上是个数学概念,应用到数据库,具体的表现,就是一张表”。
科班出身的,一般都会学数据库原理,那些课程里面通常会在第一章说这些概念 关系,就是表与表之间的关系,什么一对多、多对多,在可视化设计里,经常用鼠标来拉关系
丰云 2017-07-07
  • 打赏
  • 举报
回复
引用 54 楼 closurer 的回复:
数据结构只是对现实世界的朴素映射,关系是在现实世界中是普遍存在的简单概念。 抠这些概念是很扯淡的,因为现实世界太复杂,计算机又太蠢,所以需要简单地归纳,让计算机能懂得我们的世界。如果这些简单概念反而造成了我们的学习障碍,那真是得不偿失,那不是设计出这些概念的人科学家的原意! 在编程语言中,一个对象包含对另外的一个对象的引用,就是关系了,就这么简单的事。 在现实世界中,张国荣对张曼玉说:“从现在开始我们就是一分钟的朋友,这是事实,你改变不了,因为已经过去了。”
好叼。。。。太精辟了。。。。
黑娃 2017-07-07
  • 打赏
  • 举报
回复
没觉得你理解有什么错误,前后说得差不多是一个意思。。。
加载更多回复(50)

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧