首页 > 后端 > 问答 > 数据库主键是哪个,在ORACLE数据库中什么是主键什么是外键

数据库主键是哪个,在ORACLE数据库中什么是主键什么是外键

来源:整理 时间:2024-04-14 14:25:40 编辑:黑码技术 手机版

本文目录一览

1,在ORACLE数据库中什么是主键什么是外键

主键就是自己设定的字段,该字段不能为空,而且该字段的值必须唯一,外键就是在主表中可以重复出现,但是它是另一个表的主键,对过外键使两个表相关.
主键、外键的概念同数据库原理可以使用desc查询表结构

在ORACLE数据库中什么是主键什么是外键

2,请问数据库中的主键是啥东东唯一标识一行具体是什么

主键 内容1 abc2 def3 ghi已经有 2 这个主键了下面的数据就不会再出现2这个主键了...比如你要找一条数据....可表里有1万多条..怎么办呢..找这个主键就行了..因为他是唯一的...这个数字就代表了这行数据
就是插入的内容只能唯一,其他表行的这一列的数据不能和它重复,且它也不能为空,它的作用大多做为一个标识符,就象身份证号码一样,身份证号码有重复的吗?而且也没有空的
就是区别这一行数据和其他行数据的标识,简单点说,这一行数据和其他行数据可能会有很多重复的数据,如果不用一个唯一标识符来标识的话,就没办法区分你要用的要查询的是哪一行数据。就像人一样,很多同名同姓的人,甚至在同一个学校同一个班同一个小组,这怎么区分呢,就用学号来区分,学号就是学生的唯一标识符,就是学生信息的主键啦。
数据类型选择,自动编号新值选择:递增

请问数据库中的主键是啥东东唯一标识一行具体是什么

3,请问数据库中的主键和外键是什么意思

主键是唯一标示数据项的属性。可以是复合的几个属性。外键对应着各数据项的关系,唯一标示该数据项和其有关系的数据项,也就是和这个数据项有关系的另一个数据项的主键。由于学的时间挺长的了所以标准的称谓不清楚了。呵呵。
比如现在有两张表:(表A和表B) ,表A有两个字段(学校名称:xuexiao_name,学校大小:xuexiao_size) 表B有三个个字段(老师姓名:teacher_name 学校名称:xuexiao_name,老师年级:teacher_age) 那么我们现在看上面的两张表,第一个表示描述学校的,第二个表示描述老师的,那么可以看出它们之间关联起来的话,是通过学校名称:xuexiao_name关联起来的,并且学校名称主要是描述学校的,所以我们把学校名称:xuexiao_name这一字段在这里当做描述学校表A的主键,同时该字段又是描述老师表B的外键
简单来说就是把两个表关联起来。 同样的一个名字在两个表中:如stu(name,sex)和表grade(name,cou),如果name是表stu中的主键,并且name也是表grade中的主键,那么表stu中的name就是表grade的外键了!
主键是能够唯一标识表中每条记录的一个字段或多个字段的组合.外键的存在于子表(子实体)中,用来与相应的父表(父实体)建立关系的值.
主键是用来标识一个一个记录的属性组的集合,主键值是必须是惟一的.而外键是另外一个表的主键,是用来将一条记录与另一个表中(或者是本表中的,不过比较少)的记录关联

请问数据库中的主键和外键是什么意思

4,数据库主键具体指哪项有什么作用

主键: 关系数据库依赖于主键---它是数据库物理模式的基石。主键在物理层面上只有两个用途: 1. 惟一地标识一行。 2. 作为一个可以被外键有效引用的对象。 基于以上这两个用途,下面给出了我在设计物理层面的主键时所遵循的一些原则: 1. 主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。 2. 主键应该是单列的,以便提高连接和筛选操作的效率。 注:使用复合键的人通常有两个理由为自己开脱,而这两个理由都是错误的。其一是主键应当具有实际意义,然而,让主键具有意义只不过是给人为地破坏数据库提供了方便。其二是利用这种方法可以在描述多对多关系的连接表中使用两个外部键来作为主键,我也反对这种做法,理由是:复合主键常常导致不良的外键,即当连接表成为另一个从表的主表,而依据上面的第二种方法成为这个表主键的一部分,然,这个表又有可能再成为其它从表的主表,其主键又有可能成了其它从表主键的一部分,如此传递下去,越靠后的从表,其主键将会包含越多的列了。 3. 永远也不要更新主键。实际上,因为主键除了惟一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。 注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。 4. 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。 5. 主键应当有计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了惟一标识一行以外的意义。一旦越过这个界限,就可能产生认为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。 外键是数据库一级的一个完整性约束,就是数据库基础理论书中所说的“参照完整性”的数据库实现方式。 外键属性当然是可以去掉的,如果你不想再用这种约束,对编程当然不会有什么影响,但相应的录入数据的时候就不对录入的数据进行“参照完整性”检查了。 例如有两个表 A(a,b) :a为主键,b为外键(来自于B.b) B(b,c,d) :b为主键 如果我把字段b的外键属性去掉,对编程没什么影响。 如上面,A中的b要么为空,要么是在B的b中存在的值,有外键的时候,数据库会自动帮你检查A的b是否在B的b中存在。
就是能够唯一标识该列的那一条实体。 如:在一个班级里,假如有两个同名字的学生,这就不能用名字做为主键;在一个班级里也不能用性别做为主键,因为也有雷同。 但可以用学号做为主键,因为在一个学校里,该学生的学号是唯一的。 主键主要起标识作用。 一个实体跟另一个实体关联,主要也通过主键关联。

