Skip to content

Conversation

@dimitri-yatsenko
Copy link
Owner

No description provided.

Master-part chapter:
- Add point about part tables introducing new schema dimensions
- Explain auto-populated masters cannot add dimensions, but parts can
- Add "Schema Dimensions in Computed Tables" subsection
- Update blob detection example to highlight blob_id as new dimension
- Add schema dimensions to summary principles
- Cross-reference Primary Keys chapter

Populate chapter:
- Add "Schema Dimensions and the Key Source" section
- Explain why auto-populated tables cannot introduce dimensions
- Show how this constraint makes key source well-defined
- Explain part tables as solution for multi-output computations
- Update blob detection case study to mention dimensions
- Add Primary Keys to seealso references
…tegrity

Natural vs Surrogate keys:
- Natural keys: used outside the database to refer to entities in the real world
- Key distinction is real-world usage, not origin (even system-generated IDs become natural if used externally)
- Example: colony-generated animal IDs become natural keys when printed on ear tags
- Surrogate keys: used only inside the database, not exposed to users
- Example: internal post IDs on social media (users search by content, not ID)

Partial entity integrity:
- Sometimes only one direction of integrity is needed
- Record→Entity: each record maps to one entity (but entity may have multiple records)
- Entity→Record: each entity has a record (but records may be shared)
- Example: social media preventing account sharing but allowing multiple accounts

Entity integrity without natural keys:
- Still possible but requires multi-step identification process
- Database ensures uniqueness; external processes ensure entity-record matching
- Comprehensive process design required outside the database
@dimitri-yatsenko dimitri-yatsenko merged commit 2e01558 into main Dec 16, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants