搜尋
首頁資料庫SQLSQL server速成基礎之資料庫應用系統

這篇文章為大家帶來了關於SQL server的相關知識,其中主要介紹了關於資料庫基礎的相關問題,包括了簡單的資料庫應用系統、資料庫設計的介紹,下面一起來看一下,希望對大家有幫助。

SQL server速成基礎之資料庫應用系統

推薦學習:《SQL教學

#資料庫概念

  • 資料庫
    把以一定模型組織的資料稱為資料庫(DataBase, DB)。資料庫是
    事務處理,資訊管理等應用系統等核心和基礎。

  • 資料庫管理系統(DataBase Management System, DBMS)
    管理資料庫等系統,它將大量的資料按一定的資料模型組織起來,提
    供儲存、維護、檢索資料的功能,使應用系統可以以統一的方式方便、
    及時、準確地從資料庫中獲取所需資訊。

  有人可能會問:我的資料就存放在自己電腦的excel表裡就可以了,為什麼還要搞個資料庫呢

  那是這是因為資料庫比excel有更多的優勢。資料庫可以存放大量的數據,允許很多人同時使用裡面的數據。舉個例子你就明白了,excel好比是一個行動硬碟,你使用了這個行動硬碟其他人就用不了了。資料庫好比是網盤,很多人可以同時存取裡面的數據,而且網盤比行動硬碟能放更多的數據。
SQL server速成基礎之資料庫應用系統

1.1 一個簡單的資料庫應用系統

#資料庫如何組織(存放)資料?

  在專案開發時,必須選擇一個合適的資料庫管理系統將資料按一定資料模型組織起來,並對資料進行統一管理,為需要使用資料的應用程式提供一致的存取手段。資料模型主要包括關係模型、層次模型、網狀模型。目前,關係模型較為常用。

  關係模型以二維表格(關係表)的形式組織資料庫中的資料。例如:表1.1描述了某一時刻學生圖書借閱系統中的學生資料.
SQL server速成基礎之資料庫應用系統

SQL server速成基礎之資料庫應用系統

  1. #表格中的一行稱為記錄,一列稱為一個字段,標題為字段名。
  1. 關係表結構表示形式:關聯表名(欄位名稱1,欄位名稱2…欄位
    位元n)
  1. #碼:一個欄位或欄位最小組合的值可以唯一標識其對應記錄。一個
    表中可以有多個碼,一般指定一個碼為主碼,在關係表中用底線表
    示。如,學生表xs(借書證號,姓名,性別,出生時間,專業,借書
    量)。

1.2 資料庫設計

#表之間的關係:

學生表

SQL server速成基礎之資料庫應用系統

##成績表

SQL server速成基礎之資料庫應用系統

  例如我想知道學生表裡學號「0001」 的成績是多少?那我就可以在成績表裡去查找「學號」值是0001的行,最後在成績表裡發現有3行數據的學號都是「0001」 ,對應的就找到了該學生的三門課程的成績。關係就是資料能夠對應的匹配。

1.2.1 E-R模型

  E-R模型用來表示實體集與實體集之間的聯繫的圖稱為實體(entity)-聯繫 (relationship)模型(E-R圖)。

  通常,E-R模型把每一類資料物件的個體稱為“實體”,而每一類物件個體的集合稱為“實體集”,例如,在圖書管理系統中主要涉及“讀者」(又稱為學生)和「圖書」等實體集,非主要實體集還有班級、班主任等。把每個實體集涉及的資訊項稱為屬性。

  (1)實體集表示 在E-R圖中,使用矩形表示實體集,使用橢圓表示屬性,使用菱形表示聯 系。用線段連接實體集與屬性,當一個屬性或屬性組合指定為主碼時,在實體集與屬性的連接線上標記一斜線。
SQL server速成基礎之資料庫應用系統
SQL server速成基礎之資料庫應用系統

