李子佩說的都隊資料庫設計心得

2022-07-09 05:36:14 字數 4505 閱讀 8711

一.團隊專案資訊

專案名稱:基於遺忘曲線的英語詞彙學習系統(紙雲記單詞小程式)

指導老師:陳浩

開發小組:李子佩說的都隊

小組成員:李子佩、李錦浩、李倩茹、張中信、高伊格、李德忠

二.團隊成員心得

李錦浩——資料庫設計心得

在進行資料庫初步設計的時候,一開始考慮到的還是不同使用者型別有不同的操作限制,而且登入時要選擇登陸角色,所以我們剛開始是分成了三個表,來儲存三種使用者的分別資訊。並建了乙個所有型別使用者都存有的id、賬號密碼。但後來經過老師提醒,兩個表的關係是1對1關係,完全可以減少表的數量,所以我們在使用者表中加入了乙個使用者型別的引數,用來表示使用者型別,並把其他型別特有的字段加入,設定為非填項。目前設想是,在檢測登入型別時,在表中進行第一輪的select篩選再進行判斷。

我們的功能有聽寫、複習錯詞、積分兌換、班級管理、發布作業、家長繫結、成績情況檢視。

我們根據需求文件中定下的功能以及已有的專案中寫明的資料庫設計規範進行設計。

由於專案的重點是記憶遺忘曲線,所有必定有乙個複習詞彙時間表,存放本次學習的時間和下次學習的時間。加上乙個錯詞記錄表。積分兌換功能需要有兩個表,乙個為**表,表示有哪些商品可以兌換,乙個為兌換記錄表,也就是交易表,用於記錄使用者的兌換行為,且每個學生使用者在積分欄位中都有數值。班級管理功能涉及乙個班級表,其中存在各個班級的編號資訊、以及主管班級的老師使用者資訊。發布作業功能有專門的記錄表,是班級管理功能的衍生功能,作業記錄表中設計需要涉及到發布日期和截止日期,這樣以後在新增提醒功能時提供了很好的資料參考。成績情況檢視則是將每個學生每次使用聽寫功能時獲得的成績,其中包括了本次行為是否為作業要求,這個欄位的加入主要是方便老師檢視每次作業的成績情況。

具體實現部分由各位組員協作完成。協作方面讓很多一開始的問題都得到了解決,也得到的完善,果然一堆人的想法比乙個人的作用要重要!

李子佩——資料庫設計心得

我負責的部分是對資料庫設計工程檔案的二次完善。

設計資料庫給我最大的感受,是只有將自己代入角色,才能將設計做得合理實用。

剛開始設計的時候,我們根據自己對專案的大概理解設計了幾個大表,設定了一些必要的字段。當時覺得這個資料庫對我們要實現的功能來說應該做得蠻全面的了。但是在小班課上,老師站在了真實使用者的角度對我們的功能進行了層層理解分析,為我們的資料庫設計提出了很多的問題和建議。下來之後,我也將自己作為使用者,對著資料庫模擬了使用者的使用過程,才發現有一些細節真的不是站在乙個想著方便統計資料的設計者的角度能看見的。比如,使用者在記單詞時需要看到單詞的詞性和釋義,而我們設計者想的重點卻在於將單詞儲存分類,當注意力聚焦在這時很難去想單詞有什麼附加屬性是使用者亟需的。

這一體會對我產生了很大的啟示。在以後的專案設計中,我也會盡量學著站在使用者的角度來模擬每乙個細節。

還有一點感受是組員的合作對乙個好的設計至關重要。這次設計資料庫,每乙個組員都了解我們的設計內容,也都提出了很有用的細節改進方案。希望我們能繼續通力合作,在開發過程中保持合作熱度!

李倩茹——資料庫設計心得

首先談一下資料庫設計部分

我們小組資料庫設計的分工安排是乙個人出底稿,然後其他人分模組進行訂正分析

對於資料庫設計我感受最深的就是合作,每個人負責不同的模組,資料庫又是互相相關的,因此多交流多溝通,統一命名,統一設計規則對資料庫設計有很大的幫助。

