1. 程式人生 > >資料庫設計和ER模型

資料庫設計和ER模型


資料庫系統生存期
        資料庫應用系統從開始規劃、設計、實現、維護到最後被新的系統取代而停止使用的整個期間。
資料庫設計的輸入輸出



規劃階段的三個步驟
    1)系統調查: 對企業組織作全面的調查,畫出組織層次圖,以瞭解企業的組織結構
    2)可行性分析: 從技術、經濟、效益、法律等族方面對建立資料庫的可行性進行分析;寫出可行性分析報告;組織專家進行討論其可行性
    3)確定資料庫系統的總目標和制定專案開發計劃


需求分析工作
    1)分析使用者活動產生,產生業務流程圖
    2)確定系統範圍,產生系統範圍圖
    3)分析使用者活動涉及的資料,產生資料流圖
    4)分析系統資料,產生資料字典

概念設計的主要步驟


    1) 進行資料抽象,設計區域性概念模式
    2) 將區域性概念模式綜合成全域性概念模式
    3) 評審
邏輯設計
物理設計


ER模型:


ER圖轉換成關係模式集的規則
 將每個實體型別轉換成一個關係模式,實體的屬性即為關係模式的屬性,實體識別符號即為關係模式的鍵
二元聯絡型別的轉換
    1) 若實體間聯絡是1:1,可以在兩個實體型別轉換成的兩個關係模式中任意一個關係模式的屬性中加入另一個關係模式的鍵和聯絡型別的屬性。
    2) 若實體間聯絡是1:N,則在N端實體型別轉換成的關係模式中加入1端實體型別的鍵和聯絡型別的屬性。
    3) 若實體間聯絡是M:N,則將聯絡型別也轉換成關係模式,其屬性為兩端實體型別的鍵加上聯絡型別的屬性,而鍵為兩端實體鍵的組合
一元聯絡型別的轉換:同二元聯絡
三元聯絡型別的轉換
總是將三元聯絡型別轉換成關係模式,其屬性為三端實體型別的鍵加上聯絡型別的屬性,而鍵為三端實體鍵的組合。


轉換例子:

ER模型的設計過程,基本上是兩大步:
·先設計實體型別(此時不要涉及到“聯絡”);
·再設計聯絡型別(考慮實體間的聯絡)。
具體設計時,有時“實體”與“聯絡”兩者之間的界線是模糊的。資料庫設計者的任務就是要把現實世界中的資料以及資料間的聯絡抽象出來,用“實體”與“聯絡”來表示。
   另外,設計者應注意,ER模型應該充分反映使用者需求,ER模型要得到使用者的認可才能確定下來。

概念
獨立實體
依賴實體

類和超類
弱實體

關聯型別:
————————————●
------------------------●
◇----------------------●
●———————————●

關聯基數:
預設: 0..*
P:  1..*
Z:  0,1
N:  n

ERWin:物理模型才可以正向、反向工程。

相關推薦

資料庫設計ER模型

資料庫系統生存期        資料庫應用系統從開始規劃、設計、實現、維護到最後被新的系統取代而停止使用的整個期間。 資料庫設計的輸入輸出規劃階段的三個步驟    1)系統調查: 對企業組織作全面的調查,畫出組織層次圖,以瞭解企業的組織結構    2)可行性分析: 從技術、經

第二章 資料庫設計ER模型

2.1 資料庫系統生存期 軟體生存期是指從軟體的規劃、研製、實現、投入執行後的維護,直到它被新的軟體所取代而停止使用的整個期間。 定義2.1 我們把資料庫應用系統從開始規劃、設計、實現、維護到最後被新的系統取代而停止使用的整個期間,稱為資料庫系統生存期。 一般分為7個階段:規

資料庫系統概念(機械工業出版社,第七版)複習——第六章:資料庫設計E-R模型

E-R模型 實體-聯絡模型:Entity-Relationship Model E-R圖要點 實體(Entity) 客觀存在並可相互區分的事物叫實體(唯一標識)。 實體集(Entity Set) 是具有相同型別及共享相同性質(屬性)的實體集合。如全體學生。組成實體集的各實

資料庫系統概念】第7章 資料庫設計E-R模型 知識總結

《資料庫系統概念》第7章知識點總結 資料庫設計和E-R模型 本章我們將學習將資料庫表示為一個關係資料庫設計和一個與之關聯的約束集合 實體:指示所有可明確識別的個體。各種各樣的實體以多種方式互相關聯,而所有這些方式都需要在資料庫設計中反映出來 設計一個數據庫模式的時候,

【學習記錄】第一章 資料庫設計-《SQL Server資料庫設計開發基礎篇視訊課程》