(2)實體集合之間存在著各種關係
  1.一對一的聯繫(1 : 1) A中的一個實體至多與B中的一個實體相聯繫,B中的一個實體也至多與A中的一個實體相聯繫。例如,「班級」與「班主任」這兩個實體集之間的聯繫是一對一的聯繫,因為一個班級只有一個班主任,反過來,一個班主任只屬於一個班級。 「班級」與「班主任」兩個實體集的E-R模型如圖1.2所示。
SQL server速成基礎之資料庫應用系統
  2.一對多的聯繫(1 : n) A中的一個實體可以與B中的多個實體相聯繫,而B中的一個實體至多與A中的一個實體相聯繫。例如,「班級」與「學生」(讀者)這兩個實體集之間的聯繫是一對多的聯繫,因為一個班級可有若干學生,反過來,一個學生只能屬於一個班級。 「班級」與「學生」兩個實體集合的E-R模型如圖1.3所示。
SQL server速成基礎之資料庫應用系統
  3.多對多的聯繫(m : n) A中的一個實體可以與B中的多個實體相聯繫,而B中的一個實體也可與A中的多個實體相聯繫。例如,「讀者」(學生)與「圖書」這兩個實體集之間的聯繫是多對多的聯繫,因為一個讀者可藉多本圖書,反過來,一個書號的圖書可被多個學生藉。 「讀者」與「圖書」兩個實體集的E-R模型如圖1.4所示。
SQL server速成基礎之資料庫應用系統

練習1

  設有商店和顧客兩個實體,「商店」有屬性:商店編號、商店名稱、地址、電話,「顧客」有屬性:顧客編號、姓名、地址、年齡、性別。假設顧客每次去商店購物都有一個消費金額和日期。試畫出E-R圖,並註明屬性和聯繫類型。
SQL server速成基礎之資料庫應用系統

==練習2==

  假設每個學生選修若干門課程,且每個學生每選一門課只有一個成績,每個教師只擔任一門課的教學,一門課由若干教師任教。 「學生」有屬性:學號、姓名、地址、年齡、性別。 「教師」有屬性:職工號碼、教師姓名、職稱,「課程「有屬性:課程號碼、課程名稱。試畫出ER圖,並註明屬性和聯繫類型。

SQL server速成基礎之資料庫應用系統

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圖,並轉換成關係模型。

SQL server速成基礎之資料庫應用系統

  練習2:假設每個學生選修若干門課程,且每個學生每選一門課只有一個成績,每個教師只擔任一門課的教學,一門課由若干教師任教。 「學生」有屬性:學號、姓名、地址、年齡、性別。 「教師」有屬性:職工號碼、教師姓名、職稱,「課程」有屬性:課程號碼、課程名稱。試畫出ER圖,並將E-R圖轉換成關係模型。

SQL server速成基礎之資料庫應用系統

1.3 資料庫應用系統

#  如圖1.5所示描述了資料庫系統的組成。
SQL server速成基礎之資料庫應用系統

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存取資料庫的介面模型。

SQL server速成基礎之資料庫應用系統

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#等。應用程式與資料庫、資料庫管理系統之間的關係如圖所示。

SQL server速成基礎之資料庫應用系統

  2. 瀏覽器/伺服器架構的應用系統
  基於Web的資料庫應用採用三層(瀏覽器/Web伺服器/資料庫伺服器)模式,也稱B/S架構,如圖所示。
SQL server速成基礎之資料庫應用系統

推薦學習:《SQL教學

#

以上是SQL server速成基礎之資料庫應用系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除
SQL:對數據管理的初學者友好方法?SQL:對數據管理的初學者友好方法?Apr 19, 2025 am 12:12 AM

