1.1 資料庫系統概述

来源:https://www.cnblogs.com/gu6381/archive/2018/12/24/10171729.html
-Advertisement-
Play Games

# **1.1 資料庫系統概述:** ## **1.1.1 資料庫的組成**![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181224232336368.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naG ...


# **1.1 資料庫系統概述:**

## **1.1.1 資料庫的組成**
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181224232336368.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMDMzODE5,size_16,color_FFFFFF,t_70)
## **1.1.2 資料庫系統的特點**

**1、數據結構化**
**2、數據的共用性高,冗餘度低且易擴充**
**3、數據獨立性高**
**4、數據由資料庫管理系統統一管理和控制**


數據的整體結構化是資料庫的主要特征之一

 

### **整體結構化:**

1、不再僅僅針對某一個應用,而是**<font color=red>面向全組織</font>**
2、不僅數據內部結構化,整體是結構化的,數據之間具有聯繫
3、數據記錄可以變長
4、<font color=red>**數據的最小存取單位是數據項**</font>

數據面向整個系統,可以被多個用戶、多個應用共用使用

 

### **數據共用的好處**

**1、<font color=red>減少</font>數據冗餘,<font color=red>節約</font>存儲空間**
**2、避免數據之間的<font color=red>不相容性</font>與<font color=red>不一致性</font>**
**3、使系統<font color=red>易於擴充</font>**

 

### **物理獨立性**

指用戶的應用程式與資料庫中的數據的物理存儲是相互獨立的。當數據的物理地址存儲改變了,應用程式不用改變。

### **邏輯獨立性**

指用戶的應用程式與資料庫的邏輯結構是相互獨立的。數據的邏輯結構改變了,應用程式不用改變。

數據獨立性由資料庫管理系統的二級映像功能來保證。

# **1.2 數據模型**

## **1.2.1 兩類數據模型**

### **數據模型分為兩類:(兩個不同的層次)**

**(1)概念模型**:也稱信息模型,它是按用戶的觀點來對數據和信息建模,用於資料庫設計

**(2)邏輯模型和物理模型:**

1、邏輯模型主要包括網狀模型、層次模型、關係模型、面向對象數據模型、對象關係數據模型、半結構化數據模型等。按電腦系統的觀點對數據建模,用於DBMS實現。
2、物理模型是對數據最底層的抽象,描述數據在內部的表示方式和存取方法,在磁碟或磁帶上的存儲方式和存取方法。
客觀對象的抽象過程:

 

### **客觀對象的抽象過程:**
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181224232429126.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMDMzODE5,size_16,color_FFFFFF,t_70)

## **1.2.2 概念模型**

**基本要求:**

1、較強的語義表達能力
2、簡單、清晰、易於用戶理解


**概念模型的一種表示方法:**實體-聯繫方法


**實體:**(例如:對象、事件、人)

1、對業務活動很重要的“事物”,我們必須知道該“事物”的數據
2、一個可以列舉出一系列相似事物的名稱
3、通常為名詞
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181224232501559.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMDMzODE5,size_16,color_FFFFFF,t_70)

**實例**:實例是實體的一種具體形式
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2018122423310547.png)
**屬性**:像實體一樣,屬性用於表示一些對業務活動很重要的信息。(一個屬性只有一個值)

1、描述一個實體
2、量化一個實體
3、限定一個實體
4、為實體分類
5、指定了一個實體
<font color=red>註:一個屬性只有一個值</font>
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181224233014754.png)
**易變屬性**:屬性(如年齡)的值是時常變化的。
**非易變屬性**:屬性(如訂貨日期)則幾乎不變。
**<font color=red>註:如果可以選擇屬性,請使用非易變屬性。(例如:使用出生日期代替年齡)</font>**

**標識符:**具有一個唯一標識符(UID)

UID是一個屬性或多個屬性的組合。

**聯繫**:現實世界中事物內部以及事物之間的聯繫在信息世界中反映為實體(型)內部的聯繫和實體(型)之間的聯繫。

**實體內部的聯繫**:通常是指組成實體的<font color=red>各屬性之間的聯繫。</font>
**實體之間的聯繫**:通常是指<font color=red>不同實體集之間</font>的聯繫。
實體之間的聯繫有<font color=red>一對一</font>、<font color=red>一對多</font>、和多對多等多種類型。