在小班課上,老師對於一些資料型別的建議和資料冗餘的看法也對我們的設計有很重要的點醒作用。

其次談一下資料庫設計文件編寫部分

這次資料庫設計文件中我主要負責文案部分,主要包括編寫目的,專案背景,外部設計,運用設計幾個方面。編寫初期,無從下手,簡單認為只需要將powerdesigner中的設計匯出即可,沒有考慮文案的必要性和重要性。

參考了別人的文件,發現資料庫設計文件不止是資料字典那麼簡單,還應該有我們設計的初衷,標準和約束。這樣才是乙個完整的設計,這種設計思想的完整性是我需要在以後的學習中要貫徹和學習的。

首先談一談編寫目的,這裡指明了我們資料庫文件的使用物件和使用場景,乙份好的手冊需要有明確的使用場景,這樣才能更好的服務於使用者,服務於場景,讓文件不再是形式主義,而是實用物品。準確的定位是成功的必備條件。

其次,專案背景也是很重要的一部分,我們要找到社會痛點與難點,這樣才能更好地有目的性地做出產品。這就是乙個發現問題,分析問題,解決問題的過程,查詢資料,明確專案背景,為我們後期的改進方向提供了指導性的內容。從問題的源頭分析,才能期望獲得更好的使用者體驗。

之前寫了需求文件,站在需求文件的基礎上再進行資料庫設計,不僅是事半功倍,而且方向結構都會更加明了,做事情前要有合理的邏輯時間規劃。

關於外部設計,主要說明了使用的資料庫軟體和建立的資料庫名稱,並且規範了命名約定和設計約定:資料庫設計採用powerdesigner,採用物件導向設計方法,首先進行物件實體的設計,最後將物件持久化到資料庫中,所有的表和表之間的關聯(er圖)都採用標準的powerdesigner設計工具進行,這樣能夠將整個系統的設計和資料庫設計有機的結合起來。這樣保證了開發過程中由於人員習慣不同導致的一些問題。事先制定團隊標準,是很重要的。

最後在運用設計中,資料庫的安全性也做出了說明,我們在設計一款產品時應該考慮到的不僅是事前的背景規則,事中的流程行為,還要考慮事後的保障,這樣才是乙個優秀的產品所具備的。

編寫資料庫設計文件,不僅是資料庫的知識,還牽扯到方方面面的要素,考慮問題的方式方法也在這個過程中得到了提高,希望在以後的學習中能將這種發現問題——分析問題——解決問題的思維運用的很好。

張中信——資料庫設計心得

本人負責的是有關學生類資料庫表的設計,主要複審了有關單詞複習和聽寫的模組以及學生測試的模組( dictate_review表、dictate_score表、dictate_wrong表以及dictate_word表)。

一開始對dictate_word表中level欄位有爭議,認為沒有四級以及六級這兩個值,但是多了兩個功能好像也沒問題。

在設計表的過程中,因為要實現遺忘曲線的演算法,所以搜尋到了相關的**資料:可以通過最新記憶時間、最新錯誤時間以及錯誤次數來實現,所以dictate_wrong這個表中新增了count(記錄錯誤次數)以及pubdate(記錄上次錯誤時間)兩個字段。這個表是實現遺忘曲線演算法的關鍵。

高伊格——資料庫設計心得

進行資料庫設計,首先要確定這個系統執行需要哪些資料。針對教師使用者模組,我主要根據完善後的專案介面原型進行分析:系統介面需要展示什麼資料、執行時需要哪些引數。

以教師登入介面為例,可以看到系統需要使用者輸入手機號、密碼,這兩個資料是與各個使用者一一對應的,在每次登入時提取出來進行驗證,因此是需要進行儲存的資料。所以我首先會為使用者設計乙個表,其中至少包括三個字段:使用者賬號、使用者手機號、使用者密碼。比較特殊的是,在儲存密碼時,出於賬號安全,我們不能直接顯示地儲存密碼字串,要進行加密處理。   

接著,我們需要考慮,每個欄位的資料型別是什麼,以及域的完整性約束。例如手機號,它是不需要進行計算的數,將其儲存為int型別是不合適且消耗空間的,通常將其儲存為char。設定約束時,可以將它的長度規定為11,因為手機號本身只有11位,若儲存不等於11位的手機號資料,則會成為錯誤資料。域的約束不僅根據實際來設定,還要根據需求確定。同時也要與**中的規定一致,否則會造成資料儲存和使用時的錯誤。

為了在表中查詢資料時,能夠根據乙個或一組字段快速找到唯一對應的記錄,可以將其設為主鍵primary key。這裡要注意的是,主鍵的資料必須不能為空,並且是唯一的。

將兩個表聯絡起來時,還需要外來鍵。外來鍵的資料可以重複,但是在其對應父表中必須唯一,也就是作為父表的主鍵。需要考慮的問題是,兩個表之間的關係是一對

一、一對多、多對一還是多對多。

在設計資料庫時,必須要按三個正規化來檢查資料庫的設計,避免完全依賴、部份依賴和傳遞依賴。

我使用的資料庫設計工具是powerdesigner,在這個過程中,我掌握了使用powerdesigner設計cdm,並通過cdm直接轉換為pdm,並按需要選擇資料字典中的資料匯出資料字典報告。

李德忠——資料庫設計文件

首先這次專案資料庫是使用mysql5.0版本,統一使用powerdesigner進行資料庫設計和e-r圖的設計。通過專案資料庫設計文件,我了解到資料庫主要分為四個模組:使用者模組、單詞聽寫和複習模組、積分兌換模組、班級管理模組,每個模組的實體名稱,屬性和約束都是明確的。在具體的**中,每個名稱都有詳細的注釋、資料型別和長度以及主要的和外來鍵的規定,對於不管是開發人員還是使用者以及測試維護人員都非常友好,以後我自己進行相關資料庫設計時可以以這個為參考,做到規範化和提高可閱讀性。在物理結構設計方面我學習到各個**的創立和屬性的宣告,大體的結構**形式。之前需求分析裡我負責的是有關學生使用者需求分析,所以在最初的資料庫**設計時,基於已有的資料庫有關學生使用者**提出個人的一些修改意見,幫助團隊完善部分資料庫的設計。雖然後續的資料庫設計未參與太多,但是個人也在積極學習mysql資料庫的基本使用,了解其執行新增、查詢、刪除、修改的sql語句,以及**創立修改和屬性主鍵的設定,還在繼續學習有關的儲存,管理和優化等相關知識。

總而言之,這次資料庫設計雖然是我第一次接觸到資料庫,但確實令我受益匪淺,讓我對大資料時代下使用資料庫如何去儲存和管理資料有了一定的了解,也十分感謝團隊成員的幫助。

資料庫設計心得

在培訓學校學習期間,老師一直很重視培養我們的 在這裡只指關聯式資料庫 資料庫設計能力的提高,在軟工期間很注意,現在的專案練習中又重點訓練,這是我對資料庫的設計不敢輕視。第乙個問題,資料庫的表依據什麼來建立。第二個問題,乙個優秀的資料庫具備哪些標準。我想,首先以滿足業務要求為底線,業務需要操作的資料及...

資料庫設計心得

今天,是我實習的第三個星期,也就是星期一,公司在趕乙個專案,短時間內需要快速融入公司的專案,了解整個大概,主要是要考自己能夠快速看懂,並且理解。在這過程中,看了這個專案的資料庫後,我對資料庫方面有了新的認識,而不單單是在學校所學的,在學校的時候,只懂得跟著書本上走,顯示分析出整個系統的實體,然後畫出...

資料庫設計心得

例子 alter table bx message 表名 addcolumn sendchannel 欄位名 int 4 null comment sendchannel的型別是int,它的標識是從0開始的,這樣帶來的問題就是,我在使用mvc的模型驗證時 required 沒有傳sendchanne...