关系型数据库

关系型数据库

关系数据库简介

  • 1970年IBM公司的E.F.Codd提出关系数据模型
  • 1972年提出了关系第一、第二、第三范式
  • 1974年提出了关系的BC范式

关系数据结构及形式化定义

关系

单一的数据结构 ------ 关系

现实世界的实体及实体间的各种联系均用关系来表示

逻辑结构 ------ 二维表

从用户角度 关系模型中数据的逻辑结构是一张二维表

关系模型是建立在集合代数的基础上

域 Domain

定义 : 域是一组具有相同数据类型的值的集合

例 : 整数 实数 介于某个取值范围的整数 指定长度的字符串集合 {‘男’,‘女’} 等等

笛卡尔积 Cartesian Product

定义 : 给定一组域为 D 1 , D 2 , . . . , D n D_1,D_2,...,D_n D1,D2,...,Dn,这些域可以是相同的 D 1 , D 2 , . . . , D n D_1,D_2,...,D_n D1,D2,...,Dn的笛卡尔积为:
D 1 × D 2 × . . . × D n   =   {   ( d 1 ,   d 2 ,   . . . ,   d n )   ∣ d i ∈ D i ,   i = 1 ,   2 ,   . . . , n } D_1×D_2×...×D_n\ =\ \{\ (d_1,\ d_2,\ ...,\ d_n)\ |d_i \in D_i,\ i=1,\ 2,\ ...,n\} D1×D2×...×Dn = { (d1, d2, ..., dn) diDi, i=1, 2, ...,n}
例:

# D1学生集合为 {'张三','李四'}
# D2性别集合为 {'男','女'}
# D3专业集合为 {'计算机应用','护理','会计'}

# 则 D1 D2 D3 的笛卡尔积为
# D1×D2×D3 = {('张三','男','计算机应用'),('张三','男','护理'),('张三','男','会计'),('张三','女','计算机应用'),('张三','女','护理'),('张三','女','会计'),('李四','男','计算机应用'),('李四','男','护理'),('李四','男','会计'),('李四','女','计算机应用'),('李四','女','护理'),('李四','女','会计')}

笛卡尔积的表示方法 : 笛卡尔积可表示为一个二维表,每行对应一个元组,表中的每列对应一个域

D1×D2×D3 =

学生性别专业
张三计算机应用
张三护理
张三会计
张三计算机应用
张三护理
张三会计
李四计算机应用
李四护理
李四会计
李四计算机应用
李四护理
李四会计
元组 Tuple

笛卡尔积中的每一个元素 ( d 1 ,   d 2 ,   . . . ,   d n ) (d_1,\ d_2,\ ...,\ d_n) (d1, d2, ..., dn) 称作一个 n n n元组 ( n − t u p l e ) (n-tuple) (ntuple) 或简称元组 ( t u p l e ) (tuple) (tuple)

分量 Component

笛卡尔积元素 ( d 1 ,   d 2 ,   . . . ,   d n ) (d_1,\ d_2,\ ...,\ d_n) (d1, d2, ..., dn)中的每一个 d i d_i di称作一个分量

基数 Cardinal number

一个域允许的不同取值个数称为这个域的基数

D i ( i = 1 ,   2 ,   . . . ,   n ) D_i (i=1,\ 2,\ ...,\ n) Di(i=1, 2, ..., n)为有限集,其基数为 m i   ( i = 1 ,   2 ,   . . . ,   n ) , m_i\ (i=1,\ 2,\ ...,\ n), mi (i=1, 2, ..., n), D 1 × D 2 × . . . × D n D_1×D_2×...×D_n D1×D2×...×Dn的基数 M M M为:
M = ∏ i = 1 n m i \huge M=\prod^n_{i=1}m_i M=i=1nmi
上面的 D 1 × D 2 × D 3 D_1×D_2×D_3 D1×D2×D3 的基数为 : 2 × 2 × 3 = 12 2×2×3=12 2×2×3=12

关系 Relation
(1) 关系

