成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

數據庫開發規范詳細介紹(一)

運維 數據庫運維
數據庫開發的過程中并不是開發者想怎么做都可以,而是數據庫開發者也要遵守一些規范要,在這些規范要求的前提下去開發數據庫,那么接下來將為大家詳細介紹數據庫開發規范。

一.數據表和字段的設計

  表設計原則

  1、標準化和規范化

  數據的標準化有助于消除數據庫中的數據冗余。標準化有好幾種形式,我們在這里采用Third Normal Form(3NF),因為3NF在性能、擴展性和數據完整性方面達到了***平衡。
遵守3NF 標準的數據庫某個表只包括其本身基本的屬性,當不是它們本身所具有的屬性時需進行分解。表之間的關系通過外鍵相連接。它具有以下特點:有一組表專門存放通過鍵連接起來的關聯數據。

  2、考慮各種變化

  在設計數據庫的時候考慮到哪些數據字段將來可能會發生變更。

  字段設計原則:
  1) 每個表中都應該添加的3 個有用的字段,即要求每張數據表中字段不得少于3個;
  2) 選擇數字類型和文本類型盡量充足。在字段類型為數字或文本時,其長度***比實際所需的大一些。
  3) 增加自動增長的操作ID字段(czid)
  5) 增加記錄創建的日期字段(CreateDate)。
  4) 增加刪除標記字段(isvoid):
  在表中包含一個"刪除標記"字段,這樣就可以把行標記為刪除。在關系數據庫里不單獨刪除某一行;一般采用清除數據程序而且要仔細維護索引整體性。

二.鍵和索引的設計

  1、鍵選擇原則:

  1)為關聯字段創建外鍵。
  2)所有的鍵都必須唯一。
  3)避免使用復合鍵。
  4)外鍵總是關聯唯一的鍵字段。

  使用系統生成的主鍵
  設計數據庫的時候采用系統生成的鍵作為主鍵,那么實際控制了數據庫的索引完整性。這樣,數據庫和非人工機制就有效地控制了對存儲數據中每一行的訪問。采用系統生成鍵作為主鍵還有一個優點:當擁有一致的鍵結構時,找到邏輯缺陷很容易。不要用用戶的鍵(不讓主鍵具有可更新性)在確定采用什么字段作為表的鍵的時候,小心用戶將要編輯的字段。通常的情況下不要選擇用戶可編輯的字段作為鍵。

  可選鍵有時可做主鍵
  把可選鍵進一步用做主鍵,可以擁有建立強大索引的能力。

  2、索引使用原則:

  索引是從數據庫中獲取數據的***效方式之一。95%的數據庫性能問題都可以采用索引技術得到解決。

  索引外鍵
  大多數數據庫都索引自動創建的主鍵字段,但是可別忘了索引外鍵,它們也是經常使用的鍵,比如運行查詢顯示主表和所有關聯表的某條記錄就用得上。
  不要索引大型字段(有很多字符),這樣作會讓索引占用太多的存儲空間。

  不要索引常用的小型表
  不要為小型數據表設置任何鍵,假如它們經常有插入和刪除操作就更別這樣作了。對這些插入和刪除操作的索引維護可能比掃描表空間消耗更多的時間。

