国产最新a级毛片无码专区_综合亚洲欧美日韩久久精品_日本成年片在线观看66_一本到九九av电影_一级毛片免费网站播放_国内精品久久人无码大片_国产人成视频99在线观看_欧美不卡在线一本二本_国产亚洲电影av_可以免费看黄色软件

知ing

Java程序設(shè)計(jì)實(shí)用教程(第三版)

葉核亞 編 / 電子工業(yè)出版社

? ? ? 上傳

查看本書

第11章數(shù)據(jù)庫應(yīng)用

11.1什么是數(shù)據(jù)庫?什么是數(shù)據(jù)庫管理系統(tǒng)?什么是數(shù)據(jù)庫系統(tǒng)?

【答】數(shù)據(jù)庫是長期存儲(chǔ)在計(jì)算機(jī)外存上的有結(jié)構(gòu)的、可共享的數(shù)據(jù)集合。數(shù)據(jù)庫管理系統(tǒng)是指數(shù)據(jù)庫系統(tǒng)中對(duì)數(shù)據(jù)進(jìn)行管理的軟件系統(tǒng),它是位于用戶與操作系統(tǒng)之間的一層數(shù)據(jù)管理軟件。數(shù)據(jù)庫系統(tǒng)是采用數(shù)據(jù)庫技術(shù)的計(jì)算機(jī)系統(tǒng),包括數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用程序、數(shù)據(jù)庫管理員和用戶。


11.2什么是關(guān)系數(shù)據(jù)庫系統(tǒng)?關(guān)系模型有哪些特點(diǎn)?用什么形式表達(dá)一個(gè)關(guān)系?

【答】關(guān)系數(shù)據(jù)庫系統(tǒng)是支持關(guān)系模型的數(shù)據(jù)庫系統(tǒng)。關(guān)系模型用二維表格表示實(shí)體,用關(guān)鍵碼進(jìn)行數(shù)據(jù)導(dǎo)航。通常用二維表表示表示一個(gè)關(guān)系。


11.3在關(guān)系模型中,表由哪些成分組成?每個(gè)成分的作用是什么?

【答】表由若干列組成,每一列表示實(shí)體的一個(gè)屬性。


11.4什么是主鍵?主鍵表達(dá)關(guān)系的什么性質(zhì)?為什么每張表都必須設(shè)計(jì)主鍵?使用主鍵時(shí)必須遵循什么完整性規(guī)則?怎樣為一個(gè)表聲明主鍵?

【答】主鍵是能夠唯一標(biāo)識(shí)實(shí)體的屬性集。主鍵表達(dá)關(guān)系中實(shí)體的唯一性。每張表的主鍵用于區(qū)別表中的實(shí)體。使用主鍵時(shí)要遵循實(shí)體完整性規(guī)則。聲明主鍵的語句如下:

snochar(9)primarykey該句表明列sno為表的主鍵。


11.5什么是外鍵?外鍵表達(dá)關(guān)系的什么性質(zhì)?在什么情況下需要設(shè)計(jì)外鍵?使用外鍵時(shí)需要遵循什么完整性規(guī)則?

【答】如果模式R中屬性K是其他模式的主鍵,那么K在模式R中稱為外關(guān)鍵字,簡稱外鍵。當(dāng)兩個(gè)表之間有聯(lián)系時(shí),應(yīng)該設(shè)置外鍵。使用外鍵時(shí)應(yīng)遵循參照完整性規(guī)則。


11.6客戶----服務(wù)器結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫系統(tǒng)有什么特點(diǎn)?由哪幾部分組成?各部分的功能是怎樣的?劃分各部分的基本原則是什么?

【答】客戶—服務(wù)器結(jié)構(gòu)的關(guān)系數(shù)據(jù)庫系統(tǒng)的特點(diǎn)是數(shù)據(jù)集中,功能分布;由服務(wù)器和客戶端組成;服務(wù)器完成DBMS的核心功能,客戶端完成數(shù)據(jù)處理、數(shù)據(jù)表示、用戶接口等功能;劃分各部分的基本原則是將計(jì)算機(jī)應(yīng)用任務(wù)分解成多個(gè)子任務(wù),由多臺(tái)計(jì)算機(jī)分工完成,即“功能分布”原則。


