15 联结表

等值联结(内部联结):基于两个表之间的相等测试。

外键:某个表中的一列,它也是另一个表的主键值,定义两个表之间的关系。

:venders表的主键vend_id也是products的外键,将两个表关联,利用供应商ID(vend_id)可以了解供应商的详细信息。

联结:不是物理实体,存在于查询的执行当中。

用selete语句来实现关联

例:搜索每个供应商订的产品

selete vend_name,prod_name,prod_price
from venders,products
where venders.vend_id=products.vend_id
order by vend_name,prod_name;

where子句的重要性:作为过滤条件,它只包含那些匹配给定条件的行。
所以应该保证所有的联结都有where子句。

另一种写法:(内部联结)

selete vend_name,prod_name,prod_price
from venders inner join products
on venders.vend_id=products.vend_id;

联结表的数目没有限制:但是表越多,性能下降越厉害。

例:由订单物品表关联产品表,由它进一步得到供应商的信息,即订单号20005的单子,它的产品,以及订购相应产品的供应商。

selete prod_name,vend_name,prod_price,quantity
from orderitems,venders,products
where venders.vend_id=products.vend_id
and orderitems.prod_id=products.prod_id
and order_num=20005;

维护引用的完整性:即在products中存在的供应商ID一定是合法值(即venders中存在该供应商)。

关系数据库的可伸缩性远比非关系型数据库要好。
可伸缩性:能够适应增大的工作量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值