《操作系統(tǒng)》課件-1_第1頁
《操作系統(tǒng)》課件-1_第2頁
《操作系統(tǒng)》課件-1_第3頁
《操作系統(tǒng)》課件-1_第4頁
《操作系統(tǒng)》課件-1_第5頁
已閱讀5頁,還剩108頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第1章數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)

本章知識(shí)點(diǎn)(1)

理解數(shù)據(jù)庫的基本概念。(2)

初步掌握關(guān)系數(shù)據(jù)庫設(shè)計(jì)的方法和步驟。(3)

學(xué)會(huì)E-R圖的畫法。(4)

掌握E-R圖轉(zhuǎn)換為關(guān)系模式的規(guī)則。(5)

理解關(guān)系模式的規(guī)范化理論。本章能力培養(yǎng)目標(biāo)(1)

能進(jìn)行需求調(diào)研、分析。(2)

能繪制E-R圖。(3)

能將E-R圖轉(zhuǎn)換成關(guān)系模式。(4)

能運(yùn)用規(guī)范化理論規(guī)范關(guān)系模式。(5)

具有收集整理資料和溝通協(xié)作能力。

1.1學(xué)生成績(jī)管理系統(tǒng)的需求分析

本章將采用項(xiàng)目教學(xué)法和任務(wù)驅(qū)動(dòng)法

為此,我們將組建若干個(gè)項(xiàng)目小組,每組有1名組長(zhǎng)和3名組員,分別承擔(dān)一項(xiàng)任務(wù),通過模擬開發(fā)的全過程,學(xué)習(xí)數(shù)據(jù)庫系統(tǒng)設(shè)計(jì)。我們的任務(wù)是,為江揚(yáng)職業(yè)技術(shù)學(xué)院開發(fā)用于學(xué)生成績(jī)管理的軟件業(yè)務(wù),軟件名稱定為“學(xué)生成績(jī)管理系統(tǒng)”。1.1.1數(shù)據(jù)庫系統(tǒng)的基本概念(1)

數(shù)據(jù)庫(DatabaseSystem,簡(jiǎn)稱DB)。數(shù)據(jù)庫,顧名思義,是存放數(shù)據(jù)的倉庫。它是指長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)、有組織的、可共享大量數(shù)據(jù)的集合。數(shù)據(jù)庫中的數(shù)據(jù)按照一定的數(shù)據(jù)模型組織、描述和存儲(chǔ),具有較小的冗余度、較高的數(shù)據(jù)獨(dú)立性和易擴(kuò)展性,并可為各種用戶共享。(2)

數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡(jiǎn)稱DBMS)。數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件,它主要包括數(shù)據(jù)定義、數(shù)據(jù)操縱、數(shù)據(jù)庫的運(yùn)行管理、數(shù)據(jù)庫的建立和維護(hù)等功能。目前,數(shù)據(jù)庫管理系統(tǒng)主要有VisualFoxPro、Access、Oracle、SQL-Server、DB2、MySQL等。

(3)

數(shù)據(jù)庫管理員(DataBaseAdministrator,簡(jiǎn)稱DBA)。數(shù)據(jù)庫的管理工作只靠一個(gè)DBMS遠(yuǎn)遠(yuǎn)不夠,還要有專門的人員來完成,這些人員被稱為數(shù)據(jù)庫管理員。他們負(fù)責(zé)全面管理和控制數(shù)據(jù)庫系統(tǒng),其主要工作有數(shù)據(jù)庫設(shè)計(jì)、數(shù)據(jù)庫維護(hù)和改善數(shù)據(jù)庫系統(tǒng)性能等。

(4)

數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,簡(jiǎn)稱DBS)。將數(shù)據(jù)庫技術(shù)引進(jìn)計(jì)算機(jī)系統(tǒng)后形成了數(shù)據(jù)庫系統(tǒng)。數(shù)據(jù)庫系統(tǒng)一般是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)及其開發(fā)工具、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶等部分組成的,其中數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。1.1.2現(xiàn)實(shí)世界數(shù)據(jù)化過程

現(xiàn)實(shí)世界中的客觀事物是不能直接被計(jì)算機(jī)進(jìn)行處理的,必須將它們進(jìn)行數(shù)據(jù)化后才能在計(jì)算機(jī)中進(jìn)行處理,數(shù)據(jù)化要經(jīng)歷三個(gè)世界兩次抽象才能實(shí)現(xiàn),如圖1-1所示。圖1-1現(xiàn)實(shí)世界中客觀對(duì)象的抽象過程

在數(shù)據(jù)庫系統(tǒng)中,一般采用數(shù)據(jù)模型這個(gè)工具來對(duì)現(xiàn)實(shí)世界數(shù)據(jù)進(jìn)行抽象。首先將現(xiàn)實(shí)世界中的客觀對(duì)象抽象為某一種不依賴于具體計(jì)算機(jī)系統(tǒng)的概念模型,然后再把概念模型轉(zhuǎn)換為計(jì)算機(jī)中某一DBMS支持的數(shù)據(jù)模型?,F(xiàn)實(shí)世界數(shù)據(jù)化過程可由數(shù)據(jù)庫設(shè)計(jì)人員通過數(shù)據(jù)庫的設(shè)計(jì)來實(shí)現(xiàn)。1.1.3數(shù)據(jù)庫設(shè)計(jì)

數(shù)據(jù)庫設(shè)計(jì)包括數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)和應(yīng)用系統(tǒng)設(shè)計(jì)兩方面,本書只介紹數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì),應(yīng)用系統(tǒng)設(shè)計(jì)將由其他課程介紹。數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)一般分為需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)四個(gè)階段。

第1階段需求分析需求分析階段是整個(gè)數(shù)據(jù)庫設(shè)計(jì)過程的起點(diǎn)和基礎(chǔ),其主要任務(wù)是對(duì)用戶進(jìn)行全面調(diào)查,充分了解原系統(tǒng)工作概況、業(yè)務(wù)流程、局限性與不足之處,收集相關(guān)資料,明確用戶的各種需求。其需求包括得信息需求、處理需求、安全性與完整性需求。(1)

信息需求。是指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)。由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲(chǔ)哪些數(shù)據(jù)。(2)

處理需求。是指用戶要求完成什么處理功能,對(duì)處理的響應(yīng)時(shí)間有什么要求,用什么處理方式。(3)

安全性和完整性需求。是指用戶對(duì)數(shù)據(jù)的安全性和數(shù)據(jù)的正確性、一致性的要求。第2階段概念設(shè)計(jì)概念設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵。主要是通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型。

第3階段邏輯設(shè)計(jì)邏輯設(shè)計(jì)是將概念設(shè)計(jì)階段中產(chǎn)生的概念模型轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型,并對(duì)其進(jìn)行優(yōu)化。第4階段物理設(shè)計(jì)物理設(shè)計(jì)主要是對(duì)數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法的設(shè)計(jì)。物理設(shè)計(jì)是以邏輯設(shè)計(jì)的結(jié)果作為輸入,結(jié)合具體數(shù)據(jù)庫管理系統(tǒng)功能及其提供的物理環(huán)境與工具、應(yīng)用環(huán)境與數(shù)據(jù)存儲(chǔ)設(shè)備,進(jìn)行數(shù)據(jù)的存儲(chǔ)組織和方法設(shè)計(jì),并實(shí)施和性能預(yù)測(cè)。從邏輯模型到物理模型的轉(zhuǎn)換一般是由DBMS完成的。1.1.4需求調(diào)查的內(nèi)容與方法需求調(diào)查的內(nèi)容有:(1)

