• 全部
  • 基础类
  • 应用实例
  • 新技术前沿

数据库,关系元组中不允许出现重复元组

fssssssss bit 2012-05-06 08:59:51
看了一本sql的书,上面写了这样一句话:
关系元组中不允许出现重复元组

我怎么感觉这句话是错的啊??

比如我再Sql server2005中

向数据库中的table1中插入了2个相同的元组,也没有报错啊?

请问倒底是书本错了?还是我理解的有偏差??

create table table1(id int ,name varchar(10));
insert into table1 values(2,'123');
insert into table1 values(2,'123');
select * from table1;

显示结果为
id name
1 2 123
2 2 123

求解答

...全文
887 点赞 收藏 15
写回复
15 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
fssssssss 2012-05-06
[Quote=引用 14 楼 的回复:]

引用 10 楼 的回复:

你那是关系元组,那肯定就是存在主键,主键字段是不允许有重复的


--上面这句话你不要看,可能会误导你:

关系元组中不允许出现重复元组
这个意思是不能拆分,就是不能出现表中表,至少满足第一范式
[/Quote]

谢谢,我再继续往后看,O(∩_∩)O~
回复
[Quote=引用 10 楼 的回复:]

你那是关系元组,那肯定就是存在主键,主键字段是不允许有重复的
[/Quote]

--上面这句话你不要看,可能会误导你:

关系元组中不允许出现重复元组
这个意思是不能拆分,就是不能出现表中表,至少满足第一范式
回复
Aaron_Chan 2012-05-06
[Quote=引用 12 楼 的回复:]
原文如下:

关系的定义和性质
我们可以用集合论的观点定义关系。
定义 2.2 关系是一个属性数目相同的元组的集合
这个定义把关系看成一个集合,集合中的元素师元组,每个元组的属性数目应该相同。
如果一个关系的元组数目是无限的,则称为无限关系,否则称为有限关系。由于计算机存储系统的限制,只限于有限关系。
尽管关系与二维表格、传统的数据文件有类似之处,但它们又有区别。……
[/Quote]

---你该先看看数据库的设计范式,在来理解这个我觉得比较好。
回复
fssssssss 2012-05-06
原文如下:

关系的定义和性质
我们可以用集合论的观点定义关系。
定义 2.2 关系是一个属性数目相同的元组的集合
这个定义把关系看成一个集合,集合中的元素师元组,每个元组的属性数目应该相同。
如果一个关系的元组数目是无限的,则称为无限关系,否则称为有限关系。由于计算机存储系统的限制,只限于有限关系。
尽管关系与二维表格、传统的数据文件有类似之处,但它们又有区别。严格的讲,关系是一种规范化了的二维表格。在关系模型中,对关系做了下列规范的限制:
1.关系中每一个属性值是不可分解的
2.关系中不允许出现重复元组(即不允许出现相同的元组)
3.由于关系是一个集合,因此不考虑元组间的顺序,即没有行序
4.组中的属性理论上也是无序的,但使用的时候按习惯考虑列顺序。
回复
Aaron_Chan 2012-05-06

--给你举个例子吧,如果你们班有2个张三,如果没有学号这个不同的编号,那么当你叫张三的时候,你让谁来回答???
回复
你那是关系元组,那肯定就是存在主键,主键字段是不允许有重复的
回复
[Quote=引用 8 楼 的回复:]

