資料庫設計基礎考點
㈠ (20) 資料庫設計包括兩個方面的設計內容,它們是______。
A.概念設計和邏輯設計
分析:
資料庫設計的設計內容包括:需求分析、概念結構設計、邏輯結構設計、物理結構設計、資料庫的實施和資料庫的運行和維護。
概念設計
對用戶要求描述的現實世界(可能是一個工廠、一個商場或者一個學校等),通過對其中諸處的分類、聚集和概括,建立抽象的概念數據模型。這個概念模型應反映現實世界各部門的信息結構、信息流動情況、信息間的互相制約關系以及各部門對信息儲存、查詢和加工的要求等。
所建立的模型應避開資料庫在計算機上的具體實現細節,用一種抽象的形式表示出來。
以擴充的實體—(E-R模型)聯系模型方法為例,第一步先明確現實世界各部門所含的各種實體及其屬性、實體間的聯系以及對信息的制約條件等,從而給出各部門內所用信息的局部描述(在資料庫中稱為用戶的局部視圖)。
第二步再將前面得到的多個用戶的局部視圖集成為一個全局視圖,即用戶要描述的現實世界的概念數據模型。
邏輯設計
主要工作是將現實世界的概念數據模型設計成資料庫的一種邏輯模式,即適應於某種特定資料庫管理系統所支持的邏輯數據模式。與此同時,可能還需為各種數據處理應用領域產生相應的邏輯子模式。這一步設計的結果就是所謂「邏輯資料庫」。
(1)資料庫設計基礎考點擴展閱讀:
數據結構設計形成過程:
需求分析階段:綜合各個用戶的應用需求。
概念設計階段:形成獨立於機器特點,獨立於各個DBMS產品的概念模式。
邏輯設計階段:首先將E-R圖轉換成具體的資料庫產品支持的數據模型,如關系模型,形成資料庫邏輯模式;然後根據用戶處理的要求、安全性的考慮,在基本表的基礎上再建立必要的視圖(View),形成數據的外模式。
物理設計階段:根據DBMS特點和處理的需要,進行物理存儲安排,建立索引,形成資料庫內模式。
參考資料來源:資料庫設計-網路
㈡ (50) 資料庫概念設計的過程中,視圖設計一般有三種設計次序,以下各項中不對的是______。 A. 自頂向下 B.
(50)[答案]D
[考點]資料庫設計基礎
[評析]
通常有如下幾種方法:
1、自頂向下。先全局框架,然後逐步細化
2、自底向上。先局部概念結構,再集成為全局結構
3、由里向外。先核心結構,再向外擴張
4、混合策略。1與2相結合,先自頂向下設計一個概念結構的框架,再自底向上為框架設計局部概念結構
㈢ 如何獨立進行資料庫設計詳解及基本的知識概念
需求分析--邏輯設計--物理設計--維護優化
1.需求分析
分析模塊屬性
可選唯一標識屬性
存儲特點
eg:如注冊
包括屬性:用戶名、密碼、電話、郵箱、身份證號、地址、姓名、昵稱
可選唯一標識屬性:用戶名、身份證、電話
存儲特點:隨系統上線時間逐漸增加,需要永久存儲
2.邏輯設計
第一範式--二維表 定義由行和列組成的
資料庫表中所有欄位都是單一屬性不可再分由基本數據類型所構成。
第二範式--所有單關鍵欄位的表都符合每二範式
資料庫的表中不存在非關鍵欄位對任一選關鍵欄位的部分函數依賴。
eg:商品名稱 價格 重量 供應商名稱 供應商電話
可以拆分成
商品表 和供應商表 以及關聯倆個表的商品供應商ID表
第三範式
如果數據表中不存在非關鍵欄位對任意候選關鍵欄位的傳遞函數依賴則符合第三範式
eg:商品名稱 價格 分類 分類描述 分類關聯著分類描述不符合第三範式
拆分為 商品表 分類表 關聯商品和分類ID表
第三範式擴展--BC範式
在第三範式的基礎之上,資料庫表中如果不村子任何欄位對任一候選關鍵欄位的傳遞函數依賴則符合BC範式
也就是說復合關鍵字,則復合關鍵字之間也不能存在函數依賴關系。
eg:供應商 商品ID 供應商聯系人 商品數量
飲料一廠 1 張三 10
飲料二廠 1 李四 20
供應商 -> 供應商聯系人
供應商聯系人->供應商
如果飲料二廠剛簽完合同沒有提供商品 則看不到二廠的信息 聯系人等
拆分成 供應商商品表 和 供應商聯系人表
3.物理設計
建立資料庫表結構 選擇資料庫eg: oracle mysql sqlserver
定義資料庫、表及欄位的命名規范
建表建庫選擇欄位類型 範式化設計
選擇資料庫考慮成本
mysql 開源資料庫 適合互聯網項目
oracle sqlserver商業資料庫 適合企業項目 如金融類項目
表及欄位命名規則
1.可讀性原則
2.表意性原則
3.長命原則 eg: pwd password
如何選擇主鍵?
1.區分業務主鍵和資料庫主鍵
業務主鍵進行表與表之間關聯資料庫主鍵為了優化資料庫存儲
2.根據資料庫的類型,考慮主鍵是否要順序增長
有些資料庫是按主鍵的順序邏輯存儲的 可以設置自動增長
3.主鍵欄位類型所佔空間要盡可能的小
對於使用聚集索引方式存儲的表,每個索引後都會附加主鍵信息
外鍵
1.降低數據導入惡效率
2.增加維護成本
3.雖然不建議使用外鍵約束,但是相關聯的列上一定要建立索引
觸發器
1.降低數據導入的效率
2.可能會出現意想不到的數據異常
3.使業務邏輯變得復雜
嚴禁使用預留欄位 後期維護成本高
4.維護優化
維護和優化要做什麼?
1.維護數據字典
2.維護索引
3.維護表結構
4.在適當的時候對表進行水平拆分或垂直拆分
可以使用第三方工具對數據字典進行維護
望採納,謝謝!
㈣ 資料庫工程師需要掌握哪些知識
一般資料庫工程師的主要工作包括:數據備份;資料庫日常維護;數據結構方面的設計;SQL調優;解決由於資料庫操作所造成的系統性能問題;給開發人員開展一些資料庫方面的培訓。那麼成為一名合格的資料庫工程師需掌握哪些知識技能呢?
一、資料庫應用系統分析及規劃:1.軟體工程與軟體生命周期。 2.資料庫系統生命周期。 3.資料庫開發方法與工具。 4.資料庫應用體系結構。 5.資料庫應用介面。
二、資料庫設計及實現:1.概念設計。 2.邏輯設計。 3.物理設計。 4.資料庫對象實現及操作。
三、資料庫存儲技術:1.存儲與文件結構。 2. 索引技術。
四、並發控制技術:1.事務管理。 2.並發控制技術。3.死鎖處理。
五、資料庫管理與維護:1、數據完整性。 2、資料庫安全性。 3、資料庫可靠性。 4、監控分析。 5、參數調整。 6、查詢優化。 7、空間管理。
六、資料庫技術的發展與新技術:1、分布式資料庫。 2、對象資料庫。 3、並行資料庫。 4、數據倉庫與數據挖掘。