国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

數據庫系統(tǒng)原理與實踐 筆記 #6

這篇具有很好參考價值的文章主要介紹了數據庫系統(tǒng)原理與實踐 筆記 #6。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

數據庫系統(tǒng)原理與實踐 筆記 #6

數據庫設計和E-R模型

設計過程

  • 設計數據庫模式、設計訪問更新數據庫的程序、以及設計控制數據訪問的安全模式
  • 設計階段:
    • 概念設計階段:構建實體-聯系圖
    • 邏輯設計階段:將實體-聯系圖映射到關系模式
    • 物理設計模式:指明數據庫文件組織格式和索引結構
  • 設計問題:冗余、不完整

實體-聯系模型

  • 實體-聯系(Entity-Relationship)模型:E-R模型是一種語義模型,在將現實世界事物的含義和相互關聯映射到概念模式方面非常有用
  • 采用三個基礎概念:實體集聯系集、屬性
  • 一個數據庫可以被建模為:實體的集合、實體間的聯系

實體集

  • 實體是現實世界可區(qū)別于所有其他對象的一個“事物”或“對象”
  • 實體集是想同類型即具有相同性質(或屬性)的一個實體集合
  • 實體集的外延是指屬于實體集的實體的實際集合
  • 實體有屬性,它是實體集中每個成員所擁有的描述性性質
  • 每個實體的每個屬性都有一個

聯系集

  • 聯系是指多個實體間的相互關聯
  • 聯系集是相同類型聯系的集合
  • 聯系集也可以有屬性

聯系集中實體的角色

  • 實體在聯系中扮演的功能稱為實體的角色
  • 角色是隱含的,通常不指定
  • 當同樣的實體集參與一個聯系集多于一次,這類聯系集稱作是遞歸聯系集

聯系集的度

  • 參與聯系集的實體集的數目稱為聯系集的
  • 二元聯系集:涉及兩個實體集(度為2)、數據庫系統(tǒng)中大多數聯系集都是二元

屬性

  • 實體通過一組屬性來表示,屬性是實體集中每個成員所擁有的描述性性質
  • —每個屬性可取值的集合,也稱值域
  • 屬性類型:
    • 簡單復合屬性
    • 單值多值屬性
    • 派生屬性和屬性:派生屬性可以從別的屬性派生出來、派生屬性值不存儲,而是在需要時計算出來

復合屬性

  • 復合屬性可以是有層次
    數據庫系統(tǒng)原理與實踐 筆記 #6,數據庫系統(tǒng)原理與實踐,數據庫,筆記,sql

約束

映射基數約束

  • 映射基數,或基數比率,表示一個實體通過一個聯系集能關聯的實體的個數
  • 對二元聯系集來說,映射基數必然是以下情況之一:一對一、一對多、多對一、多對多
  • 二元聯系集中的一個集合的某個元素可能并不映射到另一集合的任一元素

參與約束

  • 如果實體集E中的每個實體都參與到聯系集R的至少一個聯系中,實體集E在聯系集R中的參與稱為全部
  • 如果實體集E中只有部分實體參與到R的聯系中,實體集E在聯系集R中的參與稱為部分

實體集的碼

  • 一個實體集的超碼是一個或多個可以用來唯一標識實體的屬性(集)
  • 一個實體集的候選碼是最小的超碼
  • 主碼是被選擇用來區(qū)分實體的候選碼,主碼只有一個,但候選碼可以有多個