一、課程筆記 1.1  軟體開發週期   (1)需求分析階段   分析客戶的業務和資料處理需求。 (2)概要設計階段   設計資料庫的E-R模型圖,確認需求資訊的正確和完整。 /*   E-R圖:實體-關係圖(Entity Relationship Diagram),提供了

數據庫設計ER模型

col 最終 .com fan nbsp 三範式 建表 lis 保持 數據庫設計 1.第一範式(確保每列保持原子性) 基本的範式,保證數據庫表中的所有字段都不可再分解。 2.第二範式(確保表中的每列都和主鍵相關) 在第一範式的基礎上,第二範式需要表中的每一個字

cms專案的資料庫設計表的設計其…

cms專案資料庫為:DBcms 所有表的字首為cms_ 第一,建立一個數據庫,並建使用者表cms_User 具體sql指令碼為: CREATE TABLE `cms_User` ( `id` INT NOT NULL , `username` VARCHAR( 150 ) NOT NULL , `pa

第七章 資料庫設計 E-R模型

本章重點放在E-R模型和E-R圖,這是這一章節最常用且非常重要的一個知識點,本章的目的就是講述一個E-R圖是怎麼畫出來的。 什麼是E-R模型? E-R模型是有P.P.S.Chen提出的一個用E-R圖描述現實世界的概念模型。 E-R模型有三個重要的概念:實體

cms專案的資料庫設計表的設計其一

cms專案資料庫為:DBcms 所有表的字首為cms_ 第一,建立一個數據庫,並建使用者表cms_User 具體sql指令碼為: CREATE TABLE `cms_User` ( `id` INT NOT NULL , `username` VARCHAR( 150 ) N

資料庫設計功能需求分析------後臺設計概述

功能需求分析和資料庫設計 不論是Web開發還是Android開發,在設計後臺的時候我們都要做的重要的事情不外乎兩點:1. 需求分析;2.資料庫表格的設計。在進行這兩項工作的過程中,第一項工作對第二項起著非常重要的作用,我們只有真正的搞清楚了業務需求以及業

介紹幾款UML建模、資料庫設計UI設計工具

我把我用過的設計工具介紹給大家,大家可以看看。 1.Rational Rose 很多人說Rose不好用,但是我覺得還是挺好用的,用了七八年了,主要是用熟了,而且也沒有什麼大毛病 2.XDE 2003 .Net裡面,你可以用XDE,但是隻有for visual studio

【自考】——資料庫☞增強的ER模型

在ER模型的基礎上,還有一些特殊的語義,需要對基本的ER模型進行擴充—— 增強型ER模型(EER模型) 強實體&弱實體 在現實中,某些實體對於某些實體有著很強的依賴聯絡。 即一個實體存在

資料庫許可權角色模型 .

管理域 系統安全模型設計 1       修改歷史 版本 修改歷史  作者 描述 開發時間(h) 0.1 2007-9-5 LevinSoft 建立文件得基本結構、基本流程 5 0.2 2007-9-26 Levinsof

資料庫設計---PowerDesigner(物理模型概念模型

上一篇介紹了個工具建資料庫:PowerDesigner V16.5 安裝教程以及漢化(資料庫建模)?,現在我就說一下怎麼用這個建資料庫吧。 1、首先新建模型--選擇概念模型(CDM) 2、新建實體(學生和卡),設定相應的屬性

請根據下面需求,按照資料庫設計步驟繪製符合第三正規化的E-R圖資料庫模型

題目要求如下: 1.圖書館藏了多種書籍,每種書籍有一本或一本以上的館藏量 2.每個讀者可以一次借閱多本書籍,但每種書籍一次只能借一本 3.每次每本書籍的借閱時限為1個月 4.如果讀者逾期不交,或丟失,或損毀借閱的書籍,則必須按照規定繳納罰金

9.3總體設計——畢業論文系統設計類圖及各ER模型圖關系圖

http 圖片 關系圖 OS 系統設計 body nbsp gpo 畢業論文 9.3總體設計——畢業論文系統設計類圖及各ER模型圖關系圖

Oracle資料庫開發設計規範

1 命名原則 1.1約定 是指對資料庫、資料庫物件如表、欄位、索引、序列、儲存過程等的命名約定; 命名使用富有意義的英文詞彙,儘量避免使用縮寫,多個單片語成的,中間以下劃線分割 避免使用Oracle的保留字如LEVEL、關鍵字如TYPE(見Oracle保留字和關鍵

flask django區別--在models設計資料庫方面

對於flask: pip install flask_sqlalchemy(flask 一般用這個作為關係型資料庫;他簡化了sqlalchemy的操作)可以提供orm和原生的資料庫操作;) pip install pymysql 配置: app.config['SQLALCHEMY_

mysql workbench如何把已有的資料庫匯出ER模型及其他使用說明

mysql workbench的特長是建立表結構的,然後在結構圖中,圈圈點點,很容易就利用視覺化方式把資料庫建好,然後再匯入到資料庫伺服器中,這種辦法很效率。但是有時我們有一個需求,事先沒有建表結構模型,而是利用別的資料庫軟體建的資料庫,並且我們還想利用workbench的表結構模型在上面修改,此時

連線查詢資料庫設計

-- 連線查詢 -- inner join ... on -- 兩個表連線查詢 select * from students inner join classes -- 查詢能夠對應班級的學生以及班級資訊 select * from students inner join classes on student