網(wǎng)絡數(shù)據(jù)庫思考題答案 (1)_第1頁
網(wǎng)絡數(shù)據(jù)庫思考題答案 (1)_第2頁
網(wǎng)絡數(shù)據(jù)庫思考題答案 (1)_第3頁
網(wǎng)絡數(shù)據(jù)庫思考題答案 (1)_第4頁
網(wǎng)絡數(shù)據(jù)庫思考題答案 (1)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、網(wǎng)絡數(shù)據(jù)庫思考題答案1、舉例解釋數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫系統(tǒng)例如本書中提及的student就是在SQL Server系統(tǒng)上建立的一個數(shù)據(jù)庫。數(shù)據(jù)庫是長期存儲在計算機內(nèi)的、有組織的、可共享的數(shù)據(jù)集合。例如SQL Server 2005就是一個數(shù)據(jù)庫管理系統(tǒng)。是位于用戶與操作系統(tǒng)之間的數(shù)據(jù)管理軟件。例如裝有SQL Server 2005數(shù)據(jù)庫管理系統(tǒng)的XP計算機系統(tǒng)就是數(shù)據(jù)庫系統(tǒng),即由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、數(shù)據(jù)庫應用程序、數(shù)據(jù)庫管理員和用戶構(gòu)成。2、舉例解釋實體、實體型、屬性、例如一個人、一個郵件均可稱為實體,即指客觀存在又相互區(qū)別的事物。例如學生(學號、性別。)就可稱為實體型,用來抽象和

2、刻畫同類實體的實體名及其屬性名的集合稱為實體型。例如“學號”就是學生這個實體的一個屬性,即實體所具有的某一個特征稱為該實體的屬性。3、 舉例信息世界中的兩種聯(lián)系、舉例說明實體之間的三類聯(lián)系兩種聯(lián)系:一個實體的屬性之間的聯(lián)系及兩種實體間的聯(lián)系。例如學生的學號、姓名等屬性間的聯(lián)系,另外,實體學生與實體班級之間的n:1的聯(lián)系實體之間的聯(lián)系有1:1,1:n和m:n三種聯(lián)系。例如:班級與班主任之間的聯(lián)系就是1:1;班級與學生之間的聯(lián)系就是1:n;學生與課程之間的聯(lián)系就是m:n。4、舉例解釋域、碼、例如:成績的取值范圍為0分到100分,這就是屬性成績的域。而學號就是實體型學生的碼,學號決定了一個學生的所有

3、屬性5、舉例說明如何定義數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)中的模式、外模式、內(nèi)模式。例如學生成績表就是學生數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)中的外模式,這是因為這個表是有模式中的學生表、選課表及成績表的映像而形成的提供給用戶的。學號姓名高等數(shù)學數(shù)據(jù)庫網(wǎng)頁設(shè)計例如學生表就是學生數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)中的模式學號姓名出生日期入學時間。例如學生表的存儲結(jié)構(gòu)就是學生數(shù)據(jù)庫系統(tǒng)體系結(jié)構(gòu)中的內(nèi)模式字段名數(shù)據(jù)類型長度是否為空約束類型學號char10not null主鍵6、舉例說明關(guān)系模型的三大組成部分、關(guān)系模型中的三大組成部分:數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作、關(guān)系的完整性例如學生表的數(shù)據(jù)結(jié)構(gòu)(包含了實體學生的數(shù)學,也包含了學生與系部兩個實體的聯(lián)系)學號姓

4、名性別系部代碼出生日期0100000001張三男0011990-01-05關(guān)系操作有查詢和更新兩大操作。例如用select語句對學生表的查詢。關(guān)系的完整性主要是對關(guān)系模型的規(guī)范化(1nf、2nf等規(guī)范化)及使用約束來實現(xiàn)關(guān)系的完整性,例如,建立主鍵和外鍵。 7、舉例說明關(guān)系模式規(guī)范化的1nf、2nf的要求內(nèi)容例如:如果在學生表中含有班主任,這就不符合1nf的要求,因為班主任是一個可分解的屬性,把班主任作為一個實體來處理,而在學生表中引入班主任編碼,這個過程就叫作1nf規(guī)范化。在學生表中將學號作為鍵值(主關(guān)鍵字)來處理稱之為2nf 8、舉例說明外鍵在實現(xiàn)數(shù)據(jù)完整性方面的作用。 提示:學生表與班級

