【資料庫概論】第一章 資料庫概論

来源:https://www.cnblogs.com/cyra/archive/2023/12/05/17878153.html
-Advertisement-
Play Games

單體架構下鎖的實現方案 1. ReentrantLock全局鎖 ReentrantLock(可重入鎖),指的是一個線程再次對已持有的鎖保護的臨界資源時,重入請求將會成功。 簡單的與我們常用的Synchronized進行比較: ReentrantLock Synchronized 鎖實現機制 依賴AQ ...


1.1 資料庫系統概述

1.1.1 資料庫的四個基本概念

  1. 數據
  2. 資料庫
  3. 資料庫管理系統DBMS
  4. 資料庫系統DBS

1.1.2 資料庫的特點

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

1.2 數據模型

1.1.1 數據模型

數據模型也是一種模型,他是對現實世界數據特征的抽象。也就是說數據模型是用來描述數據、組織數據和對數據進行操作的。數據模型是資料庫系統的核心和基礎。

1.2.1 兩類數據模型

根據模型應用的不同目的,可以將模型劃為兩大類,它們屬於兩個不同的層次。第一類是概念模型,第二類是邏輯模型和物理模型。

  • 概念模型是按用戶觀點來對數據和信息建模,主要用於資料庫設計。
  • 第二類中邏輯模型主要包括層次模型、網狀模型、面向對象數據模型和對象關係模型等。第二類中的物理模型是對數據最底層的抽象,它描述數據在系統內的表示方式和存取方法,是面向電腦系統的。
    現實世界中客觀對象的抽象過程

1.2.2 概念模型

  1. 實體(entity)
    客觀存在並且可以相互區別的食物成為實體。比如一個職工、一個學生、一個部門等
  2. 屬性(attribute)
    實體所具有的某一特性成為屬性,一個實體可以由若幹個屬性來刻畫,比如學生實體可以由學號、姓名、性別等屬性構成。
  3. 碼(key)
    唯一標識實體店屬性集稱為碼,比如學號屬性稱為學生實體的碼。
  4. 實體型(entity type)
    實體名以及其屬性名集合來抽象和刻畫同類實體稱為實體,例如,學生(學號,姓名,性別,入學時間)就是一個實體型
  5. 實體集
    同一類型實體的集合稱為實體集,例如全體學生就是一個實體集合。
  6. 聯繫
    實體之間的聯繫通常指不同實體集之間的聯繫,比如實體之間的聯繫有一對一、一對多、多對多等類型

1.2.3 數據模型的組成要素

數據模型是嚴格定義一組概念的集合,因此數據模型通常由數據結構、數據操作和數據的完整性約束條件三部分組成

  1. 數據結構
    數據結構描述資料庫組成和對象時間的關係
  2. 數據操作
    數據操作是指對資料庫中各種對象的實例允許執行的操作的集合,包括操作以及有關的操作規則。
  3. 數據的完整性約束條件
    數據的完整性約束條件是一組完整性規則。完整性規則是給定數據模型中數據及其聯繫所具有的制約和依存規則,用於限定數據模型的資料庫狀態以及狀態變化,從而保證數據的正確、有效和相容。在這裡描述的比較抽象,看不懂的也不用擔心,後面有詳細介紹,屆時會比較通俗易懂

1.2.4 關係模型

關係模型是最重要的一種數據模型,關係資料庫系統採用關係模型作為數據的組織方式。這也是我們研究的重點。
關係模型的數據結構
關係模型的數據結構

  • 關係(relation):一個關係對應一張表,例如圖1.14
  • 元組(tuple):表中的一行就是一個元組
  • 屬性(attribute):表中的一列就是一個屬性,每個屬性的名稱稱為屬性名
  • 碼(key):又稱為碼鍵,表中的某個可以唯一確定一個元組的屬性組稱之為碼
  • 域(domain):域是一組具有相同數據類型的值的集合。屬性的取址範圍來自某個域。如人的性別取值範圍為(男,女)
  • 分量:元素中的一個屬性值

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

-Advertisement-
Play Games
更多相關文章
  • 目錄一、fdisk工具創建一個磁碟分區1、虛擬機添加測試硬碟2、創建磁碟分區3、文件系統管理磁碟分區4、掛載二、parted命令使用場景操作命令'help'查看命令列表查看分區情況劃分出主分區"parted1"刪除分區格式化操作設置開機自動掛載方法一:編輯/etc/fstab文件方法二:編輯/etc ...
  • 組管理和許可權管理 一、組管理 Linux組的基本介紹 Linux組: 在Linux中的每個用戶必須屬於一個組,不能獨立於組外。在Linux中每個文件 有所有者、所在組、其它組的概念。 文件/目錄 所有者(User): 一般為文件的創建者,誰創建了該文件,就自然的成為該文件的所有者。 文件/目錄 所在 ...
  • vim是vi的增強版,由vim-enhanced軟體包提供。vim具有vi不具備的特性eg:命令語法的高亮 vim是一個預設的文本編輯器來進行使用,在眾多的Linux發行版中均被內置,成為Linux主流的文本編輯器。 gvim:vim的圖形化版本 提供在vim-x11包里、 1、vim的工作模式 命 ...
  • 文件系統 文件系統結構 tip:[start]僅舉例常見內容tip:[end] / 根目錄 bin 可執行文件命令 (ls,...) etc 配置文件 (nginx代理伺服器配置文件,...) var 日誌log文件 lib 存頭文件/安裝包 home 用戶的家目錄 (/home/acs,...) ...
  • 想要確保你的Windows服務即使在崩潰後也能自動重啟嗎?這篇文章教你如何用一個小巧的批處理腳本來實現這一點。教你怎麼設置定時檢查,如果發現服務掛了,就立刻拉起來。跟著步驟做,讓你的服務穩定運行不再是難題! ...
  • 背景 Redis是一種基於客戶端-服務端模型以及請求/響應協議的TCP服務。一個請求會遵循以下步驟: 1 客戶端向服務端發送命令分四步(發送命令→命令排隊→命令執行→返回結果),並監聽Socket返回,通常以阻塞模式等待服務端響應。 2 服務端處理命令,並將結果返回給客戶端。 上述兩步稱為:Roun ...
  • 課程中,第二章是MySQL環境搭建,因為我是網上找的博客,下載zip,直接安裝的,就沒看視頻,所以沒有第二章筆記。這裡給出MySQL社區版下載地址。 C-03.基本的SELECT語句 1.SQL概述 1.1 SQL背景知識 1974年,IBM研究員發佈了一篇揭開資料庫技術的論文《SEQUEL:一門結 ...
  • SQL CREATE DATABASE 語句 SQL CREATE DATABASE 語句用於創建一個新的 SQL 資料庫。 語法 CREATE DATABASE 資料庫名稱; 示例 以下 SQL 語句創建了一個名為 "testDB" 的資料庫: CREATE DATABASE testDB; 通過 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...