在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成;
用表格结构表达实体集,用外键(外码)表示实体简联系;
优点:
建立在严格的数学概念基础上;
概念单一,结构简单、清晰、用户易懂易用;
存取路径对用户透明,从而数据独立性、安全性好,简化数据库开发工作;
缺点:
由于存取路径透明,查询效率往往不如非关系数据模型;
是一组具有相同数据类型的值的集合;
两个集合X和Y的笛卡尓积,又称直积,表示为 X * Y ,第一个对象是 X 的成员而第二个对象是 Y 的所有可能有序对的其中一个成员。
例:X = { a ,b ,c },Y = { 1 , 2 , 3 }
X * Y = {
< a ,1 >,< a ,2 >,< a ,3 >,
< b ,1 >,< b ,2 >,< b ,3 >,
< c ,1 >,< c ,2 >,< c ,3 >,
}
表示:
D1 * D2 * …… * Dn 的子集叫做在域 D1,D2,……,Dn 上的关系,表示为
R( D1,D2,……,Dn )
R:关系名;
n:关系的目或度;
关系也是一个二维表,表的每行对应一个元组,表的每列对应一个域;
属性:
关系中不同列可以对应相同的域
为了加以区别,必须对每列起一个名字,称为属性;
n 目关系必有 n 个属性;
候选码:
若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码;
主码:
若一个关系有多个候选码,则选定其中一个为主码;

基本关系具有以下 6 条性质:
1. 列是同质的,即每一列中的分量是同一类型的数据,来自同一个域;
2. 不同的列可出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名;
3. 列的顺序无所谓,即列的次序可以任意交换;
4. 任意两个元组不能完全相同;( 但是多数实际关系数据库产品中,例如 Oracle ,如果用户没有定义有关约束条件,它们都允许关系表中存在两个完全相同的元组 )
5. 行的顺序无所谓,即行的次序可以任意交换;
6.分量必须取原子值,即每一个分量都必须是不可分的数据项;
如果关系模式 R 的每个关系 r 都是不可分的原子值,那么称 R 是第一范式的模式,r 是规范化的关系;
在任何一个关系数据库中,第一范式是对关系模型的基本要求,不满足第一范式( 1NF )的数据库就不是关系数据库;
若关系模式 R 是 1NF,且每个非主属性完全函数依赖于候选键,那么称 R 是 2NF 模式;
如果关系模式 R 是 1NF ,且每个非主属性都不传递依赖于 R 的候选码,则称 R 是 3NF ;
若关系模式 R 是 1NF ,且每个属性都不传递以来于 R 的候选键,那么称 R 是 BCNF 模式;