Database Reference
In-Depth Information
Coupling parents and children using static
columns
The parent-child relationships we've encoded in our schema thus far are implicit in the
structure of the primary keys, but not explicit from Cassandra's standpoint. While we know
that the
user_status_updates.username
column corresponds to the "parent"
primary key
users.username
, Cassandra itself has no concept of the relationship
between the two.
In a relational database, we might make the relationship explicit in the schema using for-
eign key constraints, but Cassandra doesn't offer anything like this. In fact, if we want to
use two different tables for
users
and
user_status_updates
, there isn't anything
we can do to explicitly encode their relationship in the database schema. However, there is
a way to combine user profiles and status updates into a single table, while still maintaining
the one-to-many relationship between them. To achieve this merger, we'll use a feature of
Cassandra tables that we haven't seen before—
static columns
.