組織機(jī)構(gòu)情況。了解部門組成情況和各部門的職責(zé)等。(2)

各部門的業(yè)務(wù)活動(dòng)情況。了解各部門的業(yè)務(wù)流程,即了解各個(gè)部門輸入和使用什么數(shù)據(jù)、如何加工處理這些數(shù)據(jù)、輸出哪些信息、輸出到哪些部門以及輸出結(jié)果的格式等。(3)

對(duì)新系統(tǒng)的各種要求。在熟悉業(yè)務(wù)活動(dòng)的基礎(chǔ)上,協(xié)助用戶明確對(duì)新系統(tǒng)的各種要求,包括信息要求、處理要求、安全性與完整性要求。(4)

確定新系統(tǒng)的邊界。對(duì)調(diào)查的結(jié)果進(jìn)行分析,確定哪些功能由計(jì)算機(jī)完成、哪些活動(dòng)由人工完成。

常用的調(diào)查方法有:(1)

跟班實(shí)習(xí)。指設(shè)計(jì)人員深入客戶所在公司,親自參加實(shí)際業(yè)務(wù),從而準(zhǔn)確地理解用戶的需求。(2)

開調(diào)查會(huì)。一般采用座談會(huì)的形式。會(huì)議通常由開發(fā)小組成員主持,開發(fā)人員在會(huì)上可與參加會(huì)議的人員自由地交談,聽取他們的介紹,了解業(yè)務(wù)活動(dòng)情況及需求情況。(3)

請(qǐng)專人介紹。請(qǐng)專人介紹本部門工作流程,以及對(duì)各個(gè)環(huán)節(jié)的功能劃分和要求。(4)

詢問。對(duì)調(diào)查中的某些問題,可以找專人詢問。(5)

設(shè)計(jì)調(diào)查表。設(shè)計(jì)詳細(xì)的業(yè)務(wù)調(diào)查表,讓用戶填寫回答。(6)

查閱文檔資料。通過查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)、報(bào)表、檔案充分了解用戶的業(yè)務(wù)流程、基本數(shù)據(jù)的格式和內(nèi)容。1.1.5分析和整理數(shù)據(jù)

分析和整理資料的目的是分析和表達(dá)用戶的需要??梢栽谫Y料收集過程中或資料收集完成后進(jìn)行分析和整理工作。分析和整理工作主要是對(duì)數(shù)據(jù)進(jìn)行抽象,即對(duì)實(shí)際事件進(jìn)行處理,抽取共同的本質(zhì)特征,忽略其細(xì)節(jié),并用各種概念精確描述。在分析和整理數(shù)據(jù)的過程中,常用到業(yè)務(wù)流程圖和數(shù)據(jù)字典等工具,下面介紹之。

可用畫圖的方式,表示業(yè)務(wù)流程,這種圖叫業(yè)務(wù)流程圖,它一共有6種符號(hào),如圖1-2所示。圖1-2業(yè)務(wù)流程圖符號(hào)

(1)

外部實(shí)體。是指該實(shí)體與系統(tǒng)有關(guān)的外部單位。例如,學(xué)生、教師等。(2)

處理框。主要表示各種處理。例如,修改成績(jī)單、修改基本信息表等。(3)

實(shí)物框。是指要傳遞的具體實(shí)物或單據(jù)。例如,學(xué)生基本情況表、學(xué)生成績(jī)單等。(4)

數(shù)據(jù)存儲(chǔ)。是指在加工或轉(zhuǎn)換數(shù)據(jù)的過程中需要儲(chǔ)存的數(shù)據(jù)。例如,課程記錄、成績(jī)記錄等。(5)

流程線。是指數(shù)據(jù)的流向。(6)

判定框。是指問題的審核或判斷。例如,對(duì)某學(xué)生情況的審核。圖1-3學(xué)生成績(jī)管理業(yè)務(wù)流程圖

數(shù)據(jù)字典對(duì)數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)來講,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果,是各類數(shù)據(jù)描述的集合。數(shù)據(jù)字典通常包括數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)和處理過程五個(gè)部分。(1)

數(shù)據(jù)項(xiàng)。它是不可再分的數(shù)據(jù)單位,是數(shù)據(jù)的最小組成單位。對(duì)數(shù)據(jù)項(xiàng)的描述包括數(shù)據(jù)項(xiàng)名、數(shù)據(jù)項(xiàng)含義說明、別名、數(shù)據(jù)類型、長(zhǎng)度、取值范圍和取值含義等。

(2)

數(shù)據(jù)結(jié)構(gòu)。用于描述數(shù)據(jù)項(xiàng)之間的關(guān)系。若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu)。(3)

數(shù)據(jù)流。是指數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂健?4)

數(shù)據(jù)存儲(chǔ)。是指數(shù)據(jù)結(jié)構(gòu)停留或保存的地方。(5)

處理過程。是描述處理過程的說明性信息。數(shù)據(jù)字典的例子見表1-4,但該表只列出數(shù)據(jù)字典的數(shù)據(jù)項(xiàng)部分。續(xù)表1-41.2學(xué)生成績(jī)管理系統(tǒng)的概念設(shè)計(jì)

項(xiàng)目小組經(jīng)過對(duì)用戶全面地調(diào)查、分析,編寫出業(yè)務(wù)流程和數(shù)據(jù)字典,并通過與用戶多次溝通確認(rèn),完成了需求分析階段的任務(wù),開始進(jìn)入數(shù)據(jù)庫設(shè)計(jì)的概念設(shè)計(jì)階段。

概念模型是一種獨(dú)立于計(jì)算機(jī)系統(tǒng),用于信息世界的數(shù)據(jù)模型,它是按用戶的觀點(diǎn)對(duì)數(shù)據(jù)進(jìn)行建模。它對(duì)實(shí)際的人、物、事和概念進(jìn)行人為處理,抽取所關(guān)心的特性,并把這些特性用各種概念準(zhǔn)確地描述出來。概念模型是數(shù)據(jù)庫設(shè)計(jì)人員和用戶之間進(jìn)行交流與溝通的工具,最常用的概念模型是實(shí)體聯(lián)系模型,簡(jiǎn)稱E-R模型。采用E-R模型來描述現(xiàn)實(shí)世界有兩點(diǎn)優(yōu)勢(shì):一是它接近于人的思維模式,很容易被人所理解;二是它獨(dú)立于計(jì)算機(jī),和具體的DBMS無關(guān),用戶更容易接受。1.2.1概念模型

1、實(shí)體聯(lián)系模型涉及的主要概念(1)

實(shí)體??陀^存在并可以相互區(qū)別的事物稱為實(shí)體。例如,一名學(xué)生、一名教師、一門課程等。(2)

屬性。實(shí)體所具有的特性稱為實(shí)體的屬性。例如,學(xué)號(hào)、姓名、出生日期等。(3)

碼。唯一確定實(shí)體的屬性或?qū)傩越M合稱為碼。例如,課程編號(hào)是課程實(shí)體的碼。(4)

域。屬性的取值范圍稱為該屬性的域。例如,性別的域?yàn)?男,女)。(5)

實(shí)體集。具有相同屬性和性質(zhì)的實(shí)體的集合稱為實(shí)體集。例如,所有教師就是一個(gè)實(shí)體集。(6)

聯(lián)系。事物內(nèi)部以及事物之間是有聯(lián)系的,這些聯(lián)系在概念模型中表現(xiàn)為實(shí)體內(nèi)部的聯(lián)系和實(shí)體之間的聯(lián)系。實(shí)體內(nèi)部的聯(lián)系是指某一實(shí)體內(nèi)部各個(gè)屬性之間的關(guān)系,而實(shí)體之間的聯(lián)系是指不同實(shí)體集之間的聯(lián)系。2、實(shí)體間的聯(lián)系類型實(shí)體間的聯(lián)系分為以下3類:(1)

一對(duì)一的聯(lián)系(1:1)。如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,在實(shí)體集B中至多有一個(gè)實(shí)體與它有聯(lián)系;反之亦成立,則表示實(shí)體集A與實(shí)體集B具有一對(duì)一的聯(lián)系,用1:1表示。例如,一個(gè)系只能有一個(gè)系主任,而一個(gè)系主任只在一個(gè)系中任職,則系主任與系之間具有一對(duì)一的聯(lián)系。(2)

一對(duì)多的聯(lián)系(1:n)。如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,在實(shí)體集B中可能有多個(gè)實(shí)體與它有聯(lián)系;反之,如果對(duì)于實(shí)體集B中的每一個(gè)實(shí)體,在實(shí)體集A中至多有一個(gè)實(shí)體與它有聯(lián)系,則表示實(shí)體集A與實(shí)體集B具有一對(duì)多的聯(lián)系,用1:n表示。例如,一個(gè)系有若干名教師,而每個(gè)教師只能屬于一個(gè)系,則系與教師之間具有一對(duì)多聯(lián)系。(3)

多對(duì)多的聯(lián)系(m:n)。如果對(duì)于實(shí)體集A中的每一個(gè)實(shí)體,在實(shí)體集B中可能有多個(gè)實(shí)體與它有聯(lián)系,反之亦成立,則表示實(shí)體集A與實(shí)體集B具有多對(duì)多的聯(lián)系,用m:n表示。例如,一門課程同時(shí)有多個(gè)學(xué)生選修,而一個(gè)學(xué)生可以同時(shí)選修多門課程,則課程與學(xué)生之間具有多對(duì)多的聯(lián)系。E-R模型是直觀描述概念模型的有力工具,它直接從現(xiàn)實(shí)世界中抽象出實(shí)體及實(shí)體間聯(lián)系。E-R模型可用E-R圖表示,其方法如下:(1)

實(shí)體集。用矩形表示,矩形內(nèi)寫明實(shí)體名。(2)

屬性。用橢圓形表示,并用無向邊將其與相應(yīng)的實(shí)體集連接起來。例如,班主任實(shí)體具有工號(hào)、姓名、性別、出生日期、班級(jí)編號(hào)、聯(lián)系電話、家庭住址等屬性,用E-R圖表示,如圖1-4所示。1.2.2概念模型的表示方法圖1-4班主任實(shí)體E-R圖(3)

聯(lián)系。用菱形表示,菱形框內(nèi)寫上聯(lián)系名,用無向邊分別與有關(guān)實(shí)體集連接起來,在無向邊旁標(biāo)出聯(lián)系的類型。如果聯(lián)系具有屬性,則該屬性仍用橢圓框表示,仍需要用無向邊將屬性與其聯(lián)系連接起來。例如,班主任與班級(jí)之間的聯(lián)系類型為一對(duì)一聯(lián)系,其聯(lián)系E-R圖如圖1-5所示。圖1-5班主任與班級(jí)聯(lián)系E-R圖1、確定實(shí)體與屬性根據(jù)需求分析的結(jié)果,抽象出實(shí)體及實(shí)體的屬性。在抽象實(shí)體及屬性時(shí)要注意,實(shí)體和屬性雖然沒有本質(zhì)區(qū)別,但是要求:(1)

屬性必須是不可分割的數(shù)據(jù)項(xiàng),不能包含其他屬性。(2)

屬性不能與其他實(shí)體具有聯(lián)系。例如,系雖然可以作為班級(jí)的屬性,但是該屬性仍然含有系編號(hào)與系名稱等屬性,因此系也需要抽象為一個(gè)實(shí)體。1.2.3E-R模型的設(shè)計(jì)當(dāng)實(shí)體和屬性確定之后,需要確定實(shí)體的碼。碼可以是單個(gè)屬性,也可以是幾個(gè)屬性的組合。2、確定實(shí)體間聯(lián)系及類型依據(jù)需求分析的結(jié)果,確定任意兩個(gè)實(shí)體之間是否有聯(lián)系,是何種聯(lián)系。例如,一門課程可以由多個(gè)教師講授,而一個(gè)教師只講一門課程,課程與教師之間的聯(lián)系類型為一對(duì)多的聯(lián)系(1:n)。3、畫出局部E-R圖根據(jù)所確定的實(shí)體、屬性及聯(lián)系畫出局部E-R圖4、畫出全局E-R圖局部E-R模型設(shè)計(jì)完成之后,下一步就是集成各局部E-R模型,形成全局E-R模型,即視圖的集成。視圖集成可以有兩種方式:(1)

一次集成法。將多個(gè)局部E-R圖一次綜合成一個(gè)系統(tǒng)的全局E-R圖。(2)

逐步集成法。以累加的方式每次集成兩個(gè)局部E-R圖,這樣逐步集成一個(gè)系統(tǒng)的全局E-R圖。

第一種方法比較復(fù)雜,做起來難度大;第二種方法可降低復(fù)雜度。在實(shí)際應(yīng)用中,可以根據(jù)系統(tǒng)復(fù)雜性選擇這兩種方式。視圖集成可分成兩個(gè)步驟:(1)

合并。消除各局部E-R圖之間的沖突,生成初步E-R圖。(2)

優(yōu)化。消除不必要的冗余,生成基本E-R圖。1.3學(xué)生成績(jī)管理系統(tǒng)的邏輯設(shè)計(jì)項(xiàng)目小組根據(jù)學(xué)生成績(jī)數(shù)據(jù)庫概念設(shè)計(jì)階段得到的全局E-R圖,設(shè)計(jì)出“學(xué)生成績(jī)管理系統(tǒng)”數(shù)據(jù)庫的邏輯結(jié)構(gòu)。即將概念設(shè)計(jì)階段設(shè)計(jì)的全局E-R圖先轉(zhuǎn)換為關(guān)系模式,然后對(duì)其進(jìn)行規(guī)范化得到最終的關(guān)系模式。完成任務(wù)的具體步驟如下:(1)

