天天看點

2019年資料庫系統工程師下午真題及答案解析

試題一(共15分)

某學校欲開發一學生跟蹤系統,以便更自動化、更全面地對學生在校情況(到課情況和健康狀态等)進行管理和追蹤,使家長能及時了解子女的到課情況和健康狀态,并在有健康問題時及時與醫護機構對接。該系統的主要功能是:

(1)采集學生狀态。通過學生卡傳感器,采集學生心率、體溫(攝氏度)等健康名額及其所在位置等資訊并記錄。每張學生卡有唯一的辨別(ID)與一個學生對應。

(2)健康狀态告警。在學生健康狀态出問題時,系統向班主任、家長和醫護機構健康服務系統發出健康狀态警告,由醫護機構健康服務系統通知相關醫生進行處理。

(3)到課檢查。綜合比對學生狀态、課表以及所處校園場所之間的資訊對學生到課情況進行判定。對曠課學生,向其家長和班主任發送曠課警告。

(4)彙總在校情況。定期彙總在校情況,并将報告發送給家長和班主任。

(5)家長注冊。家長注冊使用該系統,指定自己子女,存入家長資訊,待稽核。

(6)基礎資訊管理。學校管理人員對學生及其所用學生卡和班主任、課表(班級、上課時間及場所等)、校園場所(名稱和所在位置區域)等基礎資訊進行管理;對家長注冊申請進行稽核,更新家長狀态,将家長ID加入學生資訊記錄中使家長與其子女進行關聯,向家長發送注冊結果。一個學生至少有一個家長,可以有多個家長。課表資訊包括班級、班主任、時間和位置等。小任老師Q2105639303,免費擷取資料,問題解答,考試最新資訊

現采用結構化方法對學生跟蹤系統進行分析與設計,獲得如圖1-1所示的上下文資料流圖和圖1-2所示的0層資料流圖。

2019年資料庫系統工程師下午真題及答案解析
2019年資料庫系統工程師下午真題及答案解析

問題1(5分)

使用說明中的詞語,給出圖1-1中的實體E1〜E5的名稱。

問題2(4分)

使用說明中的詞語,給出圖1-2中的資料存儲D1〜D4的名稱。

問題3(3分)

根據說明和圖中術語,補充圖1-2中缺失的資料流及其起點和終點(三條即可)。

問題4(3分)

根據說明中的術語,說明圖1-1中資料流“學生狀态”和“學生資訊”的組成。

試題二(共15分)

某創業孵化基地管理若幹孵化公司和創業公司,為規範管理創業項目投資業務,需要開發一個資訊系統。請根據下述需求描述完成該系統的資料庫設計。

【需求描述】

(1)記錄孵化公司和創業公司的資訊。孵化公司資訊包括公司代碼、公司名稱、法人代表名稱、注冊位址和一個電話;創業公司資訊包括公司代碼、公司名稱和一個電話。孵化公司和創業公司的公司代碼編碼不同。

(2)統一管理孵化公司和創業公司的員工。員工資訊包括工号、身份證号、姓名、性别、所屬公司代碼和一個手機号,工号唯一辨別每位員工。

(3)記錄投資方資訊。投資方資訊包括投資方編号、投資方名稱和一個電話。

(4)投資方和創業公司之間依靠孵化公司牽線建立創業項目合作關系,具體實施由孵化公司的一位員工負責協調投資方和創業公司的一個創業項目。一個創業項目隻屬于一個創業公司,但可以接受若幹投資方的投資。創業項目資訊包括項目編号、創業公司代碼、投資方編号和孵化公司員工工号。小任老師Q2105639303,免費擷取資料,問題解答,考試最新資訊

【概念模型設計】

根據需求階段收集的資訊,設計的實體聯系圖(不完整)如圖2-1所示。

2019年資料庫系統工程師下午真題及答案解析

【邏輯結構設計】

根據概念模型設計階段完成的實體聯系圖,得出如下關系模式(不完整):

孵化公司(公司代碼,公司名稱,法人代表名稱,注冊位址,電話)

創業公司(公司代碼,公司名稱,電話)

員工(工号,身份證号,姓名,性别,( a ),手機号)

投資方(投資方編号、投資方名稱,電話)

項目(項目編号,創業公司代碼(

b ),孵化公司員工号)

根據問題描述,補充圖2-1的實體聯系圖。

補充邏輯結構設計結果中的(a)、(b)兩處空缺及完整性限制關系。

問題3(6分)

若創業項目的資訊還需要包括投資額和投資時間,那麼:

(1)是否需要增加新的實體來存儲投資額和投資時間?

(2)如果增加新的實體,請給出新實體的關系模式,并對圖2-1進行補充。如果不需要增加新的實體,請将“投資額”和“投資時間”兩個屬性補充連線到圖2-1合适的對象上,并對變化的關系模式進行修改。

試題三(共15分)

某快遞公司對每個發出的快遞進行跟蹤管理,需要建立一個快遞跟蹤管理系統,對該公司承接的快遞業務進行有效管理。小任老師Q2105639303,免費擷取資料,問題解答,考試最新資訊

1.公司在每個城市的每個街道都設有快遞站點。這些站點負責快遞的接收和投遞。站點資訊包括站點位址、站點名稱、責任人、一部聯系電話、開始營業時間、結束營業時間。每個站點每天的營業時間相同。每個站點隻能有一個責任人。

2.系統内需記錄快遞員、發件人的基本資訊。這些資訊包括姓名、身份證号、一個聯系位址、一部聯系電話。快遞站點的責任人由快遞員兼任,且每個快遞站點隻有一個責任人。每個快遞員隻負責一個快遞站點的攬件和快遞派送業務。發件人和快遞員需實名認證。

3.快遞需要提供詳實的資訊,包括發件人姓名、身份證号、一部發件人電話号碼、發件人位址、收件站點、收件人姓名、收件位址、一部收件人電話、投遞時間、物品類别、物品名稱及物品價值。每個發件人和收件人在系統裡隻能登記一個電話和位址。

4.每個快遞員接手一份快遞後,需在系統中錄入每個快遞的目前狀态資訊,包括目前位置、收到時間、目前快遞員和上一段快遞員。狀态資訊包括待攬件、投遞中、已簽收。如果快遞己簽收,應記錄簽收人姓名及一個聯系電話。每個快遞在一個站點隻能對應一個負責的快遞員。注:試題不需要考慮快遞退回的相關問題。

根據上述需求,設計出如下關系模式:

l

快遞(快遞編号,收件人姓名,收件位址編号,收件人電話,投遞時間,物品類别,物品名稱,物品價值),其中收件位址編号是位址實體的位址編号。

快遞員(快遞員編号,姓名,身份證号,電話号碼,聯系位址編号,工作站點編号)

快遞站點(站點編号,站點名稱,責任人編号,站點位址編号,開始營業時間,聯系電話,結束營業時間)。責任人編号是負責該站點的快遞員的身份證号。

位址(位址編号,所在省,所在市,所在街道,其他),其他資訊是需補充的位址資訊。

快遞投遞(快遞編号,快遞員編号,發件人姓名,發件人身份證号,發件人電話号碼,發件人位址編号,攬件站點編号),其中發件人位址編号為發件人位址的位址編号,攬件站點編号為接收該快遞的站點編号。

快遞跟蹤(快遞編号,目前快遞員編号,上一段快遞員編号,目前狀态,收到時間,目前站點編号)。

快遞簽收(快遞編号,簽收人姓名,簽收人聯系電話)。

根據以上描述,回答下列問題:

問題1 (6分)

對關系“快遞投遞”,請回答以下問題:

(1) 列舉出所有候選鍵。

(2) 它是否為3NF,用100字以内文字簡要叙述理由。

(3) 将其分解為BCNF,分解後的關系名依次為:快遞投遞1,快遞投遞2,…,并用下劃線标示分解後各關系模式的主鍵。小任老師Q2105639303,免費擷取資料,問題解答,考試最新資訊

問題2 (6分)

對關系“快遞跟蹤”,請回答以下問題:

(2) 它是否為2NF,用100字以内文字簡要叙述理由。

(3) 将其分解為BCNF,分解後的關系名依次為:快遞跟蹤1,快遞跟蹤2,…,并用下劃線标示分解後各關系模式的主鍵。

問題3 (3分)

快遞公司會根據快遞物品和距離收取快遞費,每件快遞需由發件人或收件人支付快遞費給公司。同一個發件人同時發起多個快遞,必須分别支付。快遞公司提供預支付和到付兩種支付方式。為了統計快遞費的支付情況(詳細金額和時間),試增加“快遞費支付”關系模式,用100字以内文字簡要叙述解決方案。

試題四(共15分)

某學生資訊管理系統的部分資料庫關系模式如下:

學生:Student ( stuno, stuname, stuage, stusex, schno),各屬性分别表示學生的學号、姓名、年齡、性别,以及學生所屬學院的編号;

學院:School ( schno, schname, schstunum ),各屬性分别表示學院的編号、名稱及學生人數;小任老師Q2105639303,免費擷取資料,問題解答,考試最新資訊

俱樂部:Club (clubno, clubname, clubyear, clubloc ),各屬性分别表示俱樂部的編号、名稱、成立年份和活動地點;

參加:JoinClub ( stuno, clubno, joinyear ),各屬性分别表示學号、俱樂部編号,以及學生加入俱樂部的年份。

有關關系模式的說明如下:

(1) 學生的性别取值為'F'和'M' (F表示女性,M表示男性)。

(2) 删除一個學院的記錄時,通過外鍵限制級聯删除該學院的所有學生記錄。

(3) 學院表中的學生人數值與學生表中的實際人數要完全保持一緻。也就是說,當學生表中增減記錄時,就要自動修改相應學院的人數。

根據以上描述,回答下列問題,将SQL語句的空缺部分補充完整。

問題1 (4分)

請将下面建立學生表的SQL語句補充完整,要求定義實體完整性限制、參照完整性限制,以及其他完整性限制。

CREATE TABLE Student (

  stuno CHAR(11)   (  1  ),

  stuname VARCHAR(8),

  stuage SMALLINT,

  stusex CHAR(1)  (  2  ),

  schno CHAR(3)  (  3  ) ON DELETE  (  4  ));

問題2 (5分)

建立倶樂部人數視圖,能統計每個倶樂部已加入學生的人數,屬性有clubno,clubname和clubstunum。對于暫時沒有學生參加的俱樂部,其人數為0。此視圖的建立語句如下,請補全。

CREATE VIEW CS_NUMBER ( clubno, clubname, clubstunum ) AS

   SELECT JoinClub.clubno, (  1  ) , (  2  )

              FROM JoinClub,Club

              WHERE JoinClub.clubno= Club.clubno

                 (  3  ) BYJoinClub.clubno

   (  4  )  SELECT clubno, clubname, 0 FROM Club

              WHERE clubno NOTIN

                  (SELECTDISTINCT clubno FROM  (  5  ));

問題3 (4分)

每當系統中新加或删除一個學生,就需要自動修改相應學院的人數,以便保持系統中學生人數的完整性與一緻性。此功能由下面的觸發器實作,請補全。

CREATE TRIGGER STU_NUM_TRG

   AFTER INSERT OR DELETE ON  ( 1  )

   REFERENCING new row ASnrow, old row AS orow

   FOR EACH (  2  )

   BEGIN

      IF INSERTING THEN

         UPDATE School (  3  )

      END IF;

      IF DELETING THEN

         UPDATE School (  4  );

END;

問題4 (2分)

查詢年齡小于19歲的學生的學号、姓名及所屬學院名,要求輸出結果把同一個學院的學生排在一起。此功能由下面的SQL語句實作,請補全。

SELECT stuno, stuname, schname FROM Student, School WHEREStudent.schno = School.schno

