共計 5067 個字符,預計需要花費 13 分鐘才能閱讀完成。
這篇文章主要介紹“SQL server 數據庫應用系統的知識點有哪些”,在日常操作中,相信很多人在 SQL server 數據庫應用系統的知識點有哪些問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SQL server 數據庫應用系統的知識點有哪些”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
數據庫概念
數據庫
把按一定模型組織的數據稱為數據庫(DataBase, DB)。數據庫是
事務處理,信息管理等應用系統等核心和基礎。
數據庫管理系統(DataBase Management System, DBMS)
管理數據庫等系統, 它將大量的數據按一定的數據模型組織起來, 提
供存儲、維護、檢索數據的功能, 使應用系統可以以統一的方式方便、
及時、準確地從數據庫中獲取所需信息。
??有人可能會問:我的數據就存放在自己電腦的 excel 表里就可以了,為什么還要搞個數據庫呢
??那是這是因為數據庫比 excel 有更多的優勢。數據庫可以存放大量的數據,允許很多人同時使用里面的數據。舉個例子你就明白了,excel 好比是一個移動硬盤,你使用了這個移動硬盤其他人就用不了了。數據庫好比是網盤,很多人可以同時訪問里面里的數據,而且網盤比移動硬盤能放更多的數據。
1.1 一個簡單的數據庫應用系統
數據庫如何組織(存放)數據?
??在項目開發時,必須選擇一個合適的數據庫管理系統將數據按一定數據模型組織起來,并對數據進行統一管理,為需要使用數據的應用程序提供一致的訪問手段。數據模型主要包括關系模型、層次模型、網狀模型。目前,關系模型較為常用。
??關系模型以二維表格(關系表)的形式組織數據庫中的數據。例如:表 1.1 描述了某一時刻學生圖書借閱系統中的學生數據.
表格中的一行稱為記錄,一列稱為一個字段,標題為字段名。
關系表結構表示形式:關系表名(字段名 1,字段名 2…字段
名 n)
碼:一個字段或字段最小組合的值可以唯一標識其對應記錄。一個
表中可以有多個碼,一般指定一個碼為主碼,在關系表中用下劃線表
示。如,學生表 xs(借書證號,姓名,性別,出生時間,專業,借書
量)。
1.2 數據庫設計
表之間的關系:
學生表
成績表
??例如我想知道學生表里學號“0001”的成績是多少?那么我就可以在成績表里去查找“學號”值是 0001 的行,最后在成績表里發現有 3 行數據的學號都是“0001”,對應的就找到了該學生的三門課程的成績。關系就是數據能夠對應的匹配。
1.2.1 E- R 模型
??E- R 模型用來表示實體集與實體集之間的聯系的圖稱為實體(entity)- 聯系(relationship)模型(E- R 圖)。
??通常,E- R 模型把每一類數據對象的個體稱為“實體”,而每一類對象個體的 集合稱為“實體集”,例如,在圖書管理系統中主要涉及“讀者”(又稱為學生)和“圖書”等實體集,非主要實體集還有班級、班主任等。把每個實體集涉及的信息項稱為屬性。
(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 所示。
練習 1
??設有商店和顧客兩個實體,“商店”有屬性:商店編號、商店名、地址、電 話,“顧客”有屬性:顧客編號、姓名、地址、年齡、性別。假設顧客每次去商店購物有一個消費金額和日期。試畫出 E - R 圖,并注明屬性和聯系類型。
== 練習 2 ==
??假設每個學生選修若干門課程,且每個學生每選一門課只有一個成績,每個教師只擔任 一門課的教學,一門課由若干教師任教。“學生”有屬性:學號、姓名、地址、年齡、性別。“教師”有屬性:職工號、教師姓名、職稱,“課程“有屬性:課程號、課程名。試畫出 ER 圖,并注明屬性和聯系類型。
1.2.2 邏輯數據模型
??下面將根據三種聯系從 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.3 數據庫應用系統
??如圖 1.5 所示描述了數據庫系統的構成。
1.3.1 應用系統的數據接口
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.3.2 應用系統架構
??1. 客戶 / 服務器架構的應用系統
??DBMS 通過命令和適合專業人員的界面操作數據庫。對于一般的數據庫應用系統,除了 DBMS 外,還需要設計適合普通人員操作數據庫的界面。目前,流行的開發數據庫界面的工具主要有 Visual Basic、Visual C++、Visual C# 等。應用程序與數據庫、數據庫管理系統之間的關系如圖所示。
??2. 瀏覽器 / 服務器架構的應用系統
??基于 Web 的數據庫應用采用三層(瀏覽器 /Web 服務器 / 數據庫服務器)模式,也稱 B / S 架構,如圖所示。
到此,關于“SQL server 數據庫應用系統的知識點有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!