D 1 × D 2 × . . . × D n D_1×D_2×...×D_n D1×D2×...×Dn的子集称作在域 D 1 ,   D 2 ,   . . . ,   D n D_1,\ D_2,\ ...,\ D_n D1, D2, ..., Dn上的关系,表示为 :
R     ( D 1 ,   D 2 ,   . . . ,   D n ) R\ \ \ (D_1,\ D_2,\ ...,\ D_n) R   (D1, D2, ..., Dn)
R R R表示为关系名, n n n表示关系的目或度 Degree

n = 1 n=1 n=1时 称该关系为单元关系

n = 2 n=2 n=2时 称该关系为元二关系

(2) 元组

关系中的每个元素是关系中的元组 通常用 t t t来表示

(3) 关系的表示

关系也是一个二维表 表的每行对应一个元组 表的每列对应一个域,一个属性

(4) 属性 Attribute

关系中不同的列可以对应相同的域 为了加以区分 必须对每列起一个名字 称为属性

n目关系必有n个属性

(5) 码 Key

候选码 Candidate key :

若关系中的某一属性组的值能唯一的标识一个元组 则称该属性组为候选码

最简单的情况 : 候选码只包含一个属性

全码 All-key

最极端的情况 : 关系模式中的所有属性组是这个关系模式的候选码 称为全码

主码 Primary key

若一个关系有多个候选码 则选定其中一个为主码

外码 Foreign Key

定义 : 设 F F F是基本关系 R R R的一个或一组属性 但不是关系 R R R的码,如果 F F F与基本关系 S S S的主码 K S K_S KS相对应 则称 F F F是基本关系 R R R的外码

基本关系 R R R称为参照关系

基本关系 S S S称为被参照关系

  • 关系R和S不一定是不同的关系
  • 目标关系S的主码K_S和参照关系的外码F必须定义在同一域上
  • 外码不一定要与相应的主码同名 当外码与相应的主码属于不同关系时 往往取相同的名字 以便于识别
主属性 Prime attribute

候选码的诸属性称为主属性

非主属性

不包含在任何候选码中的属性

(6) 三类关系
  • 基本关系 (基本表或基表) : 实际存在的表 是实际存储数据的逻辑表示
  • 查询表 : 查询结果对应的表
  • 试图表 : 由基本表或其他试图导出的表 是虚表 不对应实际存储的数据
(7) 基本关系的性质
  • 列是同质的 Homogeneous
  • 不同的列可以出自同一个域 其中的每一列称为属性 不同的属性要给予不同的属性名
  • 列的顺序无所谓 列的次序可以任意交换
  • 任意两个元组的候选码不能相同
  • 行的顺序无所谓 行的顺序可以任意交换
  • 分量必须取原子值 这是规范条件中最基本的一条 (不能拆分单元格)

关系模式

什么是关系模式

==关系模式 ( Relation Schema)==是对关系的描述 关系模式是型 关系是值

(1) 元组集合的结构

属性构成 属性来自的域 属性与域之间的

(2) 一个关系通常由赋予它的元组语义确定

(3) 现实的世界中还存在着完整性约束

定义关系模式

关系模式可以形式化的表示为 : R   ( U ,   D ,   D O M ,   F ) R\ (U,\ D,\ DOM,\ F) R (U, D, DOM, F)

# R : 关系名
# U : 组成该关系的属性名的集合
# D : 属性组U中属性所来自的域
# DOM : 属性向域的映像集合
# F : 属性间的数据依赖关系集合
关系模式与关系
  • 关系模式是静态的 稳定的
  • 关系是动态的 随时间不断变化的

关系是关系模式在某一时刻的状态或内容 在实际工作中关系模式和关系往往统称为关系 需要通过上下文加以区分

关系数据库

在一个给定的应用领域中 所有关系的集合构成一个关系数据库

关系数据库的型与值

关系数据库的型 : 关系数据库模式 对关系数据库的描述

关系数据库模式 : 若干域的定义 在这些域上定义的若干关系模式

关系数据库的值 : 关系模式在某一刻对应的关系的集合简称为关系数据库

关系模型的存储结构

1. 有的关系数据库管理系统中一个表对应一个操作系统文件 将物理数据组织交给操作系统完成

2. 有的关系数据库管理系统从操作系统申请若干文件 自己划分文件空间 组织表 索引等存储结构 并进行存储管理

关系数据结构

基本关系操作

常用的关系操作

查询 : 选择 投影 连接 除 并 交 差等

其中 选择、投影、并、差、笛卡尔积是五种基本操作

数据更新 : 插入 删除 修改

查询的表达能力是其中最主要的部分

关系操作的特点

集合操作方式 : 操作的对象和结果都是集合 一次一集合的方式

关系数据库语言的分类

关系代数语言

用对关系的运算来表达查询要求 代表 : LSBL

关系演算语言

用谓词来表达查询要求

元组关系演算语言 : 谓词变元的基本对象是元组变量

域关系演算语言 : 谓词变元的基本对象是域变量

具有关系代数和关系演算双重特点的语言

代表 : SQL (Structured Query Language)

关系的完整性

关系模型中有三类完整性约束 : 实体完整性 参照完整性和用户定义的完整性

其中实体完整性 参照完整性是关系模型必须满足的完整性约束条件 称为关系的两个不变性 应该由关系系统自动支持

用户定义的完整性是应用领域中需要遵循的约束条件 体现了具体领域中的语义约束

实体完整性 Entity Integrity

实体完整性是指若属性A是基本关系R的主属性 则A不能取空值

空值就是 “不知道” 或 “不存在” 或 “无意义” 的值

实体完整性规则的说明 :

  • 实体完整性规则是针对基本关系而言的 一个基本表通常对应现实世界的一个实体集
  • 现实世界中的实体是可区分的 即它们具有某种唯一性的标识
  • 关系模型中以主码作为唯一性标识
  • 主码中的主属性不能取空值

实体完整性规则规定基本关系的所有主属性都不能取空值

参照完整性

关系间的引用

在关系模型中实体与实体之间的联系都是用关系来描述的 存在着关系和关系之间的引用

例:

# 学生 (*学号,姓名,性别,*专业号,年龄)
# 专业 (*专业号,姓名)
学生关系引用了专业关系的主码 "专业号", 学生关系中的 "专业号" 值必须是确实存在的专业号,即专业关系中有该专业的记录.
学生中的专业号是外码  那么学生表中专业号的值必须依赖于专业表中专业号的值来确定 不能出现专业表中专业号之外的值
用户定义的完整性

针对某一具体关系数据库的约束条件 反应某一具体应用所涉及的数据必须满足具体的语义要求

关系模型应提供定义和检验这类完整性的机制,以便用统一的系统方法处理它们 而不要用应用程序承担这一功能

例: 学生 (姓名,年龄,性别,分数)

# 年龄必须是正整数  0 <= n <= 100
# 性别只能取 {'男','女'}
# 分数只能是正数   0 <= n <= 100  

关系代数

关系代数是一种抽象的查询语言 是对关系的运算来表达查询

关系代数的运算对象是关系 运算结果也是关系

关系代数按运算符的不同可分为传统的集合运算和专门的关系运算

集合运算是从关系的水平方向即行的角度进行

专门的关系运算不仅涉及行而且涉及列

集合运算符
运算符含义
∪ \cup
− -
∩ \cap
× \times ×笛卡尔积
专门的关系运算符
运算符含义
σ \sigma σ选择
π \pi π投影
⋈ \Join 连接
÷ \div ÷
传统的集合运算
并 union

关系 R R R S S S具有相同的目 n n n (即两个关系都有 n n n个属性),相应的属性取自同一个域

R R R S S S的并运算表示为
R ∪ S   =   { t ∣ t ∈ R ∨ t ∈ S } R\cup S\ = \ \{t|t\in R\vee t\in S\} RS = {ttRtS}
运算结果为: n n n目关系,由属于 R R R或属于 S S S的元组组成

例:

R R R

ABC
a1b1c1
a1b2c2
a2b2c1

S S S

ABC
a1b2c2
a1b3c2
a2b2c1

R ∪ S R\cup S RS

ABC
a1b1c1
a1b2c2
a2b2c1
a1b3c2
差 except

关系 R R R S S S具有相同的目 n n n (即两个关系都有 n n n个属性),相应的属性取自同一个域

R R R S S S的差运算表示为
R − S   =   { t ∣ t ∈ R ∧ t ∉ S } R- S\ = \ \{t|t\in R\wedge t\notin S\} RS = {ttRt/S}
运算结果为: n n n目关系,由属于 R R R并且不属于 S S S的元组组成