5、表存在一個外鍵。這個外鍵的作用是什么? 學生表中有一個字段:班級代碼,把它設(shè)置為外鍵(班級表中的主鍵),這樣,就能保證學生的班級是準確的,這就是外鍵在實現(xiàn)數(shù)據(jù)完整性方面的作用。9、如何在XP系統(tǒng)中添加Internet信息服務管理器(IIS組件),詳細敘說其操作步驟。、點擊“開始”“設(shè)置”“控制面板”“添加或刪除程序”;、在 “添加或刪除程序”對話框中選擇“添加/刪除Windows組件(A)”;、在“添加/刪除Windows組件(A)” 對話框中,將“Internet信息服務(IIS)”選項選中點擊“下一步”;、根據(jù)提示,將XP系統(tǒng)安裝盤放入光驅(qū)中,、組件安裝完畢,點擊“確定”,即完成添加Int

6、ernet信息服務管理器(IIS組件)操作。10、詳細敘說搭建用于JAVA開發(fā)的Eclipse開發(fā)平臺的操作步驟。提示:、jdk、Eclipse安裝。、系統(tǒng)環(huán)境變量。、下載jdk、Eclipse。、安裝jdk(按照安裝過程中的提示進行操作即可)、將jdk的安裝路徑及類庫加入系統(tǒng)環(huán)境變量“JAVA_HOME”、“path”、“classpath”中。例如:第一步:右鍵“我的電腦”“屬性”;在屬性頁上選擇“高級”項目點擊“環(huán)境變量”;第二步:在“環(huán)境變量”對話框上,點擊“系統(tǒng)變量”的“新建”;在“變量名”的輸入框中輸入“JAVA_HOME”,在“變量值”輸入框中輸入“C:Program Files

7、Javajdk1.6.0_10”(這是jdk的安裝目錄)點擊“確定”;第三步:照此方法(將“新建”改為“編輯”因為“系統(tǒng)變量”中“path”已存在)在“path”變量值中加入“.;%JAVA_HOME%bin;%JAVA_HOME%lib;%JAVA_HOME%jre;%JAVA_HOME%jrebin;%JAVA_HOME%jrelib;”(注意:開頭的“;”后面的路徑名與路徑名之間用分號“;”分隔)第四步:照此方法,“新建”系統(tǒng)變量“classpath”,變量值為“.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar;”11、詳細敘說在Eclipse

8、上使用jdbc-odbc開發(fā)SQL Server數(shù)據(jù)庫應用軟件的操作步驟。前提:、操作系統(tǒng)是XP。、下載并安裝jdk、eclipse和SQLjdbc驅(qū)動已完成。、安裝了SQL Server數(shù)據(jù)庫管理系統(tǒng),并建立了用戶數(shù)據(jù)庫,例如student。、已成功實現(xiàn)數(shù)據(jù)庫的混合校驗模式。、在eclipse平臺上成功配置了JAVA虛擬機JRE,并在JAVA虛擬機JRE中添加了SQLjdbc驅(qū)動程序類庫sqljdbc.jar在Eclipse上使用jdbc-odbc開發(fā)SQL Server數(shù)據(jù)庫應用軟件的操作步驟如下:、A)、設(shè)置jdbc-odbc數(shù)據(jù)源:點擊“開始”“控制面板”“管理工具”“數(shù)據(jù)源(odbc

9、)”;B)、在“odbc數(shù)據(jù)源管理器”對話框中,選擇“系統(tǒng)DNS”頁點擊“添加”在“創(chuàng)建新數(shù)據(jù)源”對話框中,選擇“SQL Server”數(shù)據(jù)源驅(qū)動程序點擊“完成”;C)、在“創(chuàng)建到SQL Server的新數(shù)據(jù)源”對話框中,在“名稱”輸入框上輸入數(shù)據(jù)源的名稱(這個名稱就是在用JAVA開發(fā)數(shù)據(jù)庫應用程序中要用的數(shù)據(jù)源名稱),在“描述”輸入框中輸入對數(shù)據(jù)源的描述,在“服務器”下拉框中選擇服務器的名稱,如在XP機上選擇“l(fā)ocal”即可點擊“下一步”;D)、在“Microsoft ODBC SQL Server DNS”對話框中,選中使用用戶輸入登錄ID和密碼,選擇連接SQL Server以獲得,并輸

