2012-12-29 19 views
2

我想用Java寫一個基本的數據庫。這是爲了學習方面的問題,我已經非常徹底地研究了這個問題,並沒有在堆棧溢出或通過Google找到任何合適的答覆。我只想要最基本的SQL查詢只有需要的,在這種情況下是SELECT,INSERT和UPDATE。我想了解更多關於Java的高級功能和關於數據庫如何工作的一些信息。這裏唯一更高級的問題是安全概念。我已經有了一個登錄計劃,但當涉及到對特定數據庫資源的更具體的授權時,這個計劃相當無聊。感謝您的任何幫助,並且對於任何和所有資源都可以基於互聯網或直接在回覆/評論中提供幫助。我在網上沒有看到任何好的迴應,但我看到很多問題。如何使用java從頭開始創建基本的關係數據庫?

注意:我猜測它有點過分,但我更多地詢問了解析查詢的非常非常基本的框架的實現。另一個我沒有看到的實際問題是如何將SELECT操作映射到數據本身,而不是以全表搜索的方式進行。

無論如何,這不是該問題的重複。這個問題涉及關係數據庫和查詢解析器中簡單用戶授權的具體實現。 「重複」的問題涵蓋了這個問題的廣泛概念。我要求提供具體的信息。

+0

其實,ACID事務,參照完整性,事務隔離等較安全的要複雜得多。此外,如何處理謂詞是棘手的(聚合,別名等)。不知道爲什麼你想重新發明這個輪子。 –

+0

我沒有實現ACID事務和其他更復雜的概念,因爲這只是解析和數據結構。我看過這篇文章,雖然看起來是重複的,但這是一個更具體的問題,至少在管理安全性方面要求提供可靠的建議。 – modwizcode

+0

名稱加西亞莫利納響鐘嗎? –

回答

3

我不知道用Java編寫數據庫是什麼意思。你的意思是你想用Java寫一個關係數據庫引擎嗎?

你需要大量的基礎,沒有一個你所提到的:

  1. 一個SQL解析器來解析和驗證SQL語句。
  2. 用於存儲信息的數據結構(B樹)的堅實背景。
  3. 瞭解如何將SQL語句映射到這些數據結構上的操作。

也許這個鏈接將幫助您:

https://softwareengineering.stackexchange.com/questions/100219/how-to-begin-writing-a-relational-sql-database

+1

我已經在我之前的研究中看到過那個頁面。那篇文章的問題是它像其他所有東西一樣鏈接到SQLite。我不需要編寫SQLite,我只是想幫助查詢和包處理程序的框架。哪個更具體到java。這是這個項目的真正目標。 – modwizcode