SQL適合初學者,因為它語法簡單,功能強大,廣泛應用於數據庫系統。 1.SQL用於管理關係數據庫,通過表格組織數據。 2.基本操作包括創建、插入、查詢、更新和刪除數據。 3.高級用法如JOIN、子查詢和窗口函數增強數據分析能力。 4.常見錯誤包括語法、邏輯和性能問題,可通過檢查和優化解決。 5.性能優化建議包括使用索引、避免SELECT*、使用EXPLAIN分析查詢、規範化數據庫和提高代碼可讀性。

SQL在行動中:現實世界中的示例和用例SQL在行動中:現實世界中的示例和用例Apr 18, 2025 am 12:13 AM

SQL在實際應用中主要用於數據查詢與分析、數據整合與報告、數據清洗與預處理、高級用法與優化以及處理複雜查詢和避免常見錯誤。 1)數據查詢與分析可用於找出銷售量最高的產品;2)數據整合與報告通過JOIN操作生成客戶購買報告;3)數據清洗與預處理可刪除異常年齡記錄;4)高級用法與優化包括使用窗口函數和創建索引;5)處理複雜查詢可使用CTE和JOIN,避免常見錯誤如SQL注入。

SQL和MySQL:了解核心差異SQL和MySQL:了解核心差異Apr 17, 2025 am 12:03 AM

SQL是一種用於管理關係數據庫的標準語言,而MySQL是一個具體的數據庫管理系統。 SQL提供統一語法,適用於多種數據庫;MySQL輕量、開源,性能穩定但在大數據處理上有瓶頸。

SQL:初學者的學習曲線SQL:初學者的學習曲線Apr 16, 2025 am 12:11 AM

SQL學習曲線陡峭,但通過實踐和理解核心概念可掌握。 1.基礎操作包括SELECT、INSERT、UPDATE、DELETE。 2.查詢執行分為解析、優化、執行三步。 3.基本用法如查詢僱員信息,高級用法如使用JOIN連接表。 4.常見錯誤包括未使用別名和SQL注入,需使用參數化查詢防範。 5.性能優化通過選擇必要列和保持代碼可讀性實現。

SQL:命令,mysql:引擎SQL:命令,mysql:引擎Apr 15, 2025 am 12:04 AM

SQL命令在MySQL中分為DQL、DDL、DML、DCL和TCL五類,用於定義、操作和控制數據庫數據。 MySQL通過詞法分析、語法分析、優化和執行等階段處理SQL命令,並利用索引和查詢優化器提升性能。使用示例包括SELECT用於數據查詢,JOIN用於多表操作。常見錯誤有語法、邏輯和性能問題,優化策略包括使用索引、優化查詢和選擇合適的存儲引擎。

用於數據分析的SQL:商業智能的高級技術用於數據分析的SQL:商業智能的高級技術Apr 14, 2025 am 12:02 AM

SQL的高級查詢技巧包括子查詢、窗口函數、CTE和復雜JOIN,能夠處理複雜數據分析需求。 1)子查詢用於找出每個部門工資最高的員工。 2)窗口函數和CTE用於分析員工的薪資增長趨勢。 3)性能優化策略包括索引優化、查詢重寫和使用分區表。

MySQL:SQL的特定實現MySQL:SQL的特定實現Apr 13, 2025 am 12:02 AM

MySQL是開源的關係型數據庫管理系統,提供了標準SQL功能和擴展。 1)MySQL支持標準SQL操作如CREATE、INSERT、UPDATE、DELETE,並擴展了LIMIT子句。 2)它使用InnoDB和MyISAM等存儲引擎,適用於不同場景。 3)用戶可以通過創建表、插入數據和使用存儲過程等高級功能高效使用MySQL。

SQL:使所有人都可以訪問數據管理SQL:使所有人都可以訪問數據管理Apr 12, 2025 am 12:14 AM

sqlmakesdatamanagectAccessibletoAllbyProvidingAsimpleyetpoperfultoolSetSetForQuerquereingAndManagingDatabases.1)ItworkswithrelationalDatabases,允許inserstospecefifywhattheywanttododowithththedata.2)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具