网站建设安全规范,可以做查询功能的网站,在百度上做公司网站得多少钱,wordpress 登录函数文章目录 基本概述关系的相关名词术语笛卡儿积与关系关系的类型 关系模式总结 基本概述
关系的相关名词术语
关系#xff1a;简单来说#xff0c;就是一张二维表格。属性(Attribute)#xff1a;也称字段或列#xff0c;在现实世界中#xff0c;要描述一个事务常常取若干… 文章目录 基本概述关系的相关名词术语笛卡儿积与关系关系的类型 关系模式总结 基本概述
关系的相关名词术语
关系简单来说就是一张二维表格。属性(Attribute)也称字段或列在现实世界中要描述一个事务常常取若干特征来表示。这些特征称为属性。例如学生用学号、姓名、性别、系别、年龄、籍贯等属性来描述。域(Domain)每个属性的取值范围所对应一个值的集合称为该属性的域。如学号的域是6位整型数姓名的域是10位字符性别的域为{男女}。 一般在关系数据模型中对域还加了一个限制所有的域都应是原子数据(at omicdata)。例如整数、字符串是原子数据而集合、记录、数组是非原子数据。关系数据模型的这种限制称为第一范式(first normal form简称1NF)条件。但也有些关系数据模型突破了1NF的限制称为非INF。元组关系中的某一行记录。分量某一条元组在字段上的某个值。目或度(Degree) D 1 × D 2 × . . . × D n D_1\times D_2\times ...\times 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表示关系的名字n是关系的目或度。候选码(Candidate Key)若关系中的某一属性或属性组的值能唯一标识一个元组则称该属性或属性组为候选码。主码(Primary Key)或称主键若一个关系有多个候选码则选定其中一个为主码。主属性(Prime attribute)包含在任何候选码中的属性称主属性。不包含在任何候选码中的属性称为非主属性(NonPrime attribute)。外码(Foreign key)如果关系模式R中的属性或属性组非该关系的码但它是其他关系的码那么该属性集对关系模式R而言是外码。如客户与贷款之间的借贷联系c-l(c-id,Loan-no)属性c-id是客户关系中的码所以 c-id是外码属性loan-no是贷款关系中的码所以loan-no也是外码。全码(All key)关系模型的所有属性组是这个关系模式的候选码称为全码。如R(T,C,S)属性T表示教师属性C表示课程属性S表示学生。 属性或字段加下划线表示该属性是主码元组就是记录。 笛卡儿积与关系
定义1 D 1 , D 2 , D 3 , . . . , D n D_1,D_2,D_3,...,D_n D1,D2,D3,...,Dn为任意集合定义 D 1 , D 2 , D 3 , . . . , D n D_1,D_2,D_3,...,D_n D1,D2,D3,...,Dn的笛卡尔积为 D 1 × D 2 × D 3 × . . . × D n { ( d 1 , d 2 , d 3 , . . . , d n ) ∣ d i ∈ D i , i 1 , 2 , 3 , . . . , n } D_1\times D_2\times D_3\times ...\times D_n\{(d_1,d_2,d_3,...,d_n)|d_i\in D_i,i1,2,3,...,n\} D1×D2×D3×...×Dn{(d1,d2,d3,...,dn)∣di∈Di,i1,2,3,...,n} 其中集合的每个元素 ( d 1 , d 2 , d 3 , . . . , d n ) (d_1,d_2,d_3,...,d_n) (d1,d2,d3,...,dn)叫做一个n元组n-tuple即n个属性的元组元素的每一个值 d i d_i di叫做元组一个分量。若 D i ( i 1 , 2 , 3 , . . . , n ) 为有限集其基数 C a r d i n a l n u m b e r , 元组的个数为 D_i(i1,2,3,...,n)为有限集其基数Cardinal number,元组的个数为 Di(i1,2,3,...,n)为有限集其基数Cardinalnumber,元组的个数为m_i(i1,2,3,…,n) 则 则 则D_1\times D_2\times D_3\times …\times D_n$的基数M为 M ∏ i 1 n m i M\prod\limits_{i1}^{n}{m_i} Mi1∏nmi
定义2 D 1 × D 2 × . . . × D n D_1\times D_2\times ...\times 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为n元关系。 元数属性的个数基数记录的条数。 示例若 D 1 0 , 1 , D 2 a , b , D 3 c , d D_1{0,1},D_2{a,b},D_3{c,d} D10,1,D2a,b,D3c,d求解 D 1 × D 2 × D 3 D_1\times D_2\times D_3 D1×D2×D3以及 D 1 × D 2 × D 3 D_1\times D_2\times D_3 D1×D2×D3的基数。
分析根据定义1可知 D 1 × D 2 × D 3 D_1\times D_2\times D_3 D1×D2×D3中的每一个元素是一个三元组其结果为 D 1 × D 2 × D 3 { ( 0 , a , c ) , ( 0 , a , d ) , ( 0 , b , c ) , ( 0 , b , d ) , ( 1 , a , c ) , ( 1 , a , d ) , ( 1 , b , c ) , ( 1 , b , d ) } D_1\times D_2\times D_3 \{(0,a,c),(0,a,d),(0,b,c),(0,b,d),(1,a,c),(1,a,d),(1,b,c),(1,b,d) \} D1×D2×D3{(0,a,c),(0,a,d),(0,b,c),(0,b,d),(1,a,c),(1,a,d),(1,b,c),(1,b,d)} 由于 D 1 D_1 D1的基数 m 1 2 m_12 m12、 D 2 D_2 D2的基数 m 2 2 m_22 m22、 D 3 D_3 D3的基数 m 3 2 m_32 m32所以 D 1 × D 2 × D 3 D_1\times D_2\times D_3 D1×D2×D3的基数 M m 1 × m 2 × m 3 8 Mm_1\times m_2\times m_38 Mm1×m2×m38也可以用二维表来表示如下 关系的类型
关系的三种类型如下:
基本关系(通常又称为基本表或基表)实际存在的表它是实际存储数据的逻辑表示。查询表查询结果对应的表。视图表是由基本表或其他视图表导出的表。由于它本身不独立存储在数据库中数据库中只存放它的定义所以常称为虚表。
关系模式
关系的描述称为关系模式Relation Schema可以表示为 R ( U , D , d o m , F ) R(U,D,dom,F) R(U,D,dom,F)。其中R表示关系名U是组成该关系的属性名集合D是属性的域dom是属性向域的影响集合常常直接说明属性的类型、长度F为属性间数据的依赖关系集合。也可以简记为 R ( U ) R(U) R(U)或 R ( A 1 , A 2 , A 3 , . . . , A n ) R(A_1,A_2,A_3,...,A_n) R(A1,A2,A3,...,An) A 1 , A 2 , A 3 , . . . , A n A_1,A_2,A_3,...,A_n A1,A2,A3,...,An为属性名或域名通常在关系模式主属性上加下划线表示该属性为主码属性。
完整性规则提供了一种手段来保证当授权用户对数据库做修改时不会破坏数据的一致性。分类如下
实体完整性Entity Integrity规定基本关系R的主属性A不能取空值。参照完整性Referential Integrity也称引用完整性关系与关系间的引用。属性上加实下画线通常表示该属性为主码属性。属性上加虚下画线通常表示该属性为外码属性。值必须为外码中某个元组的主码值或取空值。用户定义完整性User defined Integrity针对某一具体的关系数据库的约束条件反映某一具体应用所涉及的数据必须满足的语义要求有应用的环境决定。例如银行的用户账户规定必须大于等于100000小于999999。
总结
关系数据库基于关系模型该模型采用表的形式来组织和存储数据。关系模式是定义这些表格结构的蓝图包括表的名称、表中列的名称和数据类型以及表之间的关联关系。关系数据库的核心概念包括表、关键字主键和外键、数据约束如唯一性、非空和检查约束以及规范化过程旨在减少数据冗余和提高数据完整性。
在关系数据库中数据操作通常遵循ACID原则确保事务的原子性、一致性、隔离性和持久性。此外数据库设计者可以利用索引来提升查询性能使用视图来简化数据操作和提供安全措施以及通过存储过程和触发器来自动化复杂的数据处理任务。
总的来说关系模式是关系数据库设计的基石它支持高效的数据存储、检索和管理。通过精确的关系模式设计我们可以构建出既灵活又强大的数据库系统满足各种商业和技术领域的需求。