数据库第二章(关系模型)
目录
1、关系数据库的结构:
定义:在逻辑层次上,关系数据库是一个称为关系的二维表的集合。关系表示实体集或关系集。关系的行表示实体或关系
关系数据库基本结构:(1)关系的每一行都可以称为元组(tuple)
(2)关系的每一列都有一个名称(关系的命名列称为属性(attributes))
(3)每个属性允许的值集称为属性的域(domain)
属性值(通常)必须是原子的;也就是说,不可分割的。一个元组在属性上的值可以是
一个帐号,但不能是一组帐号。特殊值null是每个域的成员。
关系(relation)的定义:形式上,给定集合D1,D2…,Dn;关系r是 D1 x D2 x…x Dn 的子集,因此,关系是一组n元组(a1,a2,…,an),其中每个ai属于Di
关系模式(relation schema),A1,A2,…An 是属性名字,R = (A1, A2, …, An )是关系模式。
customer_schema = (customer_name, customer_street, customer_city)
r(R)表示关系模式R上的关系r ,
customer (customer_schema)
关系的当前值(关系实例)由表指定。关系是无序的。
关系数据库(relational database):数据库由多个关系组成,有关企业的信息被分解为多个部分,每个关系存储一部分信息
码(key)定义:K是属性的集合,K是R的子集。
超码(super key):如果K的值足以识别每个可能关系R(R)的唯一元组,则K是R的超码。
候选码(candidate key):如果K是最小的超码,则K是候选码
主码(primary key):一种候选码,被选为关系中识别元组的主要方法,应选值从不或者很少改变的属性。例如:邮政地址是唯一的,但可能会改变,所以不适合作为主码。
外码(Foreign Key):关系r1可以具有与另一个关系r2的主码相对应的属性。该属性称为外码。r1是引用关系,r2是被引用关系,外码是相对关系r1来定义的。例如:存款的customer_name和account_number属性分别是customer和account的对应外键,存款是引用关系,customer和account是被引用关系。
引用约束(Referencing Constraint):只有被引用关系的主码属性中出现的值才能出现在引用关系的外码属性中
模式图:
查询语言(query languages):用户从数据库请求信息的语言。语言分为过程性(Procedural)的和非过程性的(Non-procedural(或声明性的(declarative)))。