1、索引的概念
主索引:字段值不允许重复。在一个表中只有一个主索引。(有时也称作主关键字)
候选索引:字段值不允许重复。在一个表中可以有多个候选索引。
唯一索引:字段值允许重复。但是在索引中只保留唯一的索引项目值。
普通索引:字段值允许重复。在一个表中可以有多个普通索引。系统默认建立的是普通索引。
表之间的联系通常通过主索引对应普通索引建立联系。 2、建立索引
在表设计器中建立 结构复合索引,索引文件与表名同名,打开表时,自动打开索引文件。
用命令创建索引 INDEX ON 字段名 TAG 索引名
使用索引排序: SET ORDER TO 索引名
五、数据库的数据完整性(约束规则)
31
1、实体完整性——表中记录的唯一性。 数据库的表中不允许存在重复的记录,也不允许空记录。
用主关键字、主索引或者候选索引来保证实体完整性。 2、域完整性
表中的字段(属性)值必须符合数据类型和值的范围要求。
经常用字段的有效性规则进行约束。 3、参照完整性
两个有关联的表在更新、插入、删除时必须符合的规定。
父表(主关键字)与子表(普通关键字)建立关联,一对多联系。
更新 删除 插入 级联 —— 限制 忽略 更新和删除是针对父表的操作,插入是针对子表的操作。 在更新和删除时,级联是父表级联子表,限制是子表限制父表(若子表有记录的,
32
则限制父表的更新和删除)。
在插入时,只有限制和忽略,限制是父表限制子表(若父表中没有记录的,则禁止子表插入新记录)。
级联和限制,是对于父表与子表之间的关联操作。级联是父表对子表的级联,限制是父表对子表中有相关记录的(更新、删除)限制,或者子表对父表没有相关记录的(插入)限制。
忽略,是指父表和子表的操作无关联。 4、表之间的关联(临时联系)
SET RELATION TO 父表主索引字段 INTO 子表名
临时建立两个表之间的关联。
第四章 SQL语言(结构化查询语言)
一、数据查询——SELECT语言,对表中数据直接进行查询。
SELECT 查询内容 FROM 表名
33
WHERE 条件子句
如果要查询符合条件的所有记录,查询内容用通配符*表示。
例:SELECT * FROM 表名 WHERE 条件子句 1、SELECT字段
(1)查询计算 COUNT计算数量|SUM求和|AVG求平均值|MAX|MIN最大/最小值。DISTINCT(字段)去掉查询结果的重复值。
(2)查询显示 SELECT * TOP 3 或者TOP 30 PERCENT
对于ORDER BY语句排序的结果进行显示,显示前3条或者前百分之30的记录。
2、FROM 表名称——超连接查询,对两个表的操作。
内联接INNER JOIN 也等价于 JOIN 左联接 LEFT JOIN 右联接 RIGHT JOIN 全联接 FULL JOIN
SELECT * FROM 仓库 INNER
34
JOIN 职工 ON 联接条件
内联接,也叫普通联接,等价于JOIN。两个表中满足条件的记录出现在查询结果中。
自然联接 去掉重复属性的等值联接
SELECT * FROM 仓库 LEFT JOIN 职工ON 联接条件
左联接,两个表中满足条件的记录,第一个表中不满足条件的出现在查询结果中。
SELECT * FROM 仓库 RIGHT JOIN 职工ON 联接条件
右联接,第二个表中不满足条件的记录也会出现在结果中。
SELECT * FROM 仓库 FULL JOIN 职工ON 联接条件 全联接 3、WHERE 条件子句
(1)简单条件 WHERE 字段变量=或>=字段值
(2)简单联接 WHERE表A.字段=表B.字段 可以在两个表联立查询,将对应
35