SQL Server從入門到精通(一)

數據庫基礎和數據庫設計

首先先介紹一下自己——阿豬,一名軟件工程系大二的小學妹,正在努力學習,但是老喜歡偷懶,爲了督促自己從今天起開始寫博客 ,先來學習SQL Server看着我的博客一起開學習吧,共同進步啊。

要學習數據庫首先我們來了解一下什麼是數據庫
數據庫:存儲在一起被集中管理的相關數據的集合
特別提醒:如果你對數據庫原理比較熟悉,那底下的內容可以略過,如果你沒有系統的接觸過數據庫原理那就老老實實跟着阿豬一起學習吧,一步一個腳印走穩了
好了下面我們進入正式的學習

1.1數據庫系統

數據庫系統包括:數據庫、數據庫管理系統以及使用數據庫的用戶和支撐數據庫管理系統運行的軟硬件。從用戶角度來看數據庫系統分爲單用戶結構、主從式結構(B/S)、客戶—服務器結構(CS)和分佈式結構
1.1.1數據、信息、數據庫
1.數據:(Data)描述事物的符號記錄 如:數據數值,聲音、圖像等。
2.信息:(Information)具有一定含義的、經過加工的、對決策有價值的數據。特點:無限性、共享性、創造性。信息是有用的數據,數據是信息的表現形式。
3.數據庫:(DataBase,DB)長期存放在計算機內的、有組織的、可共享的數據集合。
1.1.2數據庫管理系統(DBMS)
他是位於用戶和操作系統之間的一層數據管理軟件,主要功能如下:
1.數據定義功能:提供數據定義語言DDL
2.數據操縱功能:提供數據操縱語言DML(查詢、插入、刪除、修改)
3.數據庫的運行管理:數據庫建立、運行、維護
4.數據庫的建立和維護功能:數據庫初始數據的輸入、轉換功能、性能監視等等

1.2數據庫系統結構

1.2.1數據庫系統模式的概念
模式(Schema):數據庫中全體數據的邏輯結構和特徵的描述,他只涉及型的描述,不涉及具體的值。模式中一個具體的值稱爲模式的一個實例(Intance)
注意:模式反應的是數據的結構及其聯繫,而實例反應的是數據庫某一時刻的狀態
1.2.2數據庫系統的三級模式結構
數據庫系統結構分爲三層:內模式、概念模式(模式)和外模式

1.概念模式(所有用戶的公共視圖):

