【實踐】mysql數據庫表設計及存儲過程設計


mysql數據庫表設計及存儲過程設計

一、目標

  電話手表的數據庫表設計,以及為了服務器與數據庫后台分離進行存儲過程設計。

二、數據庫表設計

  基本的數據表設計,設備信息表(手表)、APP用戶個人信息表、設備登錄狀態表、經緯度位置表、消息表(可進行聊天)、指令表(用來記錄app對設備的操作等)、驗證碼記錄表、群組表、群成員表、意見表(意見反饋記錄)、綁定表(設備與APP用戶相互綁定)、陌生人表(記錄設備上陌生人來電)、設備通訊錄表(保存設備的通訊錄名單)、手表消息記錄表(用來對設備的各種消息的記錄)等。

  遵循數據庫設計三大范式。

三、存儲過程設計

  選擇存儲過程有幾方面的考慮:

  1.速度、網絡帶寬 考慮的較少。

  2.服務器端與數據庫端解耦,當數據庫變動的時候,不影響服務器代碼。

  3.加快項目的進程。

  4.安全問題,限制非數據庫人員的操作權限,只能通過存儲過程進行操作數據庫。

四、踩過的坑

  1.數據庫設計:

  (1)對於鬧鍾開關,多個鬧鍾時間設置等,建議使用json形式進行存取。

  (2)盡可能把非強相關性的表分開成兩張表或是多張表

  (3)遵循數據庫設計三大范式

  (4)保證數據庫表設計前后一致,簡介

  2.存儲過程設計:

  (1)傳入參數一致性需要認真校驗

  (2)注意調用者權限問題,definer | invoker  :在begin之前加上 sql security  invoker

    另外需要修改調用者權限:grant select,insert,delete,update,execute on database.* to 'user'@'%' ;

 

由於項目服務端仍未開發好,所以數據庫測試沒遇到編碼問題、格式問題、接口參數類型問題等等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM