數(shù)據(jù)庫(kù)SQL圖書館借閱管理數(shù)據(jù)庫(kù)設(shè)計(jì).doc
《數(shù)據(jù)庫(kù)SQL圖書館借閱管理數(shù)據(jù)庫(kù)設(shè)計(jì).doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《數(shù)據(jù)庫(kù)SQL圖書館借閱管理數(shù)據(jù)庫(kù)設(shè)計(jì).doc(42頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
一、課程設(shè)計(jì)的內(nèi)容 一個(gè)圖書借閱管理數(shù)據(jù)庫(kù)要求提供以下服務(wù): (1)可隨時(shí)查詢書庫(kù)中現(xiàn)有書籍的種類、數(shù)量與存放位置。所有各類書籍均可由書號(hào)唯一標(biāo)識(shí)。 (2)可隨時(shí)查詢書籍借還情況。包括借書人單位、姓名、借書證號(hào)、借書日期和還書日期。任何人可借多種書,任何一種書可為多個(gè)人所借,借書證號(hào)具有唯一性。 (3)當(dāng)需要時(shí),可通過數(shù)據(jù)庫(kù)中保存的出版社電話、郵編及地址等信息向有關(guān)書籍的出版社增購(gòu)有關(guān)書籍。一個(gè)出版社可出版多種書籍,同一本書僅為一個(gè)出版社出版,出版社名具有唯一性。 根據(jù)以上的情景假設(shè),進(jìn)行如下的分析與設(shè)計(jì): (1)根據(jù)上述語(yǔ)義畫出ER圖。 (2)將ER模型轉(zhuǎn)換成關(guān)系模型,并指出每個(gè)關(guān)系模式的主關(guān)鍵字。 (3)分析每個(gè)關(guān)系模式已經(jīng)達(dá)到第幾范式。對(duì)于不符合第三范式要求的關(guān)系模式進(jìn)行規(guī)范化。 (4)根據(jù)概念模型設(shè)計(jì)邏輯模型和保護(hù)設(shè)計(jì)。 (5)在SQLServer中實(shí)現(xiàn)。 二、課程設(shè)計(jì)的要求與數(shù)據(jù) 根據(jù)教師給定的選題,運(yùn)用課堂中學(xué)到的數(shù)據(jù)庫(kù)的基本理論與設(shè)計(jì)的知識(shí),完成數(shù)據(jù)庫(kù)概念設(shè)計(jì)、邏輯設(shè)計(jì)及部分物理設(shè)計(jì)的內(nèi)容。重點(diǎn)是ER圖的設(shè)計(jì)、關(guān)系模式的轉(zhuǎn)換與規(guī)范化以及如何利用DBMS完成數(shù)據(jù)表及數(shù)據(jù)庫(kù)的創(chuàng)建和操作。具體要求包括: 1.開發(fā)環(huán)境要求:SQL Server 2005 2.提交課程設(shè)計(jì)報(bào)告一份,包括以下內(nèi)容: ① 用戶需求:要解決的主要問題,達(dá)到的具體指標(biāo)等。 ② 業(yè)務(wù)流程分析:描述系統(tǒng)的業(yè)務(wù)流程,畫出規(guī)范的業(yè)務(wù)流程圖。 ③ 數(shù)據(jù)庫(kù)概念模式設(shè)計(jì) 寫出由基本項(xiàng)相應(yīng)得出的實(shí)體、聯(lián)系及其屬性,并確定主實(shí)體的標(biāo)識(shí)特征,畫出ERD;對(duì)其中復(fù)雜的多元聯(lián)系進(jìn)行分析,必要?jiǎng)t改進(jìn)。 ④ 數(shù)據(jù)庫(kù)邏輯模式設(shè)計(jì) 4.1 一般邏輯模型設(shè)計(jì):寫出由ERD導(dǎo)出一般關(guān)系模型的四條原則,列出數(shù)據(jù)庫(kù)初步構(gòu)思的關(guān)系框架,并檢查改進(jìn)之。 4.2 具體邏輯模型設(shè)計(jì):按所用的DBMS要求,設(shè)計(jì)表(文件)的具體結(jié)構(gòu),在關(guān)系框架下補(bǔ)充字段類型、長(zhǎng)度、小數(shù)位數(shù)等行。 ⑤ 數(shù)據(jù)庫(kù)保護(hù)設(shè)計(jì) 5.1 設(shè)計(jì)表間關(guān)系:列出數(shù)據(jù)庫(kù)表間的關(guān)聯(lián)關(guān)系。 5.2 完整性設(shè)計(jì):列出主要字段完整性的字段名、完整性約束條件;列出記錄完整性約束及其約束條件;列出參照完整性表。 ⑥ 數(shù)據(jù)庫(kù)系統(tǒng)的實(shí)現(xiàn) 6.1 數(shù)據(jù)庫(kù)及其表結(jié)構(gòu)的建立:建立數(shù)據(jù)庫(kù)描述文件及建立其數(shù)據(jù)庫(kù)表,注意完整性與關(guān)聯(lián)的實(shí)現(xiàn),并附作為命令執(zhí)行結(jié)果的數(shù)據(jù)庫(kù)表結(jié)構(gòu)及其關(guān)聯(lián)圖、參照完整性表。 6.2 數(shù)據(jù)輸入:錄入數(shù)據(jù),并打印出各表的內(nèi)容,要求每個(gè)表至少有15條記錄。 3.提交光盤(每班統(tǒng)一制作1張光盤,每人一個(gè)文件夾,文件夾名為“學(xué)號(hào)姓名”)。每人的光盤文件夾內(nèi)含: ① 任務(wù)書; ② 數(shù)據(jù)庫(kù)文件(包括數(shù)據(jù)文件和日志文件); ③ 課程設(shè)計(jì)報(bào)告電子文檔。 三、課程設(shè)計(jì)應(yīng)完成的工作 1要求完成一個(gè)系統(tǒng)設(shè)計(jì)的主要過程:需求分析、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)等過程。 2 完成設(shè)計(jì)后,要寫出設(shè)計(jì)報(bào)告。 四、課程設(shè)計(jì)進(jìn)程安排 序號(hào) 設(shè)計(jì)各階段內(nèi)容 地點(diǎn) 起止日期 1 舉行課程設(shè)計(jì)動(dòng)員會(huì),說明課程設(shè)計(jì)的要求、目的。通過討論、查詢相關(guān)資料確定課程設(shè)計(jì)選題。 實(shí)驗(yàn)中心機(jī)房 17周1-周2 2 進(jìn)行需求分析、數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的分析。 實(shí)驗(yàn)中心機(jī)房 17周3-周4 3 完成以下內(nèi)容:(1)用戶需求分析;(2)業(yè)務(wù)流程分析;(3)數(shù)據(jù)庫(kù)概念模型設(shè)計(jì);(4)寫出由基本項(xiàng)相應(yīng)得出的實(shí)體、聯(lián)系及其屬性;(5)對(duì)其中復(fù)雜的多元聯(lián)系進(jìn)行分析,必要?jiǎng)t改進(jìn)。 實(shí)驗(yàn)中心機(jī)房 17周4-周5 4 完成數(shù)據(jù)庫(kù)模型設(shè)計(jì),包括一般邏輯模型設(shè)計(jì)和物理邏輯模型設(shè)計(jì);設(shè)計(jì)索引、設(shè)計(jì)表間關(guān)系、設(shè)計(jì)完整性。 實(shí)驗(yàn)中心機(jī)房 18周1-周2 5 進(jìn)行系統(tǒng)實(shí)現(xiàn)。內(nèi)容主要包括:數(shù)據(jù)庫(kù)表結(jié)構(gòu)的建立與數(shù)據(jù)輸入。 實(shí)驗(yàn)中心機(jī)房 18周3-周4 6 撰寫課程設(shè)計(jì)報(bào)告并上交 實(shí)驗(yàn)中心機(jī)房 18周4-周5 1、概述 6 1.1系統(tǒng)的基本任務(wù) 7 1.2系統(tǒng)的主要業(yè)務(wù) 7 1.3系統(tǒng)的開發(fā)目標(biāo) 7 2、需求分析 8 2.1用戶需求 8 2.2數(shù)據(jù)需求 9 2.3 需求規(guī)定 10 2.4業(yè)務(wù)流程分析 11 2.5系統(tǒng)功能分析 14 2.5.1功能分析 14 2.5.2功能分析圖 15 3、數(shù)據(jù)庫(kù)概念(模型)設(shè)計(jì) 16 3.1 由基本項(xiàng)構(gòu)思ERD的三個(gè)原則 16 3.2繪制ER圖 19 4、數(shù)據(jù)庫(kù)邏輯(模型)設(shè)計(jì) 21 4.1 按四原則轉(zhuǎn)化 21 4.2 轉(zhuǎn)化的邏輯模型 22 4.3 邏輯模型的優(yōu)化 23 4.4 具體邏輯模型設(shè)計(jì) 23 5、數(shù)據(jù)庫(kù)物理設(shè)計(jì)與數(shù)據(jù)庫(kù)保護(hù)設(shè)計(jì) 25 5.1設(shè)計(jì)索引 25 5.2設(shè)計(jì)表間關(guān)系 26 5.3完整性設(shè)計(jì) 26 5.4數(shù)據(jù)庫(kù)保護(hù)設(shè)計(jì) 26 6、數(shù)據(jù)庫(kù)實(shí)現(xiàn) 28 6.1建立數(shù)據(jù)庫(kù) 28 6.2 建立數(shù)據(jù)表 29 6.3簡(jiǎn)單查詢 35 6.4存儲(chǔ)過程 37 6.5建立視圖 39 7、總結(jié)與體會(huì) 43 1、概述 圖書館信息管理系統(tǒng)是一種在學(xué)校中常用的一種系統(tǒng)。它從圖書的入庫(kù)登記到查詢?yōu)g覽,從讀者的管理到圖書的借閱,形成了一個(gè)整體自動(dòng)化管理模式。系統(tǒng)主要有三個(gè)方面的內(nèi)容:一方面是圖書管理,主要包括新書入庫(kù) 圖書整理 圖書信息的修改等方面。一方面是圖書借閱,主要包括圖書的借閱和歸還。第三方面是信息查詢,主要包括圖書目錄查詢 讀者信息查詢等。隨著社會(huì)信息量的與日俱增,作為信息存儲(chǔ)的主要媒體之一圖書,數(shù)量、規(guī)模比以往任何時(shí)候都大的多,不論個(gè)人還是圖書管理部門都需要使用方便而有效的方式來(lái)管理自己的書籍?!秷D書館管理系統(tǒng)》能夠高效的完成圖書管理員的基本業(yè)務(wù)需求和系統(tǒng)管理員的管理需求,并能根據(jù)需要,完成讀者所提出的需求。是圖書館日常管理不可或缺的管理系統(tǒng)。 用戶類型 業(yè)務(wù)類型 具體操作 讀者 申請(qǐng)服務(wù) 借閱圖書 歸還圖書 預(yù)定圖書 圖書管理員 基本業(yè)務(wù) 借閱圖書 歸還圖書 預(yù)定圖書 系統(tǒng)管理員 圖書管理 新書入庫(kù) 更新圖書信息(修改、刪除) 查詢圖書信息 讀者管理 讀者登記 更新讀者信息(修改、注銷) 查詢讀者信息 系統(tǒng)設(shè)置 查詢統(tǒng)計(jì)、基本設(shè)置等 《圖書管理系統(tǒng)》主要功能描述 1.1系統(tǒng)的基本任務(wù) 圖書的使用對(duì)象是借閱者,例如學(xué)生,教師;管理者是圖書館的管理員。因此根據(jù)這些信息,本系統(tǒng)的主要功能就是:實(shí)現(xiàn)圖書館圖書信息的管理和維護(hù),如用戶信息管理,圖書館規(guī)則維護(hù),新書入庫(kù),整理圖書,修改圖書信息和進(jìn)行查詢等;以及服務(wù)系統(tǒng)的圖書信息查詢,圖書的借出和歸還等功能圖書信息管理系統(tǒng)能夠?yàn)橛脩籼峁┏渥愕男畔⒑涂旖莸牟樵兪侄?例如:檢索迅速、查找方便、可靠性高、存儲(chǔ)量大、保密性好、壽命長(zhǎng)、成本低等。因此要提供真實(shí)的、詳細(xì)的、全面的、系統(tǒng)化的圖書管理。為讀者借書及管理員的管理提供方便。 1.2系統(tǒng)的主要業(yè)務(wù) 一是:借書人借書。借書人可以通過本系統(tǒng),快速而且方便地查詢到自己所要找的書,很方便快捷;二是:圖書館的日常管理。圖書館通過本系統(tǒng),可以掌握整個(gè)圖書館的所有書籍和的全部信息與借書人的借書情況,為圖書館的日常管理提供全面、有用并且有序的信息,方便了圖書館的管理,提高了圖書館的管理效率。 1.3系統(tǒng)的開發(fā)目標(biāo) 通過建立一個(gè)較為全面系統(tǒng)化的圖書館管理系統(tǒng),為借書人借書提供便利,同時(shí)也為圖書館的正常有序管理提供方便。大學(xué)圖書館管理信息系統(tǒng)為廣大大學(xué)師生提供了便利的圖書借閱服務(wù)。本系統(tǒng)面向全體教職職工與學(xué)生,該系統(tǒng)根據(jù)不同的操作者,提供不同的服務(wù),以實(shí)現(xiàn)圖書管理系統(tǒng)的科學(xué)化、系統(tǒng)化、自動(dòng)化,最大限度地為老師和學(xué)生提供方便和提供管理效率。 2、需求分析 2.1用戶需求 我們總可以看到圖書館里,書籍琳瑯滿目,很多,而且圖書的種類也多種多樣。這就給圖書館的管理帶來(lái)很多麻煩,也是借書人非常頭痛的問題。 從借書人的角度來(lái)說,當(dāng)?shù)綍綍V校乙槐緯拖翊蠛漆樢粯?。這樣不僅費(fèi)時(shí)又費(fèi)神,而且還不一定能找得到,去圖書館不是去看書,而是大部分去找書。所以把書籍分門別類,按一定的分類,按一定順序編排出來(lái),對(duì)借書人來(lái)說是很有用處,很有必要的。 從圖書館的角度來(lái)說,圖書館里的書多人雜。一個(gè)方便全面的系統(tǒng)是必須的,這個(gè)系統(tǒng)可以用來(lái)管理書籍也可以用來(lái)管理借還書業(yè)務(wù),而是圖書館的管理有條有理。 圖書館配置一些檢索器,把書籍的資料都整理在里面,包括書號(hào)、書名、數(shù)量,借還狀況等等,可供借書人檢查,方便借書人知道有什么書以及書的位置,數(shù)量,可否借等等情況。然后在系統(tǒng)里面也會(huì)登記每個(gè)借書人的借書狀況。 系統(tǒng)需具備以下功能:查詢功能、增加功能、刪除功能、修改功能。 圖書館管理信息系統(tǒng)功能模塊 2.2數(shù)據(jù)需求 圖書目錄,包括圖書編號(hào)、圖書名稱、作者名稱、出版社、出版日期、圖書編號(hào)、圖書單價(jià)、圖書類別等。 讀者明細(xì),包括讀者編號(hào)、讀者名稱、性別、單位地址、所在城市、所在地區(qū)、郵政編碼、電話號(hào)碼、傳真號(hào)碼、公司主頁(yè)、備注信息等。 借閱情況,包括圖書編號(hào)、圖書名稱、出版社、讀者名稱、讀者編號(hào)、結(jié)束日期、還書日期等。 借閱狀態(tài),包括圖書編號(hào)、圖書名稱、作者名稱、出版社、出版日期、圖書編號(hào)、單價(jià)、圖書類別、狀態(tài)信息等。 系統(tǒng)中用到的數(shù)據(jù)表: 書籍表: 字段名 數(shù)據(jù)類型 長(zhǎng)度 是否允許空值 書號(hào) Char 10 Not null 書名 Char 20 作/編者 Char 20 存放位置 Char 40 數(shù)量 Int 出版社號(hào) Char 20 Not null 借書人表: 字段名 數(shù)據(jù)類型 長(zhǎng)度 是否允許空值 借書證號(hào) Char 10 Not null 姓名 Char 10 單位 Char 40 性別 Char 2 借書表: 字段名 數(shù)據(jù)類型 長(zhǎng)度 是否允許空值 書號(hào) Char 10 Not null 借書證號(hào) Char 10 Not null 借書日期 varchar 10 還書日期 varchar 10 出版社表: 字段名 數(shù)據(jù)類型 長(zhǎng)度 是否允許空值 出版社號(hào) Char 20 Not null 名稱 Nvarchar 25 地址 Char 30 郵編 Char 10 電話 Char 20 2.3 需求規(guī)定 在圖書管理系統(tǒng)中,管理員要為每個(gè)讀者建立借閱賬戶,并給讀者發(fā)放不同類別的借閱卡(借閱卡可提供卡號(hào)、讀者姓名),賬戶內(nèi)存儲(chǔ)讀者的個(gè)人信息和借閱記錄信息。持有借閱卡的讀者可以通過管理員(作為讀者的代理人與系統(tǒng)交互)借閱、歸還圖書,不同類別的讀者可借閱圖書的范圍、數(shù)量和期限不同,可通過互聯(lián)網(wǎng)或圖書館內(nèi)查詢終端查詢圖書信息和個(gè)人借閱情況,以及續(xù)借圖書(系統(tǒng)審核符合續(xù)借條件)。 借閱圖書時(shí),先輸入讀者的借閱卡號(hào),系統(tǒng)驗(yàn)證借閱卡的有效性和讀者是否可繼續(xù)借閱圖書,無(wú)效則提示其原因,有效則顯示讀者的基本信息(包括照片),供管理員人工核對(duì)。然后輸入要借閱的書號(hào),系統(tǒng)查閱圖書信息數(shù)據(jù)庫(kù),顯示圖書的基本信息,供管理員人工核對(duì)。最后提交借閱請(qǐng)求,若被系統(tǒng)接受則存儲(chǔ)借閱紀(jì)錄,并修改可借閱圖書的數(shù)量。歸還圖書時(shí),輸入讀者借閱卡號(hào)和圖書號(hào)(或丟失標(biāo)記號(hào)),系統(tǒng)驗(yàn)證是否有此借閱紀(jì)錄以及是否超期借閱,無(wú)則提示,有則顯示讀者和圖書的基本信息供管理員人工審核。如果有超期借閱或丟失情況,先轉(zhuǎn)入過期罰款或圖書丟失處理。然后提交還書請(qǐng)求,系統(tǒng)接受后刪除借閱紀(jì)錄,并登記并修改可借閱圖書的數(shù)量。 圖書管理員定期或不定期對(duì)圖書信息進(jìn)行入庫(kù)、修改、刪除等圖書信息管理以及注銷(不外借),包括圖書類別和出版社管理。為系統(tǒng)維護(hù)人員提供權(quán)限管理、數(shù)據(jù)備份等通用功能。 2.4業(yè)務(wù)流程分析 圖書管理系統(tǒng)的的總體功能如下: 圖書的借閱;圖書的返還;學(xué)生檢索書籍信息;圖書的增刪改;學(xué)生的增刪改;圖書采購(gòu)信息的錄入。 學(xué)生借書流程圖: 學(xué)生還書過程數(shù)據(jù)流程圖: 學(xué)生查詢書籍信息圖: 圖書館管理員對(duì)圖書的的增刪改數(shù)據(jù)流圖: 圖書館管理員對(duì)學(xué)生的的增刪改數(shù)據(jù)流圖: 圖書采購(gòu)的數(shù)據(jù)流圖: 2.5系統(tǒng)功能分析 系統(tǒng)的對(duì)象確定之后,應(yīng)該對(duì)系統(tǒng)進(jìn)行定性的分析,分析是為了了解系統(tǒng)應(yīng)達(dá)到的目標(biāo)和系統(tǒng)應(yīng)具備的功能。 2.5.1功能分析 圖書館圖書信息管理系統(tǒng)由兩大子系統(tǒng)組成:圖書管理和維護(hù)子系統(tǒng)以及圖書信息服務(wù)子系統(tǒng)。 圖書管理和維護(hù)子系統(tǒng)的功能包括: (1)圖書信息入庫(kù)(建立信息庫(kù),以便查詢和借閱)。 (2)理圖書庫(kù)(包括刪除圖書圖書信息和統(tǒng)計(jì)圖書信息)。 (3)查看圖書信息。 (4)查詢圖書的借閱情況(包括借出情況查詢、未借出情況查詢和超時(shí)情況查詢,同時(shí)還要知道:如果某本圖書被借出,那么可直接查詢到借閱者的信息,以便催還等)。 (5)圖書館的規(guī)則管理和維護(hù)(包括每人可借閱圖書數(shù)目、每人每本書可持有天數(shù)以及每超時(shí)一天的罰金數(shù)目等)。 (6) 用戶信息的管理和維護(hù)(例如刪除已畢業(yè)學(xué)生信息、增加新生信息等)。 (7) 數(shù)據(jù)庫(kù)路徑的管理和維護(hù),主要是為了提高系統(tǒng)的通用性而設(shè)置的。 圖書信息服務(wù)子系統(tǒng)的功能包括: (1) 書信息的查詢(例如在借書前可先查詢某本圖書是否被借出)。 (2)圖書的借閱(按圖書館的規(guī)則進(jìn)行借閱,例如不超過5本,如果已有超時(shí)借閱的圖書,則在歸還前不允許再借閱等等)。 (3)圖書的歸還。 2.5.2功能分析圖 根據(jù)對(duì)系統(tǒng)功能的分析,建立了系統(tǒng)功能分析圖,系統(tǒng)功能分析如圖所示。該圖反映了系統(tǒng)功能模塊之間的層次關(guān)系。 3、數(shù)據(jù)庫(kù)概念(模型)設(shè)計(jì) 3.1 由基本項(xiàng)構(gòu)思ERD的三個(gè)原則 ①原則1 (確定實(shí)體):能獨(dú)立存在的事物,在其有多個(gè)由基本項(xiàng)描述的特性需要關(guān)注時(shí),就應(yīng)把它作為實(shí)體。 實(shí)體和屬性的定義: 書籍(圖書編號(hào),圖書名稱,作者,出版社,出版日期,備注,價(jià)格,數(shù)量,) 借書人(借書證號(hào),姓名,性別,身份證,聯(lián)系電話,密碼) 身份(身份編號(hào),身份描述,最大借閱數(shù)) 圖書類別(圖書類別編號(hào),類別描述) ②原則2 (確定聯(lián)系):兩個(gè)或多個(gè)實(shí)體間的關(guān)聯(lián)與結(jié)合,當(dāng)需要予以關(guān)注時(shí),應(yīng)作為聯(lián)系。實(shí)體間的聯(lián)系可分為一對(duì)一、一對(duì)多、多對(duì)多等三類,在確定聯(lián)系時(shí)還要確定其類型。。一種完整的方式是對(duì)局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型之間是否存在聯(lián)系。若有聯(lián)系,進(jìn)一步確定是1:N,M:N,還是1:1等。 ③原則3(確定屬性):實(shí)體的屬性是實(shí)體的本質(zhì)特征。實(shí)體應(yīng)有標(biāo)識(shí)屬性(能把不同個(gè)體區(qū)分開來(lái)的屬性組),并指定其中一個(gè)作為主標(biāo)識(shí)。聯(lián)系的屬性是聯(lián)系的結(jié)果或狀態(tài)。信息分析中得到的基本項(xiàng)要在且僅在實(shí)體聯(lián)系圖中的一個(gè)地方作為屬性出現(xiàn)。這條原則是對(duì)ERD的檢驗(yàn)原則,對(duì)確定其構(gòu)思是否正確具有很大的意義。首先要看ERD中有沒有重復(fù)出現(xiàn)的屬性名,如果有,一定是錯(cuò)誤的,要分析原因,消除重復(fù)。然后要看有無(wú)不在信息分析中作為基本項(xiàng)出現(xiàn)的屬性,如果有,不一定是錯(cuò)誤,但如果不符合基本項(xiàng)的要求,就是錯(cuò)誤的,要分析原因,予以改正;如果是基本項(xiàng),則往往是業(yè)務(wù)流程用到的資料不太完備,數(shù)據(jù)庫(kù)設(shè)計(jì)者與用戶協(xié)商后加上去的,要分析增加是否真有必要;如果信息分析中列出的基本項(xiàng)在ERD中沒有作為屬性出現(xiàn),則一定要分析原因:有時(shí)是不小心遺漏了,那就要補(bǔ)充到適當(dāng)?shù)牡胤?;有的是?lián)系的表現(xiàn)形式。 建立如下ER圖: 借書人ER圖: 姓名 性別 單位 借書證號(hào) 借書人 書籍ER圖: 出版社號(hào) 數(shù)量 存放位置 書號(hào) 書名 書籍 出版社ER圖: 名稱 電話 郵編 地址 出版社號(hào) 出版社 聯(lián)系集的ER模型如圖所示: 出版 借書 出版社 書籍 借書人 3.2繪制ER圖 此系統(tǒng)由三個(gè)實(shí)體以及它們之間的聯(lián)系組成。三個(gè)實(shí)體分別是書籍和借書人以及出版社。書籍和借書人之間以借書號(hào)和書號(hào)聯(lián)系。出版社和書籍之間以出版社號(hào)和書號(hào)聯(lián)系。其E-R圖和關(guān)系圖如下: 書籍(書號(hào),書號(hào),數(shù)量,存放位置,作/編者,出版社號(hào),出版日期) PK(主關(guān)鍵字)=書號(hào) FK(主關(guān)鍵字)=出版社號(hào),參照表是出版社表 借書人(借書證號(hào),姓名,單位,性別) PK(主關(guān)鍵字)=借書證號(hào) 出版社(出版社號(hào),名稱,出版日期,作/編者) PK(主關(guān)鍵字)=出版社號(hào) 借書(書號(hào),借書證號(hào),借書日期,還書日期) PK(主關(guān)鍵字)=書號(hào),借書證號(hào) FK(主關(guān)鍵字)=書號(hào),參照表是書籍表 FK(主關(guān)鍵字)=借書證號(hào),參照表是借書人表 根據(jù)檢查,每個(gè)關(guān)系模式都已達(dá)到第三范式,無(wú)需修改。 4、數(shù)據(jù)庫(kù)邏輯(模型)設(shè)計(jì) 4.1 按四原則轉(zhuǎn)化 原則1:ER圖中的每一個(gè)獨(dú)立實(shí)體變換為一個(gè)關(guān)系,其屬性變?yōu)殛P(guān)系的屬性,其主標(biāo)識(shí)變?yōu)殛P(guān)系的主碼。例如,圖中獨(dú)立實(shí)體“借書人”、“書籍”、“出版社”分別變?yōu)榻钑岁P(guān)系、書籍關(guān)系和出版社關(guān)系。 借書人關(guān)系 借書證號(hào) 單位 姓名 主碼 書籍關(guān)系 書號(hào) 種類 數(shù)量 存放位置 主碼 出版社關(guān)系 出版社名 電話 郵編 地址 主碼 原則2:ER圖中的從實(shí)體及相應(yīng)的“的”聯(lián)系變換為一個(gè)關(guān)系,從實(shí)體的屬性加上主實(shí)體關(guān)系的主碼構(gòu)成這個(gè)關(guān)系的屬性。如果“的”聯(lián)系是1:1的,則以主實(shí)體關(guān)系的主碼(作為外來(lái)碼)為這個(gè)關(guān)系的主碼;如果“的”聯(lián)系是1:M的,則以主實(shí)體關(guān)系的主碼加上同一主實(shí)體個(gè)體聯(lián)系的不同從屬實(shí)體個(gè)體賴以相互區(qū)分的屬性組,組成該關(guān)系的主碼。 原則3:1:M聯(lián)系通過在“多”實(shí)體關(guān)系中增加相聯(lián)系的“1”實(shí)體關(guān)系的主碼及聯(lián)系本身的屬性來(lái)表達(dá)。其中“1”實(shí)體主碼為外來(lái)碼。 增購(gòu) 書號(hào) 出版社名 種類 數(shù)量 存放位置 增購(gòu)日期 增購(gòu)數(shù)量 外碼 主碼 原則4:M:M聯(lián)系轉(zhuǎn)換成一個(gè)獨(dú)立的關(guān)系,被聯(lián)系實(shí)體關(guān)系的主碼(作為外來(lái)碼)和聯(lián)系本身的屬性作為該關(guān)系的屬性,被聯(lián)系實(shí)體關(guān)系的主碼組成其復(fù)合主碼。 借閱 書號(hào) 借書證號(hào) 借書日期 還書日期 外碼 外碼 主碼(復(fù)合主碼) 4.2 轉(zhuǎn)化的邏輯模型 借書人關(guān)系 借書證號(hào) 單位 姓名 主碼 書籍關(guān)系 書號(hào) 種類 數(shù)量 存放位置 主碼 出版社關(guān)系 出版社名 電話 郵編 地址 主碼 借閱關(guān)系 借書證號(hào) 書號(hào) 借書日期 還書日期 外碼 外碼 主碼(復(fù)合主碼) 增購(gòu)關(guān)系 書號(hào) 出版社名 種類 數(shù)量 存放位置 增購(gòu)日期 增購(gòu)數(shù)量 外碼 主碼 4.3 邏輯模型的優(yōu)化 增購(gòu)關(guān)系 書號(hào) 出版社名 種類 數(shù)量 存放位置 增購(gòu)日期 增購(gòu)數(shù)量 外碼 主碼 可優(yōu)化為 出版社名 書號(hào) 增購(gòu)日期 增購(gòu)數(shù)量 外碼 外碼 主碼 4.4 具體邏輯模型設(shè)計(jì) 借書人表 字段名 字段類型 字段長(zhǎng)度 小數(shù)點(diǎn)位數(shù) 是否主關(guān)鍵字 借書證號(hào) tinyint 0 是 單位 char 20 0 否 姓名 char 8 0 否 書籍表 字段名 字段類型 字段長(zhǎng)度 小數(shù)點(diǎn)位數(shù) 是否主關(guān)鍵字 書號(hào) tinyint 0 是 種類 tinyint 0 否 數(shù)量 tinyint 0 否 存放位置 tinyint 0 否 出版社表 字段名 字段類型 字段長(zhǎng)度 小數(shù)點(diǎn)位數(shù) 是否主關(guān)鍵字 出版社名 char 30 0 是 電話 char 20 0 否 郵編 tinyint 0 否 地址 char 40 0 否 借閱表 字段名 字段類型 字段長(zhǎng)度 小數(shù)點(diǎn)位數(shù) 是否主關(guān)鍵字 借書證號(hào) tinyint 0 是 書號(hào) tinyint 0 是 借書日期 datetime 0 否 還書日期 datetime 0 否 增購(gòu)表 字段名 字段類型 字段長(zhǎng)度 小數(shù)點(diǎn)位數(shù) 是否主關(guān)鍵字 出版社名 char 40 0 是 書號(hào) tinyint 0 是 增購(gòu)日期 datetime 0 否 增購(gòu)數(shù)量 tinyint 0 否 5、數(shù)據(jù)庫(kù)物理設(shè)計(jì)與數(shù)據(jù)庫(kù)保護(hù)設(shè)計(jì) 5.1設(shè)計(jì)索引 A、書籍表的索引: 索引名 類型 表達(dá)式 書號(hào) 主索引 書號(hào) 書名 普通索引 書名 數(shù)量 普通索引 數(shù)量 存放位置 普通索引 存放位置 作/編者 普通索引 作/編者 出版社號(hào) 外部索引 出版社號(hào) 出版日期 普通索引 出版日期 B、借書人表的索引: 索引名 類型 表達(dá)式 借書證號(hào) 主索引 借書證號(hào) 姓名 普通索引 姓名 單位 普通索引 單位 性別 普通索引 性別 C、借書表的索引: 索引名 類型 表達(dá)式 借書證號(hào) 主索引 借書證號(hào) 書號(hào) 普通索引 書號(hào) 借書日期 普通索引 借書日期 還書日期 普通索引 還書日期 D、出版社表的索引 索引名 類型 表達(dá)式 出版社號(hào) 主索引 出版社號(hào) 名稱 普通索引 名稱 電話 普通索引 電話 郵編 普通索引 郵編 地址 普通索引 地址 5.2設(shè)計(jì)表間關(guān)系 書籍表的主索引:書號(hào); 借書人表的主索引:借書證號(hào). 借書表的主索引:書號(hào)、借書證號(hào) 出版社表的主索引:出版社號(hào) 書籍表和借書人表通過借書表建立關(guān)系,把本來(lái)多對(duì)多的關(guān)系分解為兩個(gè)一對(duì)多。 出版社表與書籍表是多對(duì)一的關(guān)系。 5.3完整性設(shè)計(jì) 更新規(guī)則 刪除規(guī)則 插入規(guī)則 父表 書籍表和借書人表 忽略 忽略 忽略 子表 借書表 更新規(guī)則 刪除規(guī)則 插入規(guī)則 父表 出版社表 忽略 忽略 忽略 子表 書籍表 5.4數(shù)據(jù)庫(kù)保護(hù)設(shè)計(jì) 列出父表與子表的關(guān)聯(lián)索引,指出要建立的表間關(guān)系的類型。 1、出版社,書籍,借書人表是獨(dú)立主體為該系統(tǒng)的父表 2、出版社表和書籍表間是1:N的關(guān)系,增購(gòu)是出版社和書籍的聯(lián)系,關(guān)系索引為出版社名和書號(hào) 3、書籍表和借書人表間是M:N的關(guān)系,借閱是書籍和借書人的聯(lián)系,關(guān)系索引為書號(hào)和借書證號(hào) 列出主要字段完整性的字段名、完整性約束條件;列出記錄完整性約束及其約束條件;列出參照完整性表。 借書人表 (1)實(shí)體完整性約束:借書證號(hào)是主屬性,不可取空值 (2)用戶自定義完整性:姓名字段不允許為空值 書籍表 (1)實(shí)體完整性約束:書號(hào)是主屬性,不可取空值 (2)用戶自定義完整性:數(shù)量不能為空值,以便查詢書籍的總數(shù) 出版社表 (1)實(shí)體完整性約束:圖書證號(hào)是主屬性,不可取空值 (2)用戶自定義完整性:電話不能為空值,方便聯(lián)系 借閱表 (1)實(shí)體完整性約束:(書號(hào),借書證號(hào))是主屬性,不可取空值 (2)參照完整性約束:借閱表和書籍表是參照與被參照關(guān)系,借閱表外部關(guān)鍵字是借書證號(hào),借閱表和借書人表也是參照與被參照關(guān)系,書籍表的外部關(guān)鍵字是借書證號(hào) (3)用戶定義完整性:借書日期字段類型為日期、還書日期字段類型為日期 增購(gòu)表 (1)實(shí)體完整性約束:(出版商名稱,圖書號(hào))是主屬性,不可取空值 (2)參照完整性約束:增購(gòu)表和出版社表是參照與被參照關(guān)系,增購(gòu)表外部關(guān)鍵字是出版社名,增購(gòu)表和書籍表也是參照與被參照關(guān)系,增購(gòu)表的外部關(guān)鍵字是書號(hào) (3)用戶自定義約束:增購(gòu)日期字段類型為日期。 6、數(shù)據(jù)庫(kù)實(shí)現(xiàn) 6.1建立數(shù)據(jù)庫(kù) create database 圖書館 on (name=library, filename=e:\library.mdf, size=10, maxsize=50, filegrowth=5) log on (name=library_log, filename=e:\library.ldf, size=5mb, maxsize=25mb, filegrowth=5mb) 6.2 建立數(shù)據(jù)表 建立借書人表 create schema library create table library.借書人 (借書證號(hào)char(20) primary key, 單位char(20), 姓名char(8) not null, 性別char(10) ) 輸入數(shù)據(jù)如圖所示 建立書籍表 create table library.書籍表 (書號(hào)char(10) primary key, 種類char(20), 數(shù)量tinyint not null, 存放位置char(20) ) 輸入數(shù)據(jù)如圖所示 建立出版社 create table library.出版社 (出版社名char(40) primary key, 電話char(20) not null, 郵編tinyint, 地址char(40) ) 輸入數(shù)據(jù)如圖所示 建立借閱表 create table library.借閱 (借書證號(hào)char(20) foreign key references library.借書人(借書證號(hào)), 書號(hào)char(10) foreign key references library.書籍表(書號(hào)), 借書日期datetime, 還書日期datetime Primary key(書號(hào),借書證號(hào))) 輸入數(shù)據(jù)如圖所示 建立增購(gòu)表 create table library.增購(gòu)表 (出版社名char(40) foreign key references library.出版社(出版社名), 書號(hào)char(10) foreign key references library.書籍表(書號(hào)), 增購(gòu)日期datetime, 增購(gòu)數(shù)量tinyint Primary key(出版社名,書號(hào))) 輸入數(shù)據(jù)如下 表格建立完成后,可得到全部數(shù)據(jù)。 全部表格如下: 數(shù)據(jù)庫(kù)的表間關(guān)系 6.3簡(jiǎn)單查詢 Select * from library.出版社 select * from library.出版社 where 出版社名=’龍洞出版社’ select 出版社名,還書日期from library.借閱join library.增購(gòu)表on 借閱.書號(hào)= 增購(gòu)表.書號(hào)where 借書證號(hào)=3109005101 6.4存儲(chǔ)過程 存儲(chǔ)過程1 Create procedure ddd @cb char(10) As Select * from library.增購(gòu)表where 出版社名=@cb Execute ccc @cb=龍洞出版社 存儲(chǔ)過程2 create procedure library.uspGetCoursel @type char(20) As Select 書號(hào),增購(gòu)日期,增購(gòu)數(shù)量 From library.增購(gòu)表join library.出版社on library.增購(gòu)表.出版社名=library.出版社.出版社名 where 書號(hào)=@type Execute library. uspGetCoursel @type=A101 6.5建立視圖 create view library.科學(xué)As select 書號(hào),數(shù)量,存放位置 from library.書籍表 where 種類= 科學(xué) 如圖所示 create view library.借閱證號(hào)As select 書號(hào),借書日期,還書日期 from library.借閱 where 借書證號(hào)=3109005101 如圖所示: 具體的試圖跟存儲(chǔ)過程如下: 7、總結(jié)與體會(huì) 其實(shí)剛接觸《數(shù)據(jù)庫(kù)應(yīng)用與設(shè)計(jì)》這門課程的時(shí)候給我的感覺是好像沒有什么用的,而且剛開始也不知道聽什么,但是隨著老師的不斷講解和學(xué)習(xí)的深入,我也漸漸撥開數(shù)據(jù)庫(kù)的神秘面紗了。原來(lái)數(shù)據(jù)庫(kù)在我們生活中的用處是這么大的,大到國(guó)家安全數(shù)據(jù)的管理,小到公司一個(gè)小職員的工資,都有用到它的地方,尤其是經(jīng)過這次的課程設(shè)計(jì)后,我也對(duì)一些數(shù)據(jù)庫(kù)的建立及應(yīng)該注意的問題有了一定的了解,相信會(huì)在我以后的生活和工作中帶來(lái)很大的方便。 數(shù)據(jù)庫(kù)是一個(gè)非常嚴(yán)謹(jǐn)?shù)臇|西,容不得出半點(diǎn)差錯(cuò),有時(shí)候甚至?xí)?dǎo)致整個(gè)數(shù)據(jù)系統(tǒng)無(wú)法正常運(yùn)行,它需要我們用心去對(duì)待,用心去理解,還要經(jīng)過一定的練習(xí)才能很好的掌握它,而課程設(shè)計(jì)是數(shù)據(jù)庫(kù)中十分重要的實(shí)踐性教學(xué)環(huán)節(jié)。是對(duì)學(xué)生進(jìn)行專業(yè)基本訓(xùn)練,培養(yǎng)實(shí)踐動(dòng)手能力和向?qū)嵺`學(xué)習(xí),理論聯(lián)系實(shí)際的重要課程。 雖然在整個(gè)課程設(shè)計(jì)過程中對(duì)一些實(shí)踐性的操作還不太熟悉,可以說是斷斷續(xù)續(xù)地完成的,但它依然給我?guī)?lái)了一些很有用的東西,例如你要對(duì)專業(yè)術(shù)語(yǔ)的概念有一定的了解,什么是關(guān)鍵字、外碼、完整性約束……這些都是一定要知道,要不然你根本就不知道從什么地方下手去做;還有對(duì)語(yǔ)句的了解,它是什么意思或者代表了什么字段類型都是要知道的等等。 從某種意義上看來(lái)說,對(duì)于數(shù)據(jù)庫(kù)的學(xué)習(xí)不僅僅改變了我對(duì)與數(shù)據(jù)庫(kù)的看法,同時(shí)也改變了我對(duì)于課程設(shè)計(jì)的看法。按照自己的主觀意識(shí)去想是不科學(xué)的,應(yīng)該經(jīng)過規(guī)劃和研究分析才能上手。同時(shí),老師布置的題目其實(shí)是對(duì)于我們的所學(xué)習(xí)知識(shí)的一種檢驗(yàn)與擴(kuò)充。因?yàn)樽鳂I(yè)會(huì)結(jié)合很多的其他知識(shí),同時(shí)做項(xiàng)目的過程是一個(gè)對(duì)于知識(shí)的重新審視與鞏固的過程。 在這次課程設(shè)計(jì)中,感觸頗深,收獲也挺大,緣由如下: 1.由于電腦系統(tǒng)的兼容性問題,我的筆記本裝不了SQL2005,只有在早上跟下午實(shí)驗(yàn)室開放的時(shí)間段去進(jìn)行操作,這樣的生活堅(jiān)持了好幾天——看著那慢吞吞的行為和老是做不對(duì)的那種焦急感,心理很是郁悶,不過也極大的鍛煉了自己的耐心,印象特別深刻的是在寫代碼的時(shí)候,出現(xiàn)了一次又一次的報(bào)錯(cuò),有時(shí)甚至檢查了十幾遍,但就不是代碼的問題,最后結(jié)果發(fā)現(xiàn)只是一個(gè)小小的空格或是缺少一個(gè)逗號(hào)而導(dǎo)致的。但看到自己最后的成果,心里還是美滋滋的,畢竟這是自己的汗水。 2.感覺自己雖然學(xué)習(xí)了數(shù)據(jù)庫(kù)和信息關(guān)系信息系統(tǒng)的有關(guān)知識(shí),但是都只是在比較表面的,還有很多知識(shí)在運(yùn)用上還不是很熟悉。在這次課程設(shè)計(jì)中,很感謝同學(xué)不厭其煩的給我解釋和指導(dǎo),當(dāng)然,這也增進(jìn)我們的溝通與交流,也增進(jìn)了感情,還有就是我們要做到不懂就問,共同解決難題。 3. 這次課程設(shè)計(jì),感覺數(shù)據(jù)庫(kù)的確很有用,也是必須學(xué)會(huì)的。做完圖書借閱管理系統(tǒng),真正感到學(xué)以致用的妙處。學(xué)了SQL,我懂得了怎樣去建立簡(jiǎn)單的數(shù)據(jù)庫(kù),當(dāng)然還有之前的很多準(zhǔn)備工作,想做好一個(gè)有實(shí)際用途的數(shù)據(jù)庫(kù)就這些知識(shí)還不夠的,所以還得抓住機(jī)會(huì)學(xué)習(xí)更多的知識(shí),學(xué)無(wú)止境。 最后,老師在這一學(xué)期的教學(xué)是大家喜歡的,老師的教學(xué)大家都感覺很不錯(cuò),大家也學(xué)到很多知識(shí)。這學(xué)期的數(shù)據(jù)庫(kù)課程讓我覺得有所收獲、有所得,加強(qiáng)了對(duì)于課程本身的理解,同時(shí)也擴(kuò)展了我的知識(shí)面。非常感謝老師的指導(dǎo),祝老師在新的一年里工作順利,心想事成。- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 數(shù)據(jù)庫(kù) SQL 圖書館 借閱 管理 設(shè)計(jì)
鏈接地址:http://m.italysoccerbets.com/p-6695466.html