说明:数据库系统原理相关的习题答案都在“数据库系统原理”专栏
1、已知三个域:男人={李基,张鹏},女人={王方,刘玉 },子女={李键,张睿,张峰}。这一组域(男人,女人,子女)的笛卡尔积的基数为 (A)
A.12 B.9 C.7 D.27
理由:
基数=2*2*3=12.
2、现有如下关系:患者(患者编号,患者姓名,性别,出生日期),医疗(患 者编号,患者姓名,医生编号,医生姓名,诊断日期)。其中,“医疗”关系中的外键是 (A)
A.患者编号 B.患者姓名 C.患者编号和患者姓名 D.医生编号
理由:
因为医疗关系中的主键是(患者编号,患者姓名),但是患者编号不是医疗的主键,是患者关系中的主键,所以患者编号是医疗关系中的外键。
3、“合同”关系和“客户”关系如下表所示,关于这两个表说法正确的是(A)
合同
合同号 | 合同名称 | 合同签订人 | 客户号 |
HT01 | 钢材合同 | 张三 | CUST01 |
HT02 | 煤矿合同 | 李四 | CUST02 |
HT03 | 钢材合同 | 张三 | CUST01 |
客户
客户号 | 客户名称 | 客户地址 | 联系人 |
CUST01 | 首钢 | 北京 | 李吉 |
CUST02 | 天麟煤矿 | 北京 | 李润 |
CUST03 | 宝钢 | 上海 | 李婷 |
A.“合同”关系和“客户”关系的主码分别为“合同号”和“客户号”,“合同” 的外码为“客户号”
B.“合同”关系和“客户”关系的主码都为“客户号”,“合同”的外码为“合同 签订人”
C.“合同”关系和“客户”关系的主码分别为“合同号”和“客户名称”,“合同” 的外码为“合同签订人”
D.“合同”关系和“客户”关系的主码分别为“合同名称”和“客户号”,“合同” 的外码为“客户号”
理由:
主码是一个能唯一标识一个元组的属性。“合同号”和“客户号”分别能唯一标识“合同”关系和“客户”关系的属性,所以都为主码;
如果一个关系中的一个属性是另外一个关系中的主码则这个属性为外码。“客户号”是“合同”关系中的一个属性,又是“客户”关系中的主码,所以是“合同”关系中的外码。
4、假设有关系 R(A, B, C),其主码为 A;关系 S(D, A),其主码为 D,外码为 A。如下图示:
则关系 S中违反完整性规则的元组是(A)
A. <3, 3> B. < 1, 2 > C. <2,null> D. <4, 1>
理由:
参照完整性规则:指如果关系的外键R1和关系R2的主键相符,那么外键的每个值必须在关系R2中主键的值中可以找到或者是空值。而在关系S中的外键A的3值在关系R中找不到对应的,所以违反参照完整性规则。
5、有关系 R(A:int, B:int, C:int), 主码为 A,没有违反完整性规则的
选项是(D)
理由:
主码是一个能唯一标识一个元组的属性,且不能为空值。所以A选项跟B选项错误。关系R中的属性要求int整数,所以C错误。
《推荐文章》