2 .元组
二维表(关系)中的每一行。对应在表中为记录。
3 .属性
二维表(关系)中的每一列。对应在表中为字段。
4 .域
属性的取值范围。如:性别只能取“男”和“女”。
5 .关键字
唯一地标识一元组的属性或属性集合。如:教师表中的编号。在 Access 中,主关键字和候选关键字就起唯一标识一个元组的作用。
6 .外部关键字
如果一个表的字段不是本表的主关键字,而是另外一个表的主关键字和候选关键字,这个字段(属性)就称为外关键字。
二.关系的特点
1 .关系必须规范化
是指关系模型中的每一个关系模式都必须满足一定的要求。最基本的要求是每个属性必须是不可分割的数据单元,即表中不能再包含表。
2 .在同一个关系中不能出现相同的属性名。
3 .关系中不允许有完全相同的元组,即冗余。
4 .在一个关系中元组的次序无关紧要。
5 .在一个关系中列的次序无关紧要。
1.2 关系数据库
1.2.2 关系运算
一.传统的集合运算
1 .并
两个结构相同的关系的并是由属于这两个关系的元组组成的集合。
2 .差
两个结构相同的关系 R 和 S 的差是由属于 R 但不属于 S 的元组组成的集合。
3 .交
两个结构相同的关系 R 和 S 的交是由既属于 R 又属于 S 的元组组成的集合。
二.专门的关系运算
1 .选择
从关系中找出满足给定条件的元组的操作。
2 .投影
从关系模式中指定若干属性组成新的关系。
3 .联接
将两个关系模式拼接成为一个更宽的关系模式,生成的新的关系中包含满足联接条件的元组。
4 .自然联接
在联接运算中,按照字段值对应相等为条件进行的联接操作。去掉重复字段。
1.3 数据库设计基础
1.3.1 数据库的设计步骤
一.设计原则
1 .关系数据库的设计应遵从概念单一化“一事一地”的原则
2 .避免在表之间出现重复字段
3 .表中的字段必须是原始数据和基本数据元素
4 .用外部关键字保证有关联的表之间联系
二.设计步骤
1 .需求分析
( 1 )信息需求
( 2 )处理需求
( 3 )安全性和完整性需求
2 .确定需求的表
遵从概念单一化“一事一地”的原则,即一个表描述一个实体或实体间的一种联系,并将这些信息分成各种基本实体。
3 .确定所需字段
( 1 )每个字段直接和表的实体相关
( 2 )以最小的逻辑单位存储信息
( 3 )表中的字段必须是原始数据
( 4 )确定主关键字字段
4 .确定联系
对于一对多的联系,可以将其中“一方”表的主关键字放到“多方”表中作为外关键字。“一方”用索引关键字,“多方”使用普通索引关键字。
对于一对一的联系,两个表中使用同样的主关键字字段。
对于多对多的联系,为了避免数据重复,一般建立第三个表,把多对多的联系分解两个一对多的联系。这个第三个表可以看成纽带。纽带表不一定需要自己的主键,如果需要,可以将它所联系的两个表的主关键字做为组合关键字指定为主关键字。
5 .设计求精
检查可能存在的缺陷和需要改进的地方,这些缺陷可能会使数据难以使用和维护。
( 1 )是否忘记了字段?
( 2 )是否存在大量空白字段?
( 3 )是否包含了同样字段的表?
( 4 )表中是否带有大量不属于某实体的字段?
( 5 )是否在某个表中重复输入同样的数据?
( 6 )是否为每个表选择了合适的主关键字?
( 7 )是否有字段很多而记录很少的表,并且许多记录中的字段值为空?
1.4 SQL 基本命令
SQL ( Structure Query Language ,结构化查询语言)是在数据库系统中应用广泛的数据库查询语言,它包括了数据定义、查询、操纵和控制 4 种功能。
SQL 中的两个基本概念:
基本表:本身独立存在的表。
视图:从一个或多个基本表导出的表。它本身不独立存储在数据库中,即数据库中存放视图的定义,而不存放视图对应的数据。
1.4.1 SQL 基本语句
最常见的 SQL 语句是 SELECT 。
基本格式:
SELECT [ALL/DISTINCT] *|< 字段列表 >