问TravyLee,那为什么书上说一个数据库中不能有两个相同的元组呢?
我插入的两组数据明明是一样的啊
都是
(2,'123’);
既然书上说不能有两个一样的元组,那在我第二次插入(2,'123')的时候就应该报错啊

为什么我们能够插入两个完全一样的元组呢
[/Quote]

我觉得书上说你那句话之前有一个大前提
回复
fssssssss 2012-05-06
问TravyLee,那为什么书上说一个数据库中不能有两个相同的元组呢?
我插入的两组数据明明是一样的啊
都是
(2,'123’);
既然书上说不能有两个一样的元组,那在我第二次插入(2,'123')的时候就应该报错啊

为什么我们能够插入两个完全一样的元组呢
回复
我给楼主解释一下元组:

几个元素组成的一个有序组称为元组,通常元组用圆括号括起来的一些元素表示,元素之间用逗号隔开例如:
(3,4,6)和(E001,钱达理,男,东风路78号)是元组的例子。不可以把元组跟集合混为一谈,集合里的元素没有顺序之分,但是元组里的元素是有顺序之分的。在关系数据库中,可以把表的每一行看做一个元组
回复
[Quote=引用 4 楼 的回复:]

SQL code

---数据库中的行也称为“元组”
[/Quote]

明白了,一下没反应过来。谢谢咯

但是我觉得你对实体的解释不合适,看一下数据数据:

教师编号 教师姓名 教师性别

1 ttt men
2 mmm women

很显然这两行数据是不同的,你能说他是两个实体吗?
其实不能,这些仅仅是教师这一个实体具有的特征。



回复
你把你书上的原话,完整的那一句贴出来
回复
Aaron_Chan 2012-05-06

---数据库中的行也称为“元组”
回复
fssssssss 2012-05-06
回复TravyLee,就是一组数据吧,书上是这么写的
回复
关系元组是什么?求解释
回复
Aaron_Chan 2012-05-06

---其实,这只是设计到数据库规范问题,也就是说数据库的一行,只代表一个实体。
---如:出现你事例中的情况,最好添加1个序号列.比如:
---------------------------
No id name
1 1 张三
2 1 张三
-------------------------
--以上就是说:虽然都是id=1的张三,但是这是2个实体(对象),不是同一个人,如果没有NO的话
--就不符合数据库的设计规范,当然也是不会报错的。
回复
相关推荐
关系数据库|数据库|期末复习
关系数据库是以集合论中关系的概念为基础发展起来的。它运用数学方法研究数据库的结构和定义对数据的操作。 本章将详细论述关系数据库涉及的基本概念及对关系的各种运算 关系模型的基本概念 关系的定义 1. 域(Domain...
MySQL数据库面试题(2020最新版)
文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储...
c语言 元组顺序随机化,为什么关系中的元组没有先后顺序且不允许重复元组?...
满意答案lxy704522013.03.31采纳率:46%等级:11已帮助:8117人1. 解释下述名词关系模型,关系模式,关系实例...3. 为什么关系中不允许重复元组?4. 关系与普通的表格、文件有什么区别?5. 广义笛卡尔乘积、等值...
数据库关系模型
数据库关系模型和SQL 文章目录数据库关系模型和SQL安装SQL语句DCLDDL关系候选键**PRIMARY KEY 主键****Foreign KEY 外键****索引Index**B+树约束Constraint(数据库的三大完整性)域约束Domain Constraint(域完整...
数据库学习】数据库总结
1,数据库 1)概念 数据库是长期存储在计算机内、有组织的、可共享的大量数据的集合。 常见数据库管理系统有:Access、mysql、sql server 2)特点 ①数据库数据特点 永久存储、有组织...
数据库面试
一、数据库问答题 1. SQL语言包括哪些类型? 数据定义DDL:Create Table,Alter Table,Drop Table, Create/Drop Index等 数据操纵DML:Select ,insert,update,delete, 数据控制DCL:grant,revoke 2. 内联接,外联接...
数据库原理》— 数据库系统概论第五版习题解析
数据库系统概论前七章习题解析 第1章绪论 1.试述数据、数据库数据库系统、数据库管理系统的概念。答: (l)数据(Data):描述事物的符号记录称为数据。数据的种类有数字、文字、图形、图像、声音、正文等。...
数据库之主码和外码
3.关系 主码 外码 想要明白主码和外码的概念前,需要先对域和笛卡儿积概念有一个彻底的理解。请阅读的童靴务必耐心~O(∩_∩)O 1.域 定义:域是一组 具有相同数据类型值的 集合。(域就是集合,不过集合里的元素...
数据库原理及应用教程课后习题答案 第4版 微课版 陈志泊主编
数据库原理及应用教程 第4版 微课版 陈志泊主编 习题参考答案
数据库(二)—— 关系数据库以及关系代数和关系运算
在用户看来,关系模型数据的逻辑结构是一张扁平的二维表。 1.1域 域是一组具有相同数据类型值的集合。 1.2笛卡儿积 笛卡儿积是域上的一种集合运算。 定义:给定一组域D1,D2,...,Dn,允许其中某些域是...
数据库系统】数据库系统概论====第二章 关系数据库
数据库系统】数据库系统概论====第二章 关系数据库 关系数据库简介 1970年IBM公司的E.F.Codd提出关系数据模型 1972年提出了关系的第一、第二、第三范式 1974年提出了关系的BC范式 80年代后,关系数据库系统成为最...
数据库系统概论》复习
数据库系统概论》复习 ...数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。概括地讲,数据库数据具有永久储存、有组织和可共...
python元组操作_python元组操作
python元组相加a = (1,2)b = (3,4)a + b元组运用乘法(1,2) * 4#在这里边,元组不会被当成数字来计算,而是输出4次给字母类型的元组拍t = (bb,dd,aa,cc)tm = list(t)tm.sort()#然后输出tmt = tuple(tm)用f...
关于python的元组类型以下选项描述错误的是_【一点资讯】python后端开发工程师考证试题 ...
Python 程序格式框架的描述,以下选项错误的是 ( A )A: Python 语言采用严格的“缩进”来表明程序的格式框架B: Python 单层缩进代码属于之前最邻近的一行非缩进代码,多层缩进代码根据缩进关系决定所属范围C:...
数据库中关系代数是什么_什么是关系代数?
数据库中关系代数是什么 什么是关系代数? (What is Relational Algebra?) Every database management system must define a query language to allow users to access the data stored in the database. ...
数据库系统之关系数据库(超详细的关系操作,集合运算等[笛卡尔积、除运算重点])
关系数据库 一、关系数据结构及形式化定义 1.关系 单一的数据结构----关系 现实世界的实体以及实体间的各种联系均用关系来表示 逻辑结构----二维表 从用户角度,关系模型数据的逻辑结构是一张二维表 建立在集合...
关系数据库中关系代数投影操作的问题
因为关系数据库中不允许重复元祖出现 所以系统会自动把他们都过滤掉? 但是我用Oracle测试了一下,发现不是那么回事儿啊 难道是因为关系数据库理论是这么设计的,但是Oracle出于方便用户或是其他的 什么原因...
数据库介绍 及 关系数据库关系代数表达式
数据库基础数据库介绍数据模型概念模型逻辑模型关系数据库 写下博客用于自我复习、自我总结。 如有错误之处,请各位指出。 本数据库系列专栏,文章的重心将会是总结SQL语句的使用,而不会涉及到太多数据库本身或...
手把手教你利用爬虫爬网页(Python代码)
本文主要分为两个部分:一部分是网络爬虫的概述,帮助大家详细了解网络爬虫;另一部分是HTTP请求的Python实现,帮助大家了解Python实现HTTP请求的各种方式,以...
DBMS-形式化关系查询语言:关系代数、元组关系演算、域关系演算
包括一个运算的集合,集合运算以一个或两个关系为输入,产生一个新的关系作为结果。 关系代数的基本运算包括:选择、投影、并、集合差、笛卡尔积、更名。 其他运算:集合交、自然连接、赋值,可用基本运算来定义...
数据库系统概论 2.关系数据库
2.1关系数据结构及形式化定义 2.1.1关系 关系模型是建立在集合代数的基础上的。 域:域是一组具有相同数据类型的值的集合。(例:{0,1,2}、{男,女}……) 笛卡尔积:给定一组域D1、D2……Dn;允许其中某些域是相同...
关系数据库关系代数和关系运算
特别感谢原作者,感觉写得特别清晰,为方便日后学习故转载 **一、关系数据结构及形式化定义 ...在用户看来,关系模型数据的逻辑结构是一张扁平的二维表。 1.1 域 域是一组具有相同数据类型值的...
Swift 元组高级用法和最佳实践
作为 Swift 比较少见的语法特性,元组只是占据了结构体和数组之间很小的一个位置。此外,它在 Objective-C(或者很多其他语言)没有相应的结构。最后,标准库以及 Apple 示例代码元组的使用也非常少。可能它...
数据库中关系模型一些名词的基本含义(一)
关系模型名词解释 (1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的... (3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。 (4)属性:实体的一个特征。在关系模型,字段称为属性。...
数据库作业:关系数据库及相关概念
(3)关系模式,关系关系数据库。 2.试述关系模型的完整性规则。在参照完整性,什么情况下外码属性的值可以为空值? 3. 4.关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算? ...
学习数据库(3)——关系运算
一:查询语言的组成 关系代数 元组关系演算 域关系演算 二:关系代数——过程化语言 1. 关系运算 ...根据保留属性A在关系R保留属性,并去除重复元组,用ΠA1,A2…AN( R ) 广义投影 允许在投影列...
数据库系统原理学习(二)--关系模型
每个表有多个行,每个行有多个列,每个行列单元都是能再分的原子值,同一表各行相异,不允许重复出现完全相同的行,同一表的行次序、列次序均无关紧要。 表的模式: 表名(属性名,属性名,…) 约束 软件系统...
数据库中的各种定义,关系关系模式、关系模型……
数据:数据就是数据库中存储的基本数据,比如学生的学号、学生的班级 数据库:存放数据的仓库 数据库管理系统:数据库软件,如MySQL、Oracle 数据库系统:数据库+数据库管理系统+应用程序+数据库管理员(大佬) 实体...
数据库系统原理之关系数据库
关系数据库 关系模型概述 关系模型的基本概念 关系数据库系统是支持关系模型的数据库系统,而关系模型是由数据结构、关系操作集合和完整性约束三部分组成的。 数据结构 关系模型的数据结构非常单一,在用户看来,...
数据库系统概念 关系和笛卡尔积
从用户角度,关系模型数据的逻辑结构是一张二维表,它由行和列组成。 关系模式 对关系(结构)(特征)(性质)的描述 关系名(属性1,属性2,…,属性n) R(U) 学生(学号,姓名,年龄,性别,系,年级) 补充...
发帖
MS-SQL Server
创建于2007-09-28

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2012-05-06 08:59
社区公告
暂无公告