軟考55-上午題-【數據庫】-數據庫設計步驟1

一、數據庫設計的步驟

新奧爾良法,四個主要階段:

1、用戶需求分析:手機用戶需求,確定系統邊界;

2、概念設計(概念結構設計):是抽象概念模型,較理想的是采用E-R方法。

3、邏輯設計:E-R圖——>關系模式,規范化(3NF、BCNF)

4、物理設計:邏輯模式在計算機中的具體實現。

1-1、需求分析階段

邏輯設計、物理設計均以需求分析的設計為依據。

需求分析階段的工作以及形成的相關文檔,作為概念結構設計階段的依據。

需求分析階段的結果文檔:

  • 需求說明文檔;
  • 數據字典(系統需求說明書)
  • 數據流程圖(數據流圖)(系統需求說明書)

1-2、概念結構設計

1-2-1、E-R圖

1、E-R模型中的基本術語(概念模型、實體-聯系模型)

1、實體

矩形表示,客觀存在并相互區別的事物,如:單位、職工、部門、項目。

2、聯系

菱形表示,實體之間的對應關系。

2-1、兩個實體集之間的聯系有3種類型:

(1)、1對1的聯系(1:1)。如:班和班長之間的聯系。

(2)、一對多的聯系(1:n)。如:班和學生之間的聯系。

(3)、多對多的聯系(m:n)。如:課程和學生之間的聯系。

示例:

2-2、兩個以上實體集之間的聯系:

  • 1:1:1;
  • 1:1:n;
  • 1:n:m;
  • r:m:n;

示例:

2-2、同一實體集內的二元聯系:

同一實體集內的各個實體之間也存在1:1、1:n、n:m的聯系。

示例:

3、屬性

橢圓表示,實體的特性,一個實體可以有若干屬性。

屬性的具體取值:屬性值;

屬性域:屬性值的取值范圍,如年齡的取值范圍是18~60。

如:學生實體的若干屬性(學號、姓名、性別、出生日期、班號)

3-1、屬性的分類:

1、簡單屬性、復合屬性

簡單屬性:原子的、不可再分的;

復合屬性:可以細分為別的屬性;例如:通信地址屬性,可以再分為:郵編、省、市、街道。

2、單值屬性、多值屬性

單值屬性:定義的屬性對于特定的實體,只有一個單獨的值;如:特定的職工,只對應一個職工號、職工姓名。

多值屬性:一個屬性對應一組值。如:職工可能有多個親屬,則職工的親屬姓名可能有多個數目。

3、NULL值屬性

4、派生屬性

從其他屬性得來;如:工作年限的值 = 當前時間 - 入職時間,工作年限就是派生屬性。

3-2、真題

真題1:

真題2:

2、E-R圖實例

3、E-R圖中的主要構建

4、弱實體

這種實體對另一些實體具有很強的依賴關系,即,一個實體的存在必須以另一個實體為前提。如:職工與家屬,家屬總是屬于職工。示例:

1-2-2、概念結構設計

用E-R方式建立概念模型:

對需求分析階段得到的數據進行分類、聚集、概括,確定:實體、屬性、聯系。

概念結構的具體工作步驟:選擇局部應用、逐一設計分析E-R圖、E-R圖合并。

局部E-R圖合并,示例:

合并:

沒什么特別的,只是兩個E-R圖的合并而已。

概念結構設計階段:

1、選擇局部應用;

2、逐一設計分E-R圖(局部E-R圖)

3、局部E-R圖的合并;

合并的過程中要解決分E-R圖之間存在的沖突。

1-2-2-1、分E-R圖之間的沖突,分類:
1、屬性沖突

如:分數屬性

學校考試的分數,取值范圍:0~100

四級英語考試的分數,取值范圍:0~600

2、命名沖突
  • 異名同義
  • 同名異義

示例:

3、結構沖突
  • 同一實體,在不同的分E-R圖中有不同的屬性;
  • 同一對象,在一個分E-R圖中被抽象為實體,,在另一個分E-R圖中被抽象為屬性。

示例:

