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

来源: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
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...