閱讀下面關于項目工作管理系統(tǒng)的數(shù)據(jù)庫設計說明,回答問題1至問題3,將解答填入答題紙的對應欄內(nèi)。
【說明】
E軟件開發(fā)公司,決定開發(fā)設計本公司的項目工作管理系統(tǒng),由王先生承擔數(shù)據(jù)庫的設計工作。公司項目管理的需求分析如下:
1、組織機構:E公司有多個部門,每個部門有多個職員、多個辦公室,每個辦公室有一部電話。當部門變更時更換新的部門代碼。職員辭職后,若再次被聘用仍使用辭職前的代碼。被聘用職員擔任某職務,職務用職務代碼來標識。職務分為:工程師、高級工程師、經(jīng)理助理、經(jīng)理等。職員的工資根據(jù)等級區(qū)分,共分為S、A、B、C、D五個等級。一個職務對應某個等級,一個等級對應多個職務。職員月工資等于職員月工作時間(小時)乘以小時工資。職員的人事變動以及職位變更(升級、降級)在月初進行。
2、項目管理:項目用項目代碼標識,使用過的項目代碼不能重復使用。一個部門可承擔多個項目,但一個項目僅由一個部門承擔。一個項目有一名項目主管和多個職員;一個職員可參加多個項目。項目代碼由系統(tǒng)自動生成,一旦項目建立,項目名、部門代碼以及起始年月日不能再變更。
3、項目的工作管理流程為:項目工作計劃輸入(初始計劃)→工作業(yè)績輸入→業(yè)績生成(每月一次)→計劃修正(每月一次)。
1)項目工作計劃輸入:項目主管使用如圖4-1所示計劃輸入界面,輸入項目代碼、職員代碼、職員參加某個項目的月工作時間(計劃)。圖中白色部分為可輸入項。
2)工作業(yè)績輸入:輸入職員每天參加各個項目的工作時間。圖4-2為工作業(yè)績輸入界面,圖中白色部分為可輸入項。其中,出勤時間由考勤系統(tǒng)管理,指定項目代碼的順序可以不同,并且一天可以輸入多個項目代碼,但同一個項目代碼不能重復輸入。
3)業(yè)績生成:月底匯總職員的當月工作業(yè)績,生成月工作業(yè)績表。
4)計劃修正:項目主管根據(jù)項目進度修改以后的工作計劃。
王先生根據(jù)公司的項目需求將數(shù)據(jù)庫關系模式設計如下:
【問題1】
請使用“關系模式標記規(guī)則”,給出部門、等級、項目、工作計劃關系模式的主鍵和外鍵,以及基本函數(shù)依賴集F1、F2、F3和F4。
【問題2】請將下面關系模式中的(a)和(b)處填入屬性名稱,要求使用說明中已有的屬性名稱。
(1)王先生設計的關系模式不能管理職務和等級之間的關系,可以通過修改“職務”關系模式實現(xiàn),修改后的關系模式為:職務( (a) )
(2)為了管理公司職員參加各項目每天的工作業(yè)績,需設計工作業(yè)績關系模式為:工作業(yè)績( (b) )
【問題3】
(1)部門關系模式存在什么問題?請用100字以內(nèi)的文字闡述原因。為了解決這個問題可將關系模式分解,分解后的關系模式的關系名依次取部門_A.部門_B.…。
(2)假定月工作業(yè)績關系模式為:月工作業(yè)績(職員代碼,年月,工作時間),請給出“查詢職員代碼、職員名、年月、月工資”的SQL語句