將全局E-R圖轉(zhuǎn)換成關(guān)系模式。(2)

對(duì)關(guān)系模式進(jìn)行規(guī)范化。(3)

設(shè)置關(guān)系模式之間聯(lián)系的鍵。

為了建立用戶所需要的數(shù)據(jù)庫,要把所設(shè)計(jì)的概念模型轉(zhuǎn)換為某個(gè)具體的DBMS所支持的數(shù)據(jù)模型。通常數(shù)據(jù)模型可分為網(wǎng)狀模型、層次模型和關(guān)系模型。目前數(shù)據(jù)庫系統(tǒng)普遍采用的數(shù)據(jù)模型是關(guān)系模型,采用關(guān)系模型作為數(shù)據(jù)組織方式的數(shù)據(jù)庫系統(tǒng)稱為關(guān)系數(shù)據(jù)庫系統(tǒng),所以這里只討論關(guān)系數(shù)據(jù)庫的邏輯設(shè)計(jì)問題。1.3.1關(guān)系模型

1、關(guān)系模型基本概念關(guān)系模型是用二維表結(jié)構(gòu)表示實(shí)體及實(shí)體之間聯(lián)系的數(shù)據(jù)模型。每個(gè)關(guān)系由它的行和列組成,見表1-5。學(xué)號(hào)姓名性別出生日期籍貫080101王小勇男1988.10江蘇蘇州080102黃浩男1988.7江蘇揚(yáng)州080103吳蘭芳女1989.5江蘇無錫080104張揚(yáng)男1988.7江蘇鎮(zhèn)江表1-5學(xué)生信息表

這里,介紹關(guān)系模型的幾個(gè)基本概念:(1)

關(guān)系。通常將關(guān)系模型稱為關(guān)系或表,一個(gè)關(guān)系對(duì)應(yīng)一張表。(2)

元組。表中除表頭外的一行即為一個(gè)元組,也稱為記錄。(3)

屬性。表中的一列即為一個(gè)屬性(或字段),每個(gè)屬性都有個(gè)名稱為屬性名(或字段名),即表中的列名。例如,學(xué)號(hào)、姓名。(4)

碼。表中的某個(gè)屬性或?qū)傩越M,它可以唯一確定一個(gè)元組。例如,學(xué)生表中的學(xué)號(hào)。(5)

域。屬性的取值范圍。例如,性別屬性的域是(‘男’,‘女’)。(6)

分量。元組中的一個(gè)屬性值。例如,學(xué)號(hào)“09010108”。(7)

關(guān)系模式。關(guān)系模式是對(duì)關(guān)系的描述,一般表示為:關(guān)系名(屬性名1,屬性名2,…,屬性名n)通常在對(duì)應(yīng)屬性名下面用下劃線表示關(guān)系模式的碼。例如,學(xué)生(學(xué)號(hào),姓名,性別,出生日期,系別,專業(yè),年級(jí))2、關(guān)系模型特點(diǎn)關(guān)系模型的結(jié)構(gòu)是二維表,但不是所有的二維表都屬于關(guān)系模型,只有具有下列特點(diǎn)的二維表才是關(guān)系模型。(1)

關(guān)系中的每一屬性都是不可再分的基本數(shù)據(jù)項(xiàng)。(2)

每個(gè)屬性的名字不能相同。(3)

行和列的順序無關(guān)緊要。(4)

關(guān)系中不能存在完全相同的行。

例如,表1-6中聯(lián)系方式列不是基本數(shù)據(jù)項(xiàng),因它被分為住宅電話列和移動(dòng)通訊列兩列,所以此二維表不是關(guān)系模型。表1-6非關(guān)系模型表

如要規(guī)范為關(guān)系模型,可將聯(lián)系方式列去掉,直接分為住宅電話列和移動(dòng)通訊列,見表1-7,此表才是關(guān)系模型。表1-7關(guān)系模型表

1.3.2E-R圖轉(zhuǎn)換為關(guān)系模式的原則(1)

E-R圖中的一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。(2)

E-R圖中的一個(gè)聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式,該關(guān)系的屬性是聯(lián)系的屬性以及與該聯(lián)系相關(guān)的實(shí)體的碼。而關(guān)系的碼則由聯(lián)系的方式?jīng)Q定:若聯(lián)系為1:1,則每個(gè)實(shí)體的碼均可作為該關(guān)系的碼。若聯(lián)系為1:n,關(guān)系的碼是n端實(shí)體的碼。若聯(lián)系為m:n,關(guān)系的碼是各個(gè)實(shí)體碼的組合。(3)

具有相同碼的關(guān)系模式可合并。舉例:有圖如下根據(jù)轉(zhuǎn)換的原則,該E-R圖可轉(zhuǎn)換為三個(gè)關(guān)系模式讀者表(讀者編號(hào),姓名,性別……)借閱登記表(讀者編號(hào),圖書編號(hào),借書日期,還書日期)圖書表(圖書編號(hào),圖書名稱,圖書類別,……)1.3.3關(guān)鍵字概念1、關(guān)鍵字(關(guān)鍵碼,碼或鍵)關(guān)鍵字是用來唯一標(biāo)識(shí)表中每一行的屬性或?qū)傩越M。2、候選關(guān)鍵字(候選碼)候選關(guān)鍵字是可以用來作關(guān)鍵字的屬性或?qū)傩越M。一個(gè)表可以有多個(gè)候選關(guān)鍵字。例如,表1-8系部表中的系部編號(hào)屬性和系部名稱屬性,因?yàn)檫@兩個(gè)屬性的值在系部表中是唯一的,所以這兩個(gè)屬性都是候選關(guān)鍵字。表1-8系部表系部編號(hào)系部名稱系主任01計(jì)算機(jī)系王朝國02農(nóng)經(jīng)系吳慶云03園藝系錢長(zhǎng)江………3、主關(guān)鍵字(主鍵、主碼)在一個(gè)表中指定一個(gè)候選關(guān)鍵字為主關(guān)鍵字,它的值必須是唯一的,并且不允許為空值,即主關(guān)鍵字屬性必須要輸入數(shù)據(jù),并且其值不能有重復(fù)。例如,表1-7教師表中,教師編號(hào)屬性和表1-8系部表中的系部編號(hào)屬性,可作為本表的主鍵。一個(gè)表必須有且只有一個(gè)主鍵,如果一個(gè)表中沒有可作主鍵的屬性或?qū)傩越M,則在這個(gè)表中添加ID編號(hào)列作為主鍵,該列沒有實(shí)際含義。4、公共關(guān)鍵字公共關(guān)鍵字就是連接兩個(gè)表的公共屬性。例如,系部編號(hào)為表1-7教師表和表1-8系部表的公共關(guān)鍵字。5、外關(guān)鍵字(外鍵、外碼)在一個(gè)表中,一個(gè)屬性它不是本表的主鍵而是另一個(gè)表的主鍵,這個(gè)屬性就是本表的外鍵。通常將主鍵所在的表稱主表(父表),外鍵所在的表稱從表(子表)。使用外鍵主要是建立表和表之間的聯(lián)系。例如,表1-7教師表中的系部編號(hào)屬性就是一個(gè)外關(guān)鍵字,因?yàn)榇藢傩栽诒?-8系部表中是主鍵而在表1-7教師表中是非主鍵。1、問題的提出前面提到,并非所有的二維表都是關(guān)系模型,有的二維表需要進(jìn)行規(guī)范化才能成為關(guān)系模型,并舉例說明了如何把非關(guān)系模型表6規(guī)范為關(guān)系模型表7。2、關(guān)系模型的規(guī)范化在實(shí)際操作中,可以把規(guī)范化分為5個(gè)不同的等級(jí):第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)和第五范式(5NF)。這5種范式一級(jí)比一級(jí)有更嚴(yán)格的要1.3.4數(shù)據(jù)模型的規(guī)范化

