數(shù)據(jù)庫(kù)系統(tǒng)工程師考試數(shù)據(jù)操作與SQL

字號(hào):

2007年11月試題34~35
    對(duì)于下圖所示的S和SC關(guān)系,當(dāng)我們對(duì)其進(jìn)行左外連接時(shí),其結(jié)果集的屬性列數(shù)為 (34) ,元組個(gè)數(shù)為 (35)。
    供選擇的答案
    (34)A.6 B.7 C.8 D.9
    (35)A.7 B.8 C.9 D.10
    試題分析
    外聯(lián)接可以是左向外聯(lián)接、右向外聯(lián)接或完整外部聯(lián)接。
    在FROM子句中指定外聯(lián)接時(shí),可以由下列幾組關(guān)鍵字中的一組指定:
    (1)LEFT JOIN 或LEFT OUTER JOIN。
    左向外聯(lián)接的結(jié)果集包括LEFT OUTER子句中指定的左表的所有行,而不僅僅是聯(lián)接列所匹配的行。如果左表的某行在右表中沒(méi)有匹配行,則在相關(guān)聯(lián)的結(jié)果集行中右表的所有選擇列表列均為空值。
    (2)RIGHT JOIN 或RIGHT OUTER JOIN。
    右向外聯(lián)接是左向外聯(lián)接的反向聯(lián)接,將返回右表的所有行。如果右表的某行在左表中沒(méi)有匹配行,則將為左表返回空值。
    (3)FULL JOIN 或 FULL OUTER JOIN。
    完整外部聯(lián)接返回左表和右表中的所有行。當(dāng)某行在另一個(gè)表中沒(méi)有匹配行時(shí),則另一個(gè)表的選擇列表列包含空值。如果表之間有匹配行,則整個(gè)結(jié)果集行包含基表的數(shù)據(jù)值。
    本試題進(jìn)行的是左外聯(lián)接,關(guān)系S和SC 共有相同的屬性Sno,如果在關(guān)系SC中Sno的屬性值等于關(guān)系S中Sno的屬性值,則直接將C表的某行與SC表的某行進(jìn)行匹配,如果沒(méi)有與Sno的屬性值相等的行,則在相關(guān)聯(lián)的結(jié)果集行中SC表的所有選擇列表列均為空值。
    所以其結(jié)果集的屬性列數(shù)為7,元組個(gè)數(shù)為10。
    答案
    (34)B  (35)D
    2007年11月試題41
    若給出關(guān)系Student(S_no,Sname,Sage,S_sex,SD_name,S_add,S_tel),并用SQL語(yǔ)言定義Student關(guān)系如下
    CREATE Student(S_no CHAR(6),
    Sname CHAR(30) NOT NULL,
    Sage CHAR(30),
    S_sex CHAR(1),
    SD_name CHAR(20),
    S_add CHAR(30),
    S_tel CHAR(20),
    PRIMARY KEY(S_no));
    采用 (41) 向Student中插入記錄能被正確地執(zhí)行。
    供選擇的答案
    (41)A.INSERT INTO Student(S_no, Sname, Sage, S_sex, SD_name, S_add, S_tel)VALUES (‘010456’, ’黎敏’, ’18’, ’’, ’’, ’’, ’’)
    B.INSERT INTO Student(S_no, Sname, Sage, S_sex, SD_ name, S_add, S_tel)VALUES (‘010456’, ’黎敏’, ’18’, ’男’, ’計(jì)算機(jī)學(xué)院’, ’北京’, ’88661200’)
    C.INSERT INTO Student(S_no, Sname, Sage, S_sex, SD_ name, S_add, S_tel)VALUES ( ,’黎敏’, ’18’, ’F’, ’計(jì)算機(jī)學(xué)院’, ’北京’, ’88661200’)
    D.INSERT INTO Student(S_no, Sname, Sage, S_sex, SD_ name, S_add, S_tel)VALUES (‘010456’, ,’18’, ’F’, ’計(jì)算機(jī)學(xué)院’, ’北京’, ’8866120 0’)
    試題分析
    要想使插入的記錄能被正確地執(zhí)行,必須保證插入的字段值符合字段定義時(shí)的類型和字段長(zhǎng)度。在選項(xiàng)B中,’男’占了兩個(gè)字符,而定義S_sex為CHAR(1),所以不符合。在選項(xiàng)C中,S_no CHAR(6)沒(méi)有被賦任何值也沒(méi)有給出‘’是不對(duì)的。在選項(xiàng)D中,定義中Sname CHAR(30)NOT NULL字段Sname不能為空,而在D中這一項(xiàng)的值為空。所以正確的選項(xiàng)是A。
    答案
    (41)A