簡單的資料庫設計及使用(FMDB),資料庫設計fmdb

來源:互聯網
上載者:User

簡單的資料庫設計及使用(FMDB),資料庫設計fmdb

有這樣一個需求:有m個使用者公用n個檔案,一個使用者可能會用到多個檔案,一個檔案可能被多個使用者使用;如果某個使用者離開,那這個使用者就不再使用任何檔案;如果某個檔案沒有任何使用者使用,就要刪除該檔案;已知某個使用者正在使用某些檔案,要求管理這個使用者離開的時候,到底要不要刪除他原來使用的檔案。 這個問題對搞伺服器開發的人來說可能就是幾十分鐘或者幾分鐘的事兒,但這對我一個iOS開發人員來說,可就沒那麼容易了。想了半天搞不定,最後還是向搞伺服器的朋友們請教才弄出了個解決方案。。。我只能說,資料庫這麼強大,不補一下不行啊~~ 簡單記錄下解決方案:用資料庫建3張表搞定。一張使用者表:記錄userId userName一張檔案表:記錄fileId filePath一張使用者-檔案關係表:記錄使用者跟檔案的對應關係 userId-fileId其中關係表是個m對n的關係表 使用者表和檔案表都是直接增刪查改就行;關係表要注意下:當某個使用者使用某個檔案的時候,在關係表中插入一條 userId-fileId的資料,當這個使用者不再使用這個檔案的時候,刪除這條資料所以關係表的內容大概是userId     fileId1               11               21               31               42               12               4。。。。。。 如果要查userId為i某個使用者用到了多少檔案,只需要查關係表中所有userId=i就可以了;如果要查fileId為j的某個檔案被多少使用者使用,只需要查關係表中所有fileId=j的就可以了;那麼當userId為i某個使用者要離開的時候,他用到的那些檔案應不應該刪除呢?那就需要以下幾個步驟:1,查詢出這個使用者用到了哪些檔案,將檔案fileId緩衝起來2,刪除關係表中所有userId=i的資料3,遍曆緩衝起來的fileId,重新查詢關係表,查詢該檔案還被多少人使用;如果這時候使用的人數為0,那說明該檔案已經沒使用者使用了,可以刪除,如果使用人數不為0,則說明該檔案還有其他使用者使用,不能刪除。搞定~~~ 邏輯搞定了,剩下的就是敲代碼iOS上用SQLite,FMDB貌似是最好用的了吧~FMDB的文檔寫的也很不錯我用FMDB把上面的邏輯寫了個demo,放在這裡https://github.com/Phelthas/Demo_FileManagerWithFMDB 有什麼問題,歡迎討論~~(如果覺得不錯,別忘了點個star) 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.