『壹』 什麼是資料庫的概念結構邏輯結構和物理結構.資料庫是如何設計的 系統的安全性是如何考慮的
資料庫系統的基本概念 數據:實際上就是描述事物的符號記錄。 數據的特點:有一定的結構,有型與值之分,如整型、實型、 字元型等。而數據的值給出了符合定型的值,如整型值15。 資料庫:是數據的集合, 具有統一的結構形式並存放於統一的存儲介質內, 是多種應用數據的集成,並可被各個應用程序共享。 資料庫存放數據是按數據所提供的數據模式存放的, 具有集成與共享的特點。 資料庫管理系統:一種系統軟體,負責資料庫中的數據組織、 數據操縱、數據維護、控制及保護和數據服務等,是資料庫的核心。 資料庫管理系統功能: (1)數據模式定義:即為資料庫構建其數據框架; (2)數據存取的物理構建: 為數據模式的物理存取與構建提供有效的存取方法與手段; (3)數據操縱:為用戶使用資料庫的數據提供方便,如查詢、 插入、修改、刪除等以及簡單的算術運算及統計; (4)數據的完整性、安生性定義與檢查; (5)資料庫的並發控制與故障恢復; (6)數據的服務:如拷貝、轉存、重組、性能監測、分析等。 為完成以上六個功能,資料庫管理系統提供以下的數據語言: (1)數據定義語言:負責數據的模式定義與數據的物理存取構建; (2)數據操縱語言:負責數據的操縱,如查詢與增、刪、改等; (3)數據控制語言:負責數據完整性、 安全性的定義與檢查以及並發控制、故障恢復等。 數據語言按其使用方式具有兩種結構形式:互動式命令( 又稱自含型或自主型語言)宿主型語言( 一般可嵌入某些宿主語言中)。 資料庫管理員:對資料庫進行規劃、設計、維護、 監視等的專業管理人員。 資料庫系統:由資料庫(數據)、資料庫管理系統(軟體)、 資料庫管理員(人員)、硬體平台(硬體)、軟體平台(軟體) 五個部分構成的運行實體。 資料庫應用系統:由資料庫系統、應用軟體及應用界面三者組成。 文件系統階段:提供了簡單的數據共享與數據管理能力, 但是它無法提供完整的、統一的、管理和數據共享的能力。 層次資料庫與網狀資料庫系統階段 :為統一與共享數據提供了有力支撐。 關系資料庫系統階段 資料庫系統的基本特點:數據的集成性 、數據的高共享性與低冗餘性 、數據獨立性(物理獨立性與邏輯獨立性)、數據統一管理與控制。 資料庫系統的三級模式: (1)概念模式:資料庫系統中全局數據邏輯結構的描述, 全體用戶公共數據視圖; (2)外模式:也稱子模式與用戶模式。是用戶的數據視圖, 也就是用戶所見到的數據模式; (3)內模式:又稱物理模式, 它給出了資料庫物理存儲結構與物理存取方法。 資料庫系統的兩級映射: (1)概念模式到內模式的映射; (2)外模式到概念模式的映射。 4.2 數據模型 數據模型的概念:是數據特徵的抽象, 從抽象層次上描述了系統的靜態特徵、動態行為和約束條件, 為資料庫系統的信息表與操作提供一個抽象的框架。 描述了數據結構、數據操作及數據約束。 E-R模型的基本概念 (1)實體:現實世界中的事物; (2)屬性:事物的特性; (3)聯系:現實世界中事物間的關系。實體集的關系有一對一、 一對多、多對多的聯系。 E-R模型三個基本概念之間的聯接關系: 實體是概念世界中的基本單位,屬性有屬性域, 每個實體可取屬性域內的值。一個實體的所有屬性值叫元組。 E-R模型的圖示法:(1)實體集表示法; (2)屬性表法; (3)聯系表示法。 層次模型的基本結構是樹形結構,具有以下特點: (1)每棵樹有且僅有一個無雙親結點,稱為根; (2)樹中除根外所有結點有且僅有一個雙親。 從圖論上看,網狀模型是一個不加任何條件限制的無向圖。 關系模型採用二維表來表示,簡稱表,由表框架及表的元組組成。 一個二維表就是一個關系。 在二維表中凡能唯一標識元組的最小屬性稱為鍵或碼。 從所有侯選健中選取一個作為用戶使用的鍵稱主鍵。 表A中的某屬性是某表B的鍵,則稱該屬性集為A的外鍵或外碼。 關系中的數據約束: (1)實體完整性約束:約束關系的主鍵中屬性值不能為空值; (2)參照完全性約束:是關系之間的基本約束; (3)用戶定義的完整性約束: 它反映了具體應用中數據的語義要求。 4.3關系代數 關系資料庫系統的特點之一是它建立在數據理論的基礎之上, 有很多數據理論可以表示關系模型的數據操作, 其中最為著名的是關系代數與關系演算。 關系模型的基本運算: (1)插入 (2)刪除 (3)修改 (4)查詢(包括投影、選擇、笛卡爾積運算) 4.4 資料庫設計與管理 資料庫設計是數據應用的核心。 資料庫設計的兩種方法: (1)面向數據:以信息需求為主,兼顧處理需求; (2)面向過程:以處理需求為主,兼顧信息需求。 資料庫的生命周期:需求分析階段、概念設計階段、邏輯設計階段、 物理設計階段、編碼階段、測試階段、運行階段、進一步修改階段。 需求分析常用結構析方法和面向對象的方法。結構化分析( 簡稱SA)方法用自頂向下、逐層分解的方式分析系統。 用數據流圖表達數據和處理過程的關系。對資料庫設計來講, 數據字典是進行詳細的數據收集和數據分析所獲得的主要結果。 數據字典是各類數據描述的集合,包括5個部分:數據項、 數據結構、數據流(可以是數據項,也可以是數據結構)、 數據存儲、處理過程。 資料庫概念設計的目的是分析數據內在語義關系。設計的方法有兩種 (1)集中式模式設計法(適用於小型或並不復雜的單位或部門); (2)視圖集成設計法。 設計方法:E-R模型與視圖集成。 視圖設計一般有三種設計次序:自頂向下、由底向上、由內向外。 視圖集成的幾種沖突:命名沖突、概念沖突、域沖突、約束沖突。 關系視圖設計:關系視圖的設計又稱外模式設計。 關系視圖的主要作用: (1)提供數據邏輯獨立性; (2)能適應用戶對數據的不同需求; (3)有一定數據保密功能。 資料庫的物理設計主要目標是對數據內部物理結構作調整並選擇合理 的存取路徑,以提高資料庫訪問速度有效利用存儲空間。 一般RDBMS中留給用戶參與物理設計的內容大致有索引設計、 集成簇設計和分區設計。 資料庫管理的內容: (1)資料庫的建立; (2)資料庫的調整; (3)資料庫的重組; (4)資料庫安全性與完整性控制; (5)資料庫的故障恢復; (6)資料庫監控。
『貳』 簡述資料庫設計中物理設計階段的主要內容有哪些
1、需求分析:了解用戶的數據需求、處理需求、安全性及完整性要求;
2、概念設計:通過數據抽象,設計系統概念模型,一般為E-R模型;
3、邏輯結構設計:設計系統的模式和外模式,對於關系模型主要是基本表和視圖;
4、物理結構設計:設計數據的存儲結構和存取方法,如索引的設計;
5、系統實施:組織數據入庫、編制應用程序、試運行;
6、運行維護:系統投入運行,長期的維護工作。
『叄』 .資料庫設計分為幾個階段,各階段的任務是什麼
資料庫設計分為6個階段,各階段的任務如下:
1.需求分析階段:准確了解與分析用戶需求(包括數據與處理);
2.概念結構設計階段:通過對用戶需求進行綜合、歸納與抽象,形成一個獨立於具體DBMS的概念模型;
3.邏輯結構設計階段:將概念結構轉換為某個DBMS所支持的數據模型,對其進行優化;
4.資料庫物理設計階段:為邏輯數據模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法);
5.資料庫實施階段:運用DBMS提供的數據語言、工具及宿主語言,根據邏輯設計和物理設計的結果
,建立資料庫,編制與調試應用程序,組織數據入庫,並進行試運行;
6.資料庫運行和維護階段:資料庫應用系統經過試運行後即可投入正式運行。
資料庫的定義:
資料庫是依照某種數據模型組織起來並存放二級存儲器中的數據集合。這種數據集合具有如下特點:盡可能不重復,以最優方式為某個特定組織的多種應用服務,其數據結構獨立於使用它的應用程序,對數據的增、刪、改和檢索由統一軟體進行管理和控制。從發展的歷史看,資料庫是數據管理的高級階段,它是由文件管理系統發展起來的。
資料庫的性質:
1、整體性:資料庫是一個單位或是一個應用領域的通用數據處理系統,他存儲的是屬於企業和事業部門、團體和個人的有關數據的集合。資料庫中的數據是從全局觀點出發建立的,他按一定的數據模型進行組織、描述和存儲。其結構基於數據間的自然聯系,從而可提供一切必要的存取路徑,且數據不再針對某一應用,而是面向全組織,具有整體的結構化特徵。
2、共享性:資料庫中的數據是為眾多用戶所共享其信息而建立的,已經擺脫了具體程序的限制和制約。不同的用戶可以按各自的用法使用資料庫中的數據;多個用戶可以同時共享資料庫中的數據資源,即不同的用戶可以同時存取資料庫中的同一個數據。數據共享性不僅滿足了各用戶對信息內容的要求,同時也滿足了各用戶之間信息通信的要求。
資料庫軟體
『肆』 資料庫設計主要包括哪幾部分,分別包括哪些內容
資料庫設計主要包括需求分析、概念結構設計、邏輯結構設計、物理結構設計、資料庫的實施和資料庫的運行和維護,具體內容如下:
1、需求分析
內容:調查和分析用戶的業務活動和數據的使用情況,弄清所用數據的種類、范圍、數量以及它們在業務活動中交流的情況,確定用戶對資料庫系統的使用要求和各種約束條件等,形成用戶需求規約。
2、概念設計
內容:對用戶要求描述的現實世界,通過對其中諸處的分類、聚集和概括,建立抽象的概念數據模型。這個概念模型應反映現實世界各部門的信息結構、信息流動情況、信息間的互相制約關系以及各部門對信息儲存、查詢和加工的要求等。
3、邏輯設計
內容:主要工作是將現實世界的概念數據模型設計成資料庫的一種邏輯模式,即適應於某種特定資料庫管理系統所支持的邏輯數據模式。與此同時,可能還需為各種數據處理應用領域產生相應的邏輯子模式。這一步設計的結果就是所謂「邏輯資料庫」。
4、物理設計
內容:根據特定資料庫管理系統所提供的多種存儲結構和存取方法等依賴於具體計算機結構的各項物理設計措施,對具體的應用任務選定最合適的物理存儲結構(包括文件類型、索引結構和數據的存放次序與位邏輯等)、存取方法和存取路徑等。
5、驗證設計
內容:收集數據並具體建立一個資料庫,運行一些典型的應用任務來驗證資料庫設計的正確性和合理性。一般,一個大型資料庫的設計過程往往需要經過多次循環反復。當設計的某步發現問題時,可能就需要返回到前面去進行修改。
6、運行與維護設計
內容:在資料庫系統正式投入運行的過程中,必須不斷地對其進行調整與修改。除了關系型資料庫已有一套較完整的數據範式理論可用來部分地指導資料庫設計之外,尚缺乏一套完善的資料庫設計理論、方法和工具,以實現資料庫設計的自動化或互動式的半自動化設計。
(4)資料庫的物理設計主要考慮什麼問題擴展閱讀:
重要性
1、有利於資源節約
對計算機軟體資料庫設計加以重視不僅可減少軟體後期的維修,達到節約人力與物力的目的,同時還有利於軟體功能的高效發揮。
2、有利於軟體運行速度的提高
高水平的資料庫設計可滿足不同計算機軟體系統對於運行速度的需求,而且還可充分發揮並實現系統功能。計算機軟體性能提高後,系統發出的運行指令在為用戶提供信息時也將更加快速有效,軟體運行速度自然得以提高。
3、有利於軟體故障的減少
加強資料庫設計可有效減少軟體故障的發生幾率,推動計算機軟體功能的實現。
『伍』 MYSQL資料庫的物理設計都包括哪些內容,怎麼設計
Log File物理結構
log block結構分為日誌頭段、日誌記錄、日誌尾部
Block Header,佔用12位元組
Data部分
Block tailer,佔用4位元組
Block Header
這個部分是每個Block的頭部,主要記錄的塊的信息
Block Number,表示這是第幾個block,佔用4位元組,是通過LSN計算得來的,佔用4位元組
Block data len,表示該block中有多少位元組已經被使用了,佔用2位元組
First Rec offet,表示該block中作為第一個新的mtr開始的偏移量,佔用2位元組
Checkpoint number,表示該log block最後被寫入時的檢查點的值,佔用4位元組
『陸』 資料庫的物理結構設計指的是什麼
Log File物理結構
log block結構分為日誌頭段、日誌記錄、日誌尾部
Block Header,佔用12位元組
Data部分
Block tailer,佔用4位元組
Block Header
這個部分是每個Block的頭部,主要記錄的塊的信息
Block Number,表示這是第幾個block,佔用4位元組,是通過LSN計算得來的,佔用4位元組
Block data len,表示該block中有多少位元組已經被使用了,佔用2位元組
First Rec offet,表示該block中作為第一個新的mtr開始的偏移量,佔用2位元組
Checkpoint number,表示該log block最後被寫入時的檢查點的值,佔用4位元組
『柒』 資料庫邏輯設計和物理設計包含哪些內容
資料庫邏輯設計是將概念設計中的ER圖,抽象成關系模型,並滿足第三範式如
學生(學號,姓名,性別)並在主鍵上用下劃線標識,
資料庫物理設計是將邏輯設計中的關系設計成表,並將你、表結構設計好
『捌』 資料庫如何設計
資料庫設計的基本步驟
按照規范設計的方法,考慮資料庫及其應用系統開發全過程,將資料庫設計分為以下6個階段
1.需求分析
2.概念結構設計
3.邏輯結構設計
4.物理結構設計
5.資料庫實施
6.資料庫的運行和維護
資料庫設計通常分為6個階段1分析用戶的需求,包括數據、功能和性能需求;2概念結構設計:主要採用E-R模型進行設計,包括畫E-R圖;3邏輯結構設計:通過將轉換成表,實現從E-R模型到關系模型的轉換;4:主要是為所設計的資料庫選擇合適的和存取路徑;5資料庫的實施:包括編程、測試和試運行;6資料庫運行與維護:系統的運行與資料庫的日常維護。),主要討論其中的第3個階段,即邏輯設計。
在資料庫設計過程中,需求分析和概念設計可以獨立於任何資料庫管理系統進行,邏輯設計和物理設計與選用的DAMS密切相關。
1.需求分析階段(常用自頂向下)
進行資料庫設計首先必須准確了解和分析用戶需求(包括數據與處理)。需求分析是整個設計過程的基礎,也是最困難,最耗時的一步。需求分析是否做得充分和准確,決定了在其上構建資料庫大廈的速度與質量。需求分析做的不好,會導致整個資料庫設計返工重做。
需求分析的任務,是通過詳細調查現實世界要處理的對象,充分了解原系統工作概況,明確用戶的各種需求,然後在此基礎上確定新的系統功能,新系統還得充分考慮今後可能的擴充與改變,不僅僅能夠按當前應用需求來設計。
調查的重點是,數據與處理。達到信息要求,處理要求,安全性和完整性要求。
分析方法常用SA(Structured Analysis) 結構化分析方法,SA方法從最上層的系統組織結構入手,採用自頂向下,逐層分解的方式分析系統。
數據流圖表達了數據和處理過程的關系,在SA方法中,處理過程的處理邏輯常常藉助判定表或判定樹來描述。在處理功能逐步分解的同事,系統中的數據也逐級分解,形成若干層次的數據流圖。系統中的數據則藉助數據字典(data dictionary,DD)來描述。數據字典是系統中各類數據描述的集合,數據字典通常包括數據項,數據結構,數據流,數據存儲,和處理過程5個階段。
2.概念結構設計階段(常用自底向上)
概念結構設計是整個資料庫設計的關鍵,它通過對用戶需求進行綜合,歸納與抽象,形成了一個獨立於具體DBMS的概念模型。
設計概念結構通常有四類方法:
自頂向下。即首先定義全局概念結構的框架,再逐步細化。
自底向上。即首先定義各局部應用的概念結構,然後再將他們集成起來,得到全局概念結構。
逐步擴張。首先定義最重要的核心概念結構,然後向外擴張,以滾雪球的方式逐步生成其他的概念結構,直至總體概念結構。
混合策略。即自頂向下和自底向上相結合。
3.邏輯結構設計階段(E-R圖)
邏輯結構設計是將概念結構轉換為某個DBMS所支持的數據模型,並將進行優化。
在這階段,E-R圖顯得異常重要。大家要學會各個實體定義的屬性來畫出總體的E-R圖。
各分E-R圖之間的沖突主要有三類:屬性沖突,命名沖突,和結構沖突。
E-R圖向關系模型的轉換,要解決的問題是如何將實體性和實體間的聯系轉換為關系模式,如何確定這些關系模式的屬性和碼。
4.物理設計階段
物理設計是為邏輯數據結構模型選取一個最適合應用環境的物理結構(包括存儲結構和存取方法)。
首先要對運行的事務詳細分析,獲得選擇物理資料庫設計所需要的參數,其次,要充分了解所用的RDBMS的內部特徵,特別是系統提供的存取方法和存儲結構。
常用的存取方法有三類:1.索引方法,目前主要是B+樹索引方法。2.聚簇方法(Clustering)方法。3.是HASH方法。
5.資料庫實施階段
資料庫實施階段,設計人員運營DBMS提供的資料庫語言(如sql)及其宿主語言,根據邏輯設計和物理設計的結果建立資料庫,編制和調試應用程序,組織數據入庫,並進行試運行。
6.資料庫運行和維護階段
資料庫應用系統經過試運行後,即可投入正式運行,在資料庫系統運行過程中必須不斷地對其進行評價,調整,修改。
資料庫設計5步驟
Five Steps to design the Database
1.確定entities及relationships
a)明確宏觀行為。資料庫是用來做什麼的?比如,管理雇員的信息。
b)確定entities。對於一系列的行為,確定所管理信息所涉及到的主題范圍。這將變成table。比如,僱用員工,指定具體部門,確定技能等級。
c)確定relationships。分析行為,確定tables之間有何種關系。比如,部門與雇員之間存在一種關系。給這種關系命名。
d)細化行為。從宏觀行為開始,現在仔細檢查這些行為,看有哪些行為能轉為微觀行為。比如,管理雇員的信息可細化為:
· 增加新員工
· 修改存在員工信息
· 刪除調走的員工
e)確定業務規則。分析業務規則,確定你要採取哪種。比如,可能有這樣一種規則,一個部門有且只能有一個部門領導。這些規則將被設計到資料庫的結構中。
====================================================================
範例:
ACME是一個小公司,在5個地方都設有辦事處。當前,有75名員工。公司准備快速擴大規模,劃分了9個部門,每個部門都有其領導。
為有助於尋求新的員工,人事部門規劃了68種技能,為將來人事管理作好准備。員工被招進時,每一種技能的專業等級都被確定。
定義宏觀行為
一些ACME公司的宏觀行為包括:
● 招聘員工
● 解僱員工
● 管理員工個人信息
● 管理公司所需的技能信息
● 管理哪位員工有哪些技能
● 管理部門信息
● 管理辦事處信息
確定entities及relationships
我們可以確定要存放信息的主題領域(表)及其關系,並創建一個基於宏觀行為及描述的圖表。
我們用方框來代表table,用菱形代表relationship。我們可以確定哪些relationship是一對多,一對一,及多對多。
這是一個E-R草圖,以後會細化。
細化宏觀行為
以下微觀行為基於上面宏觀行為而形成:
● 增加或刪除一個員工
● 增加或刪除一個辦事處
● 列出一個部門中的所有員工
● 增加一項技能
● 增加一個員工的一項技能
● 確定一個員工的技能
● 確定一個員工每項技能的等級
● 確定所有擁有相同等級的某項技能的員工
● 修改員工的技能等級
這些微觀行為可用來確定需要哪些table或relationship。
確定業務規則
業務規則常用於確定一對多,一對一,及多對多關系。
相關的業務規則可能有:
● 現在有5個辦事處;最多允許擴展到10個。
● 員工可以改變部門或辦事處
● 每個部門有一個部門領導
● 每個辦事處至多有3個電話號碼
● 每個電話號碼有一個或多個擴展
● 員工被招進時,每一種技能的專業等級都被確定。
● 每位員工擁有3到20個技能
● 某位員工可能被安排在一個辦事處,也可能不安排辦事處。
2.確定所需數據
要確定所需數據:
a)確定支持數據
b)列出所要跟蹤的所有數據。描述table(主題)的數據回答這些問題:誰,什麼,哪裡,何時,以及為什麼
c)為每個table建立數據
d)列出每個table目前看起來合適的可用數據
e)為每個relationship設置數據
f)如果有,為每個relationship列出適用的數據
確定支持數據
你所確定的支持數據將會成為table中的欄位名。比如,下列數據將適用於表Employee,表Skill,表Expert In。
Employee
Skill
Expert In
ID
ID
Level
Last Name
Name
Date acquired
First Name
Description
Department
Office
Address
如果將這些數據畫成圖表,就像:
3.標准化數據
標准化是你用以消除數據冗餘及確保數據與正確的table或relationship相關聯的一系列測試。共有5個測試。本節中,我們將討論經常使用的3個。
關於標准化測試的更多信息,請參考有關資料庫設計的書籍。
標准化格式
標准化格式是標准化數據的常用測試方式。你的數據通過第一遍測試後,就被認為是達到第一標准化格式;通過第二遍測試,達到第二標准化格式;通過第三遍測試,達到第三標准化格式。
如何標准格式:
1. 列出數據
2. 為每個表確定至少一個鍵。每個表必須有一個主鍵。
3. 確定relationships的鍵。relationships的鍵是連接兩個表的鍵。
4. 檢查支持數據列表中的計算數據。計算數據通常不保存在資料庫中。
5. 將數據放在第一遍的標准化格式中:
6. 從tables及relationships除去重復的數據。
7. 以你所除去數據創建一個或更多的tables及relationships。
8. 將數據放在第二遍的標准化格式中:
9. 用多於一個以上的鍵確定tables及relationships。
10. 除去只依賴於鍵一部分的數據。
11. 以你所除去數據創建一個或更多的tables及relationships。
12. 將數據放在第三遍的標准化格式中:
13. 除去那些依賴於tables或relationships中其他數據,並且不是鍵的數據。
14. 以你所除去數據創建一個或更多的tables及relationships。
數據與鍵
在你開始標准化(測試數據)前,簡單地列出數據,並為每張表確定一個唯一的主鍵。這個鍵可以由一個欄位或幾個欄位(連鎖鍵)組成。
主鍵是一張表中唯一區分各行的一組欄位。Employee表的主鍵是Employee ID欄位。Works In relationship中的主鍵包括Office Code及Employee ID欄位。給資料庫中每一relationship給出一個鍵,從其所連接的每一個table中抽取其鍵產生。
RelationShip
Key
Office
*Office code
Office address
Phone number
Works in
*Office code
*Employee ID
Department
*Department ID
Department name
Heads
*Department ID
*Employee ID
Assoc with
*Department ID
*EmployeeID
Skill
*Skill ID
Skill name
Skill description
Expert In
*Skill ID
*Employee ID
Skill level
Date acquired
Employee
*Employee ID
Last Name
First Name
Social security number
Employee street
Employee city
Employee state
Employee phone
Date of birth
將數據放在第一遍的標准化格式中
● 除去重復的組
● 要測試第一遍標准化格式,除去重復的組,並將它們放進他們各自的一張表中。
● 在下面的例子中,Phone Number可以重復。(一個工作人員可以有多於一個的電話號碼。)將重復的組除去,創建一個名為Telephone的新表。在Telephone與Office創建一個名為Associated With的relationship。
將數據放在第二遍的標准化格式中
● 除去那些不依賴於整個鍵的數據。
● 只看那些有一個以上鍵的tables及relationships。要測試第二遍標准化格式,除去那些不依賴於整個鍵的任何數據(組成鍵的所有欄位)。
● 在此例中,原Employee表有一個由兩個欄位組成的鍵。一些數據不依賴於整個鍵;例如,department name只依賴於其中一個鍵(Department ID)。因此,Department ID,其他Employee數據並不依賴於它,應移至一個名為Department的新表中,並為Employee及Department建立一個名為Assigned To的relationship。
將數據放在第三遍的標准化格式中
● 除去那些不直接依賴於鍵的數據。
● 要測試第三遍標准化格式,除去那些不是直接依賴於鍵,而是依賴於其他數據的數據。
● 在此例中,原Employee表有依賴於其鍵(Employee ID)的數據。然而,office location及office phone依賴於其他欄位,即Office Code。它們不直接依賴於Employee ID鍵。將這組數據,包括Office Code,移至一個名為Office的新表中,並為Employee及Office建立一個名為Works In的relationship。
4.考量關系
當你完成標准化進程後,你的設計已經差不多完成了。你所需要做的,就是考量關系。
考量帶有數據的關系
你的一些relationship可能集含有數據。這經常發生在多對多的關系中。
遇到這種情況,將relationship轉化為一個table。relationship的鍵依舊成為table中的鍵。
考量沒有數據的關系
要實現沒有數據的關系,你需要定義外部鍵。外部鍵是含有另外一個表中主鍵的一個或多個欄位。外部鍵使你能同時連接多表數據。
有一些基本原則能幫助你決定將這些鍵放在哪裡:
一對多在一對多關系中,「一」中的主鍵放在「多」中。此例中,外部鍵放在Employee表中。
一對一在一對一關系中,外部鍵可以放進任一表中。如果必須要放在某一邊,而不能放在另一邊,應該放在必須的一邊。此例中,外部鍵(Head ID)在Department表中,因為這是必需的。
多對多在多對多關系中,用兩個外部鍵來創建一個新表。已存的舊表通過這個新表來發生聯系。
5.檢驗設計
在你完成設計之前,你需要確保它滿足你的需要。檢查你在一開始時所定義的行為,確認你可以獲取行為所需要的所有數據:
● 你能找到一個路徑來等到你所需要的所有信息嗎?
● 設計是否滿足了你的需要?
● 所有需要的數據都可用嗎?
如果你對以上的問題都回答是,你已經差不多完成設計了。
最終設計
最終設計看起來就像這樣:
設計資料庫的表屬性
資料庫設計需要確定有什麼表,每張表有什麼欄位。此節討論如何指定各欄位的屬性。
對於每一欄位,你必須決定欄位名,數據類型及大小,是否允許NULL值,以及你是否希望資料庫限制欄位中所允許的值。
選擇欄位名
欄位名可以是字母、數字或符號的任意組合。然而,如果欄位名包括了字母、數字或下劃線、或並不以字母打頭,或者它是個關鍵字(詳見關鍵字表),那麼當使用欄位名稱時,必須用雙引號括起來。
為欄位選擇數據類型
SQL Anywhere支持的數據類型包括:
整數(int, integer, smallint)
小數(decimal, numeric)
浮點數(float, double)
字元型(char, varchar, long varchar)
二進制數據類型(binary, long binary)
日期/時間類型(date, time, timestamp)
用戶自定義類型
關於數據類型的內容,請參見「SQL Anywhere數據類型」一節。欄位的數據類型影響欄位的最大尺寸。例如,如果你指定SMALLINT,此欄位可以容納32,767的整數。INTEGER可以容納2,147,483,647的整數。對CHAR來講,欄位的最大值必須指定。
長二進制的數據類型可用來在資料庫中保存例如圖像(如點陣圖)或者文字編輯文檔。這些類型的信息通常被稱為二進制大型對象,或者BLOBS。
關於每一數據類型的完整描述,見「SQL Anywhere數據類型」。
『玖』 資料庫設計步驟及其設計過程中的注意事項是什麼謝謝!
1、需求分析:了解用戶的數據需求、處理需求、安全性及完整性要求;
2、概念設計:通過數據抽象,設計系統概念模型,一般為E-R模型;
3、邏輯結構設計:設計系統的模式和外模式,對於關系模型主要是基本表和視圖;
4、物理結構設計:設計數據的存儲結構和存取方法,如索引的設計;
5、系統實施:組織數據入庫、編制應用程序、試運行;
6、運行維護:系統投入運行,長期的維護工作。設計時應注意的問題1、規范命名。所有的庫名、表名、域名必須遵循統一的命名規則,並進行必要說明,以方便設計、維護、查詢。 2.控制欄位的引用。在設計時,可以選擇適當的資料庫設計管理工具,以方便開發人員的分布式設計和數據小組的集中審核管理。
『拾』 資料庫邏輯結構設計和物理結構設計
一般可將資料庫結構設計分為四個階段,即需求分析、概念結構設計、邏輯結構設計和物理設計。
邏輯結構設計的任務是把概念模型,例如E-R圖轉換成所選用的具體的DBMS所支持的數據模型。在設計關系模型時,為了將來查詢統計的需要,也有些是為了標准化的需要,對於某些屬性要採用代碼。
對一個給定的邏輯數據模型求取與應用需要相適應的物理結構的過程稱為資料庫物理設計。這種物理結構主要指資料庫在物理設備上的存儲結構和存取方法。對於關系資料庫系統,數據的存儲結構與存取方法由DBMS決定並自動實現,我們物理設計主要考慮的是在網路環境下資料庫的分布及索引結構。