SQL Server 2008 复习(一)
導入 有關數據庫系統的基本概念
1.信息與數據:
數據(Data)是描述事物的符號記錄,數據的表現形式,可以是文本、圖表、圖形、圖像、聲音、語言、視頻等。
信息(Information)是具有特定意義的數據。
2.“數據”與“信息”、“知識”和“智慧”等概念之間存在一定的區別與聯系。
3 .數據存儲容量單位
4.數據規模與利用率之間的矛盾日益凸顯。
- ? 一方面,數據規模的“存量”和“增量”在快速增長。
- ? 另一方面,缺乏對 “大數據”的開發利用能力。
5.數據模型, 數據的異構性問題
(1)專用格式
與特定應用程序 (及開發語言)相關
docx, pptx,class 等
(2)通用格式
與特定應用程序 (及開發語言)無關的
6.數據分類:結構化數據、非結構化數據與半結構化數據
(1)結構化數據:一般存儲在Oracle或SQL Server等關系型數據庫中
(2)非結構化數據
(3)半結構化數據:適合存儲這類數據的數據庫被稱作“NoSQL”數據庫
7.NoSQL數據庫
“NoSQL”數據庫被稱作下一代的數據庫,具有非關系型,分布式,輕量級,支持水平擴展且一般不保證遵循ACID原則的數據儲存系統。
8.數據加工程度
9.信息技術
10.信息系統
第1章 數據庫系統概論
1.數據庫系統的基本概念
1.1.信息與數據庫
- **數據(**Data)是描述事物的符號記錄
- 信息(Information)是具有特定意義的數據。
- 數據庫
數據庫(Database,DB)是長期存儲在計算機內、有組織、可共享的大量數據的集合。
數據庫中的數據需要創建數據模型來描述,如網絡、層次、關系模型。在數據庫中的數據具有冗余度小、獨立性高和易擴展性的特點。
1.2.數據庫管理系統
數據庫管理系統(Database Management System,DBMS)位于用戶和操作系統之間,是一種操縱和管理數據庫的大型軟件,用于建立、使用和維護數據庫。像Oracle、SQL Server 和DB2都是常用的數據庫管理系統軟件。
DBMS提供了數據定義語言(DDL)、數據操作語言(DML)和應用程序。數據庫管理系統是由多種不同的程序模塊組成,基本數據庫管理系統的系統架構包括4部分。(DCL數據控制語言)
- 存儲管理(Storage Manager)。數據庫管理系統通常會自行配置磁盤空間,將數據存入存儲裝置的數據庫。
- 查詢處理(Query Processor)。負責處理用戶下達的查詢語言命令語句,可以再細分成多個模塊負責檢查語法、優化查詢命令的處理程序。
- 事務管理(Transaction Manager)。負責處理數據庫的事務,保障數據庫商業事務的操作需要,及并發控制管理(Concurrency- Control Manager)資源鎖定等。
- 恢復管理(Recovery Manager)。恢復管理主要是日志管理(Log Manager),負責記錄數據庫的所有操作,可以恢復數據庫系統存儲的數據到指定的時間點。
1.3.數據庫系統
用戶(Users)。用戶執行DDL語言定義數據庫架構,使用DML語言新增、刪除、更新和查詢數據庫的數據,通過操作系統訪問數據庫的數據。
數據(Data)。數據庫系統中的數據種類包括永久性數據、索引數據、數據字典和事務日志等。
軟件(Software)。指在數據庫環境中使用的軟件,包括數據庫管理系統(DBMS)、應用程序和開發工具等。
硬件(Hardware)。安裝數據庫相關軟件的硬件設備,包含主機(CPU、內存和網卡等)、磁盤陣列、光驅和備份裝置等。
1.4數據庫系統的體系結構:
數據庫系統的體系結構主要包括如下幾種結構:集中式、客戶-服務器式(Client/Server,C/S)、瀏覽器-服務器式(Browser/Server,B/S)和分布式
2.關系型數據庫理論
2.1. 概念模型及其表示方法
(1)實體的概念
- 實體(Entity)。客觀存在并可以相互區分的事物叫實體。例如,在學校里,一名學生、一名教師、一門課程等都稱為實體。
- 屬性(Attribute)。屬性是實體所具有的某些特性,通過屬性對實體進行描述。實體是由屬性組成的。
- 主鍵(Primary Key)。一個實體中有一個屬性或者多個屬性構成的子集能夠唯一標識整個屬性集合,則稱該屬性子集為屬性集合的主鍵。
- 實體型(Entity Type)。用實體名及其屬性名集合來抽象和刻畫同類實體,稱為實體型。例如,學生(學號,姓名,性別,出生日期,班級,入學成績)就是一個實體型。
- 實體集(Entity Set)。同型實體的集合稱為實體集。例如,全體學生就是一個實體集。
- 聯系(Relationship)。現實世界的事物之間是有聯系的。這些聯系必然要在信息世界中加以反映。例如,教師實體與學生實體之間存在著教和學的聯系。
(2)實體之間的聯系
- 一對一的聯系(1∶1)。對于實體集A中的每一個實體,實體集B中至多有一個實體與之聯系。
- 一對多聯系(1∶M)。對于實體集A中的每1個實體,實體集B中有M個實體(M≥2)與之聯系。
- 多對多聯系(M∶N)。對于實體集A中的每一個實體,實體集B中有N個實體(N≥0)與之聯系
(3)概念模型的表示方法
- 實體型表示建立概念模型的對象,用長方框表示,在框內寫上實體名。
- 實體屬性是實體的說明。用橢圓框表示實體的屬性,并用無向邊把實體與其屬性連接起來。
- 實體間的聯系是兩個或兩個以上實體類型之間的有名稱的關聯。實體間的聯系用菱形框表示,菱形框內要有聯系名,并用無向邊把菱形框分別與有關實體相連接,在無向邊的旁邊標上聯系的類型
2.2.數據模型
(1)數據模型的三要素
- **數據結構。**數據結構用于描述數據庫系統的靜態特性。數據結構所研究是數據本身的類型、內容和性質,以及數據之間的關系。
- 數據操作。數據操作是對數據庫中對象實例允許執行的操作集合,主要指檢索和更新(插入、刪除、修改)兩類操作。
- 完整性約束條件。數據完整性約束是一組完整性規則的集合,它規定數據庫狀態及狀態變化所應滿足的條件,以保證數據的正確性、有效性和相容性。
(2)常用數據模型
-
層次模型。層次數據庫的數據結構類似一顆倒置的樹,每個節點表示一個記錄類型,記錄之間的聯系是一對多的聯系,現實世界中很多事物是按層次組織起來的。
-
網狀模型。網狀數據庫是用來處理以記錄類型為結點的網狀數據模型的數據庫。網狀模型采用網狀結構表示實體及其之間的聯系。
-
關系模型。關系數據庫是目前流行的數據庫。
-
面向對象模型(Object Oriented Model)。面向對象模型采用面向對象的方法來設計數據庫。面向對象的數據庫存儲對象是以對象為單位,每個對象包含對象的屬性和方法,具有類和繼承等特點。Computer Associates的Jasmine就是面向對象模型的數據庫系統。
-
對象關系模型
2.33 .關系運算
(1)關系模型中的基本運算
選擇。從一個表中找出滿足指定條件的記錄行形成一個新表的操作稱為選擇。選擇關系運算如圖1-6所示。
例如,在student關系中查詢所有sex為“女”的學生。
投影。投影是從列的角度進行的運算,通過對表中的字段進行選擇或重組,得到新的表。投影關系運算如圖1-7所示。例如,在student關系中查詢所有學生的studentno和birthday。
**連接。**連接是將兩個表中的行按一定的條件橫向結合,形成一個新的表。連接關系運算如圖1-8所示。
例如,查詢學生的sname和final,2個數據項分來自student關系和score關系,需要在2個關系連接之后,再從中按照一定條件篩選出sname和final的數據。
(2)數據完整性
- 實體完整性。實體完整性是指關系的主關鍵字不能取“空值”。在關系模式中,以主關鍵字作為唯一性標識,如果主關鍵字是多個屬性的組合,那么所有主屬性均不得取空值。
- 域完整性。確保屬性中只允許一個有效數據。在物理數據庫中,可以利用表中的數據類型和行可空性強制執行域完整性。
- 參照完整性。參照完整性是定義建立關系之間聯系的主關鍵字與外部關鍵字引用的約束條件。關系數據庫中通常包含多個存在相互聯系的關系,關系與關系之間的聯系是通過公共屬性來實現的。
- 事務完整性。事務可以確保每個邏輯單元的工作作為單個事務執行。
- 用戶定義完整性。用戶定義完整性則是根據應用環境的要求和實際的需要,對某一具體應用所涉及的數據提出約束性條件
3.設計數據庫
3.1.數據庫設計的規范化
(1)數據庫設計的范式
-
第一范式(1NF)。如果一個關系模式,它的每一個數據項是不可分的,即其域為簡單域,則此關系模式為第一范式。第一范式易出現的問題是數據冗余和更新數據的遺漏。第一范式是最低的規范化要求包括:
① 數據表不能存在重復的記錄,即存在一個關鍵字。且主關鍵字應滿足唯一性、非空性等的條件。
② 每個字段都不可再分,即已經分到最小。 -
第二范式(2NF)。如果一個關系屬于1NF,且所有的非主關鍵字段都完全地依賴于主關鍵字,則稱之為第二范式。例如:零件關系中,倉庫地址和主鍵(零件號)不存在依賴關系。 零件(零件號,倉庫號,數量,倉庫地址)
那么,該關系按照第二范式的要求,就應該拆分為零件和倉庫兩個關系。
① 零件(零件號,倉庫號,數量)
② 倉庫(倉庫號,倉庫地址) -
第三范式(3NF)。如果一個關系屬于2NF,且每個非關鍵字不傳遞依賴于主鍵,這種關系就是3NF。
例如:常見的關系中的數據項年齡和出生日期、期末成績和總評成績等就存在傳遞依賴,需要消除。
(2)數據庫設計的方法
- 實體關系(E-R)的 數據庫設計方法:基于實體關系的數據庫設計方法的基本思想是在需求分析的基礎上,用E-R圖構造一個純粹反映現實世界實體之間內在關系的企業模式,然后再將此企業模式轉換成選定的DBMS上的概念模式。每個實體或聯系將來就映射為一個數據表。
- 視圖概念的數據庫設計方法:基于視圖概念的數據庫設計方法先從分析各個應用的數據著手,為每個應用建立各自的視圖,然后再把這些視圖匯總起來合并成整個數據庫的概念模式。
3.2.數據庫設計的主要內容
(1)靜態特性設計:根據給定的應用環境、用戶的數據需求,設計數據庫的數據模型,包括數據庫的概念結構設計和邏輯結構設計兩個方面。
(2)動態特性設計:根據應用處理要求,設計數據庫的查詢、事務處理和報表處理等應用程序,反映數據庫在處理上的要求,所以又稱為數據庫的行為特性設計
(3)物理設計:根據動態特性,即應用處理要求,在選定的DBMS環境下,把靜態特性設計中得到的數據庫模式加以物理實現,即設計數據庫的存儲模式和存取方法。
3.3.數據庫設計的過程
(1)數據庫設計的步驟
- 需求分析。需求分析的目標是通過調查研究,了解用戶的數據要求和處理要求,并按一定的格式整理形成需求說明書。需求說明書是需求分析階段的成果,也是以后設計的依據,它包括數據庫所涉及的數據、數據的特征、數據量和使用頻率的估計等。
- **概念設計。**概念設計是數據庫設計的第2階段,其目標是對需求說明書提供的所有數據和處理要求進行抽象與綜合處理,按一定的方法構造反映用戶環境的數據及其相互聯系的概念模型。
- 邏輯設計。把上一階段得到的與DBMS無關的概念數據模型轉換成等價的,并為某個特定的DBMS所接受的邏輯模型所表示的概念模式,同時將概念設計階段得到的應用視圖轉換成特定DBMS下的應用視圖。邏輯設計階段的結果是DBMS提供的數據定義語言(DDL)寫成的數據模式。
- **物理設計。**物理設計階段的任務是把邏輯設計階段得到的邏輯數據庫在物理上加以實現。
(2)數據庫表列的信息類型
- 原始數據列:用于存儲有形信息(例如名稱),由數據庫外部的源確定。
- 分類列。用于對數據進行分類或分組,并存儲限定選擇范圍的數據。
- 標識符列:用于提供一種機制來標識存儲在表中的每個項
- 引用列:用于建立一個表中的信息與另一個表中相關信息之間的鏈接。
總結
以上是生活随笔為你收集整理的SQL Server 2008 复习(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ghost怎么手动还原系统 手动还原gh
- 下一篇: SQL Server 2008 复习(三