|
两个问题
1,主键&外键的意思,这是看到的定义:
主键( Primary key )是能唯一标识行的一列或一组列的集合。
由多个列构成的主键称为连接键(Concatenated key)、组合键(Compound key ),或称作为复合键(Composity key )。
外部键(Foreign key )是一个表中的一列或一组列,它们在其它表中作为主键而存在。一个表中的外部键被认为是对另外一个表中主键的引用。实体完整性原则简洁地表明主键不能全部或部分地空缺或为空,引用完整性原则简洁地表明一个外键必须为空或者它所引用的主键当前存在值相一致。
我的理解:主键和外部键是不是可以看作是一个指针?是不是主键指向外部键所在的表(是否可以称作主键所在表的子表)?看书上说父表子表什么的,为什么不叫父键子键啊?
这样一个命令:
CREATE TABLE test1 ('name' CHAR(10) PRIMARY KEY,price NUMBER(5,2),amount NUMBER(10));
主键是 name,那price 和 amount是什么?
2,书上原话:
为了是两个表之间存在关系,必须使两件事为真:
-父表必须有一列唯一标识它所包含的每个记录
-子表必须有一个相同的列包含唯一标识父记录的值
现在我上面的test1表中有商品 '内存’,子表里放的是内存的种类(128m,256m),其子表是否必须这样建立:
CREATE TABLE test2 ('name' CHAR(10),......);
然后我要看256m内存的价格就访问test1,test1通过主键name指向test2的name,然后返回256的价格啊?如果是这样的话就要外键没用了呀。
今天真的很晕.......:| |
|