精华内容
下载资源
问答
  • 1)关系(Relation) ...所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。它包括超码,候选码,主码。 超码是一个或多个属性的集合,这些属性可以让我们在一个实体集...

    1)关系(Relation)

    一个关系对应通常说的一张表

    2)元组(Tuple)

    表中的一行即为一个元组

    3)属性(Attribute)

    表中的一列即为一个属性,给每一个属性起一个名称,即属性名

    4)码(键)

    码是数据系统中的基本概念。所谓码就是能唯一标识实体的属性,他是整个实体集的性质,而不是单个实体的性质。它包括超码,候选码,主码。

    • 超码是一个或多个属性的集合,这些属性可以让我们在一个实体集中唯一地标识一个实体。
    • 候选码:关系(表)中的某个属性组,它可以唯一确定一个元组。
    • 若一个关系(表)中有多个候选码,则选定其中一个为主码。
    • 全码:关系的所有属性都包含在候选码中。
    • 主属性:包含在任何一个候选码中的属性
    • 非主属性 不包含在任何码中的属性
    • 主码: 主键就是候选键里面的一个,是人为规定的,例如学生表中,我们通常会让“学号”做主键,教师表中让“教师编号”做主键。
    • 外码: 外键比较简单,学生表中的外键就是“教师编号”。外键主要是用来描述两个表的关系。
    • 域(Domain):属性的取值范围。
    • 分量:元组中的一个属性值。
    • 形式化定义
      R(D 1 ,D 2 ,…D n )
      R:关系名
      n:关系的目或度(Degree)
      例:
      关系名(属性1,属性2,…,属性n)
      学生(学号,姓名,年龄,性别,系,年级)
      候补码和超码
      候选码是从超码中选出的,自然地候选码也是一个或多个属性的集合。
      因为超码的范围太广,很多是我们并不感兴趣即无用处的。所以候选码是最小超码,它们的任意真子集都不能成为超码。
      例如,如果K是超码,那么所有包含K的集合都不能是候选码;如果K,J都不是超码,那么K和J组成的集合(K,J)有可能是候选码。
    展开全文
  • 主键:可以作为一张表的唯一标志物 外键:表示该XX 来自 何处 列:也叫字段或者属性(列) 行:字段的组合,称为记录或者元组(行) 外键设置方法: 点击关系——常规后面的省略号——选择设置外键 ...

     第二节:什么是字段、属性、列、元组、记录、表、主键、外键(书25页)

    主键:可以作为一张表的唯一标志物

    外键:表示该XX 来自 何处

    列:也叫字段或者属性(一列)

    行:字段的组合,称为记录或者元组(一行)

    外键设置方法:

    点击关系——常规后面的省略号——选择设置外键

    一、SQL语句创表:

    注:如果始终无法建表到指定数据库中,需要重启SQL Server!

    --创建 数据库:LZX
    create database LZX
    
    -- 创建home表
    create table home
    (	--       "--"表示注释, 该表无外键
    	home_id int primary key,
    	home_name nvarchar(100) not null,
    	home_address nvarchar(100)
    )
    
    -- 创建lzx表
    create table lzx
    (	-- 该表有外键
    	lzx_id int constraint pk_lzx_id_a primary key,
    	lzx_name nvarchar(20) not null,
    	lzx_sax nchar(1),
    	home_id int constraint fk_lzx_id_a foreign key references home(home_id)
    	-- constraint 设置主外键约束
    )
    

     建表如下:

    展开全文
  • 一、字段:某一个事物的一个特征,或者说是属性在我们学vb时,总是用到控件的各种属性,比如name属性、captain属性、width属性属性。类似,在这里的某一个字段就是对“员工“控件中的属性。二、记录(元组):事物...

    学完数据库,我们对SQL SERVER 2008中的部分关键字有了大概的了解,下面我来总结一下几个比较重要的关键字:字段、属性、列、记录(元组)、表、主键、外键。

    一、字段:某一个事物的一个特征,或者说是属性

    字段

    在我们学vb时,总是用到控件的各种属性,比如name属性、captain属性、width属性等属性。类似,在这里的某一个字段就是对“员工“控件中的属性。

    二、记录(元组):事物特征的组合,可以描述一个具体的事物。


    在vb中当我们将一个控件的所有的属性都设置好后,我们就可以对整个控件的样子有个一详细的了解。在数据库中也是这样,当我们在完成一条记录以后,一个员工的详细信息也就清楚了。元组是记录的另个一称呼。

    三、表:记录的组合 表示同一类事物的组合


           表,相当于具有相似特征事物的一个集合。如同vb中许多具有具体属性的textbox控件。

    四、列:字段的另一种称谓


    五、元组:记录的另一种称谓


    下面我们再来说一说另一个概念

    六、主键:能唯一标识信息的事物


    在说主键之前,先看上面一个表格,上述格式可以存储信息,但是某一天当出现两个姓名,性别、年龄都相同的张三时,就无法辨别,我们管这种现象叫做冗余,并且这两信息就无法辨别,所以这是就需要设置一个特定的东西来唯一的标识信息。所以我们就用编号来唯一标识员工的信息。那么我们管这个能唯一标识信息的事物叫做主键。即此表格的编号是主键。

    七、外键:一个执行另个一个表的指针

    在讨论外键之前,我们先看看先看看下面的图。

     

     

    当在员工信息表中在填上部门、部门人数、部门地址等几个属性后。你发现了什么问题。或者说能不能把员工的信息和部门信息放到一起?

    不能!!为什么?因为从前三名可以看出,如果几个人都属于一个部门,那么部门,人数,部门地址信息重复了三次,所以当有大量的人同属一个部门时再次会造成信息冗余。

    现在我们该怎么办呢——看下表:


    对,就是通过将连个信息表分开的方法,你看这样的话,部门信息的输入工作了少多了吧。但是当员工信息和部门信息两个表分开来写时,的确减少的信息冗余,但是如何建立关系呢?这时我们可以通过部门编号建立关系,此时的“部门编号”就是“员工信息”表(不是“部门信息”表)的关系链——外键。(注意在两个表分开写后,我们为“部门信息”增加一个主键“部门编号”当然如果不增加的话,部门名称同样可以成为“部门信息”表的主键)

    此时的外键如同指向“部门信息”表中某一具体记录的地址指针(不懂指针的宝宝请暂时飘过),通过员工对应“指针”去部门信息表找对应的部门具体信息。

    展开全文
  • 数据库是如何存储数据的来看一个小例子现在,假如我们现在想存储 员工的信息。也就是说:我们来通过这个例子来看看 字段、记录、表 是一个什么东西。我们下面通过存储一个员工的信息,来把这些专业术语都来解释一遍...

    我们来介绍一下:数据库是如何存储数据的。

    数据库是如何存储数据的

    来看一个小例子

    现在,假如我们现在想存储 员工的信息。也就是说:我们来通过这个例子来看看 字段记录 是一个什么东西。

    我们下面通过存储一个员工的信息,来把这些专业术语都来解释一遍。

    假设有4个信息:

    | 员工姓名 | 员工工资 | 员工性别 | 员工年龄 |

    我们能不能这样去存储数据。比如举例:

    Alt text

    如果我们按照正常的思维,这样存储是没有问题的。(其实这个员工表还缺少一列数据)但是如果我们真的在数据库里面这样存储数据的话,是会出问题的。
    我们想象一下:如果你只是写了员工的姓名、工资、性别、年龄,将来可不可能会出现一个人和里面员工的人有一模一样的姓名。如果出现了一模一样的数据,数据库该如何辨别?

    Alt text

    所以,它需要设置一个东西,来标识唯一的记录(行)。

    如果信息(行)一样,那么保存起来就浪费了,术语叫:冗余。(简单的说:就是有两条数据彼此之间无法辨别了。)

    Q: 那我们怎么办?

    A: 我们在现实中,是使用编号来解决这个问题的。

    不管是人也好,产品也好,都是使用编号来标识唯一的一个事物的。

    主键

    所以:

    Alt text

    张三这个人之前有4个属性:姓名、工资、性别 和 年龄。而确定一个数据唯一性的属性,有一个专门的词:主键。(当前例子指的就是:学生编号。)(现在张三这个人有5个属性了。)

    主键:它也是事物的一个属性,它是可以标识事物唯一性的属性


    如果我们这样存放:

    Alt text

    那么 部门姓名 和 部门地址 还有 部门人数 都会重复的出现,这样存储太消耗空间了。

    所以我们将他们分开存储:

    Alt text

    Q: 请问: 部门 需不需要 编号 这个属性呢?

    A: 需要。

    记住:我们设计任何一个事物都需要主键(唯一的标识符)。如果没有唯一的标识符,那么事物和事物之间的区别就没有了。

    所以,只要你想存数据,数据就必须要有主键。没有主键,事物与事物之间没有办法区分。添加主键就是添加编号属性。

    比如说人。人的身份证算不算是一个人的属性,身份证是单独添加的。我们人有鼻子,眼睛,嘴。身份证严格上讲并不是一个人的属性,只不过是为了标识,使用编号是很方便的。所以每个人才有了身份证号这个属性。

    编号(主键)是无意义的,但是因为它太普遍的,我们认为它有意义。

    在保存数据的时候,都是单独添加一个没有实际意义的、只为了编号的 数据来充当主键。它只起个标识作用。(现实生活中我们就是这样使用的,在实际的设计库的时候,我们也是这样设计的,和我们日常中是一模一样的。)


    外键

    Q: 员工和部门之间是有关系的,那么这个关系怎么去表达?

    Q、: 如果,我们想要将现实生活中特别复杂的事物保存到硬盘上,我们要如何存储?

    你应该这样去考虑:

    第一:个体如何存储;

    第二:个体之间的关系如何存储。

    把这两个搞定了,基本就都搞定了。


    我们现在已经解决了个体如何存储。接下来就是个体之间的关系如何存储了。我们主流使用的数据库都是关系型数据库(就是一个二维表),而我们使用的编程语言是JavaC#这种面向对象的语言,这两种完全不同的解决问题的思想。

    Q: 中间服务器是使用Java 或者 C# 实现的,后端是数据库实现的,它们之间如何进行交互的?

    A: 是通过Hibernate实现 一个映射,日后的博客中会介绍它。(如果日后,我们的数据库也是使用面向对象的思想实现的,那么这个Hibernate 就没用了。但是现在没有面向对象的数据库,这种思想的数据库技术还不成熟,所以 Hibernate现在还是需要学习的。)

    Q: 什么是面向对象,大家已经知道了。但是,什么是关系?

    A: 面向对象思想是通过类来实现的,而关系型数据库是通过表来实现的。而表与表之间的关系是通过什么来实现的呢?是通过一个叫:外键 的东西来表示的。

    我们现在在员工表里面在添加一个:部门编号

    扩展:(编号通常是整型数字,如果数据量太大,整型数字不够用的话,编号通常是字母和数字组合使用。当时我们推荐编号使用整型数字。因为整型查找的时候很快,而字符串查找的时候很慢。)

    Alt text

    这个 部门编号 就是 外键。我们在员工表上添加了一列(部门编号),就解决了 (员工表)与 (部门表)之间的关系了。

    Q: 我们想象一下,如果我们不在员工表里面添加 部门编号。而是在 部门表里面添加 员工编号。这样行不行?

    A: 当时是不行的,一个部门里面里面有很多的员工,并且员工的数量不同。所以,如果我们在部门表里面添加员工编号的话,有些部分的字段就很多,而有些部门的编号就很少,这样就不合适了吧。如果你想这样设计也可以,但是这样设计不好。

    你在设计表之前,要想:员工与部门之间的关系是一对多还是多对一。意思就是:一个员工 对应 很多部门,还是 一个部门 对应 很多员工?
    是一个部分对应多个员工。我们会将外键添加到多的一方,这样是最合理的。

    我们日后会讲:多对多,一对一,一对多 这样的情况下,都如何使用外键来表示关系。现在大概有个印象就可以。

    Q: 再解释一次:什么是外键?

    A: 连接两个表的字段叫做外键。

    但是能不能再换一种更好的解释方式。主键是:标识唯一一个事物。而外键是:一个表中的数据来自另外一个表。(解释:员工表里面的一列数据(部门编号),它不是员工表本身的,它的数据是来自另外一个表(部门表)。)


    总结:

    在数据库里面的专业术语:

    这样的一列叫: 或者 字段。模拟的是:一个事物的某一个静态的特征。:字段的另一种称谓。

    Alt text


    这样的一行叫:记录 或者 元组。模拟的是:字段的组合,表示的是一个具体的事物。元组:记录的另一种称谓。

    Alt text


    这样的一行叫:记录 或者 元组 或者 属性属性记录的另一种称谓。

    Alt text


    这一个整体叫:。记录的组合。模拟的是(表示的是):同一类事物的一个集合。

    Alt text


    表、字段和记录的关系:

    • 字段是事物的属性
    • 记录是事物本身
    • 表示事物的集合

    表中唯一能辨别一个记录与另一个记录不同的字段叫:主键

    Alt text


    如果有一个记录(列)不是来自于表本身的,是来自另外一个表的,它叫:外键

    Alt text


    请访问: http://www.aobosir.com/

    展开全文
  • 第二章

    2020-12-20 16:09:41
    第2章 关系数据库(重点) 了解:关系数据结构及形式化定义、... 实体完整性规则:若属性A是基本关系R的主属性,则属性A不能取空值参照完整性规则:若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应
  • 1.数据库的基本特征: ...2. 设有一个SPJ数据库,其包括S,P,J,SPJ四个关系: S (SNO, SNAME, STATUS, CITY); P (PNO, PNAME, COLOR, WEIGHT); J (JNO, JNAME, CITY); SPJ (SNO, PNO, JNO, QTY)...
  • 我们读不同的描写数据库的文章,会看到不同的概念名称,从某种意义上来讲,是公说公...至于如何定义一个实体,则会根据不同的需要,不同的视角有所不同,比如我们将生物作为实体,那么我们就考虑这个实体有哪些属性
  • 数据库选择题

    千次阅读 2020-08-14 22:19:49
    一个应用中的多个程序共享一个数据集合 B.多个用户、同一种语言共享数据 C.多个用户共享一个数据文件 D.多种应用、多种语言、多个用户互相覆盖地使用数据集合 3单选(2分)要保证数据库的数据独立性,需要修改的是...
  • 数据库范式

    千次阅读 2020-10-02 02:33:21
    教材书这样定义:符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度。 实话实说,真不懂!!然后看了博主的文章解释的很好。也就可以理解为:一张数据表的表结构所符合的某种设计标准
  • 章 绪论

    2021-03-22 10:41:38
    在计算机中常常这样来描述:(小明,男,199510, 福建省福州市,计算机系,2013)即把学生的姓名,性别,出生年月,出生地,所在院系,入学时间等组织在一起,构成一个记录,这离的学生记录就可..
  • SQL 数据库 学习 007 通过一个示例简单介绍什么是字段、属性、列、元组、记录、表、主键、外键 (上)我们来介绍一下:数据库是如何存储数据的。数据库是如何存储数据的来看一个小例子scott 是Orale软件里面的一个...
  • 若关系中的某一属性组的值能唯一标识一个元组,则称该属性组为候选码简单的情况:候选码只包含一个属性。 全码(All-key) 最极端的情况:关系模式的所有属性组是这个关系模式的候选码,称为全码。 主码(Primary ...
  • 数据库原理

    2018-03-04 17:20:22
    数据库是一个以某种有组织的方式存储的数据集合。也就是:保存有组织数据的容器(一个文件或一组文件) 为什么我们需要数据库? 毫无疑问,数据库是用来存储数据的。我们对excel肯定不会陌生,excel也是用来存储...
  • 候选码、主码、主属性、非主属性

    千次阅读 2019-07-28 12:58:46
    属性(或多个属性构成,此时叫属性组),可以唯一标识元组(行),且其子集不能。 候选码可以1个,也可以多个。当有多个的时候,任意选一个作为主码(也可以简称 码,也就是通俗我们讲的primary key)。 非常像...
  • 7.候选码:关系中的某一属性组的值能唯一标识一个元组,而子集不能,则称该属性组(人话:有好几个属性可以作为一行(元祖)的标识,例如序号,课程号,身份证号,那么这三个都是候选码) 8.主码:从候选码选定其中...
  • 每个属性都有一个属性名,属性值则是各元组属性的取值。 例如,属性:“Pno”,“Pname”,“Psex”,“Page”,“Pid” 域(Domain):属性的取值范围称为域。同一属性只能在相同域中取值。 例如,性别属性“Psex”的...
  • 欢迎关注“小白玩转Python”,发现更多 “有趣”引言Python中的一切都是一个对象。每个对象都有自己的数据属性和与之关联的方法。为了有效和恰当地使用一个对象,我们应该知道如何与它...
  • 名称 概念 候选键 表中的一行记录就是元组 候选键 能惟一标识元组,并且不含多余属性属性(组合属性) 全码(键) 关系模型的所有属性组是这个关系模式的候选键 主键 除可以包含一个候选键外,还可以包含其它属性 超键...
  • 一、讲解 首先说明 键字=码字,所以 主键=主码=主关键字,候选键=候选码=候选关键字... ... 1、码=超键:能够唯一标识一条记录的属性属性集。 标识性:一个数据表的所有记录都具有不同的超键 非空性:...
  • (1)域,笛卡尔积,关系,元组属性; (2)主码,候选码,外码; (3)关系模式,关系,关系数据库。 2.试述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值? 3. 4.关系代数的基本运算...
  • 2021-03-02

    2021-03-02 21:48:07
    一个属性组的值能唯一标识一个元组,而其子集不能,则称该属性组为候选键,也称候选码。当一个关系中有多个候选键,则应当选择其中一个为主码。 3.关系 通俗地讲关系就是二维表,二维表的名字就是关系的名字。 4...
  • (3、列表元素都有索引和值两个属性,索引从0开始,每个索引都对应一个值;(4、有中括号括起来元素,元素之间有逗号隔开。 2、元组:(1、一经定义内容无法改变;(2、元组元素可以是不同的类型;(3、元组使用圆括号括...
  • 1【单选题】 在数据库的三级模式结构...公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是 A、 多对多 B、 一对一 C、 多对一 D、 一...
  • 1.数据库的4基本概念 数据(Data):是数据库中存储的基本对象; 数据库(Database):是长期储存在计算机内、有组织的、可共享的大量数据的集合; 数据库基本特征: 数据按一定的数据模型组织、描述和储存 可为...
  • 一、简介 Python序列指:它们的成员是有序排列的,并且可以通过下标偏移量访问到它的一个或者几个成员。包括:字符串(普通字符串和unicode字符串)、列表、和元组类型。 因为这些类型其实都是由一些成员共同组成...
  • 数据库系统概论(第章绪论)

    千次阅读 2020-03-16 10:02:59
    章 绪论 1.1 数据库系统概述 4基本概念:数据、数据库、数据库管理系统、数据库系统 数据:描述事物的符号记录 数据库:数据库是长期储存在计算机内、有组织的、可共享的大量数据的集合(永久存储、有组织...
  • ①域 笛卡尔积 关系 元组 属性 域: 域是种具有相同类型数据的值的集合。 例如: 整数 实数 介于某个范围取值的整数 指定长度的字符串集合 {‘男’,‘女’} 笛卡尔积: 给定组域D1,D2,D3,允许其中某些域是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 14,181
精华内容 5,672
关键字:

唯一标识一个元组的属性