三. 數據完整性設計

  完整性實現機制:實體完整性:主鍵

  參照完整性:
  父表中刪除數據:級聯刪除;受限刪除;置空值
  父表中插入數據:受限插入;遞歸插入
  父表中更新數據:級聯更新;受限更新;置空值

  DBMS對參照完整性可以有兩種方法實現:外鍵實現機制(約束規則)和觸發器實現機制

  用戶定義完整性:NOT NULL;CHECK;觸發器

  用約束而非商務規則強制數據完整性
  采用數據庫系統實現數據的完整性。這不但包括通過標準化實現的完整性而且還包括數據的功能性。在寫數據的時候還可以增加觸發器來保證數據的正確性。不要依賴于商務層保證數據完整性;它不能保證表之間(外鍵)的完整性所以不能強加于其他完整性規則之上。

  強制指示完整性
  在有害數據進入數據庫之前將其剔除。激活數據庫系統的指示完整性特性。這樣可以保持數據的清潔而能迫使開發人員投入更多的時間處理錯誤條件。

  使用查找控制數據完整性
  控制數據完整性的***方式就是限制用戶的選擇。只要有可能都應該提供給用戶一個清晰的價值列表供其選擇。這樣將減少鍵入代碼的錯誤和誤解同時提供數據的一致性。

  采用視圖
  為了在數據庫和應用程序代碼之間提供另一層抽象,可以為應用程序建立專門的視圖而不必非要應用程序直接訪問數據表。這樣做還等于在處理數據庫變更時給你提供了更多的自由。

在進行數據庫開發時,嚴格遵守這些規范原則就能將數據庫的開發工作做的很完善,希望大家能很熟練的掌握這些設計規范,以便于大家在以后的數據庫開發過程中能很輕松的應用上。

【編輯推薦】

  1. 數據庫開發者常犯的錯誤(二)
  2. 數據庫開發10個最重要特點
  3. MS-SQL Server數據庫開發中技巧總結
責任編輯:迎迎 來源: 博客
相關推薦

2011-03-21 13:53:45

數據庫開發書寫規范

2022-07-27 08:32:01

數據庫MySQL

2009-08-28 13:03:55

C#壓縮Access數

2011-06-23 09:00:04

QT QODBC 數據庫

2011-07-27 11:08:49

Oracle數據庫EM Console重

2011-08-10 13:03:58

CJDBC數據庫集群

2009-08-13 13:38:30

C#命名規范

2011-03-21 13:41:20

數據庫開發規范

2011-08-02 18:38:19

MySQLINI文件

2011-09-01 09:30:27

Oracle數據庫控制語句

2010-03-18 14:55:17

Python數據庫連接

2011-07-26 16:53:29

MongoDB數據庫自動分片技術

2011-08-05 13:17:34

Oracle數據庫閃回個性

2015-01-12 15:07:56

SQLAlchemy數據庫開發OpenStac

2011-06-15 16:58:26

PHP

2019-08-20 09:46:14

DBA收藏腳本語言

2019-11-07 14:46:09

數據庫MySQL命令

2011-04-07 10:50:47

數據庫編程注釋規范

2019-08-20 22:06:32

Oracle數據庫索引

2011-03-17 14:51:33

數據庫自我調整
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲日本中文字幕在线 | 久久精品国产精品青草 | 国产一二区视频 | 黄色a三级 | 国产精品二区三区在线观看 | 久久久久国产 | 欧美精品区 | 欧洲毛片 | 国产情品 | 欧美在线一区二区三区 | 久久精品国产免费一区二区三区 | 最新高清无码专区 | 亚洲视频免费在线观看 | 国产成人免费视频网站高清观看视频 | 亚洲色欲色欲www | 欧美日韩大陆 | 狠狠干综合视频 | 欧美白人做受xxxx视频 | 亚洲成人精品一区 | 国产精久久久久久 | 亚洲一区二区三区观看 | 丝袜美腿一区二区三区动态图 | 亚州视频在线 | 毛片久久久 | 精品影院 | 日本在线视频一区二区 | 国产91丝袜在线熟 | 国产精品一区二区免费 | 国产亚洲精品一区二区三区 | 亚洲日本国产 | 国产日韩欧美在线一区 | 91精品国产综合久久国产大片 | 国产一区二区三区在线视频 | 亚洲一区二区日韩 | 欧美成人精品一区二区三区 | 综合五月| 国产黄色在线观看 | 国产在线精品一区 | 亚洲自拍一区在线观看 | 国产精品一区久久久 | 日日摸夜夜爽人人添av |