Repository navigation
3.21 Chen Diagrams
Julio Toboso edited this page Apr 27, 2026
·
1 revision
flowchart LR
classDef weak stroke-width:3px,stroke-dasharray: 6 3,rx:6,ry:6
classDef strong stroke-width:2px
CLIENTE([CLIENTE]):::strong -->|IDENTIFICA| PAGO([PAGO débil]):::weak
PAGO ---|"clave parcial: Nº_Pago"| PAGO
flowchart LR
%% estilos opcionales
classDef entity stroke-width:2px,rx:6,ry:6
classDef attr color:#f8f8f8,stroke:#888,rx:20,ry:20
classDef weak stroke-dasharray:6 3
%% entidades
PERSON[PERSON]:::entity
HOUSE[HOUSE]:::entity
%% relación (rombo)
HABITA{HABITA}
%% atributos ejemplo
DNI((DNI)):::attr
nombre((nombre)):::attr
id_house((id_house)):::attr
direccion((direccion)):::attr
%% enganchar atributos a entidades
DNI --- PERSON
nombre --- PERSON
id_house --- HOUSE
direccion --- HOUSE
%% cardinalidades como etiquetas en las aristas
PERSON -- "(1,N)" --> HABITA
HABITA -- "(0,1)" --> HOUSE
%% (opcional) entidad débil: aplica clase 'weak' a la caja
%% ORDER[ORDER]:::weak
flowchart LR
%% ==== estilos ====
classDef entity stroke-width:2px,rx:8,ry:8
classDef weak stroke-width:3px,stroke-dasharray:6 3,rx:8,ry:8
classDef rel shape:diamond,stroke-width:2px,rx:4,ry:4
classDef ident shape:diamond,stroke-width:4px,rx:4,ry:4
%% ==== nodos ====
E[Entidad]:::entity
W[Entidad Débil]:::weak
R{Relación}:::rel
I{Vínculo identificador}:::ident
%% ==== ejemplo de enlaces con cardinalidad (min–max) ====
E -- "(1,N)" --- R
R -- "(0,1)" --- W
%% leyenda visual (opcional)
%% - Entidad débil: borde discontinuo/grueso
%% - Vínculo identificador: rombo “más grueso”
flowchart TB
%% ==== estilos ====
classDef entity stroke-width:2px,rx:8,ry:8
classDef weak stroke-width:3px,stroke-dasharray:6 3,rx:8,ry:8
classDef rel shape:diamond,stroke-width:2px,rx:4,ry:4
classDef ident shape:diamond,stroke-width:4px,rx:4,ry:4
classDef attr fill:#f8f8f8,stroke:#888,rx:20,ry:20
%% ==== entidades ====
CLIENTE[CLIENTE]:::entity
PAGO[PAGO]:::weak
%% ==== relación identificadora ====
IDENTIFICA{IDENTIFICA}:::ident
%% ==== atributos (círculos como ovals) ====
DNI((DNI)):::attr
Nombre((nombre)):::attr
NumPago((Nº_Pago)):::attr
Importe((importe)):::attr
Fecha((fecha)):::attr
%% enganchar atributos a entidades
CLIENTE --- DNI
CLIENTE --- Nombre
PAGO --- NumPago
PAGO --- Importe
PAGO --- Fecha
%% cardinalidades (min–max)
CLIENTE -- "(1,N)" --> IDENTIFICA
IDENTIFICA -- "(1,1)" --> PAGO
%% notas:
%% - PAGO es entidad débil (depende de CLIENTE + clave parcial Nº_Pago).
%% - IDENTIFICA es vínculo identificador (participación total de PAGO).
flowchart TB
%% ===== Styles (GitHub-safe) =====
classDef entity stroke-width:2px,rx:8,ry:8
classDef weak stroke-width:3px,stroke-dasharray:6 3,rx:8,ry:8
classDef attr fill:#fff,stroke:#555,rx:20,ry:20
classDef key stroke-width:3px,rx:20,ry:20
%% Mermaid can't draw a real "double oval"; we simulate multivalued with thicker border + label
classDef mult stroke-width:4px,rx:22,ry:22
classDef deriv stroke-dasharray:6 3,rx:20,ry:20
classDef partial stroke-width:3px,stroke-dasharray:6 2,rx:20,ry:20
classDef note fill:#f8f8f8,stroke:#ccc,rx:6,ry:6,color:#333,font-size:12px
%% ===== Example entity (normal) =====
ENTIDAD[ENTIDAD]:::entity
%% ===== Attribute types =====
A1((Atributo)):::attr
A2((Atributo Clave)):::key
A3((Email)):::mult
A4((Nombre)):::attr
A4a((Nombre_de_pila)):::attr
A4b((Apellido)):::attr
A5((Nº_Pago)):::partial
A6((Edad)):::deriv
%% ===== Weak entity to host partial key =====
PEDIDO[ENTIDAD DÉBIL]:::weak
%% ===== Hooks =====
ENTIDAD --- A1
ENTIDAD --- A2
ENTIDAD --- A3
ENTIDAD --- A4
A4 --- A4a
A4 --- A4b
PEDIDO --- A5
ENTIDAD --- A6
Legend:
- 🔰 Start here
- 🏵️ Important Insight
- ⚙️ Technical and applications
- 💻 Some Code
- ⚜️ Advanced Topics
- 00.1 What Is Data?
-
00.2 Three Models of Reality (planned)
- 00.2.1 The Linguistic
- 00.2.2 The Symbolic
- 00.3.3 The Mathematical
- 00.3 Maps and Reality
- 00.4 Aside: Hossack, data as structure
- 00.5 Aside: Chomsky, data as evidence
- 01.1 🔰 Sets and Logic (planned)
- 01.2 Sample Space
- 01.3 Randomness and Pattern
- 01.4 Outcomes and Events
- 01.5 Finite and Infinite Sample Spaces
- 02.1 🔰 Functions (planned)
- 02.2 Types Are Alphabets
- 02.3 Random Variables: X : Ω → 𝒳 (planned)
- 02.4 Measurement Scales
- 02.5 Numerics
- 03.1 🔰 Fractions and Proportions (planned)
- 03.2 Randomness vs Uncertainty
- 03.3 Probability: Events, Conditioning, Bayes
- 03.4 Bayes' Theorem, Step by Step
- 03.5 Expected Value and Variance (planned)
- 03.6 Bernoulli (ES)
- 03.7 Discrete Uniform (ES)
- 03.8 🧗 Kolmogorov: Ω, 𝒜, ℙ
- 04.1 🔰 Powers and Logarithms (planned)
- 04.2 Rarity
- 04.3 Information Theory (Shannon)
- 04.4 Entropy: Three Views
- 05.1 🔰 Sums and Averages (planned)
- 05.2 Data, Measured
- 05.3 Sampling (ES)
- 05.4 Population and Sample (ES)
- 05.5 Types of Sampling (ES)
- 05.6 Choosing Summaries & Visuals
- 05.7 Visualization
- 05.8 Plots
- 06.1 What Is Statistics?
- 06.2 🔰 Curves and Area (planned)
- 06.3 Statistical Thinking
- 06.4 Variation
- 06.5 Uncertainty
- 06.6 Parameters vs Estimators (ES)
- 06.7 Distributions
- 06.8 Statistical Modeling
- 06.9 Statistical Methods
- 07.1 Data Storage: Databases (stub)
- 07.2 ER Diagrams
- 07.3 Chen Diagrams
- 07.4 SQL (planned)
- 07.5 Formal Languages and Regular Expressions (planned)
- 07.6 Reproducibility (planned)
08 · μ(x) — Fuzzy - When data is flexible
- 08.1 Fuzzy Logic (planned)
- 08.2 Fuzzy Numbers (planned)
- 08.3 Possibility vs Probability (planned)
09 · x(t) — Signals and systems - Where patterns live
- 09.1 Signals (stub)
- 09.2 Sampling and Aliasing (planned)
- 09.3 Convolution (planned)
- 09.4 Frequency (planned)
- 10.1 🔰 Vectors and Matrices (planned)
- 10.2 Mathematical Modelling (planned)
- 11.1 🔰 Derivatives (planned)
- 11.2 Convex Optimisation (planned)
- 12.1 Supervised Learning (planned)
- 12.2 Data in Language Models
- 13.1 Cause and Effect (planned)
- 13.2 Capstone Guide (planned)