1. 程式人生 > >資料庫三大正規化及sql的基礎

資料庫三大正規化及sql的基礎

第一正規化:確保每列的原子性

第二正規化:每個表中的每列都與主鍵關聯

第三正規化:每列與主鍵直接關聯,而不是間接關聯。

正規化是用來確定表是否需要拆分,列是否需要拆分。 資料庫儲存有組織的資料的容器(一個檔案或者是一組檔案)

表是某種特定型別資料的結構化清單。(同一種類型)。

模式schema是關於資料庫和表的佈局及特性的資訊。

列column,表中的一個欄位,所有表都是由一個或者多個列組成。 (如何正確的分解列非常重要,不僅是由於第一正規化,而且當你需要某一個特定的列進行過濾或分類就很重要。)

行row是表中的一條記錄。

主鍵:表中的行應該有一列或者幾列唯一表示自己。 一列(一組列)其值可以唯一標識表中每一行。 應該總是定義主鍵。 主鍵的條件: 1、任意兩行都不能具有相同主鍵值。 2、每一行都必須有主鍵(主鍵值不能為NULL) 3、主鍵列值不能修改或更新。 4、主鍵值不能重用。(例如當我們刪除了某一行時,接下來新插入的行中不能用這個被刪除的主鍵值)

聯合主鍵用一組列作為主鍵。

SQL語句和大小寫 對SQL語句關鍵字用大寫,對錶名列名使用小寫,使得程式碼易於閱讀和除錯。

檢索單列
SELECT Prod_name FROM Products;
檢索多列
SELECT prod_id, prod_name, prod_price FROM Products;
SQL語句一般返回的是原始的,無格式的資料。資料的格式化是表示問題而不是檢索問題。

檢索所有的列
SELECT * FROM Products;
不是確定要輸出所有的列時,不要用這個。SQL返回的原始的資料,返回給應用程式讓應用程式去表示。

檢索不同的值
SELECT DISTINCT vend_id FROM Products;


不能部分使用DISTINCT,DISTINCT關鍵字作用於所有列,不僅僅是跟在其後的一列。
這裡寫圖片描述
除非指定的兩列完全一樣,否則所有的行都會被檢索出來的。

限制結果
SELECT prod_name FROM Products LIMIT 5;輸出前5行
SELECT prod_name FROM Products LIMIT 5 OFFSET 5輸出從第6行開始的5行。LIMIT後帶的是返回的行數,OFFSET是指定LIMIT從哪開始。
SELECT prod_name FROM Products LIMIT 5,5;

注意第一個被檢索的是第0行。
SELECT prod_name FROM Products ORDER BY prod_name;


根據字母排序資料。

多列排序
SELECT prod_name, prod_id, prod_price FROM Products ORDER BY prod_price, prod_name;

按列位置排序
SELECT prod_id, prod_price, prod_name FROM Products ORDER BY 2, 3;

指定排序方向
SELECT prod_id, prod_price, prod_name FROM Product ORDER BY prod_price DESC降序。

SELECT prod_id, prod_price, prod_name FROM Products ORDER BY prod_price DESC, prod_name;

prod_price 按照降序;
prod_name按照升序。

字典排序 A被視為與a相同。

相關推薦

資料庫三大正規化sql基礎

第一正規化:確保每列的原子性 第二正規化:每個表中的每列都與主鍵關聯 第三正規化:每列與主鍵直接關聯,而不是間接關聯。 正規化是用來確定表是否需要拆分,列是否需要拆分。 資料庫儲存有組織的資料的容器(一個檔案或者是一組檔案) 表是某種特定型別資料的結構化

資料庫三大正規化事務隔離級別

原文連結:https://www.cnblogs.com/linjiqin/archive/2012/04/01/2428695.html https://www.cnblogs.com/huanongying/p/7021555.html 在實際開發中最為常見的設計正規化有三個: 1.第一正規化(確保

資料庫三大正規化示例

 正規化:英文名稱是 Normal Form,它是英國人 E.F.Codd(關係資料庫的老祖宗)在上個世紀70年代提出關係資料庫模型後總結出來的,正規化是關係資料庫理論的基礎,也是我們在設計資料庫結構過程中所要遵循的規則和指導方法。目前有跡可尋的共有8種正規化,依次是:1NF,2NF,3N

SQL Sever 資料庫視訊 (一) (SQL基礎管理工具)

