我覺得數據庫表的建立的優缺點如下:
優點:
第一,通過創建唯一性索引,可以保證數據庫表中每一行數據的唯一性。
第二,可以大大加快 數據的檢索速度,這也是創建索引的最主要的原因。
第三,可以加速表和表之間的連接,特別是在實現數據的參考完整性方面特別有意義。
第四,在使用分組和排序 子句進行數據檢索時,同樣可以顯著減少查詢中分組和排序的時間。
第五,通過使用索引,可以在查詢的過程中,使用優化隱藏器,提高系統的性能。
缺點:
第一,創建索引和維護索引要耗費時間,這種時間隨着數據 量的增加而增加。
第二,索引需要占物理空間,除了數據表占數據空間之外,每一個索引還要占一定的物理空間,如果要建立聚簇索引,那么需要的空間就會更大。
第三,當對表中的數據進行增加、刪除和修改的時候,索引也要動態的維護,這樣就降低了數據的維護速度。
key-value儲存,可以通過key快速查詢到value。一般來說,儲存不管value的格式,照單全收。
第一個表為管理員表,其中包括了名字,昵稱,密碼以及profile,profile是指用戶數據以及用戶配置。和管理員密碼,其中只有用戶配置允許為空。比如說用戶名。”username” varchar(128) COLLATE utf8_unicode_ci NOT NULL 而昵稱和密碼也都參照這個。這個括號里的128則是因為昵稱用戶名和密碼都是設置成char類型的。
而轉存表中數據則是:INSERT INTO “adminuser”(“id”,”username”,”nickname”,”password”,”email”,”profile”,”auth_key”,”password_hash”,”password_reset_token”)VALUES
第二張表則為權限分配表,其中包括類型名稱,用戶ID和創建時間,且都不能為空,其中類型名稱和用戶id為char類型,創建時間為int類型。
第三張表為管理員聯系表。在代碼的實現中就添加了一些管理員的功能與職權,例如新增文章與刪除文章,但是這里面又分了文章管理員與文章操作員。具體如下:
(‘admin’,1,’系統管理員’,NULL,NULL,147,146),
(‘approveComment’,2,’審核評論’,NULL,NULL,146,146),
(‘commentAuditor’,1,’評論審核員’,NULL,NULL,146,146),
(‘createPost’,2,’新增文章’,NULL,NULL,146,146),
(‘deletePost’,2,’刪除文章’,NULL,NULL,146,146),
(‘postAdmin’,1,’文章管理員’,NULL,NULL,146,146),
(‘postOperator’,2,’文章操作員’,NULL,NULL,146,146),
(‘updatePost’,2,’修改文章’,NULL,NULL,146,146);
這里就涉及到職權問題以及設立的文章管理員審核你的文章及評論,然后新增和刪除也需要權限的,這樣就能保證文章的安全以及評論的干凈。
這里的幾張表的搭建都是先建立表的結構,再轉存表的數據,表的搭建CREATE TABLE IF NOT EXISTS ‘***’,搭建的方式都一樣,你需要的功能對應所需要的函數,其次就是轉存數據,INSERT INTO到你所想要的表中去。