This project presents a sample relational database developed using the Cyrus language. It's designed to serve as a practical example for those learning about database concepts, data modeling, and the features of the Cyrus programming language. The goal is to provide a simple yet functional model that is easy to understand, modify, and extend.
This project is implemented in Cyrus. You’ll need the Cyrus compiler installed to build and run it.
Cyrus is still under active development and not yet stable. Expect frequent changes and possible breaking updates.
To build the project, run:
cyrus build -o ./sampledb
Current features:
- Table creation
- Column definition
- Value insertion
Planned features (educational scope):
- Implement basic table relationships (foreign keys)
- Add simple SQL-like query language (SELECT, WHERE, JOIN – minimal subset)
- Support basic update and delete operations
- Improve error handling and diagnostics
- Add persistence layer (optional: simple file storage)
- Write unit tests and example scripts
- Expand documentation with tutorials and sample queries
Stretch goals (nice-to-have):
- Index support for faster lookups
- Query planner visualization (to show how queries are executed)
- Interactive CLI for experimenting with queries
We welcome contributions to improve this project. If you have an idea for a new feature, a bug fix, or a better way to explain a concept, feel free to open a pull request or submit an issue.
- Fork the repository.
- Create a new branch.
- Make your changes and commit them.
- Push your branch and open a pull request.