資料庫系統概論—關係理論、資料庫設計

来源:https://www.cnblogs.com/wht-de-bk/archive/2023/06/05/17459121.html
-Advertisement-
Play Games

# 資料庫系統概論— 設計與應用開發篇(1) ## 一.關係數據理論 主要是關係中**屬性和屬性之間的依賴關係** ### 1相關基本概念 - **第一範式**:表中無表(屬性不可再分) - 數據依賴:是在一個關係內部屬性間的約束,分為函數和多值依賴。 eg:學號決定姓名 ### 2.規範化 ### ...


資料庫系統概論— 設計與應用開發篇(1)

一.關係數據理論

主要是關係中屬性和屬性之間的依賴關係

1相關基本概念

  • 第一範式:表中無表(屬性不可再分)
  • 數據依賴:是在一個關係內部屬性間的約束,分為函數和多值依賴。 eg:學號決定姓名

2.規範化

2.1函數依賴

與數學中函數概念相似,一個X只能對應一個Y。記作X->Y

  • 非平凡函數依賴:X->Y,但Y不屬於X
  • 平凡函數依賴:X->Y,但Y屬於X(一般不討論)
  • 等價:X->Y且Y->X(可以相互替換)
  • 完全函數依賴:在X->Y的前提下,只有X的全集可以->Y
  • 部分函數依賴:在X->Y的前提下,X的子集可以->Y

2.2碼(主碼或是候選碼)

  • 候選碼:可以確定一個元組(包括除候選碼的所有屬性)的屬性/屬性組
  • 主碼:若有多個候選碼,隨便選一個當主碼
  • 主屬性:在候選碼中的屬性

如何找候選碼

只出現在左邊->一定是候選碼

只出現在右邊->一定不是是候選碼

左右都不出現->一定是候選碼

左右都出現->不一定是候選碼

選擇出一定是候選碼的集合後,依次添加可能是候選碼的選項,看是否能夠推出所有的屬性


2.3範式

image

2.4第二範式

在第一範式的基礎上,每一個非主屬性完全依賴任何一個候選碼,若候選碼是一個屬性,則必滿足第二範式

2.5第三範式

在第二範式基礎上,其非主屬性沒有傳遞關係,若無非主屬性,則比滿足第三範式

2.6BC範式

在第三範式的基礎上,其決定因數中一定有碼。實現了函數範圍內的徹底分解。

二、資料庫設計

1.設計概述

資料庫設計包括信息管理要求數據操作要求

1.1設計特點

三分技術,七分管理,十二分基礎數據

結構(數據)設計和行為(處理)設計相結合

1.2設計基礎步驟

image

2.需求分析

需求分析是設計資料庫的起點

3.概念結構設計

3.1E-R圖

實體,屬性,聯繫三要素

eg:

image

3.2E-R圖轉換

一個實體一個單獨的表

一對一的聯繫:將一端的主碼放入另一個關係中並加聯繫的屬性

一對多的聯繫:將1的主段放入多端的的關係中,並加聯繫的屬性

多對多的聯繫:建新表,兩端的主碼並加聯繫的屬性

相互聯繫的實體大於2,則另建新表,各自的主碼加聯繫的屬性


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

-Advertisement-
Play Games
更多相關文章
  • 經過前幾篇文章的講解,初步瞭解ASP.NET Core MVC項目創建,啟動運行,以及命名約定,創建控制器,視圖,模型,接收參數,傳遞數據ViewData,ViewBag,路由,頁面佈局,wwwroot和客戶端庫,Razor語法,EnityFrameworkCore與資料庫,HttpContext,... ...
  • 摘要:基於.NET Core 7.0WebApi後端架構實戰【2-介入IOC控制反轉】 2023/04/09, ASP.NET Core 7.0, VS2022 引言 Inversion of Control,簡稱IOC,即控制反轉。記得當初剛實習的時候公司的帶我的人和我提到過IOC這個概念,當初完 ...
  • # 圖片介面JWT鑒權實現 # 前言 之前做了個返回圖片鏈接的介面,然後沒做授權,然後今天鍵盤到了,也是用JWT來做介面的許可權控制。 然後JTW網上已經有很多文章來說怎麼用了,這裡就不做多的解釋了,如果不懂的可以參考下列鏈接的 文章。 圖片介面文章:[還在愁個人博客沒有圖片放?](https://w ...
  • 網上很多方法都試過,什麼“修複”,關掉進程,重啟都試過了,但是想保留數據所以不想重置 **最後發現打不開的原因:C盤空間滿了** 但是我在安裝的時候明明設置在別的盤 ![image](https://img2023.cnblogs.com/blog/2580807/202306/2580807-20 ...
  • 大家好,我是god23bin。歡迎來到《一分鐘學一個 Linux 命令》系列,今天需要你花兩分鐘時間來學習下,因為今天要講的是兩個命令,mkdir 和 touch 命令。前一個命令是操作目錄的,後一個命令是操作文件的。 ...
  • 摘要:本文介紹基於STM32微控制器、BC26 NBIOT模組和華為雲IOT平臺,實現了一款智能井蓋系統。 本文分享自華為雲社區《基於STM32+NBIOT+華為雲IOT設計的智能井蓋》,作者:DS小龍哥 。 一、概述 智能井蓋是一種通過物聯網技術實現對井蓋狀態監測和管理的設備。當前介紹基於STM3 ...
  • ## 前置知識 動態捲管理(LVM,Logical Volume Manger)實現將多個硬碟和硬碟分區做成一個邏輯捲,並將邏輯捲統一管理。創建LVM順序為:物理捲PV->捲組VG->邏輯捲LV。 物理捲(PV,Physical Volume):物理硬碟或分區; 捲組(VG,Volume Group ...
  • 不同ubuntu版本對應的ros版本名稱 ubuntu版本 ros1版本 ros2版本 16.04 kinetic ardent 18.04 melodic dashing 20.04 noetic foxy 1、打開軟體與更新,切換ubuntu軟體源(國內阿裡雲) 2、打開終端,添加ros軟體源( ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...