求。一般將關(guān)系規(guī)范到3NF即可。(1)

第一范式(1NF)。一個(gè)關(guān)系的每個(gè)屬性都是不可再分的基本數(shù)據(jù)項(xiàng)。則該關(guān)系滿足第一范式。第一范式包括下列指導(dǎo)原則:1)

關(guān)系中不能有重復(fù)的屬性。2)

實(shí)體中某個(gè)屬性只能存放一個(gè)值,不能有多個(gè)值。在任何一個(gè)關(guān)系數(shù)據(jù)庫中,滿足第一范式是對(duì)關(guān)系的基本要求,不滿足第一范式的數(shù)據(jù)庫就不是關(guān)系數(shù)據(jù)庫。

但是,符合第1規(guī)范化要求的關(guān)系模型是否就是一個(gè)好的關(guān)系模型呢?答案是,不一定。請(qǐng)看下例。學(xué)號(hào)姓名性別出生日期籍貫系名稱系主任080101王小勇男1988.10江蘇蘇州計(jì)算機(jī)系王朝國080102黃浩男1988.7江蘇揚(yáng)州計(jì)算機(jī)系王朝國080103吳蘭芳女1989.5江蘇無錫計(jì)算機(jī)系王朝國080104張揚(yáng)男1988.7江蘇鎮(zhèn)江計(jì)算機(jī)系王朝國…………………………………表1-9學(xué)生基本情況表

這個(gè)表格存在如下問題1)

數(shù)據(jù)冗余。在關(guān)系中系名稱和系主任重復(fù)出現(xiàn),重復(fù)次數(shù)與系人數(shù)相同,數(shù)據(jù)冗余太大,浪費(fèi)存儲(chǔ)空間。2)

更新異常。系名稱和系主任重復(fù)出現(xiàn),在修改數(shù)據(jù)時(shí),可能會(huì)出現(xiàn)遺漏、輸入錯(cuò)誤等情況,會(huì)造成數(shù)據(jù)不一致。3)

插入異常。如果一個(gè)系剛成立,尚無學(xué)生,就無法把這個(gè)系及其系主任的信息存入數(shù)據(jù)庫。4)

刪除異常。如果某個(gè)系的學(xué)生全部畢業(yè)了,在刪除該系學(xué)生信息的同時(shí),把這個(gè)系及其系主任的信息也丟掉了。鑒于存在以上種種問題,說明表1-9不是一個(gè)好的關(guān)系模式,需要進(jìn)一步進(jìn)行規(guī)范化。(2)

第二范式(2NF)。關(guān)系滿足第一范式,而且它的每一個(gè)非主關(guān)鍵字完全依賴主關(guān)鍵字,則該關(guān)系滿足第二范式。所謂“完全依賴”是指不能存在僅依賴主關(guān)鍵字一部分的屬性。

例如,表1-13中,學(xué)號(hào)屬性和課程名稱屬性組合組成主關(guān)鍵字,非主關(guān)鍵字姓名只依賴學(xué)號(hào)主關(guān)鍵字,而不依賴課程名稱主關(guān)鍵字,所以姓名屬性只依賴部分主關(guān)鍵字,此關(guān)系不滿足第二范式。學(xué)號(hào)姓名課程名稱成績(jī)080101王小勇高等數(shù)學(xué)70080101王小勇網(wǎng)頁制作技術(shù)80080102黃浩高等數(shù)學(xué)79080102黃浩網(wǎng)頁制作技術(shù)85080103吳蘭芳高等數(shù)學(xué)82080103吳蘭芳網(wǎng)頁制作技術(shù)90表1-13不滿足第二范式的成績(jī)表

解決方法是將部分函數(shù)依賴關(guān)系中的主關(guān)鍵字和非主關(guān)鍵字從該關(guān)系中分離出來組成一個(gè)新關(guān)系,將關(guān)系中余下的其他屬性加上主關(guān)鍵字構(gòu)成關(guān)系。見表1-14和表1-15。學(xué)號(hào)課程名稱成績(jī)080101高等數(shù)學(xué)70080101網(wǎng)頁制作技術(shù)80080102高等數(shù)學(xué)79080102網(wǎng)頁制作技術(shù)85080103高等數(shù)學(xué)82080103網(wǎng)頁制作技術(shù)90表1-14

滿足第二范式的成績(jī)表

學(xué)號(hào)姓名080101王小勇080102黃浩080103吳蘭芳表1-15學(xué)生表

(3)

第三范式(3NF)。關(guān)系滿足第二范式的要求,而且該表中的每一個(gè)非主關(guān)鍵字不傳遞依賴于主關(guān)鍵字,則該關(guān)系滿足第三范式。例如,表1-16中,學(xué)號(hào)屬性是主關(guān)鍵字,非主關(guān)鍵字班主任和學(xué)號(hào)之間存在通過班級(jí)名稱進(jìn)行函數(shù)依賴關(guān)系的傳遞,所以該關(guān)系不滿足第三范式。學(xué)號(hào)姓名性別班級(jí)名稱班主任080101王小勇男08網(wǎng)絡(luò)1班吳剛080102黃浩男08網(wǎng)絡(luò)1班吳剛080103吳蘭芳女08網(wǎng)絡(luò)1班吳剛080104張揚(yáng)男08網(wǎng)絡(luò)1班吳剛表1-16不滿足第三范式的學(xué)生表

消除這種函數(shù)傳遞依賴關(guān)系的方法是將班級(jí)名稱和班主任屬性從該關(guān)系中分離出來組成一個(gè)新關(guān)系,并為兩個(gè)關(guān)系添加一個(gè)公共關(guān)鍵

字班級(jí)編號(hào),見表1-17和表1-18。學(xué)號(hào)姓名性別班級(jí)編號(hào)080101王小勇男08011080102黃浩男08011080103吳蘭芳女08011080104張揚(yáng)男08011表1-17滿足第三范式的學(xué)生表班級(jí)編號(hào)班級(jí)名稱班主任0801109網(wǎng)絡(luò)1班吳剛0801209網(wǎng)絡(luò)2班李小明0802109計(jì)算機(jī)1班王鵬宇0802209計(jì)算機(jī)2班吳玉芳表1-18班級(jí)表