例:

R − S R-S RS:

ABC
a1b1c1
交 intersection

关系R和S具有相同的目n (即两个关系都有n个属性),相应的属性取自同一个域

R与S的交运算表示为
R ∩ S   =   { t ∣ t ∈ R ∧ t ∈ S } R ∩ S   =   R − ( R − S ) R\cap S\ = \ \{t|t\in R\wedge t\in S\}\\ R\cap S\ = \ R-(R-S) RS = {ttRtS}RS = R(RS)

运算结果为: n目关系,由属于R并且属于S的元组组成

例:

R ∩ S R\cap S RS:

ABC
a1b2c2
a2b2c1
笛卡尔积 Cartesian Product

严格来讲应该是广义的笛卡尔积 (Extended Cartesian Product)

R: n目关系,k个元组

S: m目关系,r个元组

R与S的笛卡尔积表示为R×S:
R × S   =   { t r ⌢ t s ∣ t r ∈ R ∧ t s ∈ S } R×S\ = \ \{{t_r}^\frown{t_s}|t_r\in R\wedge t_s\in S\} R×S = {trtstrRtsS}
运算结果为: 行: k × r k×r k×r个元组,列: n + m n+m n+m个属性的元组的集合

其中元组的前n列是关系R的元组 后m列是关系m的元组

R × S R×S R×S:

R.AR.BR.CS.AS.BS.C
a1b1c1a1b2c2
a1b1c1a1b3c2
a1b1c1a2b2c1
a1b2c2a1b2c2
a1b2c2a1b3c2
a1b2c2a2b2c1
a2b2c1a1b2c2
a2b2c1a1b3c2
a2b2c1a2b2c1
专门的关系运算

关系运算包括:选择 投影 连接 除运算

相关记号说明:

关系模式为 R   ( A 1 ,   A 2   ,   . . . ,   A n ) R\ (A_1,\ A_2\ ,\ ...,\ A_n) R (A1, A2 , ..., An),它的一个关系为 R R R, t ∈ R t\in R tR表示 t t t R R R的一个元组, t [ A i ] t[A_i] t[Ai]则表示元组t中相应与属性 A i A_i Ai的一个分量

A = A i 1 ,   A i 2 ,   . . . ,   A i k A={A_{i1},\ A_{i2},\ ...,\ A_{ik}} A=Ai1, Ai2, ..., Aik,其中 A i 1 ,   A i 2 ,   . . . ,   A i k A_{i1},\ A_{i2},\ ...,\ A_{ik} Ai1, Ai2, ..., Aik A 1 ,   A 2   ,   . . . ,   A n A_1,\ A_2\ ,\ ...,\ A_n A1, A2 , ..., An中的一部分,则A称为属性列或属性组