11.7數(shù)據(jù)庫應(yīng)用程序?yàn)槭裁匆B接數(shù)據(jù)庫?

【答】數(shù)據(jù)庫具有數(shù)據(jù)獨(dú)立性的特點(diǎn)。數(shù)據(jù)獨(dú)立性是指應(yīng)用程序與數(shù)據(jù)庫的數(shù)據(jù)結(jié)構(gòu)之間相互獨(dú)立。這樣,應(yīng)用程序能夠訪問不同的數(shù)據(jù)庫,數(shù)據(jù)庫也能夠支持由不同開發(fā)工具所設(shè)計(jì)出來的應(yīng)用程序。但應(yīng)用程序不能直接存取數(shù)據(jù)庫,所以應(yīng)用程序要指定需要訪問的數(shù)據(jù)庫,就必須在訪問前先建立與數(shù)據(jù)庫的連接。


11.8關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言是什么?它有什么特點(diǎn)和功能?由哪幾部分組成?【答】關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言是結(jié)構(gòu)化查詢語言SQL;

關(guān)系數(shù)據(jù)庫的主要特點(diǎn):

⑴關(guān)系中的每個(gè)屬性必須是不可分割的數(shù)據(jù)單元(即表中不能再包含表)。

⑵關(guān)系中的每一列元素必須是類型相同的數(shù)據(jù)。

⑶同一個(gè)關(guān)系中不能有相同的字段(屬性),也不能有相同的記錄。

⑷關(guān)系的行、列次序可以任意交換,不影響其信息內(nèi)容。功能:處理數(shù)據(jù)庫中的數(shù)據(jù);關(guān)系數(shù)據(jù)庫由若干張表組成,表中記錄一系列數(shù)據(jù),除了數(shù)據(jù)之外,關(guān)系數(shù)據(jù)庫還可能包含安全信息和數(shù)據(jù)管理子程序。


11.9SQL語言有哪些基本功能?對(duì)應(yīng)的語句有哪些?

【答】基本功能:數(shù)據(jù)定義、查詢、操縱和控制;

對(duì)應(yīng)的語句有:

創(chuàng)建基本表:createtable表名

修改基本表:altertable表名

刪除基本表:droptable表名?

插入數(shù)據(jù):insertinto表名 [(列1{,列2})] values(值1{,值2})

修改數(shù)據(jù):update表名 set列=表達(dá)式{,列=表達(dá)式}[where條件表達(dá)式]

刪除數(shù)據(jù):deletefrom表名 [where條件表達(dá)式]

查詢數(shù)據(jù):select[all|distinct] 列表達(dá)式{,列表達(dá)式} from表名 [where條件表達(dá)式] [groupby列[having條件表達(dá)式]][orderby列[asc|desc]]


11.10什么是ODBC?它有什么特點(diǎn)和功能?在什么情況下需要使用并能夠使用ODBC?

【答】ODBC是Microsoft公司于1992年提出的基于SQL的數(shù)據(jù)庫連接標(biāo)準(zhǔn)。

特點(diǎn):是一個(gè)分層體系結(jié)構(gòu),具有良好的互用性和可移植性;

功能:具備同時(shí)訪問多種數(shù)據(jù)庫的能力,從而克服了傳統(tǒng)數(shù)據(jù)庫應(yīng)用程序的缺陷。對(duì)用戶來說,ODBC驅(qū)動(dòng)程序屏蔽掉了不同數(shù)據(jù)庫的差異;

如果要訪問支持ODBC的數(shù)據(jù)庫,而該數(shù)據(jù)庫又在不支持OLE的服務(wù)器上,那么ODBC是最好的選擇,要處理SQL時(shí)也需要ODBC,ODBC是Windows系統(tǒng)默認(rèn)安裝的一種工具,當(dāng)安裝成功Windows時(shí),即安裝了ODBC,在“控制面板”的“管理工具”中即可看到“數(shù)據(jù)源(ODBC)”,此時(shí)才能使用,在ODBC下,必須人工執(zhí)行全部所需的設(shè)置,另外ODBC也適用于SunSolaris操作系統(tǒng)。


11.11什么是JDBC?JDBC和ODBC有什么聯(lián)系和區(qū)別?

