這篇文章為大家帶來了關於SQL server的相關知識,其中主要介紹了關於資料庫基礎的相關問題,包括了簡單的資料庫應用系統、資料庫設計的介紹,下面一起來看一下,希望對大家有幫助。
推薦學習:《SQL教學》
資料庫
把以一定模型組織的資料稱為資料庫(DataBase, DB)。資料庫是
事務處理,資訊管理等應用系統等核心和基礎。
資料庫管理系統(DataBase Management System, DBMS)
管理資料庫等系統,它將大量的資料按一定的資料模型組織起來,提
供儲存、維護、檢索資料的功能,使應用系統可以以統一的方式方便、
及時、準確地從資料庫中獲取所需資訊。
有人可能會問:我的資料就存放在自己電腦的excel表裡就可以了,為什麼還要搞個資料庫呢
那是這是因為資料庫比excel有更多的優勢。資料庫可以存放大量的數據,允許很多人同時使用裡面的數據。舉個例子你就明白了,excel好比是一個行動硬碟,你使用了這個行動硬碟其他人就用不了了。資料庫好比是網盤,很多人可以同時存取裡面的數據,而且網盤比行動硬碟能放更多的數據。
#資料庫如何組織(存放)資料?
在專案開發時,必須選擇一個合適的資料庫管理系統將資料按一定資料模型組織起來,並對資料進行統一管理,為需要使用資料的應用程式提供一致的存取手段。資料模型主要包括關係模型、層次模型、網狀模型。目前,關係模型較為常用。
關係模型以二維表格(關係表)的形式組織資料庫中的資料。例如:表1.1描述了某一時刻學生圖書借閱系統中的學生資料.
- #表格中的一行稱為記錄,一列稱為一個字段,標題為字段名。
- 關係表結構表示形式:關聯表名(欄位名稱1,欄位名稱2…欄位
位元n)
- #碼:一個欄位或欄位最小組合的值可以唯一標識其對應記錄。一個
表中可以有多個碼,一般指定一個碼為主碼,在關係表中用底線表
示。如,學生表xs(借書證號,姓名,性別,出生時間,專業,借書
量)。
#表之間的關係:
(1)實體集表示 在E-R圖中,使用矩形表示實體集,使用橢圓表示屬性,使用菱形表示聯 系。用線段連接實體集與屬性,當一個屬性或屬性組合指定為主碼時,在實體集與屬性的連接線上標記一斜線。
(2)實體集合之間存在著各種關係
1.一對一的聯繫(1 : 1) A中的一個實體至多與B中的一個實體相聯繫,B中的一個實體也至多與A中的一個實體相聯繫。例如,「班級」與「班主任」這兩個實體集之間的聯繫是一對一的聯繫,因為一個班級只有一個班主任,反過來,一個班主任只屬於一個班級。 「班級」與「班主任」兩個實體集的E-R模型如圖1.2所示。
2.一對多的聯繫(1 : n) A中的一個實體可以與B中的多個實體相聯繫,而B中的一個實體至多與A中的一個實體相聯繫。例如,「班級」與「學生」(讀者)這兩個實體集之間的聯繫是一對多的聯繫,因為一個班級可有若干學生,反過來,一個學生只能屬於一個班級。 「班級」與「學生」兩個實體集合的E-R模型如圖1.3所示。
3.多對多的聯繫(m : n) A中的一個實體可以與B中的多個實體相聯繫,而B中的一個實體也可與A中的多個實體相聯繫。例如,「讀者」(學生)與「圖書」這兩個實體集之間的聯繫是多對多的聯繫,因為一個讀者可藉多本圖書,反過來,一個書號的圖書可被多個學生藉。 「讀者」與「圖書」兩個實體集的E-R模型如圖1.4所示。
設有商店和顧客兩個實體,「商店」有屬性:商店編號、商店名稱、地址、電話,「顧客」有屬性:顧客編號、姓名、地址、年齡、性別。假設顧客每次去商店購物都有一個消費金額和日期。試畫出E-R圖,並註明屬性和聯繫類型。
假設每個學生選修若干門課程,且每個學生每選一門課只有一個成績,每個教師只擔任一門課的教學,一門課由若干教師任教。 「學生」有屬性:學號、姓名、地址、年齡、性別。 「教師」有屬性:職工號碼、教師姓名、職稱,「課程「有屬性:課程號碼、課程名稱。試畫出ER圖,並註明屬性和聯繫類型。
下面將根據三種聯繫從E-R圖獲得關係模式的方法。
1.(1 : 1)聯繫的E-R圖到關係模式的轉換
a. 每個實體集各對應一個關係模式;
b. 對於(1 : 1 )的聯繫,既可單獨對應一個關係模式,也可以不單獨對應一個關係模式。
(1)聯繫單獨對應一個關係模式,則由聯繫屬性、參與聯繫的各實體集的主碼屬性構成關係模式,其主碼可選參與聯繫的實體集的任一方的主碼。
例如,考慮圖1.2所描述的「班級(bj)」與「班主任(bzr)」實體集合透過屬於(sy)聯繫E-R模型,可設計如下關係模式(下橫線表示該欄位為主碼) :
bj(班級編號,系,專業,人數)
bzr(員工號,姓名,聯絡電話)
sy(員工號,班級編號)
(2)聯絡不單獨對應一個關係模式,聯繫的屬性及一方的主碼加入另一方實體集對應的關係模式中。
例如,考慮圖1.2描述的「班級(bj)」與「班主任(bzb)」實體集透過屬於(sy)聯繫E-R模型,可設計如下關係模式:
bj(班級編號,系,專業,人數)
bzr(員工號,姓名,聯絡電話,班級編號)
或:
bj(班級編號,系,專業,人數,員工號)
bzr(員工號,姓名,聯絡電話)
2. (1 : n)聯繫的E-R圖到關係模式的轉換
a. 每個實體集各對應一個關係模式;
b. 對於(1 : n)的聯繫,既可單獨對應一個關係模式,也可以不單獨對應一個
關係模式。
(1)聯繫單獨對應一個關係模式,則由聯繫的屬性、參與聯繫的各實體集的 主碼屬性構成關係模式,n端的主碼作為該關係模式的主碼。
例如,考慮圖1.3描述的「班級(bj)」與「學生(xs)」實體集E-R模型,可設計如下關係模式:
bj(班級編號,系,專業,人數)
xs(借書證號,姓名,性別,出生時間,專業,借書量)
sy(借書證號,班級編號)
(2)聯繫不單獨對應一個關係模式,則將聯繫的屬性及1端的主碼加入n端實
體集對應的關係模式中,主碼仍為n端的主碼。
例如,圖1.3描述的「班級(bj)」與「讀者(xs)」實體集E-R模型可設計如下關係模式:
bj(班級編號,系,專業,人數)
xs(借書證號,姓名,性別,出生時間,專業,借書量,班級編號)
# 3. (m : n)聯繫的E-R圖到關係模式的轉換
a. 每個實體集各對應一個關係模式;
b. 對於(m : n)的聯繫,單獨對應一個關係模式,該關係模式包括聯繫的屬性、參與聯繫的各實體集的主碼屬性,該關係模式的主碼由各實體集的主碼屬性共同組成。
例如,圖1.4描述的「讀者(xs)」與「圖書(book)」實體集之間的借閱聯
系(jy)可設計如下關係模式:
xs(借書證號,姓名,性別,出生時間,專業,借書量)
book(ISBN,書名,作譯者,出版社,價格,複本量,庫存量,內容提要)
jy(借書證號,ISBN,索書號,借閱時間)
關係模式jy的主碼是由「借書證號」和「ISBN」兩個屬性組合起來構成的一
個主碼,一個關係模式只能有一個主碼。
練習1:設有商店和顧客兩個實體,「商店」有屬性:商店編號、商店名稱、地址、電話,「顧客」有屬性:顧客編號、姓名、地址、年齡、性別。假設顧客每次去商店購物都有一個消費金額和日期。繪製E-R圖,並轉換成關係模型。
練習2:假設每個學生選修若干門課程,且每個學生每選一門課只有一個成績,每個教師只擔任一門課的教學,一門課由若干教師任教。 「學生」有屬性:學號、姓名、地址、年齡、性別。 「教師」有屬性:職工號碼、教師姓名、職稱,「課程」有屬性:課程號碼、課程名稱。試畫出ER圖,並將E-R圖轉換成關係模型。
# 如圖1.5所示描述了資料庫系統的組成。
1. ODBC資料庫介面
ODBC即開放式資料庫互連(Open DataBase Connectivity),是微軟公司推出的一種實現應用程式和關聯式資料庫之間通訊的介面標準。符合標準的資料庫就可以透過SQL語句編寫的程式對資料庫進行操作,但只針對關聯式資料庫。目前所有的關聯式資料庫都符合該標準。 ODBC本質上是一組資料庫存取API(應用程式介面),由一組函數呼叫組成,核心是SQL語句。
2. ADO資料庫介面
ADO(ActiveX Data Object)是微軟公司開發的基於COM的資料庫應用程式接口,透過ADO連接資料庫,可以靈活地操作資料庫中的資料。使用ADO存取關聯式資料庫有兩種途徑:一種是透過ODBC驅動程序,另一種是透過資料庫專用的OLE DB Provider,後者有更高的存取效率。
3. ADO.NET資料庫介面
ADO.NET資料模型從ADO發展而來,但它不只是對 ADO的改進,而是採用
了一種全新的技術。主要體現在以下幾個方面:
(1)ADO.NET不是採用ActiveX技術,而是與.NET框架緊密結合的產物。
(2)ADO.NET包含對XML標準的完全支持,這對於跨平台交換資料具有重 要意義。
(3)ADO.NET既能在與資料來源連接的環境下運作,又能在斷開與資料來源連線的條件下運作。特別是後者,非常適合網路應用的需要,因為在網路環境下,始終做到保持與資料來源連接,不符合網站的要求,不僅效率低,付出代價高,而且常會引發由於多個使用者同時訪問而帶來的衝突。
ADO.NET 提供了物件導向的資料庫視圖,並且在其物件中封裝了許多資料庫屬性和關係。最重要的是,它透過多種方式封裝和隱藏了許多資料庫存取的細 節。可以完全不知道物件在與ADO.NET物件交互,也不用擔心資料移動到另外一個資料庫或從另一個資料庫取得資料等細節問題。圖1.6顯示了透過ADO.NET存取資料庫的介面模型。
4. JDBC資料庫介面
JDBC(Java DataBase Connectivity)是JavaSoft (原來SUN公司的業務部門)開發的,Java語言編寫的用於資料庫連接和操作的類別和接口,可為多種關係資料庫提供統一的訪問方式。透過JDBC對資料庫的存取包含4個主要元件:Java應用程式、JDBC磁碟機管理器、磁碟機和資料來源。
使用JDBC介面操作資料庫有以下優點:
(1)JDBC API與ODBC十分相似,有利於使用者理解;
(2)讓程式設計人員從複雜的驅動器呼叫指令與函數中解脫出來,而致力於應用
程式功能的實作;
(3)JDBC支援不同的關聯式資料庫,增強了程式的可移植性。
5.資料庫連接池技術
對於網路環境下的資料庫應用,由於用戶眾多,使用傳統的JDBC方式進行資料庫連接,系統資源開銷過大成為制約大型企業級應用效率的瓶頸,採用資料庫連接池技術對資料庫連接進行管理,可以大幅提高系統的效率和穩定性。
1. 客戶/伺服器架構的應用系統
DBMS透過指令和適合專業人員的介面操作資料庫。對於一般的資料庫應用系統,除了DBMS外,還需要設計適合一般人員操作資料庫的介面。目前,受歡迎的開發資料庫介面的工具主要有Visual Basic、Visual C 、Visual C#等。應用程式與資料庫、資料庫管理系統之間的關係如圖所示。
2. 瀏覽器/伺服器架構的應用系統
基於Web的資料庫應用採用三層(瀏覽器/Web伺服器/資料庫伺服器)模式,也稱B/S架構,如圖所示。
推薦學習:《SQL教學》
以上是SQL server速成基礎之資料庫應用系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!