数据库中的“主属性”、“码”、“主码”的区别是什么

人间喜剧作者2023-05-02  33

先说候选码,候选码就是可以区别一个元组(即表中的一行数据)的属性或属性的集合,比如学生表student(id,name,age,sex,deptno),其中的id是可以唯一标识一个元组的,所以id是可以作为候选码的,既然id都可以做候选码了,那么id和name这两个属性的组合可不可以唯一区别一个元组呢?显然是可以的,此时的id可以成为码,id和name的组合也可以成为码,但是id和name的组合不能称之为候选码,因为即使去掉name属性,剩下的id属性也完全可以唯一标识一个元组,就是说,候选码中的所有属性都是必须的,缺少了任何一个属性,就不能唯一标识一个元组了,给候选码下一个精确的定义就是:可以唯一标识一个元组的最少的属性集合。而码是没有最少属性这个要求的。另外,一个表的候选码可能有多个,从这些个候选码中选择一个做为主码,至于选择哪一个候选码,这个是无所谓的,只要是从候选码中选的就行。

至于主属性,刚才提到了,一个表可以有多个候选码,那么对于某个属性来说,如果这个属性存在于所有的候选码中,它就称之为主属性

以上来自热心网友

主属性:一个属性只要在任何一个候选码中出现过,这个属性就是主属性。

非主属性:与上面相反,没有在任何候选码中出现过,这个属性就是非主属性。

所以

此时的主属性是:H,L,I,J。

非主属性是:K

范式的判断:

第一范式(1NF)无重复的列

‍属性不可分

第二范式(2NF)属性完全依赖于主键[消除非主属性对主码的部分函数依赖]

符合1NF,并且,非主属性完全依赖于码

第三范式(3NF)属性不依赖于其它非主属性[消除传递依赖]

符合2NF,并且,消除传递依赖

BC范式(BCNF):符合3NF,并且,主属性不依赖于主属性

由于存在

J->K,所以K部分依赖于候选码(IJ),所以不满足第二范式。所以该模式只属于第一范式。

sql资料库中主码外码候选码等等一共有哪些码 都是什么意思

候选码是能够唯一标识一个记录的一组或一个属性,主码是从多个候选码中选择出的一组

外码是在本关系中的属性,但在另一个关系中作为主码的属性

sql资料库中一共有哪些约束 各是什么意思

not null(非空),unique(唯一),primary key(非空,唯一,只能有一个主键),foreign(外来键),check(强制资料满足要求)

资料库中主码和外码怎么判断呀

主码 我们在建立资料库的时候,需要为每张表指定一个主码,主码也叫主键。

所谓主码就是在实体集中区分不同实体的候选码。

一个实体集中只能有一个主码,但可以有多个候选码。

外码,如果一个关系中的一个属性是另外一个关系中的主码则这个属性为外码。

在SQL资料库中public是什么意思

SQL资料库中的public是一个预设的使用者角色。

为便于管理资料库中的许可权,SQL 提供了若干“角色”,这些角色是用于对其他主体进行分组的安全主体。 它们类似于 Microsoft Windows 作业系统中的组。 资料库级角色的许可权作用域为资料库范围。

每个 SQL Server 登入名均属于 public 伺服器角色。

如果未向某个伺服器主体授予或拒绝对某个安全物件的特定许可权,该使用者将继承授予该物件的 public 角色的许可权。当希望该物件对所有使用者可用时,只需对任何物件分配 public 许可权即可。但是,无法更改 public 中的成员关系。

预设情况下,所有的资料库使用者都属于public角色,因此赋予public角色的许可权,所有的使用者都会具备。

资料库中主码可以由多个属性构成么,不是说,主码从候选码中间选一个么

一个候选码中有多个属性,候选码可以有多种组合,而主码只是选择了其中一种组合而已

SQL资料库中Numeric(10,2)是什么意思?

Numeric(10,2) 指栏位是数字型,长度为10 小数为两位的 ;

一、字元型

VARCHAR VS CHAR

VARCHAR型和CHAR型资料的这个差别是细微的,但是非常重要。他们都是用来储存字串长度小于255的字元。

二、文字型

TEXT

使用文字型资料,可以存放超过二十亿个字元的字串。当需要储存大串的字元时,应该使用文字型资料。

三、数值型

SQL支援许多种不同的数值型资料。可以储存整数 INT 、小数 NUMERIC、和钱数 MONEY。

四、逻辑型

BIT