5,mysql数据库表用什么做主键

关系型数据库的特点在于多个表之间使用关系联系起来这样可以显著降低数据库的容量,并提高维护效率主键并不是必须的但是增加主键对单表查询的效率提升很高所以从原理上来说只要该字段绝对不会重复那么使用任何类型的字段,比如你上面所说的人名也是可以的但是如果考虑到与其它表的相互连接使用人名的可操作性就不是很好所以,第一点,建议你另外增加一个自动编号的字段作为id,用来做主键第二点,关系型数据库的特点就是多表之间有冗余,但是实际上是降低了整个数据库的维护难度,鉴于你看起来对关系型数据库原理不清楚更建议你先把关系型数据库原理再看看
1、主键定义 表中经常有一个列或多列的组合,其值能唯一地标识表中的每一行。这样的一列或多列称为表的主键,通过它可强制表的实体完整性。当创建或更改表时可通过定义 PRIMARY KEY 约束来创建主键。一个表只能有一个 PRIMARY KEY 约束,而且 PRIMARY KEY 约束中的列不能接受空值。由于 PRIMARY KEY 约束确保唯一数据,所以经常用来定义标识列。2、主键作用 1)保证实体的完整性; 2)加快数据库的操作速度 3) 在表中添加新记录时,数据库会自动检查新记录的主键值,不允许该值与其他记录的主键值重复。 4) 数据库自动按主键值的顺序显示表中的记录。如果没有定义主键,则按输入记录的顺序显示表中的记录。3、主键的必要性 在有些数据库中,虽然主键不是必需的,但最好为每个表都设置一个主键,不管是单主键还是复合主键。它存在代表着表结构的完整性,表的记录必须得有唯一区分的字段,主键主要是用于其他表的外键关联,以及本记录的修改与删除。4、主键的选择 1)编号作主键 此方法就是采用实际业务中的唯一字段的“编号”作为主键设计,这在小型的项目中是推荐这样做的,因为这可以使项目比较简单化,但在使用中却可能带来一些麻烦,比如要进行“编号修改”时,可能要涉及到很多相关联的其他表 2)自动编号主键 这种方法也是很多人在使用的,就是新建一个ID字段,自动增长,非常方便也满足主键的原则 a、优点:数据库自动编号,速度快,而且是增量增长,聚集型主键按顺序存放,对于检索非常有利;数字型的,占用空间小,易排序,在程序中传递也方便;如果通过非系统增加记录(比如手动录入,或是用其他工具直接在表里插入新记录,或老系统数据导入)时,非常方便,不用担心主键重复问题。 b、缺点:其实缺点也就是来自其优点,就是因为自动增长,在手动要插入指定ID的记录时会显得麻烦,尤其是当系统与其他系统集成时,需要数据导入时,很难保证原系统的ID不发生主键冲突(前提是老系统也是数字型的);如果其他系统主键不是数字型那就麻烦更大了,会导致修改主键数据类型了,这也会导致其他相关表的修改,后果同样很严重;就算其他系统也是数字型的,在导入时,为了区分新老数据,可能想在老数据主键前统一加一个“o”(old)来表示这是老数据,那么自动增长的数字型又面临一个挑战。 3)Max加一 由于自动编号存在那些问题,所以有些人就采用自己生成,同样是数字型的,只是把自动增长去掉了,采用在Insert时,读取Max值后加一,这种方法可以避免自动编号的问题,但也存在一个效率问题,如果记录非常大的话,那么Max()也会影响效率的;更严重的是并发性问题,如果同时有两人读到相同的Max后,加一后插入的ID值会重复,这已经是有经验教训的了。 4)自制加一 考虑Max加一的效率后,有人采用自制加一,也就是建一个特别的表,字段为:表名,当前序列值。这样在往表中插入值时,先从此表中找到相应表的最大值后加一,进行插入,有人可能发现,也可能会存在并发处理,这个并发处理,可以采用lock线程的方式来避免,在生成此值的时,先Lock,取到值以后,再unLock出来,这样不会有两人同时生成了。这比Max加一的速度要快多了。但同样存在一个问题:在与其他系统集成时,脱离了系统中的生成方法后,很麻烦保证自制表中的最大值与导入后的保持一致,而且数字型都存在上面讲到的“o”老数据的导入问题。因此在“自制加一”中可以把主键设为字符型的。字符型的自制加一中应该字符型主键可以应付很多我们意想不到的情况。 5)GUID主键 目前一个比较好的主键是采用GUID,推荐主键还是字符型的,但值由GUID生成,GUID是可以自动生成,也可以程序生成,而且键值不可能重复,可以解决系统集成问题,几个系统的GUID值导到一起时,也不会发生重复,就算有“o”老数据也可以区分,而且效率很高,在.NET里可以直接使用System.Guid.NewGuid()进行生成,在SQL里也可以使用NewID()生成。优点是:同IDENTITY 列相比,uniqueidentifier 列可以通过NewID() 函数提前得知新增加的行ID,为应用程序的后续处理提供了很大方便。a、优点:便于数据库移植,其它数据库中并不一定具有IDENTITY 列,而Guid 列可以作为字符型列转换到其它数据库中,同时将应用程序中产生的GUID 值存入数据库,它不会对原有数据带来影响。便于数据库初始化,如果应用程序要加载一些初始数据,IDENTITY 列的处理方式就比较麻烦,而uniqueidentifier 列则无需任何处理,直接用T-SQL 加载即可。便于对某些对象或常量进行永久标识,如类的ClassID,对象的实例标识,UDDI 中的联系人、服务接口、tModel标识定义等。b:缺点是:GUID 值较长,不容易记忆和输入,而且这个值是随机、无顺序的GUID 的值有16 个字节,与其它那些诸如4 字节的整数相比要相对大一些。这意味着如果在数据库中使用uniqueidentifier 键,可能会带来两方面的消极影响:存储空间增大;索引时间较慢。
可以用自动标示做。每增加1个人的名字,自动标示就自动增加数字1,永远都不会重复,就算你把其中一个删除掉了,它的标示数字也不会在出现,做到了永远不重复。
$con=mysql_connect("localhost","user1","testing");if(!$con)if(mysql_query("create database my_db",$con))echo "创建数据库成功";}else$table="create table person(personid int not null auto_increment,primery key(personid),fristname varchar(15),lastname varchar(15),age int)";mysql_query($table,$con);>利用$table创建主键后 ,运行时候在数据库中 无法建立表 ,没有加主键可以建立表?那位可以解决一下。
文章TAG:数据库主键是哪个在ORACLE数据库中什么是主键什么是外键