【答】JDBC是基于java的,用于訪問關(guān)系數(shù)據(jù)庫的應(yīng)用程序編程接口(API),提供在java應(yīng)用程序中執(zhí)行sql語句以訪問和操作關(guān)系數(shù)據(jù)庫的方法。

JDBC和ODBC一樣都具有開放性,都具有管理各種數(shù)據(jù)庫驅(qū)動(dòng)程序的功能。ODBC是一個(gè)分層體系結(jié)構(gòu),由四部分組成:ODBC數(shù)據(jù)應(yīng)用程序,驅(qū)動(dòng)程序管理器,DBMS驅(qū)動(dòng)程序,數(shù)據(jù)源。ODBC具有良好的互用性和可移植性,并且同時(shí)具備訪問多種數(shù)據(jù)庫的能力,從而克服了傳統(tǒng)數(shù)據(jù)庫應(yīng)用程序的缺陷。


11.12JDBC提供哪些類型的驅(qū)動(dòng)程序?它們各有什么特點(diǎn)?舉例說明哪些數(shù)據(jù)庫需要采用哪種JDBC驅(qū)動(dòng)程序?

【答】JDBC提供4種類型的驅(qū)動(dòng)程序:

1,JDBC-ODBC橋驅(qū)動(dòng)程序特點(diǎn):具有大量的ODBC驅(qū)動(dòng)程序可用,缺點(diǎn)是不易于移植,且運(yùn)行速度較慢。

2,本地庫java實(shí)現(xiàn)驅(qū)動(dòng)程序特點(diǎn):能夠充分利用已有的專用驅(qū)動(dòng)程序,缺點(diǎn)是不具有跨平臺(tái)特性。

3,網(wǎng)絡(luò)協(xié)議驅(qū)動(dòng)程序特點(diǎn):適用于網(wǎng)絡(luò)的分布式應(yīng)用,方式靈活缺點(diǎn)是設(shè)計(jì)網(wǎng)絡(luò)安全問題。

4,數(shù)據(jù)庫協(xié)議驅(qū)動(dòng)程序特點(diǎn):應(yīng)用程序直接于數(shù)據(jù)庫服務(wù)器端通信,此類驅(qū)動(dòng)程序全部使用java編寫。


11.13在JDBC應(yīng)用程序中執(zhí)行一條SQL語句需要?jiǎng)?chuàng)建哪幾個(gè)java對(duì)象?它們分別實(shí)現(xiàn)什么功能?

【答】在JDBC應(yīng)用程序中執(zhí)行一條SQL語句需創(chuàng)建4個(gè)java對(duì)象,分別為:

1,class.forName(““);//加載驅(qū)動(dòng)

2,connectioncon=DriverManager.getConnection(““);//連接數(shù)據(jù)庫

3,Statementstmt=con.createStatement();//創(chuàng)建statement對(duì)象

4,Resultrs=stmt.exectuQuery(sql);//執(zhí)行sql語句


11.14在JDBC應(yīng)用程序中執(zhí)行數(shù)據(jù)更新或數(shù)據(jù)查詢的SQL語句,將返回什么樣的結(jié)果?

【答】執(zhí)行數(shù)據(jù)庫更新時(shí)返回影響的記錄數(shù),執(zhí)行數(shù)據(jù)查詢語句是返回查詢的結(jié)果集


11.15為什么聲明java.sql中接口變量就能使用相應(yīng)實(shí)例?這些接口由誰實(shí)現(xiàn)?

【答】因?yàn)閖ava.sql中提供了使用Java編程語言訪問并處理存儲(chǔ)在數(shù)據(jù)源(通常是一個(gè)關(guān)系數(shù)據(jù)庫)中的數(shù)據(jù)的API。這些接口由JDBC驅(qū)動(dòng)程序完成。


11.16什么是元數(shù)據(jù)?怎樣獲得數(shù)據(jù)庫的元數(shù)據(jù)?怎樣獲得表中各列的元數(shù)據(jù)?

【答】元數(shù)據(jù)就是:metadata,廣泛一點(diǎn)的說就是一個(gè)對(duì)象的屬性信息,獲得數(shù)據(jù)庫元數(shù)據(jù):通過DatabaseMetaData接口提供的方法,獲得表中各列元數(shù)據(jù):通過ResultSetMetaData接口提供的方法。


查看更多