AND stuage <19  (  1  ) BY(  2 

);

試題五(共15分)

某商業銀行賬務系統的部分關系模式如下:

賬戶表:Account (ano, aname, balance),其中屬性含義分别為:賬戶号碼,賬戶名稱和賬戶餘額。

交易明細表:TranDetails (too, ano, ttime, toptr, amount, ttype),其中屬性分别為:交易編号,賬戶号碼,交易時間,交易操作員,交易金額,交易類型(1-存款,2-取款,3-轉賬)。

餘額彙總表:AcctSums (adate, atime, allamt),其中屬性分别為:彙總日期,彙總時間,總餘額。

常見的交易規則如下:

存/取款交易:操作員核對使用者相關資訊,在系統上執行存/取款交易。賬務系統増加/ 減少該賬戶餘額/并在交易明細表中增加一條存/取款交易明細。

轉賬交易:操作員核對使用者相關資訊,核對轉賬交易賬戶資訊,在系統上執行轉賬交易。賬務系統對轉出賬戶減少其賬戶餘額,對轉入賬戶增加其賬戶餘額,并在交易明細表中增加一條轉賬交易明細。

餘額彙總交易:将賬戶表中所有賬戶餘額累計彙總。

小任老師Q2105639303,免費擷取資料,問題解答,考試最新資訊

假定目前賬戶表中的資料記錄如表5-1所示。

2019年資料庫系統工程師下午真題及答案解析

請根據上述描述,回答以下問題。

問題1 (3分)

假設在正常交易時間,賬戶上在進行相應存取款或轉賬操作時,要執行餘額彙總交易。下面是用SQL實作的餘額彙總程式,請補全空缺處的代碼。要求(不考慮并發性能)在保證餘額彙總交易正确性的前提下,不能影響其他存取款或轉賬交易的正确性。

2019年資料庫系統工程師下午真題及答案解析

問題2 (8分)

引入排它鎖指令LX()和解鎖指令UX(),要求滿足兩段鎖協定和送出讀隔離級别。假設在進行餘額彙總交易的同時,發生了一筆轉賬交易。從101賬戶轉給104賬戶400元。這兩筆事務的排程如表5-2所示。

2019年資料庫系統工程師下午真題及答案解析

(1)請補全表中的空缺處(a)、(b);

(2)上述排程結束後,彙總得到的總餘額是多少?

(3)該資料是否正确?請說明原因。

在問題2的基礎上,引入共享鎖指令LS()和解鎖指令US()。對問題2中的排程進行重寫,要求滿足兩段鎖協定。兩個事務執行的某種排程順序如表5-3所示,該排程順序使得彙總事務和轉賬事務形成死鎖。請補全表中的空缺處(a)、(b)。

2019年資料庫系統工程師下午真題及答案解析

2019年資料庫系統工程師下午真題及答案解析

試題一(共15分)   

問題1(5分) 單擊此連結檢視真題解析視訊 ​​https://edu.51cto.com/course/5663.html​​

E1:學生   E2:學校管理人員    E3:班主任    E4:家長    E5: 醫護機構健康服務系統

問題2(4分)                                                                                          

D1:學生狀态資訊表   D2:學生基礎資訊表   D3:校園場所資訊表  D4:課表

缺失資料流:

2019年資料庫系統工程師下午真題及答案解析

學生狀态包括:學生ID、學生卡ID、學生心率、體溫、所在位置等位置。

學生資訊包括:學生ID、學生卡ID、家長ID、班主任等資訊。

2019年資料庫系統工程師下午真題及答案解析

a.所屬公司代碼     b.投資方編号

完整性限制:

a.主鍵:工号                    外鍵:所屬公司代碼

b.主鍵:項目編号,投資方編号    外鍵:創業公司代碼

1.不需要增加新的實體。

2.聯系“項目”增加兩個屬性:“投資額”和“投資時間”就可以了。

2019年資料庫系統工程師下午真題及答案解析

試題三(共15分)

問題1(6分)

