精华内容
下载资源
问答
  • 数据库中数据表之间的关系

    万次阅读 2012-12-14 16:56:16
    一个主键是唯一识别一个表的每一行记录,但这只是其作用的一疗分,主键的主要作用是将记录和存放在其他表数据进行关联,在这一点上,主键是不同表各记录间的简单指针,主键约整就是确定表每一条记录,主键...

    主键:能够唯一表示数据表中的每个记录的字段或者字段的组合就称为主键。一个主键是唯一识别一个表的每一行记录,但这只是其作用的一疗分,主键的主要作用是将记录和存放在其他表中的数据进行关联,在这一点上,主键是不同表中各记录间的简单指针,主键约整就是确定表中的每一条记录,主键不能是空值,唯一约束是用于指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值,所以,主键的值对用户而言是没有什么意义,并且和它赋予的值也没有什么特别联系。

    外键:

    若有两个表A,B,C是A的主键,而B中也有C字段,则C就是表B的外键,外键约束主要用来维护两个表之间数据的一致性。

    A为基本表,B为信息表。

    在数据库中,常常不只是一个表,这些表之间也不是相互独立的,不同的表之间需要建立一种关系,才能将它们的数据相互沟通,而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的,通过这个字段中不同的值可以区别各条记录,就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人,数据库的表中作为主键的段段就要像人的身份证号一样,必须是每个记录的值都不同,这才能根据主键的值来确定不同的记录。

    关系:外键一定是另外某个表的主键。

     

    表关系
    可以在数据库关系图中的表间创建关系以显示某个表中的列如何链接到另一表中的列

    在关系数据库中,关系能防止冗余的数据。例如,如果正在设计一个数据库来跟踪有关书的信息,而每本书的信息(如书名、出版日期和出版商)都保存在一个名为 titles 的表中。同时还有一些想保存的有关出版商的信息,例如出版商的电话号码、地址和邮政编码。如果将所有这些信息都保存在 titles 表中,则对于某个出版商出版的每本书,出版商的电话号码将是重复的。

    一个更好的解决方案是,单独在一个名为 publishers 的表中只保存一次出版商信息。然后在 titles 表中设置指针,以引用 publishers 表中的项。

    若要确保数据同步,可以在 titles 表和 publishers 表之间强制引用完整性。引用完整性关系能确保某个表中的信息与另一个表中的信息相匹配。例如,titles 表中的每个书名必须和 publishers 表的特定出版商相关联。不能在数据库中添加数据库中不存在的出版商的书名。

    为更好地理解表关系,请参见:

    表关系类型


    引用完整性概述
    表关系类型
    关系是通过匹配键列中的数据而工作的,而键列通常是两个表中具有相同名称的列。在大多数情况下,关系将一个表中为每个行提供唯一标识符的主键与另一个表中外键内的项相匹配。例如,通过在 titles 表的 title_id 列(主键)和 sales 表的 title_id 列(外键)之间创建一个关系,可以使销售额与特定的销售书名相关联。

    表与表之间存在三种类型的关系。所创建的关系类型取决于相关联的列是如何定义的。

    一对多关系


    多对多关系


    一对一关系
    一对多关系
    一对多关系是最常见的关系类型。在这种关系类型中,表 A 中的行可以在表 B 中有许多匹配行,但是表 B 中的行只能在表 A 中有一个匹配行。例如,publishers 表和 titles 表是一对多的关系:每一个出版商可出版许多书,但每一本书只能有一个出版商。

    如果在相关列中只有一列是主键或具有唯一约束,则创建的是一对多关系。

    一对多关系中的主键方由一个键 符号表示。关系中的外键方由一个无穷大 符号表示。

    多对多关系
    在多对多关系中,表 A 中的一行可与表 B 中的多行相匹配,反之亦然。通过定义称为连接表的第三方表创建这样的关系,该连接表的主键包括表 A 和表 B 中的外键。例如,authors 表和 titles 表是多对多关系,该关系通过从这些表中的每个表与 titleauthors 表的一对多关系定义。titleauthors 表的主键由 au_id 列(authors 表的主键)和 title_id 列(titles 表的主键)组成。

    一对一关系
    在一对一关系中,表 A 中的一行最多只能与表 B 中的一行相匹配,反之亦然。如果两个相关列都是主键或具有唯一约束,则创建的是一对一关系。

    这种关系不常见,因为这种方式的大部分相关信息都在一个表中。使用一对一关系可以是为了:

    分割一个含有许多列的表。


    出于安全考虑而隔离表的某一部分。


    存储可以很容易删除的临时数据,只需删除表即可删除这些数据。


    存储只应用于主表子集的信息。
    一对一关系的主键方由键 符号表示。外键方也由键 符号表示。


    候选键 (candidate key)
    对于表中的每一行具有唯一值的一个列或一组列。每个候选键值唯一标识表中的一个行。表可以具有多个候选键。表中的一个候选键由数据库设计器指定为表的主键,其它候选键称作备用键。



    ---以上内容摘自SQL SERVER 2000的联机帮助。

    若想得到有关更详细的内容,请参见帮助!

    展开全文
  • 数据库中的九种数据库对象 数据库对象是数据库的组成部分,常见的有以下几种: ...一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录...

    数据库中的九种数据库对象

     

    数据库对象是数据库的组成部分,常见的有以下几种:

     

    1.表(Table )

     

    数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名。行包括了若干列信息项。一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于惟一地确定一条记录。

     

    2.索引(Index)

     

    索引是根据指定的数据库表列建立起来的顺序。它提供了快速访问数据的途径,并且可监督表的数据,使其索引所指向的列中的数据不重复。

     

    3.视图(View)

     

    视图看上去同表似乎一模一样,具有一组命名的字段和数据项,但它其实是一个虚拟的表,在数据库中并不实际存。在视图是由查询数据库表产生的,它限制了用户能看到和修改的数据。由此可见,视图可以用来控制用户对数据的访问,并能简化数据的显示,即通过视图只显示那些需要的数据信息。

     

    4.图表(Diagram)

     

    图表其实就是数据库表之间的关系示意图。利用它可以编辑表与表之间的关系。

     

    5.缺省值(Default)

     

    缺省值是当在表中创建列或插入数据时,对没有指定其具体值的列或列数据项赋予事先设定好的值。

     

    6.规则(Rule)

     

    规则是对数据库表中数据信息的限制。它限定的是表的列。

     

    7.触发器(Trigger)

     

    触发器是一个用户定义的SQL事务命令的集合。当对一个表进行插入、更改、删除时,这组命令就会自动执行。

     

    8.存储过程(Stored Procedure)

     

    存储过程是为完成特定的功能而汇集在一起的一组SQL 程序语句,经编译后存储在数据库中的SQL 程序。

     

    9.用户(User)

     

    所谓用户就是有权限访问数据库的人。

     

    转载于:https://www.cnblogs.com/anyiz/p/10737032.html

    展开全文
  • 数据库中的相关术语

    2017-08-11 12:37:00
    在Oracle数据库中每个数据库里面都包含很多对象,主要包括表、视图、存储过程、触发器及其约束。  1、表  表,即在数据库中存放数据用的数据表。每一个数据库中都可以包含很多张数据表,但是每一数据表的名字...

      在Oracle数据库中每个数据库里面都包含很多对象,主要包括表、视图、存储过程、触发器及其约束。

      1、表

      表,即在数据库中存放数据用的数据表。每一个数据库中都可以包含很多张数据表,但是每一个数据表的名字都是不能重复的。表的每一行代表一条记录,每一列都有一个列名,列名时唯一的,行与列的交叉点称为字段。

      2、视图

    视图是数据库的虚拟表。在视图中存放的是从数据库表中查询 的记录,使用视图主要是为了方便信息查询,同时也能缩短查询数据的时间。

      3、存储过程

      存储过程是由SQL 语句和控制流语句组成的代码块。存储过程在数据库内,可由应用程序通过存储过程的名称调用执行。

      存储过程在开发软件时,可以把大量的数据操作放在服务器端的存储过程中,而只返回需要的数据,这样就减少了数据的传输量,速度也可以大大得提高。

      4、触发器

      触发器是特殊的存储过程,也是由SQL语句和程序控制语句组成。但是,触发器在数据库中不需调用而是自动执行的。例如,在触发器中可以定义在修改某张表记录后执行触发器中的内容。

      5、约束

      约束是在数据库中保证数据库里表中数据完整性的手段。在Oracle中使用的约束有主键约束、外键约束、唯一约束、检查约束和非空约束5个,其中主键约束和唯一约束都被认为是唯一约束,而外键约束被认为是参照约束。

      (1)主键(Primary  Key)约束

      主键约束在每个数据表中只能有一个,但是一个主键约束可以由多个列组成,通常把由多个列组成的主键又叫做复合主键或组合主键。主键约束可以保证主键列的数据没有重复值且值不为空,也可以说是唯一的标识表中的一条记录。

      (2)外键(Foreign Key)约束

      外键约束之所以被认为是参照约束,是因为它主要用作把一个表中的数据和另一个表中的数据进行关联,表和表之间的关联是为了保证数据库中数据的完整性,使用外键保证数据的完整性,也叫参照完整性。

      (3)唯一(Unique)约束

      唯一约束和主键约束一样都是设置表中的列不能重复的约束,区别就是一个表中只能有一个主键约束,而却可以有多个唯一约束。通常情况下设置唯一约束的目的就是使非主键列没有重复值。唯一约束和主键约束的另一个区别是如果数据表中的某一列中有空值,那么就不能把这个列设置为主键列,但可以设置为唯一约束。

      (4)检查(check)约束

      检查约束是用来指定表中列的值的取值范围的。例如:在员工信息表中的员工年龄的列,如果要使员工的年龄列的值为18~50,就可以使用检查约束进行设置,当输入的值不在有效范围内时,就会出现错误。这样就保证了数据库中数据的有效性。

      (5)非空(not  null)约束

      非空约束是用来约束表中的列不允许为空的。例如,在员工信息表中员工身份证号码列,要求员工必须输入时,可以使用非空约束来保证该列不能为空。

      数据库设计的完整性

      使用数据库约束就是保证数据库完整性的方法。数据库设计的完整性实际上就是为了保证数据的正确性。为了保证数据的正确性,在Oracle中涉及的完整性主要有3个,即实体完整性、区域完整性和参照完整性。

      1、实体完整性

      实体完整性要求表中的主键字段都不能为空或者重复的值。例如,在学校里每个学生的学号是唯一的,银行卡的卡号也是唯一的,每个人的身份证号也是唯一的等。

      2、区域完整性

      区域完整性是保证输入到数据库中

    转载于:https://www.cnblogs.com/sdlzspl/p/7345016.html

    展开全文
  • 数据库

    2013-05-07 09:40:47
    一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。个表中通常都有一个主关键字,用于惟一地确定一条记录。 数据库中主键和外键 (1)...

    数据库中的表与我们日常生活中使用的表格类似,它也是由行(Row) 和列(Column)组成的。列由同类的信息组成,每列又称为一个字段,每列的标题称为字段名。行包括了若干列信息项。一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。每个表中通常都有一个主关键字,用于惟一地确定一条记录。

    数据库中主键和外键
    (1)作用
    简单描述:
     主键是对表的约束,保证数据的唯一性!  
     外键是建立表于表之间的联系,方便程序的编写!
    (2)设计原则 
    主键和外键是把多个表组织为一个有效的关系数据库的粘合剂。主键和外键的设计对物理数据库的性能和可用性都有着决定性的影响。
    必须将数据库模式从理论上的逻辑设计转换为实际的物理设计。而主键和外键的结构是这个设计过程的症结所在。一旦将所设计的数据库用于了生产环境,就很难对这些键进行修改,所以在开发阶段就设计好主键和外键就是非常必要和值得的。
    主键:
      关系数据库依赖于主键---它是数据库物理模式的基石。主键在物理层面上只有两个用途:
            1. 惟一地标识一行。
            2. 作为一个可以被外键有效引用的对象。
      基于以上这两个用途,下面给出了我在设计物理层面的主键时所遵循的一些原则:
            1. 主键应当是对用户没有意义的。如果用户看到了一个表示多对多关系的连接表中的数据,并抱怨它没有什么用处,那就证明它的主键设计地很好。
            2. 主键应该是单列的,以便提高连接和筛选操作的效率。
           注:使用复合键的人通常有两个理由为自己开脱,而这两个理由都是错误的。其一是主键应当具有实际意义,然而,让主键具有意义只不过是给人为地破坏数据库提供了方便。其二是利用这种方法可以在描述多对多关系的连接表中使用两个外部键来作为主键,我也反对这种做法,理由是:复合主键常常导致不良的外键,即当连接表成为另一个从表的主表,而依据上面的第二种方法成为这个表主键的一部分,然,这个表又有可能再成为其它从表的主表,其主键又有可能成了其它从表主键的一部分,如此传递下去,越靠后的从表,其主键将会包含越多的列了。
            3. 永远也不要更新主键。实际上,因为主键除了惟一地标识一行之外,再没有其他的用途了,所以也就没有理由去对它更新。如果主键需要更新,则说明主键应对用户无意义的原则被违反了。
           注:这项原则对于那些经常需要在数据转换或多数据库合并时进行数据整理的数据并不适用。
            4. 主键不应包含动态变化的数据,如时间戳、创建时间列、修改时间列等。
            5. 主键应当有计算机自动生成。如果由人来对主键的创建进行干预,就会使它带有除了惟一标识一行以外的意义。一旦越过这个界限,就可能产生认为修改主键的动机,这样,这种系统用来链接记录行、管理记录行的关键手段就会落入不了解数据库设计的人的手中。
    (3)使用举例
    --创建数据库
    USE master
    GO
    IF EXISTS(SELECT * FROM sysdatabases WHERE NAME='study')
    DROP DATABASE study
    GO
    CREATE DATABASE study
    ON 
    ( NAME = study_dat,
       FILENAME = 'c:\study\study_data.mdf',
       SIZE = 5MB,
       MAXSIZE = 25MB,
       FILEGROWTH = 5MB )
    LOG ON
    ( NAME = 'study_log',
       FILENAME = 'c:\study\study_log.ldf',
       SIZE = 5MB,
       MAXSIZE = 25MB,
       FILEGROWTH = 5MB )
    GO
    --打开库
    use study
    --创建表
    IF EXISTS(SELECT * FROM sysobjects WHERE NAME='Stu_PkFk_S')
    DROP TABLE Stu_PkFk_S
    GO
    create table Stu_PkFk_S

    sno char(6), 
    sname char(10), 
    age int, 
    sex char(2), 
    constraint PK_S primary key (sno),   --主键
    constraint CK_age check(age>=0 and age<=150)  --约束
    )
    create table Stu_PkFk_C 

    cno char(8), 
    cname char(16), 
    credit int, 
    constraint PK_C primary key (cno), --主键 
    constraint CK_credit check (credit>=0)  --约束
    )
    create table Stu_PkFk_SC 

    sno char(6), 
    cno char (8), 
    constraint PK_SC primary key (sno,cno), 
    constraint FK_s foreign key (sno) references Stu_PkFk_S(sno), --外键
    constraint FK_c foreign key (cno) references Stu_PkFk_C(cno) 
    )
    --测试数据
    insert into Stu_PkFk_S values ('001','zhang',19,'男')
    insert into Stu_PkFk_S values('002','li',16,'女')
    insert into Stu_PkFk_C values('001','li',100)
    insert into Stu_PkFk_SC values('002','001')
    select * from Stu_PkFk_S
    select * from Stu_PkFk_C
    select * from Stu_PkFk_SC
    DELETE FROM Stu_PkFk_S 
    DELETE FROM Stu_PkFk_SC
     
    --测试添加删除外键
    --添加外键约束语法注释:alter table 表名 add constraint 约束名 foreign key (引用外键列名) references 外键表(外键列)
    --删除外键
    alter table Stu_PkFk_Sc drop constraint  FK_s
    alter table Stu_PkFk_SC drop constraint  FK_c
    --添加外键
    alter table Stu_PkFk_Sc
            add constraint Fk_s
            foreign key (sno) 
            references Stu_PkFk_S(sno)
    go
    alter table Stu_PkFk_SC
            add constraint Fk_c
            foreign key (cno) 
            references Stu_PkFk_C(cno)
    go
    --测试添加删除主键
     --删除主键
    alter table Stu_PkFk_S drop constraint PK_S   
    go  
    --增加主键 
    alter table Stu_PkFk_S add constraint  PK_S primary key (sno)   
    go


    展开全文
  • 数据库mysql

    2021-04-08 19:54:01
    每一称为一条记录,用来描述一个对象的信息 每一称为一个字段,用来描述对象的一个属性 关系模型实体,关系,属性 ①、实体 在现实生活可描述的事情物体 ②、关系 描述实体之间的联系 ③、属性 实体的特点和...
  • 这篇文章主要给大家介绍了食品网站的数据采集和存储过程,详解了如何分析网页结构、爬虫策略、网站类型、层级关系、爬虫方法和数据存储过程,最终实现将帖子的每条评论爬取到数据库中,并且做到可以更新数据,防止...
  • 每个表都有唯一的表名,表中每一数据描述一条具体的记录值。关系的三种类型:基本关系表(实表)、查询表和视图表(虚表) 列:也称为字段或属性,属性的个数称为关系对的元或度,列的值称为属性值,其取值范围称为...
  • 数据库对象

    2017-07-27 09:00:00
    一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。个表通常都有一个主关键字,用于惟一地确定一条记录。 2.索引(Index) ...
  • 每一个存储了实际数据的关系被称为关系实例(Relation Instance)在关系的属性每一条记录的某个属性被约束在某个特定的数据类型上,这个类型被称为属性的域(Domain)。每一个属性只允许输入
  • 数据库对象是数据库的组成部分,常见的有以下几种: ...一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。个表通常都有一个主关键字...
  • 个表都是由若干行和列组成的在数据库中表中的行被称为记录表中的列被称为是这些记录的字段 记录也被称为一行数据是表里的一行在关系型数据库的表里一行数据是指一条完整的记录 字段是表里的一列用于保存条记录...
  • 数据库对象是数据库的组成部分,常见的有以下几种: ...一行数据称为一个或一条记录,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。个表通常都有一个主关
  • 数据库的对象

    2020-06-28 20:54:33
    一行数据称为一个或一条数据,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。 索引(Index) 索引是根据指定是数据库表列建立起来的顺序。它提供了快速访问数据的途径,...
  • 关系型数据库及其优缺点 关系型数据库(Mysql和Oracle):指采用了关系模型来组织数据的数据库,关系模型指的就是二维表模型,关系型数据库就是由二维表以及表与表之间的...域:属性的取值范围,数据库中每一列的取值
  • mysql数据库

    2017-11-15 19:01:00
    查看数据库结构 ...表每一行包含一条具体的数据关系信息,称为数据记录。 查看当前服务器有哪些库 show databases;查看当前mysql服务器包含的库。经初始化后的mysql服务器,默认建立的tes...
  • 数据库简介

    2010-03-24 10:49:02
    数据库的基本概念 one:数据 描述事物的符号记录称为数据(Data)。数据的种类很多,文字、图形、声音、学生的档案记录等都...红色的线条代表列,即每记录每一个输入项叫做列。 two :数据库数据库表 ...
  • 数据库对象之详解

    千次阅读 热门讨论 2012-07-15 21:15:28
    数据库顾名思义就是指数据存放的地方。在计算机中,数据库是数据和数据库对象的集合!数据库对象是数据库中重要...行包括了若干列表信息项,一行数据称为一个或一条记录。一个数据库表由一条或多条记录组成,没有记录的
  • 关系数据库部分

    2019-03-06 11:23:00
    1、关系数据库:是对应于个关系模型的...4、元组:元组是关系数据库中的基本概念,关系是一张表,表中的行(即数据库中每条记录)就是个元组,在二维表里,元组也称为记录。 5、相互关系:个数据库可以...
  • 外键 【什么是外键】 如果公共关键字在一个关系是主关键字,那么这个公共关键字被...其中id是老师表的主键,id可以唯一的标识一条记录, 和一个学生表(id,name,grade,tid) 其中id是学生表的主键,个学...
  • 数据库常用对象概念讲解

    千次阅读 2019-03-27 21:53:14
    数据库对象是数据库的组成部分,常见的对象有:表、索引、视图、图表、默认值、规则、触发器、存储过程、用户、序列等...一行数据称为一个或一条数据,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组...
  • 数据库的建立

    2015-05-20 09:31:52
    /*  iOS使用的数据库 是 轻量级的sqlite  数据库 里面 实际上就是一张一张的... 表每一行我们称为 一条记录 (一个数据模型对象的信息)   数据库 要1.创建数据库文件 2.sql语句创建表 3.sql语句增删改查

空空如也

空空如也

1 2 3 4 5 ... 16
收藏数 310
精华内容 124
关键字:

数据库中每一条数据称为数据条