1-2-2-2、真題

真題1:

真題2:

教師、職工屬于同一個實體。

結構沖突:

同一實體,在不同的分E-R圖中有不同的屬性;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/716602.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/716602.shtml
英文地址,請注明出處:http://en.pswp.cn/news/716602.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

深度學習:開啟你的AI探索之旅

在這個信息爆炸的時代,人工智能(AI)已經滲透到我們生活的方方面面,從智能語音助手到自動駕駛汽車,從智能推薦系統到醫療影像診斷,AI的身影無處不在。而深度學習,作為AI領域的一大核心技術,更是引領著這場科技革命的浪潮。那么,如何入門深度學習,踏上這趟充滿挑戰與機…

深入Gradle:初識構建自動化的魅力

在軟件開發的世界中,構建工具是不可或缺的一部分。它們幫助我們自動化編譯、測試和打包應用程序的過程,從而節省時間并減少錯誤。在眾多構建工具中,Gradle以其靈活性、可擴展性和卓越的性能而脫穎而出。本篇文章將帶你走進Gradle的世界&#…

代碼隨想錄算法訓練營第七天

● 自己看到題目的第一想法 第454題.四數相加II 方法&#xff1a; 方法一&#xff1a; 暴力法 思路&#xff1a; 注意&#xff1a; 代碼&#xff1a; class Solution { public:int fourSumCount(vector<int>& nums1, vector<int>& nums2, vector<i…

QT 網絡編程 8