(1) 候選鍵:快遞編号

(2) 不滿足3NF,因為快遞投遞關系存在非主屬性對主屬性傳遞依賴。快遞編号->發件人身份證号,發件人身份證号->(發件人姓名,發件人電話号碼,發件人位址編号)。是以不滿足3NF。

解析:第三範式(3NF):如果關系模式R是1NF,且每個非主屬性都不傳遞依賴于R的候選碼,則稱R是3NF。

(3)快遞投遞1(快遞編号,快遞員編号,發件人身份證号)

  快遞投遞2(發件人身份證号,發件人姓名,發件人電話号碼,發件人位址編号)

  快遞投遞3(快遞員編号,攬件站點編号)  注:攬件站點編号應該等于快遞員關系中的工作站點編号,是以該關系其實已經存在。

問題2(6分)

(1)候選鍵:(快遞編号、目前快遞員編号、目前狀态)組合鍵或 (快遞編号、收到時間) 組合鍵

(2)不滿足2NF,因為快遞跟蹤中的"目前站點編号"隻依賴于"目前快遞員編号",存在部分函數依賴關系。

解析:

第二範式(2NF):若關系模式R是1NF,且每個非主屬性完全函數依賴于候選鍵,那麼稱R是2NF模式。

(3)快遞跟蹤1(快遞編号,目前快遞員編号,目前狀态)

  快遞跟蹤2(快遞編号,目前快遞員編号,上一段快遞員編号)

  快遞跟蹤3(快遞編号,目前站點編号,收到時間)

解析:BC範式(BCNF):若關系模式R是1NF,且每個屬性都不傳遞依賴于R的候選鍵,那麼稱R是BCNF模式。

快遞費支付(支付編号,快遞編号,支付方式,支付金額,快遞員編号,支付時間,支付人)

試題四(共15分)

問題1(4分)單擊此連結檢視真題解析視訊 ​​https://edu.51cto.com/course/5663.html​​

1.PRIMARY KEY

2.CHECK VALUES IN ('F','M')  或 CHECK (stusex IN ('F','M'))

3.REFERNCES School(schno)

4.CASCADE

問題2(5分)

1.Club.clubname       2.COUNT(DISTINCT (joinClub.stuno)) ASclubstunum

3.GROUP             4.UNION           5.JoinClub

問題3(4分)

1.Student            2.row

3.SET schstunum=schstunum+1 whereSchool.schno=nrow.schno

4. SET schstunum=schstunum-1 whereSchool.schno=orow.schno

問題4(4分)

1.ORDER            2.Student.schno  或  School.schno

試題五(共15分)

問題1(3分)

1.SERIALIZABLE       2. Amts        3.COMMIT-TRANSACTION  或COMMIT

問題2(8分)

1. a.等待  b.UX(101), UX(104)            2.總餘額2000元

3.不正确,彙總事務讀取101賬戶餘額500元後,轉賬事務對101賬戶轉賬400元給104賬戶,而後彙總事務讀取了104賬戶餘額,導緻讀取到的101賬戶餘額不是最新的資料。是以彙總餘額增加了400。

a. LX(101)  或 LX(101),等待

b. LX(104)

一、小任老師資料庫系統工程師視訊

1、2019軟考資料庫系統工程師--基礎知識精講視​​http://edu.51cto.com/course/5505.html​​

2019年資料庫系統工程師下午真題及答案解析

2、2019資料庫系統工程師--上午曆年真題解析視​​http://edu.51cto.com/course/6162.html​​

2019年資料庫系統工程師下午真題及答案解析

3、2019資料庫系統工程師--下午曆年真題解析視訊​​http://edu.51cto.com/course/5663.html​​

2019年資料庫系統工程師下午真題及答案解析

​​二、更多軟考視訊(資訊系統項目管理師、系統內建、網絡工程師、軟體設計師、資訊安全工程師、網絡規劃設計師、系統分析師、資訊系統監理師等)​​

​​http://edu.51cto.com/lecturer/8371666.html​​

繼續閱讀