資料庫複習④

来源:http://www.cnblogs.com/zpfbuaa/archive/2016/06/15/5589353.html
-Advertisement-
Play Games

關係模型與ER模型、Database & Schema & Instance ...


資料庫複習④

2016年6月15日

21:34

Main Logical Data Model(LDM) 邏輯數據模型

1.邏輯數據模型的三要素:

  Data Structure 數據結構

  Data Operation 數據操縱

  Data Constraints 數據約束

2.關係模型的歷史

  • E.F.Codd, a researcher of IBM company, proposed relational model in 1970
  • Proposed the Relational-Algebra

    提出關係代數

  • Defined the 1st, 2nd, and 3rd Normal Forms of relational model in 197

    在1972年定義第一範式(1NF),第二範式(2NF),第三範式(3NF)

  • Proposed BC NF in 1974

    在1974年提出BC範式(BCNF)

3.關係型資料庫

  Became the mainstream of database products after 1980s

  關係型資料庫在20世紀80年代成為主流資料庫產品

  典型的關係型資料庫代表:

  ORACLE、SQL Server、Access、DB2

4.ER模型與關係模型

  • 都是對數據的一種模型
  • ER模型有很多的概念

    實體Entities,關係relations,屬性attributes等等

    很好的滿足了應用的需求

    不適合電腦處理的需求

  • 關係模型

    只有一個概念:關係relation

    物理世界是由一些表的集合組成的

    很好地滿足了電腦對數據的處理需求

 

 

5.Database & Schema & Instance 資料庫&模式&實例

  學生黨一枚,通過其他的博客以及自己理解來簡單地對這三個概念進行分析。

  Database即資料庫,何為資料庫,由Data和base組成,字面意思也就是存儲數據的倉庫。這樣理解是不無道理。至於為何有資料庫的存在,這就樣回到人們對數據的處理問題上來了。最開始的時候,在電腦行業能夠處理數據的人士需要很專業的知識,因此數據都是人工進行維護、拷貝和恢復的。然後在存儲介質的發展和電腦門檻的降低,以往的人工管理系統已經不能滿足人們對數據管理和處理的需求,接下來進入的是文件系統時代。通過一個一個獨立的文件來進行數據的存儲,也可以這樣理解,你自己有一首電子歌曲,你的同學也想要一份。同學可以用各種存儲介質來拷貝一份。但是對於一個企業一個公司來書,這樣數據的不斷拷貝,不僅僅耗費了大量的存儲空間同時也造成了數據的不同步。有需求才有發展,資料庫迎刃而生,通過存儲數據以及數據之間的聯繫,使用優化的存儲方式,不僅僅可以解決數據的冗餘,而且應對大數據的查詢更新等操作也是游刃有餘。至於資料庫的更多詳細解釋可以參看本人的博客園與資料庫相關的博文:伊甸一點 - 博客園

  Schema即模式,當在資料庫基礎上談論模式時,我們可以理解為數據存儲的結構。舉一個例子:需要用一些木材做一個柜子,柜子有很多種了,可以是有很多抽屜的那種,也可以是一個抽屜里又分為很多的抽屜的,另外想象一下某些抽屜是和其他抽屜在時空上是相連的(這真的是很厲害了)也許這種連接可能是很多重(chong)的,一個連著一個。同時還有很多種抽屜了,或者是伸進抽屜的方向不同連接到的另外一個抽屜也不相同。對應著資料庫存儲數據結構也可以是關係資料庫,鏈式資料庫,網狀資料庫等等了。至於Schema,當和Relation一起討論時,大概可以這樣描述:Corresponds to the programming language concept of type definition。舉一個程式的例子:String movie = "Spiderman". 在這裡string 也就算是Schema。

   Instance即實例,對於瞭解面向對象編程的程式員來說,實例這個東西真的不算陌生了。簡單的就可以是Object obj = new object(). 開玩笑的舉這樣的例子:程式猿找不到“對象”,身邊的小伙伴們也許會對他說,自己構造一個吧。在這裡的構造也就是通過自己寫了一些類(至於什麼是類,就不想在此描述了,可以理解為一個加工廠吧,裡面抽象了屬性和動作)。通過這些類來構造自己的”對象“。可以初始化為”164cm“ ”C“ balabala...也就是這樣子的。當其和模式掛鉤之後,可以視為是記錄下來了一些數值,比如關係資料庫,在關係資料庫中表的實例也就是一列的數值。

  學生黨一枚,難免會有解釋不當或者錯誤的地方還請寬恕。

 

 


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

-Advertisement-
Play Games
更多相關文章
  • PostgreSQL添加新的伺服器連接時,報錯: 解決方法: 第一步:修改配置文件中連接的伺服器列表,添加伺服器IP地址(圖pg002.png) 配置文件地址:資料庫右擊屬性,打開資料庫的安裝路徑在data文件中找到配置文件pg_hba.conf。 如:D:\Program Files\Postgr ...
  • 命令 #查看版本 mysql --version #進入mysql 命令 mysql -u root -p mysql -u root@localhost (沒有密碼的情況) ...
  • 【MongoDB】2014-07-25T11:00:48.634+0800 warning: Failed to connect to 127.0.0.1:27017, reason: errno:10061 由於目標電腦積極拒絕,無法連接。 ...
  • 索引是什麼大家都知道是加快查詢用的,是的,沒錯,索引的根本作用是縮小掃描範圍,而不是直接定位記錄,直接定位記錄只是索引的一種特殊情況,縮小範圍之後最終都是線性掃描得到結果。 就是按照某個值排序,這是最最基本的索引了,RDBMS里的聚集索引,別小看這種簡陋的東西,它是大數據里常用甚至是唯一可用的索引。 ...
  • 開始事物:begin transaction 提交事物:commit transaction 回滾事物:rollback transaction http://wenku.baidu.com/link?url=sOj3AnJPBbeWg6gu2NYcMSfTK4gj8BobB-URG2rCiH8_2 ...
  • 無論是資料庫管理員,還是普通用戶,都需要經常對資料庫對象進行管理,如資料庫對象的創建、刪除、修改等。Oracle 中的資料庫對象包括表、索引、視圖、存儲程式、序列等,這些資料庫對象以一種邏輯關係組織在一起,這就是模式( schema )。模式是一個用戶所擁有的所有資料庫對象的集合。 每個資料庫對象都 ...
  • 在做練習的時候經常表沒設計好,後來有要去資料庫修改表結構但是沒詞用界面修改的時候都會提示要保存 轉自http://www.57xue.com/ItemView/Sql/2016061600160.html 假設我們有一張表 在我們的程式開發中,有時候會由於需求的變化而要修改資料庫中的表結構。可能是增 ...
  • 一. 準備工作 1. 準備兩台伺服器(電腦),接入區域網中,使互相ping得通對方 2. 兩台伺服器都安裝mysql-server-5.1,必須保證mysql的版本一致 3. 假設,伺服器A:192.168.0.2,伺服器B:192.168.0.3 二. 創建同步用戶 在主伺服器上為從伺服器建立一個 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...