**實體-聯繫方法:**

1、用E-R圖來描述現實世界的概念模型
2、E-R方法也稱為E-R模型
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2018122423295769.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMDMzODE5,size_16,color_FFFFFF,t_70)
## **1.2.3數據模型的組成要素**

1、**數據結構:**是對系統靜態特性的描述
2、**數據操作**:查詢、更新(包括插入、刪除、修改)
3、**數據的完整性約束條件**:為了<font color=red>**防止不符合規範的數據**</font>進入資料庫,在用戶對數據進行插入、修改、刪除等操作是,DBMS自動<font color=red>**按照一定的約束條件對數據進行監測**</font>,使**<font color=red>不符合規範的數據不能進入資料庫</font>**,以**<font color=red>確保資料庫中存儲的數據正確、有效、相容。</font>**

**① 實體完整性**:規定表的每一行在表中是唯一的實體。(**<font color=red>用主鍵來實現</font>**)

**②域完整性**:是指表中的列必須滿足某種特定的數據類型約束,其中約束又包括取值範圍、精度等規定。(**<font color=red>數據類型來實現</font>**)

**③參照完整性**:是指兩個表的主關鍵字和外鍵字的數據應一致,保證表之間的數據一致性,防止了數據的丟失或無意義的數據在資料庫中擴散。(**<font color=red>用外鍵來實現</font>**)

**④用戶定義的完整性**:針對某個特定關係資料庫的約束條件,它反映某一具體應用必須滿足的語義要求。(**<font color=red>Check或程式來實現</font>**)

## **1.2.4常用的數據模型**

**1、層次模型**:用**<font color=red>樹形結構</font>**來表示各類實體以及實體間的聯繫
特點:結點的雙親是唯一的
只能直接處理一對多的實體聯繫
每個記錄類型可以定義一個排序欄位,也稱為碼欄位
任何記錄值只有按其路徑查看時,才能顯示它的全部意義
沒有一個子女記錄值能夠脫離雙親記錄值而獨立存在
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181224232935964.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMDMzODE5,size_16,color_FFFFFF,t_70)
**2、網狀模型:**
用樹形結構來表示各類實體以及實體間的聯繫

1、允許一個以上的節點無雙親
2、一個節點可以有多於一個的雙親

**3、網狀模型與層次模型的區別:**

1、網狀模型允許多個節點沒有雙親節點
2、網狀模型允許節點有多個雙親節點
3、網狀模型允許兩個節點之間有多種聯繫(複合聯繫)
4、網狀模型可以更直接地描述現實世界
5、層次模型實際上是網狀模型的一個特例

**4、關係模型:**

1、關係:一個關係對應通常說的一張表
2、元組:表中的一行即為一個元組,也叫記錄,行
3、屬性:表中的一列即為一個屬性,給每一個屬性起一個名稱即為屬性名,也叫列或者欄位
4、主碼:也稱碼鍵。表中的某個屬性組,它可以唯一的確定一個元組。(主鍵)
5、域:是一組具有相同數據類型的值的集合。屬性取值範圍來自某個域。(數據類型)
6、值:元組中的一個屬性值。(值)

**<font color=red>關係最基本的規範條件:關係的每一個分量必須是一個不可分的數據項,不允許表中還有表。</font>**

**5、關係的完整性約束條件:**

1、實體完整性
2、域完整性
3、參照完整性
4、用戶自定義的完整性

**優點:**

1、建立在嚴格的數學概念的基礎上
2、概念單一

①實體和各類聯繫都用關係來表示
②對數據的檢索結果也是關係

3、關係模型的存取路徑對用戶透明

①具有更高的數據獨立性,更好的安全保密性
②簡化了程式員的工作和資料庫開發建立的工作

**缺點:**

1、存取路徑對用戶透明,查詢效率往往不如格式化數據模型
2、為提高性能,必須對用戶的查詢請求進行優化,增加了開發資料庫管理系統的難度

# **1.3資料庫系統的結構**

**資料庫系統的結構分為:**

**1、單用戶結構**

