第一章 数据库入门
1.表名都是大写字母,列名则是首字母大写,当列名由多个单词组成时,每个单词的首字母大写。
2.DBMS的目的是创建、处理和管理数据库。
3.主键是用于标识每一行的列值——因此该列中的值必须唯一,这就是使用AutoNumber数据类型的原因。
第二章 关系模型
1.被跟踪的“事物”是实体。
2.数据以关系的形式来存储,关系是一种特殊类型的表。
3.关系的八大特征:a.行包含实体的数据。
b.列包含实体属性的数据。
c.表中的单元格存储单个值。
d.每列的所有实体类型一致。
e.每列具有唯一名称。
f.列的顺序任意
g.行的顺序任意
h.任意两行互不重复
4.键:是表中用来标识行的一列或多列。键可以是唯一的,也可以是不唯一。
5.包含两个或者更多属性的键称为“复合键”。
6.候选键:是唯一标识表中每一行的键。候选键可以是单列键也可以是复合键。
7.主键:是用于唯一标识表中每一行的候选键。其很重要,不仅可以用来标识唯一行,而且可以表示表中的行。指定主键的常用方法是使用SQL。
8.代理键:是较短的数字并且永远不变——是理想的主键。(一般都是人为增加的“...ID”,常用AUTO INCREMENT函数自动分配代理键的数值)
9.外键:将一个表的值放入第二个表来表示关联,所使用的值是第一个表的主键值,此时第二个表中保存这些值的属性称为外键。常用斜线表示。
10.主键与外键的列名不一定相同,唯一的要求就是他们的值集必须相同。
11.参照完整性约束:确保外键的每个值与某个主键值匹配是十分重要的。
12.表的设计原则:1)在结构良好的表中,每个决定因子都必须是候选键。
2)非结构良好的表应分解成两个或多个结构良好的过程。
13.规范化过程:P61
第三章 结构化查询语言
P118-
DISTINCT 删除重复行
COUNT 统计结果行的数目
SUN 统计列的总和
AS 将列名付给结果
GROUP BY 按照公共值给行分类
HAVING 增加进一步的限制条件
ORDER BY 对结果排序
使用子查询处理表 :
例: SELECT FirstName,LastName
FROM EMPLOYEE
WHERE EmployeeNumber IN
(SELECT DISTINCT EmployeeNumber
FROM ASSIGNMENT
WHERE HoursWorked > 50);
子查询可以把两个SQL语句结合起来。可以扩展到三层、四层或更多层。
子查询只有在结果来自于一个表时才有用。但如果要显示多个表中的数据,子查询就无效,必须使用连接操作。
使用连接查询多个表 :
连接的基本思想是:建立一个新表。
模式
一(两个表查询):
SELECT FirstName,LastName,HoursWorked
FROM EMPLOYEE,ASSIGNMENT
WHERE EMPLOYEE.EmployeeNumber=ASSIGNMENT.EmployeeNumber;
模式二(多个表查询):
SELECT ProjectName,FirstName,LastName,HoursWorked
FROM EMPLOYEE AS E,PROJECT AS P,ASSIGNMENT AS A
WHERE E.EmployeeNumber=A.EmployeeNumber
AND P.ProjectID=A.ProjectID
ORDER BY P.ProjectID,A.EmployeeNumber;
模式三(JOIN...ON)
SELECT ProjectName,FirstName,LastName,HoursWorked
FROM EMPLOYEE AS E JOIN ASSIGNMENT AS A
ON E.EmployeeNumber=A.EmployeeNumber
JOIN PROJECT AS P ON A.ProjectID=P.ProjectID
ORDER BY P.ProjectID,A.EmployeeNumber;
第四章 数据建模与实体-关系模型
P193-
实体:用户希望跟踪的对象。
属性:描述实体的特征。
最大基数:关系菱形中的数字表示一侧出现的最大实体实例数。
最小基数:必须参与关系实例的最小实体实例数。
E-R方向图上有一个椭圆,该实体表示可选,如果有一个竖条,该实体表示强制。
强实体:贷款 弱实体:还款(具有依赖性)。
E-R模型使用一个带圆角方框的实体来表示 ID依赖实体 。
以实线表示ID依赖实体与其父实体之间的关系——标识关系。
以虚线表示强实体之间的关系——非标识关系 。
只有创建了父实体实例,才能增加ID依赖实体的实例,在删除父实体实例时,必须删除所有ID依赖实体的实例。
所有的ID依赖实体都是弱实体。
非ID依赖的弱实体:有专门的标识符。
子型实体是另一种名为父型实体的特例。
子型符号由一个圆及其下方的直线作为子型符号。
父型实体与其所有子型实体的标识符必须相同。
子型实体可以是排他的(X),也可以是包含的。