1 基礎知識 udp tcp 2 UDP 框架 客戶端: QUdpSocket x; qint64 writeDatagram( const char *data, qint64 size, const QHostAddress &address, quint16 port );服務器: void Server::initSocket(){udpSocket new QUdpSocket(this);udpSocket->bind(QHostAddress…

macos jupyter notebook字體的修改

終端codemirror 記事本打開 搜索font-family 修改font-size保存即可

重學SpringBoot3-@ConditionalOnXxx條件注解

重學SpringBoot3-ConditionalOnXxx條件注解 引言常見的條件注解常見的條件注解示例擴展條件注解1. ConditionalOnJndi2. ConditionalOnJava3. ConditionalOnCloudPlatform4. ConditionalOnEnabledResourceChain5. 自定義條件注解 總結 引言 Spring Boot 提供了一組強大的條件注…

ERDAS監督分類與溫度反演教程

本期帶來監督分類教程&#xff0c;更多內容&#xff0c;歡迎關注小編的公眾號梧桐涼月哦&#xff01;&#xff01;&#xff01; 一、研究區自然、地理環境特征&#xff1a; 1、景德鎮市位于中國江西省東北部&#xff0c;地處贛江中游的贛北盆地&#xff0c;地形地貌以丘陵和低…

mitmproxy代理

文章目錄 mitmproxy1. 網絡代理2. 安裝3. Https請求3.1 啟動mitmproxy3.2 獲取證書3.3 配置代理3.4 運行測試 4. 請求4.1 讀取請求4.2 修改請求4.3 攔截請求 5. 響應5.1 讀取響應5.2 修改響應 6. 案例&#xff1a;共享賬號6.1 登錄bilibili獲取cookies6.2 在代理請求中設置cook…

ER-NeRF實時對話數字人模型訓練與部署

ER-NeRF是基于NeRF用于生成數字人的方法&#xff0c;可以達到實時生成的效果。 下載源碼 cd D:\Projects\ git clone https://github.com/Fictionarry/ER-NeRF cd D:\Projects\ER-NeRF 下載模型 準備面部解析模型 wget https://github.com/YudongGuo/AD-NeRF/blob/master/…

MyBatisPlus入門教程

MyBatisPlus MyBatis-Plus (opens new window)&#xff08;簡稱 MP&#xff09;是一個 MyBatis (opens new window) 的增強工具&#xff0c;在 MyBatis 的基礎上只做增強不做改變&#xff0c;為簡化開發、提高效率而生。 官網地址&#xff1a;https://baomidou.com/ 一、入門案…

sql注入之sqli-labs-less-1 錯誤注入

輸入?id1 得到登錄頁面&#xff1a; 通過order by 函數試探&#xff1a; 5的時候報錯 試探到3 的時候返回正確的值&#xff1a; 然后繼續注入&#xff1a;?id -1 union select 1,2,3 -- 查看回顯點&#xff1a; 開始查看數據庫內容&#xff1a;id-1 union select 1,databa…

OpenXR 超詳細的spec--API初始化介紹

3.API 初始化 3.2 Function Pointers XrResult xrGetInstanceProcAddr(XrInstance instance,const char* name,PFN_xrVoidFunction* function); instance: XrInstance類型&#…

open-spider開源爬蟲工具:抖音數據采集

在當今信息爆炸的時代&#xff0c;網絡爬蟲作為一種自動化的數據收集工具&#xff0c;其重要性不言而喻。它能夠幫助我們從互聯網上高效地提取和處理數據&#xff0c;為數據分析、市場研究、內容監控等領域提供支持。抖音作為一個全球性的短視頻平臺&#xff0c;擁有海量的用戶…

CKA考生注意:這些Deployment要點能助你一臂之力!

往期精彩文章 : 提升CKA考試勝算&#xff1a;一文帶你全面了解RBAC權限控制&#xff01;揭秘高效運維&#xff1a;如何用kubectl top命令實時監控K8s資源使用情況&#xff1f;CKA認證必備&#xff1a;掌握k8s網絡策略的關鍵要點提高CKA認證成功率&#xff0c;CKA真題中的節點維…

68-解構賦值,迭代器,生成器函數

1.解構賦值(針對數組array&#xff0c;字符串String及對象object以) 結構賦值是一種特殊的語法&#xff0c;通過將各種結構中的元素復制到變量中達到"解構"的目的&#xff0c;但是數組本身沒有改變 1.1解構單層數組 <script>let arr [1,2,3,4,5];//獲取數組…

c++ primer學習筆記(一)

目錄 第一章、c快速入門 重點&#xff1a;類的簡介 第二章 1、基本內置類型 2、字面值常量 1、整型字面值規則 2、浮點字面值規則 3、布爾字面值 4、字符字面值 5、非打印字符的轉義序列 ?編輯 6、字符串字面值 3、變量 1、變量標識符 2、定義和初始化對象 3、…

leetcode 1328.破壞回文串

題目鏈接LeetCode1328 1.題目 給你一個由小寫英文字母組成的回文字符串 palindrome &#xff0c;請你將其中 一個 字符用任意小寫英文字母替換&#xff0c;使得結果字符串的 字典序最小 &#xff0c;且 不是 回文串。 請你返回結果字符串。如果無法做到&#xff0c;則返回一個…

java: 無法訪問org.springframework.web.bind.annotation.RequestMapping......類文件具有錯誤的版本 61.0, 應為 52.0

文章目錄 一、報錯問題二、問題背景三、原因分析四、解決方案 一、報錯問題 java: 無法訪問org.springframework.web.bind.annotation.RequestMapping 錯誤的類文件: /D:/SoftwareInstall/Maven/repository/org/springframework/spring-web/6.0.9/spring-web-6.0.9.jar!/org/s…

latex報錯Repeated entry解決辦法

報錯原因——重復了兩個參考文獻&#xff0c;刪掉一個即可 總結 "Repeated entry"這個錯誤通常出現在你嘗試在LaTeX中多次使用同一個標簽&#xff08;label&#xff09;或者多次插入相同的圖像/表格等時。例如&#xff0c;在LaTeX中&#xff0c;我們可能會為每一個章…

Modern C++ std::any為何要求Tp可拷貝構造?

小問題也會影響設計的思路&#xff0c;某個問題或某種case的探討有助于理解設計的初衷。 聲明&#xff1a;以下_Tp/Tp都是指要放入std::any的對象的類型。 它要求_Tp is_copy_constructible, 僅僅是因為有很多函數的實現調用了Tp的拷貝構造函數嗎&#xff1f;比如說上節提到的初…