Oracle數據庫表和表列講解


如果將數據庫比作一個存儲東西的儲物櫃,表就像是儲物櫃上的各個抽屜,每個抽屜分門別類地存放了各種數據,在設計和規划數據庫時,表的定義和規划往往相當重要,良好的表設計決定了程序人員編寫程序的便利性與數據庫的整體性能。現在講理解Oracle中表的結構和設計的指南。

1、表和實體

曾經介紹過實體的概念。實體是對現實世界的抽象,在設計一個數據庫時,首先需要考慮數據庫需要涉及的實體。比如一個倉庫數據庫。如果進行現實世界的實體划分,可以具有如下實體:

  • 倉庫,存儲倉庫名稱、位置。
  • 倉庫管理員,存儲管理倉庫的人員信息,比如工號、姓名、年齡等。
  • 倉庫類別,存儲倉庫的類型,比如是成品倉、半成品倉或原材料倉。
  • 貨位,存儲倉庫中物品的貨位信息,比如貨位位置、結構等。

在設計與規划表結構時,應該實現從現實世界的角度來分辨客觀事物,將其划分為實體,然后規划出各個實體之間的關系,也就是說一般先繪制中實體關系(E-R)圖,這個過程稱為“數據庫建模”。有了實體關系圖后,數據庫管理人員就可以進行表的創建,以倉庫管理員中的倉管員領料為例,回執出了如圖1.1的實體。


在圖中矩形表示實體,橢圓形表示實體的屬性,菱形表示實體與實體之間的關系。關系型數據庫管理系統將實體轉換為二維結構的二維表,表由表行和表列組成。表列帶哦表實體中的屬性,而表行則用來存儲實體屬性的具體的數值,一個數據庫表的結構通常如表1.1所示。


可以看到,實體向表的轉換過程就是對二維表的轉換過程,整個表由表行和表列組成,表列存儲了實體的屬性,多個表列組成了表的實體存儲結構,一般提及表的結構時,實際上就是之的表列的組成。表行根據表列的定義具體的存儲數據,形成一個具體的表存儲結構。

在將實體轉化為表時,一般建議通過3個步驟進行:

(1)將實體中的屬性定義成表列,根據屬性的不同性質為表的列指定不同的數據庫類型。比如姓名一般存儲字符類型的數據,年齡一般存儲的是數據類型的數據。

(2)根據E-R關系圖中的實體屬性和關系,為表添加約束。比如姓名是唯一的,name可以添加主鍵約束;如果必須要指定性別,可以添加非空約束;表與表之間的關系可以通過外鍵約束來進行指定。

(3)在定義了表和表列之后,根據表列添加表行,實現一個具有二維結構的數據表。

在設計表和表列時,必須要符合在之前介紹的數據庫范式設計,因此表的設計也是一個返回迭代的過程,需要數據中的設計人員進行多次反復迭帶來實現結構最優化的數據庫。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM