版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 數據庫編程課程設計</b></p><p> 題 目: </p><p> 姓 名: </p><
2、;p> 小 組 成 員 : </p><p> 系 別: </p><p> 專 業(yè)、班 級: </p><p> 年
3、 級: </p><p> 指 導 老 師 : </p><p> 設 計 時 間 : 2012年6月5日 </p><p><b> 目錄</b></p>
4、<p> 需求分析..........................................4</p><p> 1.1.數據事物需求...............................................4</p><p> 1.2.關系模式..................................................
5、.4</p><p> 1.3.數據流程圖(DFD)..........................................4</p><p> 1.4.數據字典...................................................6</p><p> 2.概念結構設計........................
6、..............7</p><p> 2.1.實體E-R圖.................................................7</p><p> 2.2.數據庫類別建立.............................................8</p><p> 2.3.數據庫的連接.........
7、......................................9</p><p> 3.運行設計....................................................9</p><p> 3.1.運行模塊的組合.............................................9</p><p&g
8、t; 3.2.運行控制...................................................9</p><p> 4.個人模塊實現......................................9</p><p> 4.1.代碼實現...................................................9<
9、;/p><p> 4.2.樣本截圖...................................................14</p><p> 5.心得體會....................................................15</p><p><b> 1. 需求分析</b></p&
10、gt;<p><b> ?。?)數據事物需求</b></p><p> 多用戶博客系統(tǒng)需要完成功能主要有:</p><p> 管理發(fā)表文章,編輯文章,修改和查詢刪除文章,以及顯示文章。</p><p> 文章信息包括標題,作者,內容,和時間。</p><p> 3.添加和刪除用戶。</p>
11、;<p> 4.用戶信息包括登錄名和密碼,郵箱和是否是管理員。</p><p> 5.修改用戶登錄密碼。</p><p><b> ?。?)關系模式</b></p><p> 1.文章(文章id,標題,作者,內容,時間)</p><p> 2.用戶(用戶郵箱,登錄名,密碼)</p>&
12、lt;p> ?。?)數據流程圖(DFD)</p><p><b> 1.添加文章</b></p><p><b> 圖 1</b></p><p><b> 2.添加用戶</b></p><p><b> 圖2</b></p>
13、<p><b> 驗證失敗</b></p><p><b> 驗證成功</b></p><p><b> 圖3</b></p><p><b> 數據字典</b></p><p><b> 郵箱</b></p
14、><p><b> 2.概念結構設計</b></p><p><b> 實體E-R圖</b></p><p><b> 1.用戶 </b></p><p><b> 圖4</b></p><p><b> 2.文
15、章</b></p><p><b> 圖5</b></p><p><b> 2.數據庫類別建立</b></p><p><b> 用戶類別的建立</b></p><p> CREATE TABLE MB_USERS </p><p>
16、;<b> (</b></p><p> EMAIL VARCHAR2(255) NOT NULL,</p><p> NAME VARCHAR2(255),</p><p> PASSWORD VARCHAR2(255),</p><p> ISADMIN CHAR(1),</p><p&
17、gt; CONSTRAINT MB_USERS_PK PRIMARY KEY </p><p><b> (</b></p><p><b> EMAIL </b></p><p><b> )</b></p><p><b> ENABLE </b&
18、gt;</p><p><b> );</b></p><p><b> 文章類別的建立</b></p><p> CREATE TABLE MB_POSTS </p><p><b> (</b></p><p> ID NUMBER NOT
19、 NULL,</p><p> AUTHOR VARCHAR2(255) NOT NULL,</p><p> TITLE VARCHAR2(255) NOT NULL,</p><p> CONTENT CLOB,</p><p> TIME TIMESTAMP(6) NOT NULL,</p><p>
20、CONSTRAINT MB_POSTS_PK PRIMARY KEY </p><p><b> (</b></p><p><b> ID </b></p><p><b> )</b></p><p><b> ENABLE </b></
21、p><p><b> );</b></p><p><b> 數據庫的連接</b></p><p> OracleDataSource ods = null;</p><p><b> try {</b></p><p> ods = new Or
22、acleDataSource();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> ods.setDriverType("thin");</p>
23、;<p> ods.setServerName("localhost");</p><p> ods.setNetworkProtocol("tcp");</p><p> ods.setDatabaseName("xe");</p><p> ods.setPortNumber(15
24、21);</p><p> ods.setUser("test");</p><p> ods.setPassword("test");</p><p><b> 3.運行設計:</b></p><p> 1. 運行模塊的組合:</p><p>
25、運行模塊分成基本的三個模塊,即是:輸入模塊,輸出模塊,處理模塊等。這使得整個系統(tǒng)的維護容易,簡單;系統(tǒng)的結構層次簡單,易懂。</p><p><b> 2. 運行控制:</b></p><p> 本系統(tǒng)采用的控制方式主要有三種:順序,選擇,循環(huán)。</p><p><b> 個人模塊實現</b></p>
26、<p><b> 1.代碼實現</b></p><p> public static List<Post> page(int pageNum,</p><p> int pageSize,</p><p> String sortBy,</p><p> String order) {&l
27、t;/p><p> Connection con = null;</p><p> List<Post> rsl = new ArrayList<Post>();</p><p><b> try {</b></p><p> con = dataSource.getConnection();
28、</p><p> PreparedStatement ps = con.prepareStatement(pageSql);</p><p> //ps.setString(1, sortBy);</p><p> //ps.setString(2, order);</p><p> ps.setInt(1, pageSize *
29、pageNum);</p><p> ps.setInt(2, pageSize * (pageNum + 1));</p><p> ResultSet rs = ps.executeQuery();</p><p> while (rs.next()) {</p><p> Post p = new Post();</p&g
30、t;<p> p.id = rs.getLong("id");</p><p> p.author = rs.getString("author");</p><p> p.title = rs.getString("title");</p><p> p.content = rs.g
31、etString("content");</p><p> p.time = rs.getTimestamp("time");</p><p> rsl.add(p);</p><p><b> }</b></p><p> } catch (SQLException e)
32、 {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> if (con != null) {</p><p><b> try {</b></p><p> con.close();</p>
33、;<p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p><p> return rsl;</p><p
34、><b> }</b></p><p> public static Post byId(Long id) {</p><p> Connection con = null;</p><p> Post p = null;</p><p><b> try {</b></p&g
35、t;<p> con = dataSource.getConnection();</p><p> PreparedStatement ps = con.prepareStatement(byIdSql);</p><p> ps.setLong(1, id);</p><p> ResultSet rs = ps.executeQuery()
36、;</p><p> if (rs.next()) {</p><p> p = new Post();</p><p> p.id = rs.getLong("id");</p><p> p.author = rs.getString("author");</p><p&
37、gt; p.title = rs.getString("title");</p><p> p.content = rs.getString("content");</p><p> p.time = rs.getTimestamp("time");</p><p><b> }</
38、b></p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> if (con != null) {</p><p><b> try {&l
39、t;/b></p><p> con.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b>
40、;</p><p><b> return p;</b></p><p><b> }</b></p><p> public void save() {</p><p> id = lastId() + 1;</p><p> Connection con = n
41、ull;</p><p><b> try {</b></p><p> con = dataSource.getConnection();</p><p> PreparedStatement ps = con.prepareStatement(insSql);</p><p> ps.setLong(1, i
42、d);</p><p> ps.setString(2, author);</p><p> ps.setString(3, title);</p><p> ps.setString(4, content);</p><p> ps.setTimestamp(5, time);</p><p> ps.ex
43、ecute();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> if (con != null) {</p><p><b> try
44、{</b></p><p> con.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b
45、></p><p><b> }</b></p><p> public void update(Long id) {</p><p> Connection con = null;</p><p><b> try {</b></p><p> con =
46、dataSource.getConnection();</p><p> PreparedStatement ps = con.prepareStatement(upSql);</p><p> ps.setString(1, title);</p><p> ps.setString(2, content);</p><p> ps
47、.setLong(3, id);</p><p> ps.execute();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> if (con !=
48、 null) {</p><p><b> try {</b></p><p> con.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</
49、b></p><p><b> }</b></p><p><b> }</b></p><p> public void delete() {</p><p> Connection con = null;</p><p><b> try {&l
50、t;/b></p><p> con = dataSource.getConnection();</p><p> PreparedStatement ps = con.prepareStatement(delSql);</p><p> ps.setLong(1, id);</p><p> ps.execute();<
51、/p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> if (con != null) {</p><p><b> try {</b>&
52、lt;/p><p> con.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> }</b></p&g
53、t;<p><b> }</b></p><p> public static int count() {</p><p> Connection con = null;</p><p> int count = -1;</p><p><b> try {</b></
54、p><p> con = dataSource.getConnection();</p><p> Statement st = con.createStatement();</p><p> ResultSet rs = st.executeQuery("select * from " + TABLE_NAME);</p>&l
55、t;p> count = rs.getFetchSize();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> if (con != null) {</p>
56、;<p><b> try {</b></p><p> con.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p>
57、<p><b> }</b></p><p> return count;</p><p><b> }</b></p><p> public static Long lastId() {</p><p> Connection con = null;</p>&
58、lt;p> Long id = new Long(0);</p><p><b> try {</b></p><p> con = dataSource.getConnection();</p><p> Statement st = con.createStatement();</p><p> Re
59、sultSet rs = st.executeQuery("select id from " + TABLE_NAME +</p><p> " order by id desc");</p><p> if (rs.next()) {</p><p> id = rs.getLong("id");&
60、lt;/p><p><b> }</b></p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> if (con != null) {&l
61、t;/p><p><b> try {</b></p><p> con.close();</p><p> } catch (SQLException e) {</p><p> e.printStackTrace();</p><p><b> }</b></
62、p><p><b> }</b></p><p> return id;</p><p><b> }</b></p><p><b> }</b></p><p><b> 2.截圖</b></p><p
63、><b> 圖6</b></p><p><b> 圖7</b></p><p><b> 圖8</b></p><p><b> 心得體會</b></p><p> 通過這次課程設計的制作,大家在原有的學習基礎上,加深了對oracle數據
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數據庫課程設計---數據庫
- java數據庫課程設計編程詞典系統(tǒng)
- 數據庫課程設計--數據庫設計
- 數據庫課程設計--數據庫原理及應用課程設計
- 數據庫課程設計
- 數據庫課程設計
- 數據庫課程設計---網上拍賣數據庫設計
- 數據庫課程設計--bbs系統(tǒng)數據庫設計
- 數據庫課程設計
- 數據庫課程設計
- 數據庫課程設計
- 數據庫課程設計
- 數據庫課程設計
- 數據庫課程設計--cd唱片數據庫設計
- 數據庫原理課程設計---個人事物管理數據庫課程設計
- 數據庫課程設計課程設計論文-醫(yī)院信息管理數據庫設計
- 數據庫課程設計---旅行社數據庫
- 數據庫課程設計報告--設備儀器數據庫設計
- 數據庫課程設計--學生課程數據庫的設計與實現
- 數據庫課程設計--快餐訂餐系統(tǒng)數據庫設計
評論
0/150
提交評論