Java

Как написать СУБД?

Для начала имеет смысл посмотреть как БД пишут другие. Например, можно посмотреть исходные коды SQLite (https://www.sqlite.org/download.html). Это простая и свободная для использования БД, которую можно свободно встроить в вашу программу. Если ее производительности и возможностей окажется мало, тогда только стоит задумываться о своей собственной.

Кроме того, есть базы не реляционные (без SQL), например CaouchDB, Опять же стоит посмотреть на нее. Прежде чем изобретать собственный велосипед имеет смысл разобраться как у других педали крутятся, а это означает изучить теорию построения баз данных.
Danish *_*
Danish *_*
91 150
Лучший ответ
На Java? Никак. Она получится слишком медленной и потому неконкурентоспособной.

А в целом - начни с изучения математики: теории множеств и логики первого порядка. Именно они лежат в основе реляционных алгебры на которой построены все реляционные базы данных. SQL - это всего лишь попытка создать удобную запись для реляционной алгебры (причём даже не полной).
AS
Arthur Sultangali
66 145
Чтобы ответить на ваш вопрос, нужно сидеть вместе как в школе и разбираться. Быстро и в одном ответе не получится дать полноценный ответ. Это семестровый или годичный курс ВУЗа.

База данных хранится в файле или в наборе файлов. У файлов есть определенный формат, то есть существуют структуры, которые осуществляют запись в файл и считывают их оттуда. Для запроса вам потребуется реализовывать язык запросов.

Простейшей базой данных можно считать двоичный файл, в которые записаны структуры.

Для начала нужно будет скачать JDK и установить программу NetBeans. В комплекте идет документация. Кроме этого, требуется освоить синтаксис языка Java с помощью какой-нибудь книги для начинающих. После этого потребуется освоить объектно-ориентированное программирование. Типы данных, переменные, условные операторы, циклы, функции, константы, аргументы функций, ВОЗВРАЩАЕМЫЕ ФУНКЦИЕЙ ЗНАЧЕНИЯ, ЛИТЕРАЛЫ, операторы, классы, наследование, перегрузка операторов, методы классов, инкапсуляция данных в классе, поля классов, паттерны или шаблоны объектно-ориентировного программирования, процедурное программирования, объектно-ориентированное проектирования, иерархия классов, связи между классами и другие базовые знания синтаксиса языка.

Вам нужно будет изучить язык SQL и теорию баз данных, теорию реляционных баз данных.

Чтобы создать лексический и синтаксический анализатор языка запросов к СУБД, вам нужно будет изучить теорию написания лексических и синтаксических анализаторов, парсеров

База данных - набор таблиц с определенными полями и связей между ними. Должен быть реализован механизм создания базы данных по метаданным.

Попробуйте изучить существующие базы данных, чтобы разобраться, какони работают - Access, Interbase, Firebird,DB2, postgresql, sun-oracle, ms sql server и др.

Для того, чтобы задавать вопросы, есть специализированный форум sql.ru
Антон Пырко
Антон Пырко
42 156
Как и другую любую программу.
Сергей Спиридонов Как реализовать транзакцию?
и в чем проблема-то? БД - это бинарный файл. оптимизация достигается за счет seek, которая позволяет выборочно читать и писать куски файла и не читать-писать лишнее. в остальном вроде все ясно