一個(gè)關(guān)系模式若不是3NF,就會(huì)產(chǎn)生插入異常、刪除異常、冗余度大等問題。這正如我們?cè)谇懊嬗懻撨^的表1-9的情況一樣。請(qǐng)大家根據(jù)剛剛學(xué)到的知識(shí)對(duì)表1-9進(jìn)行規(guī)范化。1.4學(xué)生成績(jī)管理系統(tǒng)的物理設(shè)計(jì)

項(xiàng)目小組根據(jù)邏輯設(shè)計(jì)階段得到的關(guān)系模式,選擇SQLServer2008作為DBMS,設(shè)計(jì)學(xué)生成績(jī)數(shù)據(jù)庫的物理結(jié)構(gòu)。物理設(shè)計(jì)是為邏輯數(shù)據(jù)模型建立一個(gè)完整的能實(shí)現(xiàn)的數(shù)據(jù)庫結(jié)構(gòu),包括存儲(chǔ)結(jié)構(gòu)和存取方法等,其大部分工作都由DBMS完成,我們需要設(shè)計(jì)的是確定數(shù)據(jù)庫文件的長(zhǎng)度和數(shù)據(jù)列的類型等。將數(shù)據(jù)庫邏輯設(shè)計(jì)的關(guān)系模式轉(zhuǎn)化為SQLServer2008數(shù)據(jù)庫系統(tǒng)所支持的實(shí)際數(shù)據(jù)模型——數(shù)據(jù)表對(duì)象,并形成數(shù)據(jù)庫中各個(gè)表格之間的關(guān)系。完成任務(wù)的具體步驟如下:(1)

將關(guān)系模式轉(zhuǎn)成SQLServer2008表結(jié)構(gòu)的形式,設(shè)置每個(gè)字段的列名、數(shù)據(jù)類型、是否為空值等。(2)

對(duì)表進(jìn)行數(shù)據(jù)完整性約束設(shè)置。1.4.1SQL標(biāo)識(shí)符

數(shù)據(jù)庫對(duì)象的名稱即為標(biāo)識(shí)符。它是用戶定義的可識(shí)別的有特定意義的字符序列,用戶定義標(biāo)識(shí)符時(shí)必須符合標(biāo)識(shí)符規(guī)則,否則將會(huì)出現(xiàn)錯(cuò)誤。

SQLServer標(biāo)識(shí)符可劃分為常規(guī)標(biāo)識(shí)符與分隔標(biāo)識(shí)符兩類。1、常規(guī)標(biāo)識(shí)符命名規(guī)則:(1)

第一個(gè)字符必須由字母a~z、A~Z,以及來自其他語言的字母字符或者下劃線(_)、@或#構(gòu)成。后續(xù)字符可以是Unicode標(biāo)準(zhǔn)字符集中定義的字母、十進(jìn)制數(shù)字、基本拉丁字符、符號(hào)(#、_、@、$)。(2)

在定義標(biāo)識(shí)符時(shí),不能占用T-SQL的保留字。(3)

在標(biāo)識(shí)符中不能含有空格或其他的特殊字符。(4)

標(biāo)識(shí)符中的字符數(shù)量不能超過128個(gè)。

2、分隔標(biāo)識(shí)符對(duì)于不符合常規(guī)標(biāo)識(shí)符的命名規(guī)則的標(biāo)識(shí)符,必須用分隔標(biāo)識(shí)符,即用方括號(hào)或雙引號(hào)進(jìn)行分隔。分隔標(biāo)識(shí)符主要適用于以下兩種情況:(1)

當(dāng)對(duì)象名稱中包含有SQLServer的保留字時(shí),需要使用分隔標(biāo)識(shí)符。如[ORDER]、[VIEW]等。(2)

當(dāng)對(duì)象名稱中使用了未列入限定字符的字符時(shí)(如空格),或當(dāng)關(guān)鍵字作為名稱的一部分

時(shí),需要使用分隔標(biāo)識(shí)符。如[PersonNAME]、[MyTable]。3標(biāo)識(shí)符的命名法則(1)

盡可能使標(biāo)識(shí)符反映出對(duì)象本身所蘊(yùn)含的意義或類型。(2)

盡可能使用最簡(jiǎn)短的標(biāo)識(shí)符。(3)

命名時(shí),盡量使用清晰自然的名字命名。1.4.2SQLServer系統(tǒng)數(shù)據(jù)類型SQLServer2008提供了一系列系統(tǒng)定義的數(shù)據(jù)類型,系統(tǒng)數(shù)據(jù)類型是SQLServer預(yù)先定義好的,可以直接使用。SQLServer2008常用數(shù)據(jù)類型見表1-19。表1-19之一表1-19之二表1-19之三

說明:數(shù)字類型中的數(shù)字可以參加各種數(shù)學(xué)運(yùn)算。字符類型主要用來存儲(chǔ)由字母、數(shù)字和其他特殊符號(hào)組成的字符串。在引用字符串時(shí)要用單引號(hào)括起來。字符類型的數(shù)據(jù)分為兩類,一類ASCII數(shù)據(jù)主要存儲(chǔ)ASCII字符,另一類是Unicode數(shù)據(jù)主要存儲(chǔ)Unicode字符,一個(gè)Unicode字符其存儲(chǔ)空間是ASCII字符的兩倍。字符類型中有固定長(zhǎng)度的字符數(shù)據(jù),如char(n)、nchar(n),可變長(zhǎng)度的字符數(shù)據(jù),如varchar(n)、nvarchar(n),二者的區(qū)別在于存放固定長(zhǎng)度的n個(gè)字符數(shù)據(jù),若輸入字符長(zhǎng)度不足n時(shí),則用空格補(bǔ)足。而可變長(zhǎng)度的n個(gè)字符數(shù)據(jù)則按輸入字符實(shí)際長(zhǎng)度存儲(chǔ)。其他類型。使用這些數(shù)據(jù)類型可以完成特殊數(shù)據(jù)對(duì)象的定義、存儲(chǔ)和使用。以上是系統(tǒng)數(shù)據(jù)類型,在實(shí)際應(yīng)用中,有時(shí)這些數(shù)據(jù)類型不能滿足實(shí)際需要。因此,SQLServer也提供了用戶自定義數(shù)據(jù)類型的功能。1.4.3數(shù)據(jù)完整性

數(shù)據(jù)完整性是指數(shù)據(jù)的準(zhǔn)確性和一致性。利用數(shù)據(jù)完整性限制數(shù)據(jù)庫表中輸入的數(shù)據(jù),減少數(shù)據(jù)輸入錯(cuò)誤的機(jī)會(huì),來防止數(shù)據(jù)庫中存在不正確的數(shù)據(jù)。關(guān)系模型中有3類完整性約束:實(shí)體完整性、參照完整性(引用完整性)和用戶自定義完整性。(1)

實(shí)體完整性。規(guī)定表中必須有一個(gè)主鍵,而使表中每一條記錄都是唯一的。例如,學(xué)生表中以學(xué)號(hào)為主鍵。(2)

參照完整性。用于保證相關(guān)聯(lián)的表之間數(shù)據(jù)的一致性。其作用表現(xiàn)在如下幾個(gè)方面:1)

