資料庫基本觀念
一、基本觀念 1、表(資料表) (1)、索引(索引鍵) 聚集索引(主索引):只有一個 非 聚集索引(次索引):可能多個 (2)、觸發器(觸發程序):存在表架構下,做為資料表操作時(新、更新、刪除)自動觸發動作。 (3)、約束(條件約序):只限於表中存在,當滿足條件時自動執行約束限制,例如性別欄位,只能輸入男或女。 2、數據庫關係圖(資料庫圖表):表與表之間關係圖 3、視圖(檢視) :視圖不存儲數據,而是預先寫好的查詢語句,目的控制用戶顯示數據及安全。 4、可編程性(可程式性)→存儲過程(預存程序)用途: 可減少存儲過程執行代碼之網路存取訊息流量 因有經過優化,減少存取每次運行時間 考量安全性,如穩藏數據庫訊息 存儲過程之間可以彼此調用 5、用戶與角色(登入與伺服器角色) 6、SQL Server 中的對象名 命令: [ServerName.[DataBaseName.[SchemaName.]]] ObjectName SchemaName:預設為dbo,參考資料庫名稱>安全性>結構描述 ObjectName :可以是 Table、View、Function...等名稱 二、資料表連接 1、內部連接: 顯示兩個表有匹配(相交)記錄的資料 select * from A inner join B on A.id = B.id 2、外部連接:分成 左外連接 left join,顯示兩個表有(相交)記錄並顯示左邊的表沒匹配的記錄 右外連接 right join,顯示兩個表有(相交)記錄並顯示右邊的表沒匹配的記錄 全連接 full join,顯示兩個表有(相交)記錄並顯示左右邊的表沒匹配的記錄 PS: 所謂左右邊,指語法設指定時前後關係,如 Form A left join B ,其中A就是左邊,B就是右邊。 在使用連結,盡量使用內部連接,避免使用外部連結,可以避免代碼間的錯誤。 當連結多個表,先執行第一段連結,連結結果再和第二段做連結,以此類推 3、交叉連結: 就是兩個表相乘的和,如A表10筆記錄,B表20筆記錄,算10*20 = 200筆記錄 語法:select * from A cross join B 三、聯合 將第二查詢結果附加在第一個查詢結果未尾,稱為聯合查詢 JOIN 功能將垂直增加,增加更多列 UNION 功能將水平增加,增加更