I am working in a project at school (university) and we have to write a simple "DB Enngine" but I am not sure what this exactly means. I have read several definitions and what I understand is that we have to implement the functionality to create tables, drop tables, create indexes, read/select information from tables, write data to tables, update data, and so on. Am I right?
Respectfully,
Jorge Maldonado
A database engine is the underlying software component that a database management system (DBMS like mysql,oracle,sqlite etc..) uses to create, read, update and delete (CRUD) data from a database.
Example in MySQL:
when you pass a query CREATE TABLE table_name (column_name column_type); the query is sent to database engine and it process the CREATE TABLE query and produce appropriate results.
Normally we use or pass query in "database server" or "database management system". In both the cases database engine will process the query.
Technically the term "database engine" is frequently used interchangeably with "database server" or "database management system". A 'database instance' refers to the processes and memory structures of the running database engine.
so whatever you mentioned in your question is right.