1.數據庫只有一個概念模式。由許多記錄類型的值組成如:部門記錄值的集合、職工記錄值的集合等等。在DBMS中描述概念形式的數據定義語言稱“模式DDL”(Schema Data Definition Language)
2. 外模式(用戶可見的視圖):也叫子模式(Subschema)或用戶模式。一個系統有多個外模式。用戶數據操縱語言(DML)對數據庫進行操縱,實際上是對外模式的外部記錄進行操作。
3. 內模式(存儲模式):數據物理結構和存儲方式的描述,一個數據庫只有一個內模式
1.2.3數據庫的二級映像功能與數據獨立性
1.外模式/概念模式映像:用於定義外模式和概念模式之間的對應性。即外部記錄和內部記錄間的關係。
2.模式/內模式映像:用於定義概念模式和內模式間的對應性,實現兩級的數據結構數據組成等的映像對應關係。
1.2.4數據庫系統用戶結構
(阿豬犯懶了所以1.2.4用其他小夥伴的資料了,求原諒)

  1. 單用戶數據庫系統
    這種系統中,整個數據庫系統(包括應用程序、DBMS、數據)都裝在—臺計算機上,由一個用戶獨佔,不同機器之間不能共享數據。
    例如,一個企業的各個部門都使用本部門的機器來管理本部門的數據,各個部門的機器是獨立的。由於不同部門之間不能共享數據,因此企業內部存在大量的冗餘數據。例如,人事部門、會計部門、技術部門必須重複存放每一名職工的一些基本信息(職工號、姓名等)。

  2. 主從式結構
    主從式結構是指一個主機帶多個終端的多用戶結構。在這種結構中,數據庫系統(包括應用程序、DBMS、數據)都集中存放在主機上,所有處理任務都由主機來完成,各個用戶通過主機的終端併發地存取數據庫,共享數據資源。
    主從式結構的優點是簡單,數據易於管理與維護。缺點是當終端用戶數目增加到一定程度後,主機的任務會過分繁重,成爲瓶頸,從而使系統性能大幅度下降。另外當主機出現故障時,整個系統都不能使用,因此係統的可靠性不高。

  3. 分佈式結構
    分佈式結構是指數據庫中的數據在邏輯上是一個整體,但物理地分佈在計算機網絡的不同節點上。網絡中的每個節點都可以獨立處理本地數據庫中的數據,執行局部應用:同時也可以同時存取和處理多個異地數據庫中的數據,執行全局應用。
    分佈式結構的數據庫系統是計算機網絡發展的必然產物,它適應了地理上分散的公司、團體和組織對於數據庫應用的需求。但數據的分佈存放,給數據的處理、管理與維護帶來困難。此外,當用戶需要經常訪問遠程數據時,系統效率會明顯地受到網絡交通的制約

  4. 客戶/服務器結構
    主從式數據庫系統中的主機和分佈式數據庫系統中的每個節點機是一個通用計算機,既執行DBMS功能又執行應用程序。隨着工作站功能的增強和廣泛使用,人們開始把DBMS功能和應用分開,網絡中某個(些)節點上的計算機專門用於執行DBMS功能,稱爲數據庫服務器,簡稱服務器;其他節點上的計算機安裝DBMS的外圍應用開發工具,支持用戶的應用,稱爲客戶機,這就是客戶/服務器結構的數據庫系統。
    在客戶/服務器結構中,客戶端的用戶請求被傳送到數據庫服務器,數據庫服務器進行處理後,只將結果返回給用戶(而不是整個數據),從而顯著減少了網絡上的數據傳輸量,提高了系的性能、吞吐量和負載能力;另一方面,客戶/服務器結構的數據庫往往更加開放。客戶與服務器一般都能在多種不同的硬件和軟件平臺上運行,可以使用不同廠商的數據庫應用開發工具,應用程序具有更強的可移植性,同時也可以減少軟件維護開銷。
    客戶/服務器數據庫系統可以分爲集中的服務器結構和分佈的服務器結構。前者在網絡中僅有一臺數據庫服務器,而客戶服務器是多臺。後者在網絡中有多臺數據庫服務器。分佈的服務器結構是客戶/服務器與分佈式數據庫的結合。
    與主從式結構相似,在集中的服務器結構中,一個數據庫服務器要爲衆多的客戶服務,往往容易成爲瓶頸,制約系統的性能。
    與分佈式結構相似,在分佈的服務器結構中,數據分佈在不同的服務器上,從而給數據的處理、管理與維護帶來困難。

原文地址 :http://blog.sina.com.cn/s/blog_772215060100rk0y.html.

1.3關係數據庫及其設計

阿豬回來了保證不偷懶了。。。。。。(就當沒看見)
1.3.1關係數據庫
一個關係就是一張二維表,由行和列組成 如下:

姓名 性別
張三
李四

注意:一行就是一個單元組(也稱爲記錄)一列就是一個屬性起一個名叫屬性名(也叫字段名)
1.3.2關係數據庫設計
設計是很重要的直接影響了數據庫管理系統對數據的控制質量那就從以下幾個方面來考慮
1.需求分析
2.概念結構設計
3.邏輯結構設計
4.數據庫表的優化與規範化
5.數據庫表間的聯繫
這裏既不詳細介紹瞭如果愛學習向詳細瞭解可以參照課本,主要原因小阿豬懶了。。。

1.3.3關係數據庫的完整性
完整性的約束防止的是對數據的以外破壞,從而降低應用程序的複雜性
1.實體完整性約束(PRIMARY):主關鍵字段的各屬性值不能取空值
2.唯一性約束(UNIQUE):在約束的字段不能有相同的值出現,如學號
3.參照完整性約束(FOREING):外關鍵字的值必須來源於被參照關係表的取值或爲空值。外關鍵字:F是基本關係R的一個或一種屬性,但不是關係R的關鍵字
估計這句話還是沒有理解,那阿豬就來舉一個例子吧
選課表中的學號和開課號字段單獨都不是選課表的關鍵字,但是,學號是學生表的主關鍵字,開課號是開課表的主關鍵字,所以選課表的學號相對於學生表就是外關鍵字,參照完整性約束要求選課表中的學號值必須在學生表的學號中可以找到,否則就只能取空值。
1.3學生表

學號 姓名 性別
S1110 張三
S1112 李四

1.31選課表

學號 開課號 成績
S1110 0101 93
S1112 0102 95

4.檢查(CHECK)和默認值(DEFAULT)約束

1.4教學管理數據庫操作任務

這一塊不需要了解如果想了解可以參考書查看
好了這就是初步學習的第一章,喜歡的來用贊贊來鼓勵一下阿豬嘻嘻嘻

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章