erDiagram
USERS ||--o{ SERVICES : uses
USERS {
int userId PK
string username
string email
string role
string tenantId
}
SERVICES ||--o{ TRANSACTIONS : "triggers"
SERVICES {
int serviceId PK
string serviceName
string description
float price
string status
string tenantId
}
TRANSACTIONS {
int transactionId PK
int userId FK
int serviceId FK
dateTime transactionDate
string transactionType
float amount
string tenantId
}
USERS ||--o{ TICKETS : files
TICKETS {
int ticketId PK
int userId FK
dateTime creationDate
string status
text description
string tenantId
}
USERS ||--o{ LOGS : generates
LOGS {
int logId PK
int userId FK
dateTime logDate
string logType
text logDescription
string tenantId
}
Entity Relationship Diagram
| Title | Entity Relationship Diagram |
| Doc# | DOC-DATA-001 |
| Version | 1.1 |
| Date | 05-03-2025 |
This is a simplified conceptual schema for the Tessera multi-tenant platform, showing the core operational entities and how they relate. It is intended to support transactional and analytical discussion rather than to be a faithful representation of every table. In the production data store (Aurora PostgreSQL), every entity below carries a tenant context, and tenant isolation is enforced through row-level security — so the relationships shown here hold within a tenant, and the database prevents one tenant’s rows from being returned in another tenant’s context.
Explanation
- Users. Workforce and tenant user identities, scoped to a tenant. A user may use multiple services.
- Services. The services offered on the platform, each belonging to a tenant; a service may trigger multiple transactions.
- Transactions. Service and billing events linked to users and services.
- Tickets. Support tickets raised by users, connecting to customer support activity.
- Logs. Activity records — system- or user-generated — providing audit trails and operational insight.
CONCEPTUAL NOTE: The
tenantIdon each entity represents the tenant context that row-level security enforces in production. The diagram is conceptual; the actual schema is larger and normalised.