聯系集的碼

  • 如果聯系集R沒有屬性,那么屬性集合 p r i m a r y ? k e y ( E 1 ) ∪ p r i m a r y ? k e y ( E 2 ) ∪ . . . ∪ p r i m a r y ? k e y ( E n ) primary-key(E_1)\cup primary-key(E_2)\cup ... \cup primary-key(E_n) primary?key(E1?)primary?key(E2?)...primary?key(En?)描述了集合R中的一個聯系

  • 如果聯系集R屬性 a 1 , a 2 , . . . , a m a_1,a_2,...,a_m a1?,a2?,...,am?,那么屬性集合 p r i m a r y ? k e y ( E 1 ) ∪ p r i m a r y ? k e y ( E 2 ) ∪ . . . ∪ p r i m a r y ? k e y ( E n ) ∪ { a 1 , a 2 , . . . , a m } primary-key(E_1)\cup primary-key(E_2)\cup ... \cup primary-key(E_n)\cup \{a_1,a_2,...,a_m\} primary?key(E1?)primary?key(E2?)...primary?key(En?){a1?,a2?,...,am?}描述了集合R中的一個聯系

  • 相關的實體集的主碼的集合形成了聯系集的超碼,在以上的兩種情況下,屬性集合 p r i m a r y ? k e y ( E 1 ) ∪ p r i m a r y ? k e y ( E 2 ) ∪ . . . ∪ p r i m a r y ? k e y ( E n ) primary-key(E_1)\cup primary-key(E_2)\cup ... \cup primary-key(E_n) primary?key(E1?)primary?key(E2?)...primary?key(En?)總是構成聯系集的一個超碼

冗余屬性

  • 假設有實體集:
    • instructor實體集有dept_name屬性
    • department實體集
  • 以及聯系集:
    • inst_dept,聯系instructor和department
  • instructor中的dept_name屬性是冗余的,因為有一個明確的關系inst_dept來聯系instructor和department:
    • dept_name屬性重復了inst_dept聯系中的信息,應該從instructor中除去

實體-聯系圖

E-R圖

數據庫系統(tǒng)原理與實踐 筆記 #6,數據庫系統(tǒng)原理與實踐,數據庫,筆記,sql

  • 矩形代表實體集
  • 屬性在實體矩陣中列出
  • 構成主碼的屬性以下劃線標明
  • 菱形代表聯系集

參與聯系集中的實體集

  • 全部參與(用兩條線標識):實體集中的每個實體都參與到聯系集的至少一個聯系中
  • 部分參與:某些實體不參與到聯系集中的任何一個聯系

基數約束

  • 我們在聯系集和實體集之間畫一個箭頭( → \rightarrow ) 代表“一”,或者一條線段(—) 代表“多”來表示基數約束
    數據庫系統(tǒng)原理與實踐 筆記 #6,數據庫系統(tǒng)原理與實踐,數據庫,筆記,sql

角色

  • 一個聯系的實體集不需要唯一:一個實體集總的元素每次讀出現在關系中代表一個“角色”
  • course_id和prereq_id被稱為角色
    數據庫系統(tǒng)原理與實踐 筆記 #6,數據庫系統(tǒng)原理與實踐,數據庫,筆記,sql

三元關系上的基數約束

  • 我們只允許在一個三元(或三元以上)聯系集外有一個箭頭來表示基數約束
  • 如果有多余一個的箭頭,那就會有兩種解釋:
    • 例如,R是A,B和C之間的三元聯系集,并且有兩個箭頭指向B和C,這可以表示為:
      • 每個在A中的實體都與來自B和C的至多一個實體相關聯
      • 每個來自(A,B)的實體對都與來自C的至多一個實體相關聯,而每個來自(A,C)的實體對都與來自B的至多一個實體相關聯
    • 為了避免混淆,在聯系集這外我們只允許有一個箭頭

弱實體集

  • 一個沒有足夠的屬性形成主碼的實體集叫做弱實體集

  • 弱實體集必須與標識屬主實體集(Owner Entity Set) 關聯才有意義

  • 將弱實體集與其表示實體集相連的聯系稱為標識性聯系:標識聯系集以雙邊框的菱形表示

  • 弱實體集通過一個全部參與的、(多對一或一對一)的聯系集與標識實體集聯系

  • 弱實體集的分辨符是使得我們區(qū)分弱實體集中實體的屬性集合,也稱為該弱實體集的部分碼

  • 弱實體集的主碼標識實體集的主碼和該弱實體集的分辨符共同組成

  • 弱實體集的分辨符用虛下劃線表示

  • 標識聯系集以雙邊框的菱形表示

  • 強實體集的主碼并不存儲于弱實體集

  • 弱實體集可以參與標識性聯系以外的任何聯系,也可能與不止一個標識實體集關聯

  • 在某些情況下,數據庫設計者會選擇講一個弱實體集表示為屬主實體集的一個 (多值)符合屬性文章來源地址http://www.zghlxwxcb.cn/news/detail-724988.html

    • 如果弱實體集只參與標識性聯系,而且其屬性不多,建模時更適合將其作為屬性
    • 反之,更適合將其表示為弱實體集