自考也結束了,接下來應該好好的學習了  接下來總結下資料庫視訊的知識點。 SQL sever基礎知識 SQL 語句的特點:  .功能強大 .操作簡便 .可靠安全性       *(資料庫:  存放

資料庫SQL-資料庫三大正規化簡談

 相信,在學習資料庫知識時,大家都會碰到這個概念問題:資料三大泛式,同時,在面試過程中,可能大部分面試官也會提及這個問題。       首先,看看維基百科對於三大泛式的定義:      資料庫規範化,又稱資料庫或資料庫的正規化、標準化,是資料庫設計中的一系列原理和技術,以減少

python--11、數據庫SQL基礎

基數 名稱 sch lin pack pre block 精確 type 常用命令記錄 查看庫中所有表的引擎 SHOW TABLE STATUS FROM `center_main_db`; 還有一個更簡潔,查詢cmol_system_db庫所有表的存儲引擎\ SELECT

簡述資料庫三大正規化

第一正規化(1NF):原子性 欄位不可再分,否則就不是關係資料庫; 第二正規化(2NF):唯一性 一個表只說明一個事物; 第三正規化(3NF):每列都與主鍵有直接關係,不存在傳遞依賴; PS:第二正規化要遵循第一正規化,第三正規化要遵循第二正規化。   簡單來說: 1NF:列表欄位不可分

資料庫 三大正規化 通俗解釋

一、三大正規化通俗解釋: (1)簡單歸納:   第一正規化(1NF):欄位不可分;  第二正規化(2NF):有主鍵,非主鍵欄位依賴主鍵;  第三正規化(3NF):非主鍵欄位不能相互依賴。 (2)解釋:   1NF:原子性。 欄位不可再分,否則就不是關係資料庫;;  2NF:唯一性 。一個表只說明一個事

MySQL資料庫三大正規化和反正規化

第一正規化(1NF): 資料表中的每一列(欄位),必須是不可拆分的最小單元,也就是確保每一列的原子性。 Table: t_user_info — — — — — —

資料庫三大正規化詳解(通俗易懂)

◆ 第一正規化(1NF):     強調的是列的原子性,即列不能夠再分成其他幾列。考慮這樣一個表:【聯絡人】(姓名,性別,電話)如果在實際場景中,一個聯絡人有家庭電話和公司電話,那麼這種表結構設計就沒有達到 1NF。要符合 1NF 我們只需把列(電話)拆分,即:【聯絡人】(

資料庫三大正規化

資料庫設計三大正規化 為了建立冗餘較小、結構合理的資料庫,設計資料庫時必須遵循一定的規則。在關係型資料庫中這種規則就稱為正規化。正規化是符合某一種設計要求的總結。要想設計一個結構合理的關係型資料庫,必須滿足一定的正規化。 在實際開發中最為常見的設計正規化有三個:

資料庫三大正規化解析

第一正規化(1NF) (必須有主鍵,列不可分) 資料庫表中的任何欄位都是單一屬性的,不可再分 create table aa(id int,NameAge varchar(100))  insert aa values(1,''無限-女 '')  沒有達到第一正規化

Oracle操作筆記——資料庫基本操作SQL命令

文章目錄 單表查詢 查詢結果拼接用|| 條件判斷用CASE WHEN 限制返回的行數用rownum 隨機返回用dbms_random.value() 模糊查詢用% _ \ 對結果排序用ORD

java資料庫三大正規化

引用知乎網友@ 王紅波的回答 一正規化就是屬性不可分割。屬性是什麼?就是表中的欄位。不可分割的意思就按字面理解就是最小單位,不能再分成更小單位了。這個欄位只能是一個值,不能被拆分成多個欄位,否則的話,它就是可分割的,就不符合一正規化。不過能不能分割並沒有絕對的答案,看需求,也就是看你的設計目標而定

關於資料庫三大正規化的理解

三大正規化 1. 列不可分 列到底可不可分,和具體應用有關,不具有絕對性。在某應用中地址可能是不可分的,但在另外一個應用中可能會分為省份,城市,街道等等。 2. 消除部分依賴 假設 用大白話說,就是 對於單列主鍵,肯定不存在部分依賴,一

HIVE瞭解SQL基礎命令

hive(資料倉庫工具) Hive是一個數據倉庫基礎工具在Hadoop中用來處理結構化資料。它架構在Hadoop之上,總歸為大資料,並使得查詢和分析方便。並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行執行。術語“大資料”是大型資料集,其中包括體積龐大,高速,以及各種由與日

簡單理解資料庫三大正規化

最近惡補一些大學的理論知識,感覺久了不看就忘了,在此簡單地總結一下自己理解的正規化。 一、首先簡單介紹一下正規化的歷史: 對於正規化主要是E.F.Codd做了大量的工作,1971~1972年他系統地提出了1NF、2NF和3NF的概念,討論了規範化的問題。1974年,Codd

java面試-資料庫三大正規化

第一正規化第一正規化(1NF)要求資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值。若某一列有多個值,可以將該列單獨拆分成一個實體,新實體和原實體間是一對多的關係。在任何一個關係資料庫中,

MySQL資料庫-三大正規化

第一正規化第一正規化(1NF)要求資料庫表的每一列都是不可分割的基本資料項,同一列中不能有多個值。若某一列有多個值,可以將該列單獨拆分成一個實體,新實體和原實體間是一對多的關係。在任何一個關係資料庫中,第一正規化(1NF)是對關係模式的基本要求,不滿足第一正規化(1NF)的資

資料庫三大正規化詳解

正規化:英文名稱是 Normal Form,它是英國人 E.F.Codd(關係資料庫的老祖宗)在上個世紀70年代提出關係資料庫模型後總結出來的,正規化是關係資料庫理論的基礎,也是我們在設計資料庫結構過程中所要遵循的規則和指導方法。目前有跡可尋的共有8種正規化,依次是:1NF,