10、入登錄ID(L)和密碼(如“111111”)點擊“下一步”;E)、在“Microsoft ODBC SQL Server DNS配置”對話框中,選中“更改默認的數(shù)據(jù)庫為(D)”,并在下拉框中選中用戶數(shù)據(jù)庫,如student點擊“下一步”;F)、在第二個“Microsoft ODBC SQL Server DNS配置”對話框中點擊“完成”。G)、在“ODBC Microsoft SQL Server安裝”對話框中,點擊“測試數(shù)據(jù)源”,出現(xiàn)“測試成功”對話框點擊“確定”點擊“確定”。、運行Eclipse選擇用戶工作區(qū)新建“JAVA項目”新建“包“新建”類“輸入JAVA程序運行12、有關(guān)數(shù)據(jù)庫應用系

11、統(tǒng)的設(shè)計:1)、局部的E-R概念模型圖(省略)和系統(tǒng)E-R概念模型圖(如圖1)圖1 系統(tǒng)E-R概念模型圖N簽收應繳費床位住宿1房間屬于屬于1N11房間號樓層床位號號類別電話實際繳費學生宿舍樓管理11N學號姓名樓號類別性別郵件管理員代收N1性別姓名管理員編號收件人郵件編號發(fā)貨地點簽收人簽收時間代收人代收時間值班時間下班時間值班人入住時間退房時間繳費時間2)、關(guān)系模型數(shù)據(jù)結(jié)構(gòu)如下: 、郵件表郵件編號收件人姓名發(fā)貨地點代收人(管理員編號)代收時間簽收人(學號)簽收時間此表的實體的完整性由“郵件編號”屬性來控制;參照完整性(即外鍵約束)有兩個:代收人(管理員編號)和簽收人(學號);表的域完整性,即檢查

12、約束:“代收時間”不得大于“簽收時間”。、學生宿舍樓表樓編號類別樓層數(shù)房間數(shù)床位數(shù)值班電話此表的實體的完整性由“樓編號”屬性來控制;表的域完整性,即檢查約束:“類別”取值只要兩種,即:男生宿舍或女生宿舍?!皹菍訑?shù)”<=5, “床位數(shù)”<=4“房間數(shù)”<=100、管理員表管理員工號姓名性別手機號出生日期此表的實體的完整性由“管理員工號”屬性來控制;表的域完整性,即檢查約束:“性別”取值只要兩種,即:男或女、管理員工作信息表管理員工號樓編號上崗時間下班時間備注此表的實體的完整性由“管理員工號”屬性來控制;參照完整性(即外鍵約束)是:“樓編號”;表的域完整性,即檢查約束:“下班時間

13、”不得大于“上崗時間”。、房間信息房間編號房間號樓編號樓層號電話床位數(shù)入住人數(shù)此表的實體的完整性由“房間編號”屬性來控制;參照完整性(即外鍵約束)是:“樓編號”;表的域完整性,即檢查約束:“性別”取值只要兩種,即:男或女?!半娫挕钡膮^(qū)位號加電話號碼的數(shù)字位數(shù)不得大于11位。、床位信息表;床位編號床位號房間編號入住狀態(tài)此表的實體的完整性由“床位編號”屬性來控制;參照完整性(即外鍵約束)是:“房間編號”;表的域完整性,即檢查約束:“入住狀態(tài)”,或0(代表床位是空的),或1(代表床位已住學生)、學生住宿信息表床位編號學號姓名性別手機號入住時間退房時間應繳費實際繳費備注此表的實體的完整性由“學號”屬性

14、來控制;參照完整性(即外鍵約束)是:“床位編號”;表的域完整性,即檢查約束:“入住時間”不得大于“退房時間”、學生表學號姓名性別手機號此表的實體的完整性由“學號”屬性來控制。備注:、兩張表可以和為一張表,但分開有一個好處是刪除操作簡單,只要做整條記錄刪除,因為、的信息基本是不變的。3)、各個關(guān)系模型數(shù)據(jù)結(jié)構(gòu)對應的存儲結(jié)構(gòu)(即內(nèi)模式)、郵件表字段名數(shù)據(jù)類型長度是否為空約束郵件編號char20否主鍵收件人姓名char12發(fā)貨地點char50代收人(管理員工號)char3外鍵代收時間datetime簽收人(學號)char10外鍵簽收時間datetime、學生宿舍樓表字段名數(shù)據(jù)類型長度是否為空約束樓編

15、號char2否主鍵類別char2check樓層數(shù)char1check房間數(shù)char3check床位數(shù)char3check值班電話char12、管理員表字段名數(shù)據(jù)類型長度是否為空約束管理員工號char2否主鍵姓名char12性別char2check手機號char20出生日期datetime、管理員工作信息表字段名數(shù)據(jù)類型長度是否為空約束管理員工號char2外鍵樓編號char2外鍵上崗時間datetimecheck下班時間datetime check備注char200、房間信息表字段名數(shù)據(jù)類型長度是否為空約束房間編號int否主鍵(identity列)房間號char6樓編號char2外鍵樓層號cha

16、r1check電話char12床位數(shù)char1check入住人數(shù)char1check、床位信息表;字段名數(shù)據(jù)類型長度是否為空約束床位編號int否主鍵(identity列)床位號char1樓編號char2外鍵樓層號char1check、學生住宿信息表字段名數(shù)據(jù)類型長度是否為空約束床位編號int否外鍵學號char8外鍵姓名char12性別char2check手機號char20入住時間datetime退房時間datetime應繳費money實際繳費money備注char200、學生表字段名數(shù)據(jù)類型長度是否為空約束學號char8否主鍵姓名char12性別char2check手機號char204)、建立

17、學生宿舍管理系統(tǒng)數(shù)據(jù)庫(ssgl)CREATE DATABASE ssglON PRIMARY(NAME=ssgl_dat,FILENAME=D:SQLDATAssgl.mdf,SIZE=10,MAXSIZE=50,FILEGROWTH=10%)LOG ON(NAME=ssgl_log,FILENAME=D:SQLDATAssgl.ldf,SIZE=5MB,MAXSIZE=25M)GO、建表、建“郵件表”USE ssglGOCREATE TABLE dbo.郵件表 (郵件編號 char(20) CONSTRAINT pk_yjbh PRIMARY KEY, 收件人姓名 chsr(12), 發(fā)貨

18、地點char(50), 代收人char(3) CONSTRAINT fk_管理員表 REFERENCES 管理員表(管理員工號), 代收時間datetime,簽收人 char(10) CONSTRAINT fk_學生表 REFERENCES 學生表(學號),簽收時間datetime)GO、建“學生宿舍樓表”USE ssglGOCREATE TABLE dbo.學生宿舍樓表 CREATE TABLE dbo.學生宿舍樓表 (樓編號 char(2) CONSTRAINT pk_lbh PRIMARY KEY, 類別char(2) CONSTRAINT ck_lb CHECK (類別='男&

19、#39; OR 類別='女'), 樓層數(shù) char(1) CONSTRAINT ck_lcs CHECK(樓層數(shù)>=1 AND 樓層數(shù)<=5),房間數(shù) char(3) CONSTRAINT ck_fjs CHECK(房間數(shù)>=1 AND 房間數(shù)<=100),床位數(shù) char(3) CONSTRAINT ck_cws CHECK(床位數(shù)>=1 AND 床位數(shù)<=4),值班電話 char(12)、管理員表 USE ssglGOCREATE TABLE dbo.管理員表(管理員工號char(2) CONSTRAINT pk_glygh PRIMAR

20、Y KEY,姓名char(12),性別char(2) CONSTRAINT ck_lb CHECK (性別='男' OR 性別='女'),手機號char(20),出生日期datetime)、管理員工作信息表USE ssglGO CREATE TABLE dbo.管理員工作信息表 (管理員工號char(2) CONSTRAINT fk_管理員表REFERENCES管理員表(管理員工號),樓編號char(2) CONSTRAINT fk_學生宿舍樓表REFERENCES學生宿舍樓表(樓編號),上崗時間 datetime,下班時間 datetime,備注char(20

21、0) GO、房間信息表USE ssglGO CREATE TABLE dbo.房間信息表(房間編號 INT IDENTITY(1,1) PRIMARY KEY NOT NULL,房間號char(6),樓編號char(2)CONSTRAINT fk_xssslb REFERENCES 學生宿舍樓表(樓編號),樓層號char(1)CONSTRAINT ck_lch CHECK(樓層號>=1 AND 樓層號<=5),電話char(12),床位數(shù)char(1)CONSTRAINT ck_fjcws CHECK(床位數(shù)>=1 AND 床位數(shù)<=4),入住人數(shù)char(1)CONS

22、TRAINT ck_lzrs CHECK(入住人數(shù)>=0 AND 入住人數(shù)<=4),)、床位信息表USE ssglGOCREATE TABLE dbo.床位信息表(床位編號 INT IDENTITY(1,1) PRIMARY KEY NOT NULL,床位號char(1)CONSTRAINT ck_cwxxb_cws CHECK(床位號>=1 AND 床位號<=4),樓編號char(2)CONSTRAINT fk_cwxxb_lbh REFERENCES 學生宿舍樓表(樓編號),樓層號char(1)CONSTRAINT ck_cwxxb_lch CHECK(樓層號>

23、;=1 AND 樓層號<=5)、學生住宿信息表USE ssglGOCREATE TABLE dbo.學生住宿信息表(床位編號int CONSTRAINT fk_xszsxxb_cwbh REFERENCES 床位信息表(床位編號),學號char(8)CONSTRAINT fk_xszsxxb_xh REFERENCES 學生表(學號),姓名char(12),性別char(2)CONSTRAINT ck_xszsxxb_xb CHECK(性別='男' or 性別='女'),手機號char(20),入住時間datetime,退房時間datetime,應繳費mo

24、ney,實際繳費money,備注char(200)、學生表USE ssglGOCREATE TABLE dbo.學生表(學號char(8) CONSTRAINT pk_xsb_xh PRIMARY KEY,姓名char(12),性別char(2) CONSTRAINT ck_xsb_xb CHECK(性別='男' or 性別='女'),手機號char(20)GO4)、自選一個數(shù)據(jù)表的記錄增加、刪除;)、學生表記錄的增加USE ssglGOINSERT into dbo.學生表 (學號,姓名,性別,手機號)VALUES ('ZW141OO1',&#

25、39;張三','男','#39;)GO)、學生表記錄的刪除USE ssglGODELETE 學生表 FROM 學生表 WHERE 姓名='張三'、自選一個表的某一個字段的數(shù)據(jù)修改。USE STUDENT_1GO/* 修改姓名=李四的手機號*/UPDATE 學生表 SET 學生表.手機號='#39; FROM 學生表WHERE 學生表.姓名='李四'GO13、自選本卷中的數(shù)據(jù)庫的一張數(shù)據(jù)表,使用jdbc-odbc數(shù)據(jù)源完成數(shù)據(jù)查詢JAVA程序并對程序語句的作用作注釋packag

26、e p288_j1; /聲明一個包p288_j1import java.sql.*; /引入java.sql的所以類public class SQL_j1 /聲明一個公共類SQL_j1public static void main(String args) /聲明一個靜態(tài)公共無輸出類型的主函數(shù)main(),人口參賽為String args字符數(shù)組。 Connection conn=null; /定義數(shù)據(jù)庫連接對象conn,并初始化為空 Statement sql=null; /定義包含、執(zhí)行SQL語句的對象SQL,并初始化為空 ResultSet xb=null; /定義存放SQL查詢語句的結(jié)果集對象xb,并初始化為空 try /trycatch是用以處理java語句執(zhí)行中產(chǎn)生的錯誤,當執(zhí)行try中的語句產(chǎn)生錯誤后,java就將錯誤交與catch中的程序段來處理。 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); /用Class.forName方法來裝載jdbcodbc數(shù)據(jù)庫

溫馨提示

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

評論

0/150

提交評論