**2、主從式結構**

**3、分散式結構**

**4、客戶-伺服器**

**瀏覽器-應用伺服器 / 資料庫伺服器多層結構等**

## **1.3.1資料庫系統模式的概念**

**“型”和“值”的概念:**

**型**:對某一類數據的結構和屬性的說明
**值**:是型的一個具體賦值
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181224232858824.png)
**模式:**

1、資料庫邏輯結構和特征的描述
2、是型的描述,不涉及具體值
3、反映的是數據的結構及其聯繫
4、模式是相對穩定的

**實例:**

1、模式的一個具體值
2、反映資料庫某一時刻的狀態
3、同一個模式可以有很多實例
4、實例隨資料庫中的數據更新而變動

## **1.3.2資料庫系統的三級模式結構**
![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20181224232821288.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMzMDMzODE5,size_16,color_FFFFFF,t_70)

**模式:也稱邏輯模式**

1、資料庫中全體數據的邏輯結構和特征的描述
2、所有用戶的公共數據視圖

<font color=red>一個資料庫只有一個模式</font>

**外模式:(也稱子模式或用戶模式)**

1、資料庫用戶(包括應用程式員和最終用戶)使用的局部數據的邏輯結構和特征的描述
2、資料庫用戶的數據視圖,是與某一應用有關的數據的邏輯表示

**內模式:(也稱存儲模式)**

1、是數據物理結構和存儲方式的描述
2、是數據在資料庫內部的表示方式

<font color=red>一個資料庫只有一個內模式</font>

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 本文由雲+社區發表 TCP是一個複雜的協議,每個機制在帶來優勢的同時也會引入其他的問題。 Nagel演算法和delay ack機制是減少發送端和接收端包量的兩個機制, 可以有效減少網路包量,避免擁塞。但是,在特定場景下, Nagel演算法要求網路中只有一個未確認的包, 而delay ack機制需要等待更 ...
  • cat----文本輸出命令 格式:cat [選項] [文件] 主要三大功能:1.一次性顯示整個文件# cat 文件 cat /路徑/文件名2.從鍵盤創建一個文件# cat > 文件3.將幾個文件合併成一個文件# cat 文件1 文件2 >文件3 主要參數:-n 從1開始對所有輸出行進行行數編號-b ... ...
  • 原創作品,轉載請在文章明顯位置註明出處:https://www.cnblogs.com/sunshine5683/p/10170009.html 使用命令關閉和重啟系統: 一、條件:只有root用戶才可以執行關機和重啟操作 二、常用關機重啟的命令: 1、立即關機: shutdown -h now 2 ...
  • 1、node.js 守護進程組件 forever 安裝 npm install forever -g 安裝完成後截圖: 2、安裝完成後在控制台輸入 forever 出現 -bash: forever: command not found 3、添加環境變數 執行命令 vim /etc/profile ...
  • 我是 Centos 最小化安裝的,安裝網後 Centos 竟然無法上網。。。有點奇葩, 應該是網卡沒有激活的問題了,下麵是解決的過程 ...
  • 一 前期準備 節點 IP 備註 falcon 私網:172.24.10.95 臨時公網:120.132.23.107 Open-Falcon服務端 node01 172.24.10.216 被監控端 節點 IP 備註 falcon 私網:172.24.10.95 臨時公網:120.132.23.10 ...
  • 同步更新於 "wendster大佬的個人博客" 搬運自 "我的洛谷博客" 可能會不定期更新! 因為前幾天給我的小炸雞加了一根記憶體條;而且先前裝的Xubuntu是32位的,使用極其不方便;再加上wendster大佬的慫恿,我決定給自己的電腦換一個Archlinux系統。由於安裝這個系統的麻煩程度~~世 ...
  • 1、簡介 如果你的伺服器的總是報告記憶體不足,並且時常因為記憶體不足而引發服務被強制kill的話,在不增加物理記憶體的情況下,啟用swap交換區作為虛擬記憶體是一個不錯的選擇。 為了測試一些功能我在阿裡雲購買了1核1G的ECS伺服器幾台(最便宜的了,再貴捨不得啊),一臺伺服器就安裝了LANMP,redis, ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...