禁止向外鍵列中插入主鍵列中沒有的值。2)

禁止修改外鍵列值,而不修改主鍵列的值。3)

禁止先從主鍵列所屬的表中刪除數(shù)據(jù)行。例如,向成績(jī)表中添加某門課程的成績(jī),這門課程必須在課程表中存在。(3)

用戶自定義完整性。用于限制用戶向表中列輸入的數(shù)據(jù),它是一種強(qiáng)制性的數(shù)據(jù)定義。例如,成績(jī)列的值在0~100之間。1.4.4設(shè)計(jì)表結(jié)構(gòu)

將邏輯設(shè)計(jì)階段設(shè)計(jì)的關(guān)系模式根據(jù)SQLServer的特點(diǎn)設(shè)計(jì)出表中的字段及每個(gè)字段的列名、數(shù)據(jù)類型、長(zhǎng)度、是否為空值和完整性約束等。在為表和表的字段命名時(shí)要符合標(biāo)識(shí)符規(guī)則,最后設(shè)計(jì)出的表結(jié)構(gòu)見表1-20~表1-26。拓展訓(xùn)練一、選擇題1.?dāng)?shù)據(jù)庫管理系統(tǒng)的英文縮寫是()。

A.DBMSB.DBSC.DBA D.DB2.SQLServer2008是一個(gè)()的數(shù)據(jù)庫管理系統(tǒng)。

A.網(wǎng)狀型B.層次型

C.關(guān)系型D.以上都不是一、選擇題1.?dāng)?shù)據(jù)庫管理系統(tǒng)的英文縮寫是(A)。

A.DBMSB.DBSC.DBA D.DB2.SQLServer2008是一個(gè)(C)的數(shù)據(jù)庫管理系統(tǒng)。

A.網(wǎng)狀型B.層次型

C.關(guān)系型D.以上都不是3.?dāng)?shù)據(jù)庫系統(tǒng)是采用了數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng),數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)和()組成。

A.系統(tǒng)分析員 B.程序員

C.?dāng)?shù)據(jù)庫管理員D.操作員4.?dāng)?shù)據(jù)庫(DB),數(shù)據(jù)庫系統(tǒng)(DBS)和數(shù)據(jù)庫管理系統(tǒng)(DBMS)之間的關(guān)系是()。

A.DBS包括DB和DBMS B.DBMS包括DB和DBSC.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS3.?dāng)?shù)據(jù)庫系統(tǒng)是采用了數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng),數(shù)據(jù)庫系統(tǒng)由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用系統(tǒng)和(C)組成。

A.系統(tǒng)分析員 B.程序員

C.?dāng)?shù)據(jù)庫管理員D.操作員4.?dāng)?shù)據(jù)庫(DB),數(shù)據(jù)庫系統(tǒng)(DBS)和數(shù)據(jù)庫管理系統(tǒng)(DBMS)之間的關(guān)系是(A)。

A.DBS包括DB和DBMS B.DBMS包括DB和DBSC.DB包括DBS和DBMS D.DBS就是DB,也就是DBMS5.在概念模型中,客觀存在并可相互區(qū)別的事物稱()。

A.實(shí)體 B.元組

C.屬性 D.節(jié)點(diǎn)6.公司中有多個(gè)部門和多名職員,每個(gè)職員只能屬于一個(gè)部門,一個(gè)部門可以有多名職員,部門和職員的聯(lián)系類型是()。

A.多對(duì)多 B.一對(duì)一

C.多對(duì)一 D.一對(duì)多5.在概念模型中,客觀存在并可相互區(qū)別的事物稱(A)。

A.實(shí)體 B.元組

C.屬性 D.節(jié)點(diǎn)6.公司中有多個(gè)部門和多名職員,每個(gè)職員只能屬于一個(gè)部門,一個(gè)部門可以有多名職員,部門和職員的聯(lián)系類型是(D)。

A.多對(duì)多 B.一對(duì)一

C.多對(duì)一 D.一對(duì)多7.概念設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,它通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的()。

A.?dāng)?shù)據(jù)模型 B.概念模型

C.層次模型 D.關(guān)系模型8.在概念設(shè)計(jì)階段,表示概念結(jié)構(gòu)的常用方法和描述工具是()。

A.層次分析法和層次結(jié)構(gòu)圖

B.?dāng)?shù)據(jù)流程分析法和數(shù)據(jù)流程圖

C.實(shí)體-聯(lián)系方法(E-R圖) D.結(jié)構(gòu)分析法和模塊結(jié)構(gòu)圖7.概念設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,它通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的(B)。

A.?dāng)?shù)據(jù)模型 B.概念模型

C.層次模型 D.關(guān)系模型8.在概念設(shè)計(jì)階段,表示概念結(jié)構(gòu)的常用方法和描述工具是(C)。

A.層次分析法和層次結(jié)構(gòu)圖

B.?dāng)?shù)據(jù)流程分析法和數(shù)據(jù)流程圖

C.實(shí)體-聯(lián)系方法(E-R圖) D.結(jié)構(gòu)分析法和模塊結(jié)構(gòu)圖9.下面的選項(xiàng)不是關(guān)系數(shù)據(jù)庫基本特征的是()。

A.不同的列應(yīng)有不同的數(shù)據(jù)類型

B.不同的列應(yīng)有不同的列名

C.與行的次序無關(guān)

D.與列的次序無關(guān)10.在關(guān)系數(shù)據(jù)庫設(shè)計(jì)中,對(duì)關(guān)系進(jìn)行規(guī)范化處理,使關(guān)系達(dá)到一定的范式,例如達(dá)到3NF,這是()階段的任務(wù)。

A.需求分析階段 B.概念設(shè)計(jì)階段

C.物理設(shè)計(jì)階段D.邏輯設(shè)計(jì)階段9.下面的選項(xiàng)不是關(guān)系數(shù)據(jù)庫基本特征的是(A)。

A.不同的列應(yīng)有不同的數(shù)據(jù)類型

B.不同的列應(yīng)有不同的列名

C.與行的次序無關(guān)

D.與列的次序無關(guān)10.在關(guān)系數(shù)據(jù)庫設(shè)計(jì)中,對(duì)關(guān)系進(jìn)行規(guī)范化處理,使關(guān)系達(dá)到一定的范式,例如達(dá)到3NF,這是(D)階段的任務(wù)。

A.需求分析階段 B.概念設(shè)計(jì)階段

C.物理設(shè)計(jì)階段D.邏輯設(shè)計(jì)階段11.?dāng)?shù)據(jù)庫設(shè)計(jì)時(shí),在對(duì)表做規(guī)范化設(shè)計(jì)時(shí),一般規(guī)范到()就足夠了。

A.第一范式 B.第二范式

C.第三范式 D.第四范式12.關(guān)于主鍵描述正確的是()。

A.包含一列

B.包含兩列

C.包含一列或者多列

D.以上都不正確11.?dāng)?shù)據(jù)庫設(shè)計(jì)時(shí),在對(duì)表做規(guī)范化設(shè)計(jì)時(shí),一般規(guī)范到(C)就足夠了。

A.第一范式 B.第二范式