最近更新

  • wps语音插件,WPS语音插件wps语音插件,WPS语音插件

    如何使用语音表中的wps函数所谓的“一键关机法”就是点击自己的热键就可以快速关闭Windows。为什么最新版的Wpsoffice没有语音阅读功能?wps可以开启语音阅读功能如下:首先更新WPS(金山.....

    问答 日期:2024-04-23

  • 微信 小程序 红包,微信小程序红包直接领取到零钱微信 小程序 红包,微信小程序红包直接领取到零钱

    主要有以下几种玩法:(1)鲍有硕微信红包萧程序鲍有硕是一个风格微信语音红包萧。那么,哪个是微信上答红包小程序?微信回答问题红包小程序哪一个微信小程序有很多,但是小的你想象不到,微信肖.....

    问答 日期:2024-04-23

  • 城市级联市和地区两级联动插件城市级联市和地区两级联动插件

    同时,级联分类控件还可以帮助用户清楚地了解数据的结构和层次关系。我想做一个安卓省/市/县三级联move,省/市联动是前端工作,java省/市级联怎么做?简单来说,为什么没有两个级联移动菜单的.....

    问答 日期:2024-04-23

  • wordpress 数据插件,WordPress小程序插件wordpress 数据插件,WordPress小程序插件

    Wordpress。comstats–WordPress插件的官方统计需要WordpressAPIKey,wordpressin插件如何安装使用?wordpress插件应该放在哪个目录文件下?wordpress想做流量统计,WordPressreporter-–在后.....

    问答 日期:2024-04-23

  • 成人计算机培训班怎么样,成人学校学一年电脑如何成人计算机培训班怎么样,成人学校学一年电脑如何

    成人学校学一年电脑如何2,成人计算机培训班的发展前景怎么样3,电脑培训班怎么样4,电脑培训学校怎么样5,计算机培训学校现在好不好啊学的人多吗1,成人学校学一年电脑如何可以的,起码毕业以后.....

    问答 日期:2024-04-23

  • win7 64 镜像 驱动程序win7 64 镜像 驱动程序

    如下图所示:7。保存windows驱动程序后,点按“继续”以开始在Appleair中安装windows7的过程,如果是Appleair第一次安装windows7,点击开始windowsStarter,点击继续进入下一步,如下图所示:3,从.....

    问答 日期:2024-04-23

  • 下载安装急速上传插件下载安装急速上传插件

    如果你还没有安装“Jisu上传Control”,会弹出网页提示你安装插件,点击安装提示安装插件。为什么百度网盘装的是急速-?1.安装百度网盘插件后,可以正常使用上传的文件夹功能,尝试卸载插件后重.....

    问答 日期:2024-04-22

  • vs2010c语言调试程序vs2010c语言调试程序

    如何为vc2010编译c语言不能在vs2010中直接启动程序的执行。如何使用VisualStudio2010(VS2010)编译C语言1?打开VS2010主界面,选择文件→新建→项目,如何在VS2010中看到-1?c语言VS2010调试错.....

    问答 日期:2024-04-22