轉換為關系模式

  • 一個符合E-R模式的數據庫可以表示為一些關系模式的集合
    • 實體集聯系集都可以用表示數據庫內容的統(tǒng)一的關系模式來表示
    • 每個實體集合聯系集獨有一個特有的關系模式與其對應,并分配相應的名字
    • 每個關系模式都有一些列,每個列多有唯一的名字

具有簡單屬性的實體集的表示

  • 從強實體集轉換而來的模式與強實體集具有相同屬性、主碼
  • 從弱實體集轉換的模式包含弱實體集的屬性表示強實體集的主碼
  • 該模式的主碼由強實體集的主碼與弱實體集的分辨符組合而成

復合屬性

  • 復合屬性通過為每個子屬性創(chuàng)建單獨的屬性
    • 實體集instructor有復合屬性name:由first_name, middle_name和last_name構成
    • 轉化成關系模式后,該實體集具有name_first_name,name_middle_name和name_last_name

多值屬性

  • 實體集E的多值屬性M用一個獨立的模式EM表示
  • 模式EM包含對應于的E主碼及多值屬性M的屬性
  • 多值屬性的每個值映射到關系模式EM的每一個獨立元組
  • 不需要建立一個對應于實體集的模式,只需創(chuàng)建一個對應于多值屬性的關系即可

聯系集的表示

  • 聯系集關系模式屬性的選擇
  • 聯系集主碼選擇:二元聯系集主碼選擇、多元聯系集主碼選擇
  • 注意:需要為聯系集的屬性建立外碼約束

模式的冗余—合并

  • 多對一和一對多的聯系集的模式,如果“多”方參與是全部的,那么可以將 “多”方實體集和聯系集的模式合并成單個包含兩個模式所有屬性并集的關系模式
  • 合并后模式加入原聯系集的外碼約束
  • 如果“多”方參與是部分的,也可以通過使用空值來進行模式合并。轉換為關系模式時,聯系集中 “一”方的相關屬性應注意不能設置為not null
  • 在一對一聯系的情況下,聯系集的關系模式可以跟參與聯系的任何一個實體集的模式進行合并
  • 一般而言,連接弱實體集與其標識強實體集之間的標識性聯系集轉換出的模式是冗余

