標準化(主鍵的選擇)
它正式的過程是一步一步審查實體的屬性,為了避免異常獨特的序列的增加,刪除和修改觀察。
目標
1)最小的重複和不一致的地方;
2)易於處理數據庫;
3)的可維護性信息系統。
第一範式(1NF)
一個關係是在1NF,只有所有的基礎領域,如果只包含唯一值(不包含重複的組)。
程序:
a)確定該實體的主鍵;
b)確定的重複組,並刪除它從身體;
c)建立一個新的實體的主鍵重複之前的實體和組。
新的實體的主鍵,將獲得由主鍵的原始實體和重複組串聯。
例如:請求
(Numero_pedido; data_pedido; cod_cliente; customer_name; endereco_cliente;(codigo_produto; numero_produto; quantidade_produto; preco_produto; total_produto)total_pedido)
請求=>(numero_pedido; data_pedido; cod_cliente; customer_name; endereco_cliente)
Item_Pedido =>(numero_pedido; cod_produto; nome_produto;數量; preco_produto; total_produto)
函數依賴
一個給定的比R,屬性X是功能依賴於R X r屬性,只需要兩個R序列結合的X值時,他們還與X的值相匹配
第二範式(2NF)
當且僅當它是第一個和所有非鍵屬性都完全依賴主鍵(取決於對整個鍵,不只是它的一部分)的一個關係R是2NF。
程序:
a)確定的屬性功能是不依賴整個主鍵。
B)刪除確定了所有這些屬性的實體,並與他們建立一個新的實體。
新的實體的主鍵,將其中的屬性移除這些功能依賴的屬性的屬性。
產品=>(cod_produto,nome_produto,preco_produto)
傳遞依賴
設A,B和C三個十一個實體的屬性 c根據是否取決於對C B和B,然後說傳遞依賴A。
第三範式(3NF)
一個關係r是只要你是在2NF和每個非鍵屬性依賴於主鍵是不傳遞(每個屬性是功能只有“的組件或所有的非鍵屬性相互獨立的主鍵屬性依賴)在3NF 。
程序:
a)確定所有功能依賴於其他非鍵屬性的屬性;
二)將其刪除,並創建一個具有相同的新的實體。
新的實體的主鍵,將刪除屬性功能依賴屬性。
客戶(cod_cliente; customer_name; endereco_cliente)
生產(cod_produto的; nome_produto; preco_produto)
請求(numero_pedido; data_pedido;






























還沒有評論。