資料庫系統原理(一)

来源:https://www.cnblogs.com/SunArmy/archive/2019/08/07/11316036.html
-Advertisement-
Play Games

資料庫系統原理(一) 資料庫系統概述 1. 資料庫基本概念 什麼是數據? 數據(Data) 是描述事物的符號記錄,是指利用物理符號記錄下的、可以鑒別的信息 數據是信息存在的一種形式,只有通過解釋或處理的數據才能成為有用的信息 數據要按照一定的數據模型組織、描述和存儲,具有較小的冗餘度、較高的數據獨立 ...


資料庫系統原理(一)


資料庫系統概述

1. 資料庫基本概念

  • 什麼是數據?
    • 數據(Data) 是描述事物的符號記錄,是指利用物理符號記錄下的、可以鑒別的信息
    • 數據是信息存在的一種形式,只有通過解釋或處理的數據才能成為有用的信息
    • 數據要按照一定的數據模型組織描述存儲,具有較小的冗餘度較高的數據獨立性系統易於擴展,並可以被多個用戶分享
  • 什麼是資料庫?

  • 資料庫(Database,DB)是指長期存儲在電腦中的有組織可共用的數據集合

  • 資料庫的三個基本特點:
    • 永久存儲
    • 可共用
    • 有組織
  • 什麼是資料庫管理系統?

  • 資料庫管理系統是專門建立管理資料庫的一套軟體,介於應用程式操作系統之間

  • 資料庫管理系統的功能:
    • 數據定義功能
    • 數據操作功能
    • 資料庫的運行管理功能
    • 資料庫的建立和維護功能
    • 數據組織、存儲、管理功能
    • 其他功能
  • 資料庫管理系統的構成

在這裡插入圖片描述

2. 資料庫管理技術的發展

  • 資料庫管理技術發展的三個階段

    • 人工管理階段

      • 數據不保存
      • 應用程式管理數據
      • 數據面嚮應用程式
    • 文件系統階段

    在這裡插入圖片描述

    • 資料庫系統階段

      • 數據集成(主要目的)
      • 數據獨立性高
      • 數據共用性高
      • 數據冗餘低
      • 數據一致性
      • 實施統一管理與控制
      • 減少應用程式開發與維護的工作量
  • 什麼是數據獨立?

  • 數據定義與使用數據的應用程式分離稱為數據獨立

  • 什麼是物理獨立性

  • 將數據的邏輯結構和物理結構相分離,當物理結構發生改變時,不會導致應用程式的修改,這稱為數據的物理獨立性

  • 數據保護

    • 數據的安全性、完整性、併發控制、故障恢復等就是資料庫保護

3. 資料庫系統的結構

  • 資料庫系統的結構分類

在這裡插入圖片描述

  • 三級模式架構圖

在這裡插入圖片描述

  • 三級模式

    名稱 別稱 視圖類型
    外模式 子模式、用戶模式 數據視圖、用戶視圖
    模式 邏輯模式、概念模式 概念視圖
    內模式 存儲模式 內部視圖、存儲視圖

    模式是資料庫的核心,也是資料庫設計的關鍵

  • 三級模式的兩層映像
    • 外模式/模式映像
      • 保證數據和程式的邏輯獨立性
    • 模式/內模式映像
      • 保證數據數據和程式的物理獨立性
  • 客戶/伺服器結構

    • 表示層 <————> 數據層
  • 瀏覽器/伺服器結構

    • 表示層 <————> 處理層 <————> 數據層