如果使用复选框( CHECKBOX)从网页中搜集资讯,可以把此资讯储存在BIT型栏位中。BIT型栏位只能取两个值:0或1。

当心,在建立好一个表之后,不能向表中新增 BIT型栏位。如果打算在一个表中包含BIT型栏位,必须在建立表时完成。

五、日期型

DATETIME VS SMALLDATETIME

一个 DATETIME型的栏位可以储存的日期范围是从1753年1月1日第一毫秒到9999年12月31日最后一毫秒。

资料库中的键、主码、主键是什么意思?

码(键):代表数目的符号

主码也就是主键,是惟一标识表中的每一行的栏位或者多个栏位的组合,它可以实现表的实体完整性

每个表只能有惟一的主码,且不能为空

这需要理清几个概念:

1)候选键: 关系中的一个属性组,其值能唯一标识一个元组,若从该属性组中去掉任何一个属性,它就不具有这一性质了,这样的属性组称作候选码。

2)主键:当有多个候选码时,可以选定一个作为主码,选定的候选码称主键

3)外来键: 关系R中的一个属性组,它不是R的候选码,但它与另一个关系S的候选码相对应,则称这个属性组为R的外码或外来键。

举个例子:

有两个关系:

student(s#,sname,d#),即学生这个关系有三个属性:学号,姓名,所在系别

dep(d#,dname),即院系有两个属性:系号、系名

则s#、d#是主键,也是各自所在关系的唯一候选键,d#是student的外来键

资料库中的外码约束指什么 急等答案!

可以确保资料完整性,有A表,B表。A的主码id是B的外码。这会产生2个情况,建立外码的时候会有“级联删除”和“受限删除”两种。外码的作用就体现在这两种功能上。

级联删除:当删除A里的资料后,B表内含该ID的行会自动由资料库删除。比如把某个学生ID删除了,那么他的分数之类的资讯也要删除,留着也是垃圾资料。

受限删除:当要删除A内的资料,而B中又存在相关id的行,那么将不会执行删除,必须先把B内的这些行删除掉,再删除a里的资料。

更加详细的你可以去看MSsql联机丛书关于级联删除等的介绍。以下来自sql联机丛书:

ON DELETE NO ACTION

指定如果试图删除某行,而该行含有由其它表的现有行中的外来键所引用的键,则产生错误并回滚 DELETE。

ON UPDATE NO ACTION

指定如果试图更新某行中的键值,而该行含有由其它表的现有行中的外来键所引用的键,则产生错误并回滚 UPDATE。

CASCADE 允许在表间级联键值的删除或更新操作,这些表的外来键关系可追溯到执行修改的表。不能为任何具有 timestamp 列的外来键和主键指定 CASCADE。

ON DELETE CASCADE

指定如果试图删除某行,而该行含有由其它表的现有行中的外来键所引用的键,则也将删除所有包含那些外来键的行。如果在目标表上也定义了级联引用操作,则对从那些表中删除的行同样采取指定的级联操作。

ON UPDATE CASCADE

指定如果试图更新某行中的键值,而该行的键值由其它表的现有行中的外来键所引用,则所有外来键值也将更新成为该键指定的新值。如果在目标表上也定义了级联引用操作,则对在那些表中更新的键值同样采取指定的级联操作。

上面就是外码约束的概念,希望你能明白它的作用。

sql资料库中的datediff函式是什么意思

SQL中DateDiff的用法

DATEDIFF

返回跨两个指定日期的日期和时间边界数。

语法

DATEDIFF ( datepart , startdate , enddate )

引数

datepart

是规定了应在日期的哪一部分计算差额的引数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。

日期部分 缩写

year yy, yyyy

quarter qq, q

Month mm, m

dayofyear dy, y

Day dd, d

Week wk, ww

Hour hh

minute mi, n

second ss, s

millisecond ms

startdate

是计算的开始日期。startdate 是返回 datetime 或 alldatetime 值或日期格式字串的表示式。

因为 alldatetime 只精确到分钟,所以当用 alldatetime 值时,秒和毫秒总是 0。

如果您只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 o digit year cutoff 为 2049(预设),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。

有关时间值指定的更多资讯,请参见时间格式。有关日期指定的更多资讯,请参见 datetime 和 alldatetime。

enddate

是计算的终止日期。enddate 是返回 datetime 或 alldatetime 值或日期格式字串的表示式。

返回型别

integer

注释

startdate 是从 enddate 减去。如果 startdate 比 enddate 晚,返回负值。

当结果超出整数值范围,DATEDIFF 产生错误。对于毫秒,最大数是 24 天 20 小时 31 分钟零 23647 秒。对于秒,最大数是 68 年。

计算跨分钟、秒和毫秒这些边界的方法,使得 DATEDIFF 给出的结果在全部资料型别中是一致的。结果是带正负号的整数值,其等于跨第一个和第二个日期间的 datepart 边界数。例如,在 1 月 4 日(星期日)和 1 月 11 日(星期日)之间的星期数是 1。

示例

此示例确定在 pubs 资料库中标题释出日期和当前日期间的天数。

USE pubs

GO

SELECT DATEDIFF(day, pubdate, getdate()) AS no_of_days

FROM titles

GO

谢谢!

简扼描述资料库中外码是什么

某个关系的主码相应的属性在另一关系中出现,此时该主码在就是另一关系的外码,如有两个关系S和SC,其中S#是关系S的主码,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外码

人为选择的候选码叫主码。

若候选码只有一个,则该候选码为主码。若候选码多于一个,则选定其中一个为主码。候选码可以作为主码,主码一定是候选码,但候选码不一定是主码。理解:主码是人为挑选出来的。超码是一个或多个属性的集合,超码中的这些属性可以让我们在一个实体集中唯一地标识一个实体。候选码,候选码是极小的超码集,也就是它的任意真子集都不是超码,而他本身是超码。

一个元祖的属性值必须是可以唯一识别元祖的 即:码的作用

若两个元祖的候选码相同,则表示这两个元祖是相同的,这样会使得同一个对象会在数据库中重复存储,进而就违背了候选码的初衷:不能唯一识别一个元祖;(但有一种需求 在数据库中可以不设置主码(或者候选码 ));

几种码的定义:

数据库中有超码,候选码,主码 ,外码 。

超码 :一个或者多个属性的集合,它能在一个关系中唯一识别一个元祖。

候选码: 是最小的超码(唯一识别一个元祖);

主码:就是用来区分不同元祖的候选码;

1、候选码:若关系中的一个属性或属性组的值能够唯一地标识一个元组,且他的真子集不能唯一的标识一个元组,则称这个属性或属性组做候选码。

2、主码:主码指主关键字。主关键字(primary key)是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录。主关键字是一种唯一关键字,表定义的一部分。一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义。

3、全码:All-key关系模型的所有属性组组成该 关系模式的 候选码,称为全码。即所有属性当作一个码。若关系中只有一个候选码,且这个候选码中包含全部属性,则该候选码为全码

4、外码:外码是相对于内码而言的辞汇。在计算机科学及相关领域中,外码指的是“外在的‘经过学习之后,可直接了解的编码形式(例如:文字或语音符号)’”。

中文输入法对汉字的编码即属外码。常见的中文外码有仓颉码、行列码、大易码、呒虾米码、注音码、拼音码。

5、内码:内码是指计算机汉字系统中使用的二进制字符编码,是沟通输入、输出与系统平台之间的交换码,通过内码可以达到通用和高效率传输文本的目的。如ASCII

扩展资料:

主码的作用

1、保证实体的完整性;

2、加快数据库的操作速度;

3、在表中添加新记录时,ACCESS会自动检查新记录的主键值,不允许该值与其他记录的主键值重复;

4、ACCESS自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。

参考资料来源:百度百科-候选码

参考资料来源:百度百科-全码

参考资料来源:百度百科-主码

参考资料来源:百度百科-外码

参考资料来源:百度百科-内码

详情如下:

主码=主键=主关键字,关键字=候选码 候选关键字=候选码中除去主码的其他候选码。

码:唯一标识实体的属性或属性组合称为码。

候选码(关键字):某一属性组的值能唯一标识一个元组而其子集不能(去掉任意一个属性都不能标识该元组),则称该属性组为候选码(补充元组:表中的一行即为一个元组)。

主属性:候选码包含的属性(一个或多个属性)。

主码(主键、主关键字):若一个关系有多个候选码,选择其中一个为主码。

以上就是关于数据库中的“主属性”、“码”、“主码”的区别是什么全部的内容,包括:数据库中的“主属性”、“码”、“主码”的区别是什么、含有多个候选码的主属性范围以及数据库范式判定问题、sql资料库中主码外码候选码等等一共有哪些码 都是什么意思等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

转载请注明原文地址:https://juke.outofmemory.cn/read/3767312.html

最新回复(0)