大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 hot資訊 面向對象數據庫系統的示例

面向對象數據庫系統的示例

更新時間:2021-08-25 10:34:12 來源:動力節點 瀏覽995次

什么是面向對象的數據庫管理系統?

簡要說明

面向對象的數據庫 (OOD) 是一種數據庫系統,它可以處理復雜的數據對象,即反映面向對象編程語言中使用的對象的對象。

在面向對象編程中,一切都是對象,很多對象都相當復雜,具有不同的屬性和方法。面向對象的數據庫管理系統與面向對象的編程語言協同工作,以促進面向對象數據的存儲和檢索。

你可能會想,“等等,我一直在我的編程中使用對象。我使用數據庫。那么,這是否意味著我使用的數據庫是OOD?” 可能不會,原因與 OOD 的主要特性之一有關:對象數據持久性。

當你的程序運行時,你可能有一個對象——例如,一個task. 該對象具有類似 aname和 的屬性status。它可能還有一些方法,例如update_task()或get_task_history()。在程序早期的某個地方,您初始化了該task對象,現在您可以訪問它,因為它存儲在內存中。

當您的程序終止執行時會發生什么?你的對象……不見了。該數據對象是瞬態的,而不是持久的。下次程序啟動時,您需要重新從數據庫中檢索這些數據值(如name和status)以初始化新的 task對象實例。

使用 OOD,數據對象及其所有屬性都存儲在數據庫中。當您的程序終止時,對象將繼續存在,并存儲在 OOD 中。當您的程序再次啟動時,它可以從數據庫中檢索具有屬性的對象。使用 OOD 存儲和檢索復雜數據對象的過程對數據庫用戶是透明的。

這與關系數據庫(如 MySQL 或 SQLite)有很大不同,但與文檔數據庫(如 MongoDB)沒有太大區別。在關系數據庫中,開發人員需要從一組查詢的結果中組合一個對象,而在文檔數據庫中,文檔字段到類屬性的映射應該幾乎是透明的。

OOD 已經存在了幾十年。MongoDB Realm是該領域最有前途的新軟件之一。

什么是面向對象數據庫的示例?

MongoDB 確實提供了一個名為 Realm Mobile Database 的 OOD,其中查詢語言通過您使用的 SDK 構建本機對象。例如,在 javascript SDK 中,對象獲取類似于:

const myTask = realm.objectForPrimaryKey("Task", 12345);

面向對象的數據庫在哪里使用?

OOD 最常用于面向對象的編程語言,如 Java、Kotlin、C#、Node JS (React) 和 Swift。使用 OOD 的行業通常是那些建立在面向對象的語言上并且希望在處理復雜數據結構的同時提高生產力的行業。

OOD 的一個很好的例子是在線 IT 培訓提供商 CBT Nuggets。CBT Nuggets使用 Realm 提供 5,000 多門課程,從基本的計算機技能到復雜的網絡管理(請參閱此案例研究)。CBT Nuggets 致力于確保訂閱者可以隨時隨地查看內容。為實現這一承諾,課程通過 10 到 20 分鐘“金塊”的流媒體視頻提供。內容可在桌面和移動應用程序上使用。

借助 Realm 移動數據庫和 MongoDB Realm Sync,CBT 能夠使用適用于 Android 和 iOS 設備的跨平臺 SDKS 進行開發,使用直接對象到業務類映射和與 MongoDB Atlas 的無縫同步。

面向對象數據模型的組件

OODM 的要素是:

對象:現實世界的實體,例如待辦事項列表中的特定生活任務—— “把垃圾拿出來”。

屬性和方法:對象具有狀態和行為。對象具有的屬性(其也可以被稱為屬性)等name,status和create_date。集合在一起的屬性集表示它的狀態。除此之外,對象還具有修改或操作其屬性的行為(也稱為方法、操作或函數),例如update_task()或get_task_history()。

類:具有相同屬性和行為的所有對象的分組形成一個類。在上面的示例中,我們討論了task對象。這些對象一起都屬于這個Task類。

class task
{
    String name;
    String status;
    Date create_date;
    public void update_task(String status)
    {
    ...
    }
}

面向對象的設計模式:面向對象的數據建模還暗示了某些原則,如繼承、多態、覆蓋和關聯。面向對象的數據庫系統將支持這些相同的概念。

NoSQL 是面向對象的數據庫嗎?

流行的 NoSQL 數據庫(如 MongoDB 和 AWS DynamoDB)是面向文檔的數據庫,而其他(如 Casadra)則是鍵值存儲。文檔數據庫,如 OOD,在表、行和列方面不起作用;但是某些語言可能需要 ODM 才能更好地處理對象。

每個“記錄”都被視為一個文檔,它可以根據它為給定實體存儲的屬性縮小和增長。有時,文檔之間的關系可能是首選方法。

例如,您可以認為一個BlogPost文檔與多個Comment文檔和Like文檔有關聯。在其他時候,關系可以直接嵌入到文檔中。在這種情況下,您可以想象一個BlogPost文檔的Comments屬性是一個文本字符串和用戶名數組,然后另一個Likes屬性是一個用戶名和時間戳數組。

文檔數據庫提供靈活的結構,可以很好地水平擴展。它們在存儲非常復雜的文檔方面非常強大,從表面上看,它們似乎與對象相同——許多現代編程語言通過將這些文檔稱為“對象”來進一步混淆 MongoDB。然而,這些文檔并不是如上所述的面向對象編程的傳統意義上的對象。

文檔數據庫與面向對象的數據庫類似但又不一樣。

以上就是動力節點小編介紹的"面向對象數據庫系統的示例",希望對大家有幫助,想了解更多可查看Java教程。動力節點在線學習教程,針對沒有任何Java基礎的讀者學習,讓你從入門到精通,主要介紹了一些Java基礎的核心知識,讓同學們更好更方便的學習和了解Java編程,感興趣的同學可以關注一下。

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产区视频| 伊人色综合久久天天网蜜月 | 在线观看欧美亚洲日本专区 | 在线观看精品视频一区二区三区 | 国产91久久精品 | 日本狠狠干 | 日本色色网| www.青草| 免费在线不卡视频 | 露脸真实国产精品自在 | 久久国产亚洲欧美日韩精品 | 抱着cao才爽免费观看 | 亚洲不卡| 国产亚洲欧美成人久久片 | 操片免费| 欧美成人在线免费视频 | 日韩欧美精品有码在线观看 | 国产精品视频一区二区三区不卡 | 看免费5xxaaa毛片30厘米 | 色吧综合 | 欧美日韩综合高清一区二区 | 九九精品视频在线免费观看 | 日日摸夜夜爽 | 国产精品五月天 | 色综合网亚洲精品久久 | 视频一区视频二区在线观看 | 久久青草免费免费91线频观看 | 美女在线视频观看影院免费天天看 | 精品免费看| 亚洲第一综合网站 | 天天se天天cao | 成人午夜私人影院入口 | 日本一区精品久久久久影院 | 亚洲国产欧美精品一区二区三区 | 日本另类αv欧美另类aⅴ | 伊人手机在线视频 | 曰本还a大片免费无播放器 曰本黄色录像 | 成人a视频片在线观看免费 成人a视频在线观看 | 亚洲另类图区 | 欧美巨大xxxx做受孕妇视频 | 97久久久久 |