t [ A ] = ( t [ A i 1 ,   t [ A i 2 ,   . . . ,   t [ A i k ] ) t[A]=(t[A_{i1},\ t[A_{i2},\ ...,\ t[A_{ik}]) t[A]=(t[Ai1, t[Ai2, ..., t[Aik])表示元组t在属性列A上诸分量的集合, A ˉ \bar{A} Aˉ则表示 A i 1 ,   A i 2 ,   . . . ,   A i k {A_{i1},\ A_{i2},\ ...,\ A_{ik}} Ai1, Ai2, ..., Aik中去掉 A i 1 ,   A i 2 ,   . . . ,   A i k {A_{i1},\ A_{i2},\ ...,\ A_{ik}} Ai1, Ai2, ..., Aik后剩余的属性组

R R R n n n目关系, S S S m m m目关系, t r ∈ R ,   t s ∈ S ,   t r ⌢ t s t_r\in R,\ t_s\in S,\ {t_r}^\frown{t_s} trR, tsS, trts称为元组的连接, t r ⌢ t s {t_r}^\frown{t_s} trts是一个 n + m n+m n+m列的元组,前 n n n个分量为 R R R中的一个 n n n元组,后 m m m个分量是 S S S中的一个 m m m元组

给定一个关系 R   ( X ,   Z ) R\ (X,\ Z) R (X, Z), X X X Z Z Z为属性组,当 t [ X ] = x t[X]=x t[X]=x时, x x x R R R中的象集 Z x Z_x Zx
Z x = { t [ Z ]   ∣   t ∈ R ,   t [ X ] = x } Z_x=\{t[Z]\ |\ t\in R,\ t[X]=x\} Zx={t[Z]  tR, t[X]=x}
它表示 R R R中属性组 X X X上值为 x x x的诸元组在 Z Z Z上分量的集合

例:

R:

XY
x1y1
x1y2
x1y3
x2y3
x2y6
x3y1
x3y5


Z x 1 =   { y 1 ,   y 2 ,   y 3 } Z x 2 =   { y 3 ,   y 6 } Z x 3 =   { y 1 ,   y 5 } Z_{x1}=\ \{y1,\ y2,\ y3\}\\ Z_{x2}=\ \{y3,\ y6\}\\ Z_{x3}=\ \{y1,\ y5\} Zx1= {y1, y2, y3}Zx2= {y3, y6}Zx3= {y1, y5}

选择 Selection

选择又称为限制 Restriction 在关系R中选择满足给定条件的诸元组 记作:
σ F   ( R )   =   { t   ∣   t ∈ R ∧ F ( t ) = t r u e } \sigma_F\ (R)\ = \ \{t\ |\ t\in R\wedge F(t) = true\} σF (R) = {t  tRF(t)=true}
其中 F F F为选择条件 基本形式为:
X 1   θ   Y 1 X_1\ \theta\ Y_1 X1 θ Y1
其中, θ \theta θ表示比较运算符,它可以是 > ( 大于 ) , < ( 小于 ) , > = ( ) 大于等于 , < = ( 小于等于 ) , < > ( 不等于 ) >(大于),<(小于),>=()大于等于,<=(小于等于),<>(不等于) >(大于),<(小于),>=()大于等于,<=(小于等于),<>(不等于), X 1 , Y 1 X_1,Y_1 X1,Y1是属性名,或为常量,或为简单函数,属性名可以用它的序号来代替

例:

在学生表中查询所有分数在90分以上的学生
θ S s u m > 90   ( S t u d e n t ) \theta_{Ssum>90}\ (Student) θSsum>90 (Student)

投影 Projection

从R中选择出若干属性列组成新的关系
π A   ( R )   = { t [ A ]   ∣   t ∈ R } \pi_{_A}\ (R)\ =\{t[A]\ |\ t\in R\} πA (R) ={t[A]  tR}
其中: A: R中的属性列 投影操作主要是从列的角度进行运算 投影之后不仅取消了原关系中的某些列 ,还可能取消某些元组(避免重复元组)

例:

只查询学生姓名与分数
π S n a m e , S s u m   ( S t u d e n t ) \pi_{{Sname,Ssum}}\ (Student) πSname,Ssum (Student)

连接 Join

又称为 θ \theta θ连接,表示从两个关系的笛卡尔积中选取属性间满足一定条件的元组
R   ⋈ A θ B S = { t r ⌢ t s   ∣   t r ∈ R   ∧   t s ∈ S   ∧   t r [ A ] θ   t s [ B ] } R\ \bowtie_{A\theta B} S = \{{t_r}^\frown{t_s}\ |\ t_r\in R\ \wedge\ t_s\in S\ \wedge\ t_r[A]\theta\ t_s[B]\} R AθBS={trts  trR  tsS  tr[A]θ ts[B]}
A和B : 分别为R和S上度数相等并且可比的属性组

θ \theta θ : 比较运算符

运算结果 : 从R和S的广义笛卡尔积R×S中选取(R关系)在A属性组上的值与(S关系)在B属性组上值满足比较关系 θ \theta θ的元组

等值连接 equijoin

θ \theta θ ′ = ′ '=' =的连接运算称为等值连接

等值连接的含义 : 从关系R与S的广义笛卡尔积中选取A,B属性值相等的那些元组
R   ⋈ A = B S = { t r ⌢ t s   ∣   t r ∈ R   ∧   t s ∈ S   ∧   t r [ A ]   =   t s [ B ] } R\ \bowtie_{A= B} S = \{{t_r}^\frown{t_s}\ |\ t_r\in R\ \wedge\ t_s\in S\ \wedge\ t_r[A]\ =\ t_s[B]\} R A=BS={trts  trR  tsS  tr[A] = ts[B]}

自然连接 Natural join

自然连接是一种特殊的等值连接 两个关系中进行比较的分量必须是相同属性组 在结果中把重复的属性列去掉

自然连接的含义 : R和S具有相同的属性组B
R   ⋈ S = { t r ⌢ t s   ∣   t r ∈ R   ∧   t s ∈ S   ∧   t r [ B ]   =   t s [ B ] } R\ \bowtie S = \{{t_r}^\frown{t_s}\ |\ t_r\in R\ \wedge\ t_s\in S\ \wedge\ t_r[B]\ =\ t_s[B]\} R S={trts  trR  tsS  tr[B] = ts[B]}
自然连接还需要取消重复列 所以是同时从行和列的角度进行运算

悬浮元组: 两个关系R和S在进行自然连接时,关系R和S中被舍弃的元组称为悬浮元组

外连接: 如果把悬浮元组舍弃的元组也保存在结果关系中,在其他属性上填上空值 null,这种连接就叫做外连接

左外连接 : 只保留左边关系R中的悬浮元组

右外连接 : 只保留右边关系S中的悬浮元组

例:

R

ABC
a1b15
a1b26
a2b38
a2b412

S

BE
b13
b27
b310
b32
b52

R ⋈ C < E S R\Join_{C<E} S RC<ES (一般连接)

AR.BCS.BE
a1b15b27
a1b15b310
a1b26b27
a1b26b310
a2b38a2b3

R ⋈ S R\Join S RS (自然连接)

ABCE
a1b153
a1b267
a2b3810
a2b382
除 Division

给定关系 R ( X , Y ) R(X,Y) R(X,Y),和 S ( Y , Z ) S(Y,Z) S(Y,Z),其中 X , Y , Z X,Y,Z X,Y,Z为属性组, R R R中的 Y Y Y S S S中的 Y Y Y可以有不同的属性名,但必须出自相同的域

R R R S S S的除运算得到一个新的关系 P ( X ) P(X) P(X), P P P R R R中满足下列条件的元组在 X X X属性列上的投影

元组在 X X X上分量值 x x x的象集 Y x Y_x Yx包含 S S S Y Y Y上投影的集合 记作:
R ÷ S   =   { t r [ X ]   ∣   t r ∈ R ∧ π Y ( S ) ⊆ Y x } R\div S\ = \ \{tr[X]\ |\ tr\in R\wedge \pi Y(S) \subseteq Y_x \} R÷S = {tr[X]  trRπY(S)Yx}
Y x Y_x Yx : x x x R R R中的象集, x = t r [ X ] x=tr[X] x=tr[X]

例:
R R R

ABC
a1b1c2
a2b3c7
a3b4c6
a1b2c3
a4b6c6
a2b2c3
a1b2c1

S S S

BCD
b1c2d1
b2c1d1
b2c3d2

Z a 1 = { ( b 1 , c 2 ) ,   ( b 2 , c 3 ) ,   ( b 2 , c 1 ) } Z a 2 = { ( b 3 , c 7 ) ,   ( b 2 , c 3 ) } Z a 3 = { ( b 4 , c 6 ) } Z a 4 = { ( b 6 , c 6 ) } Z_{a1}=\{(b1,c2),\ (b2,c3),\ (b2,c1)\}\\ Z_{a2}=\{(b3,c7),\ (b2,c3)\}\\ Z_{a3}=\{(b4,c6)\}\\ Z_{a4}=\{(b6,c6)\}\\ Za1={(b1,c2), (b2,c3), (b2,c1)}Za2={(b3,c7), (b2,c3)}Za3={(b4,c6)}Za4={(b6,c6)}

π B , C ( S ) \pi _{{B,C}} (S) πB,C(S)

BC
b1c2
b2c1
b2c3

π B , C ( S ) \pi _{_{B,C}} (S) πB,C(S)只包含象集 Z a 1 Z_{a1} Za1的所有元素

所以

R ÷ S R\div S R÷S

A
a1
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值