# Database Class Relationships

> A common application-level database operation is implementing a relationship between database classes. For developers familiar with relational databases and SQL, a join between two tables is implemented by a foreign key in one table referencing a primary key in another table. For example, a simple join on the one-to-many relationship between two tables Department and Employee could be implemented as follows:

>         select e.name, d.name from Employee e
>         inner join Department d d.dept_no = d.dept_no;

> Here the key field (column) `dept_no` would be a primary key in Department and a foreign key in Employee.

> In eXtremeDB, relationships and joins between tables can be implemented in a number of ways, each having distinct advantages and costs in terms of memory overhead and performance.

> The APIs for creating relationships between classes (tables) are specific to the programming language used. Please use the links below to view detailed explanations and examples for your development environment:

> C | Database class relationships in C
> C++ | Database class relationships in C++
> Java | Database class relationships in Java
> Python | Database class relationships in Python
> C# | Database class relationships in C#