4. 數據模型

  • 什麼是數據模型?
    • 數據模型是對現實世界數據特征的抽象,描述的是 數據的共性內容
  • 數據的特征:
    • 靜態特征
      • 數據的基本結構
      • 數據間的聯繫
      • 數據取值範圍的約束
    • 動態特征
      • 指對數據可以進行符合一定規則的操作
  • 數據模型組成的要素
    • 數據結構
      • 描述的是系統的靜態特征,即數據對象的數據類型、內容、屬 性以及數據對象之間的聯繫
    • 數據操作
      • 是動態特征
    • 數據約束
      • 描述數據結構中數據間的語法和語義關聯
  • E-R模型的表示方法
    • 實體型,用矩形表示,矩形框內寫明實體的名稱;
    • 屬性,用橢圓形表示,並用無向邊將其與相應的實體連接起來;
    • 聯繫,用菱形表示,菱形框內寫明聯繫的名稱,並用無向邊分別與有關實
      體連接起來
  • 邏輯模型的類型

    層次模型 最早使用的一種數據模型; 有且僅有一個結點沒有父結點,稱作根結點; 其他結點有且僅有一個父結點
    網狀模型 以網狀結構表示實體與實體間的聯繫; 允許結點有多於一個父結點; 可以有一個以上的結點沒有父結點
    關係模型 用二維表結構來表示實體間的聯繫 優點:建立在嚴格的數學概念的基礎上;概念單一;存取路徑對用 戶透明,有更高的數據獨立性,更好的安全保密性
    面向對象模型 既是概念模型又是邏輯模型; 表達能力豐富,對象可復用、維護方便
  • 數據模型的類型

    概念模型 數據抽象級別的最高層; 主要用於資料庫的設計階段
    邏輯模型 數據抽象級別的中間層; 任何DBMS都是基於某種邏輯數據模型。
    物理模型 描述數據在存儲介質上的組織結構,是邏輯模型的物理實現; 是資料庫最底層的抽象; 設計目標是提高資料庫性能和有效利用存儲空間。

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

-Advertisement-
Play Games
更多相關文章
  • 在執行git pull的時候,提示當前branch沒有跟蹤信息: $> git pull There is no tracking information for the current branch. Please specify which branch you want to merge w... ...
  • 1、打開文件並定位到某一行 vim +20 vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php # 定位至第20行 2、打開文件,定位至最後一行 vim + vendor/laravel/framework/sr... ...
  • MySQL查詢 一、單表查詢 語法: 1. where約束 2. group by 分組查詢 當執行以下sql語句的時候,是以post欄位查詢了組中的第一條數據,沒有任何意義,因為我們現在想查出當前組的多條記 繼續驗證通過group by分組之後,只能查看當前欄位,如果想查看組內信息,需要藉助於聚合 ...
  • 之前筆者常常接觸的資料庫是關係型資料庫,其中MySQL接觸居多。近年來NoSQL興起,各種新型資料庫不斷誕生,redis就是NoSQL中的一種熱門資料庫。 註:此類文章僅僅作為筆者的學習和閱讀積累,若有出錯之處,敬請諒解。 一、redis的數據類型 對於redis資料庫的介紹,這裡就不說了,大家可自 ...
  • 問題: 今天一同事請教博主,他拼接了一個語句,select表格形式數據,然後使用@@rowcount獲取到行數。 但他又有這樣特別的需求:想只獲取行數而不返回表格數據結果,因為是while迴圈,不想返回那麼多次表格到客戶端,而且後面又想復用這個返回表格形式數據的腳本字元串,不想在這個腳本字元串上改成 ...
  • 一、MySQL基操 •MySQL啟動 註意:MySQL不能直接通過 mysql.exe 命令啟動 MySQL客戶端訪問服務端需要尋找匹配:連接認證 連接:IP和埠確定,如果是本地都可以忽略 -h 主機地址 >> -hlocalhost(可以是IP) -P 埠 >> -P3306 認證:通過用戶名 ...
  • 過程:封裝了若幹條語句,調用時,這些封裝體執行 函數:是一個由返回值的’過程‘ 過程是沒有返回值的函數 我們把若幹條sql封裝起來,起個名字 過程 把此過程存儲在資料庫中 存儲過程 存儲過程的額創建語法: create procedure procedureName() begin sql語句; e ...
  • 請耐心看完,特別是這兒學的亂的 一點點看底面的代碼分析你一定會懂的 rownum:是偽號的意思,Oracle專有,不屬於任何表,但是任何表都可以使用! 作用:用以給查詢出來的所有元組加上行號 規則:1,預設是從1開始,依次遞增。 2,不能去點rownum 3,rownum寫在哪個select中,這個 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...