到了這里,關于數據庫系統(tǒng)原理與實踐 筆記 #6的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 《數據庫原理》實驗六 SQL數據查詢實驗

    《數據庫原理》實驗六 SQL數據查詢實驗

    本系列傳送門: 實驗二 SQL Server SSMS工具創(chuàng)建和管理數據庫及數據表 實驗三 SQL Server SSMS工具添加數據 實驗四 SQL的數據定義語句 實驗五 數據庫完整性約束的實現與驗證 實驗六 SQL數據查詢實驗 實驗六(2) SQL數據查詢—連接查詢 實驗七 SQL的數據更新和視圖 實驗八 T_SQL編程

    2024年02月03日
    瀏覽(22)
  • 分布式數據庫事務故障恢復的原理與實踐

    分布式數據庫事務故障恢復的原理與實踐

    關系數據庫中的事務故障恢復并不是一個新問題,自70年代關系數據庫誕生之后就一直伴隨著數據庫技術的發(fā)展,并且在分布式數據庫的場景下又遇到了一些新的問題。本文將會就事務故障恢復這個問題,分別講述單機數據庫、分布式數據庫中遇到的問題和幾種典型的解決方

    2024年02月03日
    瀏覽(25)
  • 【數據庫·關系數據庫標準語言SQL·學習筆記】Microsoft SQL Server數據庫的建立和刪除

    【數據庫·關系數據庫標準語言SQL·學習筆記】Microsoft SQL Server數據庫的建立和刪除

    開發(fā)環(huán)境:SQL Server Management Studio(SSMS) 利用數據庫對象資源管理器創(chuàng)建數據庫 (1)右擊對象資源管理器中的數據庫,選擇新建數據庫 (2)在新建數據庫界面輸入數據庫名稱 ,并選擇確定 利用CREAT DATABASE命令在SSM工具的新建查詢中創(chuàng)建數據庫 1.語法格式 CREATE DATABASE dat

    2024年02月08日
    瀏覽(34)
  • ?數據庫原理及應用上機(實驗二 SQL數據定義功能實驗)

    ?數據庫原理及應用上機(實驗二 SQL數據定義功能實驗)

    ? 作者:命運之光? ? 專欄:數據庫原理及應用上機實驗 ? 目錄 ?一、實驗目的和要求 ?二、實驗內容與步驟 ?三、附加練習 ?四、實驗總結 ???? 前言: ? 數據庫原理及應用上機實驗報告的一個簡單整理后期還會不斷完善 ???? 1.掌握利用SQL查詢分析器和企業(yè)管理

    2024年02月05日
    瀏覽(21)
  • 【SQL Server】數據庫開發(fā)指南(三)面向數據分析的 T-SQL 編程技巧與實踐

    本系列博文還在更新中,收錄在專欄:#MS-SQL Server 專欄中。 本系列文章列表如下: 【SQL Server】 Linux 運維下對 SQL Server 進行安裝、升級、回滾、卸載操作 【SQL Server】數據庫開發(fā)指南(一)數據庫設計的核心概念和基本步驟 【SQL Server】數據庫開發(fā)指南(二)MSSQL數據庫開發(fā)對

    2023年04月12日
    瀏覽(223)
  • SQL筆記 -- 數據庫結構優(yōu)化

    不常用的數據為冷數據,反之則為熱數據。如果一個表中的數據存在明顯的使用頻率差異,那么可以將冷熱數據分離。通過這種分解可以提高表的查詢效率。對于字段很多且有些字段使用不頻繁的表,可以通過這種分解的方式來優(yōu)化數據庫的性能。 例如: 會員members表存儲會

    2024年01月22日
    瀏覽(96)
  • 頭歌實踐教學平臺數據庫原理與應用實訓答案

    目錄 實訓一:數據定義和操縱(4課時) 初識MySQL數據庫 第1關:創(chuàng)建數據庫 ?第2關:創(chuàng)建表 ?第3關:使用主鍵約束 第4關:外鍵約束 第5關:添加常用約束 DDL語言的使用 第1關:創(chuàng)建數據庫 ?第2關:?創(chuàng)建表 ?第3關:添加字段 ?第4關:刪除字段 ?第5關:修改字段 ?第6關:添加

    2024年02月08日
    瀏覽(55)
  • 數據庫原理及應用實驗報告-實驗4-SQL的視圖

    數據庫原理及應用實驗報告-實驗4-SQL的視圖

    實驗目的 熟悉SQL支持的有關視圖的操作,能夠熟練使用SQL語句來創(chuàng)建需要的視圖,對視圖進行查詢和刪除視圖。 實驗內容 定義常見的視圖形式,包括: 行列子集視圖 WITH CHECK OPTION的視圖 基于多個基表的視圖 基于視圖的視圖 帶表達式的視圖 分組視圖 通過實驗考察WITH CHEC

    2023年04月26日
    瀏覽(87)
  • 數據庫原理與應用(SQL)——2、關系數據庫(E-R圖、關系模式、關系運算、關系代數)

    數據庫原理與應用(SQL)——2、關系數據庫(E-R圖、關系模式、關系運算、關系代數)

    ? 目錄 關系? 關系運算? ?元組、域關系演算表達式 ?題目 ?關系代數表達式——例 元組演算表達式——例? 域演算表達式——例 ????????關系數據庫是以 二維表 形式組織數據,應用數學方法處理數據庫組織的方法。目前關系數據庫系統(tǒng)在數據管理中已占據了主導地位

    2023年04月08日
    瀏覽(18)
  • SQL學習筆記——創(chuàng)建數據庫和表

    SQL學習筆記——創(chuàng)建數據庫和表

    一、創(chuàng)建數據庫和表 1、創(chuàng)建數據庫 打開?SSMS(Microsoft SQL Server Management Studio)→新建查詢→輸入如下圖的sql語句→點擊執(zhí)行 成功后可以看到左側數據庫中成功創(chuàng)建了“CPXS”產品銷售數據庫。對應路徑下新增數據庫文件。 說明: 主數據庫文件擴展名為.mdf,表示Main Data File;

    2024年02月01日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包