C.第三范式 D.第四范式12.關(guān)于主鍵描述正確的是(C)。

A.包含一列

B.包含兩列

C.包含一列或者多列

D.以上都不正確13.在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)時(shí),設(shè)計(jì)者應(yīng)當(dāng)按照數(shù)據(jù)庫的設(shè)計(jì)范式進(jìn)行數(shù)據(jù)庫設(shè)計(jì),以下關(guān)于三大范式說法錯(cuò)誤的是()。

A.第一范式的目標(biāo)是確保每列的原子性

B.第三范式在第二范式的基礎(chǔ)上,確保表中的每行都和主鍵相關(guān)

C.第二范式在第一范式的基礎(chǔ)上,確保表中的每列都和主鍵相關(guān)

D.第三范式在第二范式的基礎(chǔ)上,確保表中的每列都和主鍵直接相關(guān),而不是間接相關(guān)13.在進(jìn)行數(shù)據(jù)庫設(shè)計(jì)時(shí),設(shè)計(jì)者應(yīng)當(dāng)按照數(shù)據(jù)庫的設(shè)計(jì)范式進(jìn)行數(shù)據(jù)庫設(shè)計(jì),以下關(guān)于三大范式說法錯(cuò)誤的是(B)。

A.第一范式的目標(biāo)是確保每列的原子性

B.第三范式在第二范式的基礎(chǔ)上,確保表中的每行都和主鍵相關(guān)

C.第二范式在第一范式的基礎(chǔ)上,確保表中的每列都和主鍵相關(guān)

D.第三范式在第二范式的基礎(chǔ)上,確保表中的每列都和主鍵直接相關(guān),而不是間接相關(guān)14.一個(gè)關(guān)系候選碼可以有1個(gè)或多個(gè),而主碼有()。

A.多個(gè) B.0個(gè)

C.1個(gè) D.1個(gè)或多個(gè)15.如果在一個(gè)關(guān)系中,存在某個(gè)屬性,雖然不是該關(guān)系的主碼,但卻是另一個(gè)關(guān)系的主碼時(shí),稱該屬性為這個(gè)關(guān)系的()。

A.候選碼 B.主碼

C.外碼 D.連接碼14.一個(gè)關(guān)系候選碼可以有1個(gè)或多個(gè),而主碼有(C)。

A.多個(gè) B.0個(gè)

C.1個(gè) D.1個(gè)或多個(gè)15.如果在一個(gè)關(guān)系中,存在某個(gè)屬性,雖然不是該關(guān)系的主碼,但卻是另一個(gè)關(guān)系的主碼時(shí),稱該屬性為這個(gè)關(guān)系的(C)。

A.候選碼 B.主碼

C.外碼 D.連接碼16.現(xiàn)有關(guān)系:學(xué)生(學(xué)號(hào),姓名,課程號(hào),系號(hào),系名,成績(jī)),為消除數(shù)據(jù)冗余,至少需要分解為()。

A.1個(gè)表

B.2個(gè)表

C.3個(gè)表

D.4個(gè)表16.現(xiàn)有關(guān)系:學(xué)生(學(xué)號(hào),姓名,課程號(hào),系號(hào),系名,成績(jī)),為消除數(shù)據(jù)冗余,至少需要分解為(C)。

A.1個(gè)表

B.2個(gè)表

C.3個(gè)表

D.4個(gè)表17.從E-R圖導(dǎo)出關(guān)系模式時(shí),如果實(shí)體間的聯(lián)系是M:N,下列說法中正確的是()。

A.將N方碼和聯(lián)系的屬性納入M方的屬性中

B.將M方碼和聯(lián)系的屬性納入N方的屬性中

C.增加一個(gè)關(guān)系表示聯(lián)系,其中納入M方和N方的碼

D.在M方屬性和N方屬性中均增加一個(gè)表示級(jí)別的屬性17.從E-R圖導(dǎo)出關(guān)系模式時(shí),如果實(shí)體間的聯(lián)系是M:N,下列說法中正確的是(C)。

A.將N方碼和聯(lián)系的屬性納入M方的屬性中

B.將M方碼和聯(lián)系的屬性納入N方的屬性中

C.增加一個(gè)關(guān)系表示聯(lián)系,其中納入M方和N方的碼

D.在M方屬性和N方屬性中均增加一個(gè)表示級(jí)別的屬性舉例:18.SQLServer的字符型系統(tǒng)數(shù)據(jù)類型主要包括()。

A.int、money、char B.char、varchar、textC.datetim D.char、varchar、intE.binary、int19.關(guān)系數(shù)據(jù)規(guī)范化是為解決關(guān)系數(shù)據(jù)中()問題而引入的。

A.插入、刪除和數(shù)據(jù)冗余

B.減少數(shù)據(jù)操作的復(fù)雜性

C.保證數(shù)據(jù)的安全性和完整性

D.提高查詢速度18.SQLServer的字符型系統(tǒng)數(shù)據(jù)類型主要包括(B)。

A.int、money、char B.char、varchar、textC.datetim D.char、varchar、intE.binary、int19.關(guān)系數(shù)據(jù)規(guī)范化是為解決關(guān)系數(shù)據(jù)中(A)問題而引入的。

A.插入、刪除和數(shù)據(jù)冗余

B.減少數(shù)據(jù)操作的復(fù)雜性

C.保證數(shù)據(jù)的安全性和完整性

D.提高查詢速度20.關(guān)于數(shù)據(jù)庫的設(shè)計(jì)范式,以下說法錯(cuò)誤的是()。

A.?dāng)?shù)據(jù)庫的設(shè)計(jì)范式有助于規(guī)范化數(shù)據(jù)庫的設(shè)計(jì)

B.?dāng)?shù)據(jù)庫的設(shè)計(jì)范式有助于減少數(shù)據(jù)冗余

C.設(shè)計(jì)數(shù)據(jù)庫時(shí),在對(duì)表做規(guī)范化設(shè)計(jì)時(shí),一般規(guī)范到3NF就可以滿足需要

D.設(shè)計(jì)數(shù)據(jù)庫時(shí),一定要嚴(yán)格遵守設(shè)計(jì)范式,滿足的范式級(jí)別越高,系統(tǒng)性能就越好20.關(guān)于數(shù)據(jù)庫的設(shè)計(jì)范式,以下說法錯(cuò)誤的是(D)。

A.?dāng)?shù)據(jù)庫的設(shè)計(jì)范式有助于規(guī)范化數(shù)據(jù)庫的設(shè)計(jì)

B.?dāng)?shù)據(jù)庫的設(shè)計(jì)范式有助于減少數(shù)據(jù)冗余

C.設(shè)計(jì)數(shù)據(jù)庫時(shí),在對(duì)表做規(guī)范化設(shè)計(jì)時(shí),一般規(guī)范到3NF就可以滿足需要

D.設(shè)計(jì)數(shù)據(jù)庫時(shí),一定要嚴(yán)格遵守設(shè)計(jì)范式,滿足的范式級(jí)別越高,系統(tǒng)性能就越好二、填空題1._________是數(shù)據(jù)庫系統(tǒng)的核

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論