Skip to content

r0scat/DungeonsAndDragons-Database

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Dungeons and Dragons Management Database

Welcome to the D&D Character and User Management Database, a structured and extensible system for managing players, characters, campaigns, classes, races, and magical equipment in a tabletop RPG setting.

This schema supports key RPG concepts such as multi-classing, subraces, magic systems, and character abilities, and is designed to be used by both players (jucatori) and organizers (organizatori) of campaigns.


πŸ“š Table of Contents


🎯 Purpose

The database is designed to store, organize, and enforce rules for a D&D-like game system. It ensures consistency, validation, and flexibility for:

  • User registration and role management
  • Campaign creation and session scheduling
  • Character creation and progression
  • Races (neam), subraces (subneam), classes, and archetypes (arhetip)
  • Magic items, weapons, and spells
  • Ability scores and derived bonuses

🧩 Entity Overview

Here is a high-level overview of the key components:

Entity Description
utilizator Represents a user of the system (player or organizer)
campanie A game campaign managed by an organizer
sedinta Individual sessions in a campaign
personaj Player characters with races, abilities, and personalities
clasa, arhetip RPG classes and their special archetypes
neam, subneam Character races and subraces
atribut Generic attributes (can be spells or equipment)
echipament Equipment items extending attributes
vraja Spells extending attributes
arbore_de_abilitati Ability score tree for each character
bonus_abilitati Bonus derived from ability scores
componenta Spell components
... and mapping tables such as item_clasa, item_arhetip, etc.

βš™οΈ Key Concepts

Single Table Inheritance

Used in:

  • utilizator β†’ differentiates jucator and organizator
  • atribut β†’ superclass for echipament and vraja

Class Table Inheritance

Used for:

  • Subtypes such as echipament and vraja to extend atribut
  • Allows spells and equipment to share metadata

Many-to-Many Relationships

Examples:

  • personaj_clasa: characters can multiclass
  • item_arhetip, item_clasa, etc.: items linked to different entities

🧱 Database Schema

Simplified version:

utilizator
β”‚
β”œβ”€β”€ campanie
β”‚   └── sedinta
β”‚
β”œβ”€β”€ personaj
β”‚   β”œβ”€β”€ personaj_clasa
β”‚   β”œβ”€β”€ personaj_campanie
β”‚   └── arbore_de_abilitati
β”‚
β”œβ”€β”€ clasa ──┬── arhetip
β”‚          └── item_clasa
β”‚
β”œβ”€β”€ neam ───┬── subneam
β”‚          └── item_neam
β”‚
β”œβ”€β”€ atribut ──┬── echipament
β”‚            β”œβ”€β”€ vraja ── componenta_vraja
β”‚            └── linked to neam, clasa, arhetip, subneam
β”‚
└── bonus_abilitati

ERD:

ERD diagram

For more details do look into the .Documentatie.pdf file

About

A relational database written in Oracle SQL designed to store dungeons and dragons related data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published