Skip to content

Commit 54a9f8b

Browse files
HansMarcus01ksobrenat32
authored andcommitted
Feat: adding documentation to subtype relationship
1 parent 8000568 commit 54a9f8b

30 files changed

+148
-14
lines changed

docs/create-diagram.md

Lines changed: 45 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,14 @@ You can define the following fields for a column:
7171
- Check constraint
7272
- Comment
7373

74+
Although only Name, Datatype, Not null and Primary are visible from the settings panel, the other fields can be defined in the column edit panel that will open when clicking on the three dots icon.
75+
76+
<ThemedImage
77+
lightImageSrc={require("./img/light/more-options-fields.png").default}
78+
darkImageSrc={require("./img/dark/more-options-fields.png").default}
79+
alt="Edit fields"
80+
/>
81+
7482
:::info
7583

7684
If multiple primary keys are defined a composite primary key will be generated in the SQL output.
@@ -89,6 +97,12 @@ You can create attributes sequentially by pressing enter in the last field.
8997

9098
:::
9199

100+
:::info
101+
102+
To define an attribute as primary key, select the checkbox with a key icon. If you want the attribute to be nullable or not nullable, select the checkbox with a question mark icon.
103+
104+
:::
105+
92106
### Indexes
93107

94108
You can define the following fields for an index:
@@ -99,7 +113,7 @@ You can define the following fields for an index:
99113

100114
## Relationships
101115

102-
To create a relationship and define foreign keys, click and hold the blue dot on the primary key and drag it to the table with which you want to form the relationship. This will cause a new row to be automatically generated in the child table that will have the primary key information.
116+
To create a relationship and define foreign keys, long-press the blue dot on the primary key and drag it to the table you want to establish the relationship with. This will automatically generate the foreign key in the secondary table, which will contain the primary key information.
103117

104118
<ThemedImage
105119
lightImageSrc={require("./img/light/create-relationship.gif").default}
@@ -111,8 +125,18 @@ The gif shows one of three possible notations selectable in the modeler; for eac
111125

112126
<!--If at some point you realize that the keys are flipped you can swap them from the `Relationships` tab. Open the relationship you'd like to edit, click on the more button (three dots) next to the primary and forign columns, and then swap. -->!
113127

128+
:::info
129+
114130
To delete the relationship, simply double-click on the relationship and select the delete button or delete the auto-generated foreign key from the table.
115131

132+
:::
133+
134+
:::info
135+
136+
To switch between identifying and non-identifying relationships, simply double-click, select the edit icon, or open the child table's configuration panel and modify the primary key attribute. If the foreign key is also part of the primary key, the relationship will be identifying; otherwise, it will be non-identifying.
137+
138+
:::
139+
116140
You can define the following fields for a relationship:
117141

118142
- Name
@@ -123,7 +147,7 @@ You can define the following fields for a relationship:
123147
- Cardinality
124148
- Only available for One to one
125149
- (0,1)
126-
- (0,1)
150+
- (1,1)
127151
- Only available for One to Many
128152
- (0,*)
129153
- (1,*)
@@ -140,6 +164,25 @@ You can define the following fields for a relationship:
140164
- Set null
141165
- Set default
142166

167+
### Supertypes and Subtypes Entities
168+
169+
To create a relationship that uses this concept, you must first create a regular relationship, then go to its configuration panel and select the subtype in the relationship types section.
170+
171+
When you select it, the relationship's notation will change, and a blue dot will appear next to it, allowing you to add more subtypes to your hierarchy model.
172+
173+
<ThemedImage
174+
lightImageSrc={require("./img/light/subtype-relationship.gif").default}
175+
darkImageSrc={require("./img/dark/subtype-relationship.gif").default}
176+
alt="Create a relationship"
177+
/>
178+
179+
:::info
180+
181+
To delete any of the subtypes involved in the relationship, simply delete the foreign key that was generated in the child table or access the relationship's configuration panel and delete the desired subtype.
182+
183+
If you wish to delete the entire subtype relationship, simply select the delete relationship button.
184+
:::
185+
143186
<FAQ header="How can I define Many to Many relationships?">
144187

145188
In order to model Many to Many relationships you will need to use a join table.

docs/customizing-editor.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ You can customize editor settings in the `View` menu.
2222
| Field details | Disable showing pop ups when you hover over tables | Ctrl+Shift+F |
2323
| Reset view | Set the canvas cooridantes and zoom to default | Ctrl+R |
2424
| Show grid | Toggle the canvas grid | Ctrl+Shift+G |
25-
| Show cardinality | Toggle showing cardinality labels(1, n) for relationships | N/A |
25+
| Show cardinality | Toggle showing cardinality labels(1, *) for relationships | N/A |
2626
| Notation | Set notation style for relationships | N/A |
2727
| Show relationship labels | Toggle showing relationship names on the diagram | N/A |
2828
| Show debug coordinates | Display debug coordinate information | N/A |
123 KB
Loading
1.83 MB
Loading
126 KB
Loading
2.11 MB
Loading

i18n/es/docusaurus-plugin-content-docs/current/create-diagram.md

Lines changed: 79 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ import FAQ from '@site/src/components/FAQ';
1111
Para comenzar, ve al [editor en línea](https://www.drawdb.app/editor). Si se carga un diagrama anterior, puedes ir a `Archivo > Nuevo` y elegir la opción de diagrama en blanco.
1212

1313
<Flex>
14-
<ThemedImage
14+
<ThemedImage
1515
lightImageSrc={require("./img/light/file-new.png").default}
1616
darkImageSrc={require("./img/dark/file-new.png").default}
1717
alt="Nuevo archivo"
1818
/>
19-
<ThemedImage
19+
<ThemedImage
2020
lightImageSrc={require("./img/light/create-blank-diagram.png").default}
2121
darkImageSrc={require("./img/dark/create-blank-diagram.png").default}
2222
alt="Crear un diagrama en blanco"
@@ -30,13 +30,16 @@ Puedes crear diagramas específicos de la base de datos o genéricos.
3030
- Los diagramas genéricos se pueden importar o exportar a cualquiera de los sabores de SQL compatibles; sin embargo, admiten un número menor de tipos.
3131
- Los diagramas específicos de la base de datos admiten todos los tipos de datos para la base de datos seleccionada y otras características específicas de la base de datos.
3232

33-
Se admiten las siguientes bases de datos:
33+
Las siguientes bases de datos son compatibles:
3434

3535
- MySQL
3636
- PostgreSQL
3737
- SQLite
3838
- MariaDB
3939
- MSSQL
40+
- Oracle
41+
42+
Por el momento, la importación de diagramas SQL no está habilitada para Oracle Database.
4043

4144
<ThemedImage
4245
lightImageSrc={require("./img/light/pick-db.png").default}
@@ -68,6 +71,14 @@ Puedes definir los siguientes campos para una columna:
6871
- Restricción de verificación
6972
- Comentario
7073

74+
Aunque únicamente el Nombre, Tipo de dato, No nulo y Primaria son visibles desde el panel de configuración, los demás campos se pueden definir en el panel de edición de la columna, que se abrirá al hacer clic en el ícono de los tres puntos.
75+
76+
<ThemedImage
77+
lightImageSrc={require("./img/light/more-options-fields.png").default}
78+
darkImageSrc={require("./img/dark/more-options-fields.png").default}
79+
alt="Editar campos"
80+
/>
81+
7182
:::info
7283

7384
Si se definen varias claves primarias, se generará una clave primaria compuesta en la salida SQL.
@@ -80,6 +91,18 @@ La restricción de verificación se inyectará en la salida SQL tal como está.
8091

8192
:::
8293

94+
:::info
95+
96+
Se pueden crear atributos secuencialmente presionando enter en el último campo.
97+
98+
:::
99+
100+
:::info
101+
102+
Para definir un atributo como llave primaria, selecciona la casilla con un ícono de llave. Si deseas que el atributo sea nulo o no nulo, selecciona la casilla con un ícono de signo de interrogación.
103+
104+
:::
105+
83106
### Índices
84107

85108
Puedes definir los siguientes campos para un índice:
@@ -90,25 +113,49 @@ Puedes definir los siguientes campos para un índice:
90113

91114
## Relaciones
92115

93-
Para crear relaciones y definir claves foráneas, haz clic y mantén presionado el punto azul en la columna de la clave foránea, luego arrástralo y suéltalo en la columna de la clave primaria. Esta acción sigue la lógica de `columna_inicio REFERENCIA columna_fin`, donde la columna desde la que arrastras se designará como la clave foránea, vinculándola a la clave primaria en la columna de destino.
116+
Para crear una relación y definir claves foráneas, mantenga pulsado el punto azul en la clave principal y arrástrelo a la tabla con la que desea establecer la relación. Esto generará automáticamente la llave foránea en la tabla hija que contendrá la información de la clave principal.
94117

95118
<ThemedImage
96119
lightImageSrc={require("./img/light/create-relationship.gif").default}
97120
darkImageSrc={require("./img/dark/create-relationship.gif").default}
98121
alt="Crear una relación"
99122
/>
100123

101-
Por ejemplo, en la imagen de arriba, como `posts.user_id` es la clave foránea, comenzamos a arrastrar desde `user_id` a `users.id`.
124+
El gif muestra una de las tres posibles notaciones seleccionables en el modelador; para cada notación, la representación y algunas acciones pueden variar.
125+
126+
<!-- Si en algún momento te das cuenta de que las claves están invertidas, puedes intercambiarlas desde la pestaña `Relaciones`. Abre la relación que deseas editar, haz clic en el botón de más (tres puntos) junto a las columnas primaria y foránea, y luego intercambia. -->
127+
128+
:::info
129+
130+
Para eliminar la relación, simplemente haga doble clic en la relación y seleccione el botón Eliminar o elimine la clave foránea generada automáticamente de la tabla.
131+
132+
:::
133+
134+
:::info
135+
136+
Para alternar entre relaciones identificativas y no identificativas, basta con dar doble clic, seleccionar el ícono de edición o abrir directamente el panel de configuración de la tabla hija y modificar el atributo de llave primaria. Si la llave foránea también forma parte de la llave primaria, la relación será identificativa; en caso contrario, será no identificativa.
102137

103-
Si en algún momento te das cuenta de que las claves están invertidas, puedes intercambiarlas desde la pestaña `Relaciones`. Abre la relación que deseas editar, haz clic en el botón de más (tres puntos) junto a las columnas primaria y foránea, y luego intercambia.
138+
:::
104139

105140
Puedes definir los siguientes campos para una relación:
106141

107142
- Nombre
108-
- Cardinalidad
143+
- Tipo de relación
109144
- Uno a uno
110145
- Uno a muchos
111-
- Muchos a uno
146+
- Subtipo
147+
- Cardinalidad
148+
- Solo disponible para Uno a uno
149+
- (0,1)
150+
- (1,1)
151+
- Solo disponible para Uno a muchos
152+
- (0,*)
153+
- (1,*)
154+
- Restricción de subtipo (Solo disponible para relaciones de subtipo)
155+
- Excluyente Total
156+
- Excluyente Parcial
157+
- Traslape Total
158+
- Traslape Parcial
112159
- Acción al eliminar
113160
- Acción al actualizar
114161
- Sin acción
@@ -117,11 +164,30 @@ Puedes definir los siguientes campos para una relación:
117164
- Establecer nulo
118165
- Establecer por defecto
119166

167+
### Entidades de Supertipos y Subtipos
168+
169+
Para crear alguna relación que utilice este concepto, es necesario crear en primera instancia una relación comun y corriente para posteriormente ir a su panel de configuración y seleccionar en el apartado de tipos de relaciones el de subtipo.
170+
171+
Al seleccionarlo, la notación de la relación cambiará y se generará un punto azul al lado de esta, el cual permitirá añadir más subtipos a tu modelo de jerarquía.
172+
173+
<ThemedImage
174+
lightImageSrc={require("./img/light/subtype-relationship.gif").default}
175+
darkImageSrc={require("./img/dark/subtype-relationship.gif").default}
176+
alt="Create a relationship"
177+
/>
178+
179+
:::info
180+
181+
Para eliminar cualquiera de los subtipos que participan en la relación, basta con eliminar la llave foranea que se genero en la tabla hija o bien acceder al panel de configuración de la relación y eliminar el subtipo que desees.
182+
183+
En caso de que se desee eliminar toda la relación de subtipo, basta con seleccionar el botón de eliminar relación.
184+
185+
:::
120186
<FAQ header="¿Cómo puedo definir relaciones de muchos a muchos?">
121187

122188
Para modelar relaciones de muchos a muchos, deberás usar una tabla de unión.
123189

124-
Una tabla de unión es una tercera tabla que contiene claves foráneas a las 2 tablas que deseas conectar. Además, puedes agregar cualquier otra columna específica de la relación a la tabla. Por ejemplo:
190+
Una tabla de unión es una tercera tabla que contiene claves foráneas a las dos tablas que deseas conectar. Además, puedes agregar cualquier otra columna específica de la relación a la tabla. Por ejemplo:
125191

126192
<ThemedImage lightImageSrc={require("./img/light/many-to-many.png").default} darkImageSrc={require("./img/dark/many-to-many.png").default} alt="Elige una base de datos" />
127193

@@ -130,9 +196,11 @@ Una tabla de unión es una tercera tabla que contiene claves foráneas a las 2 t
130196
## Áreas temáticas
131197

132198
Puedes agregar áreas temáticas desde la pestaña `Áreas temáticas` en la barra lateral o desde la barra de herramientas. Agrupan lógicamente las tablas en áreas temáticas para facilitar la navegación por el diagrama; tienen un propósito puramente visual y no se traducen en ninguna lógica SQL y no se reflejan en los scripts generados.
199+
Puedes agregar áreas temáticas desde la pestaña `Áreas temáticas` en la barra lateral o desde la barra de herramientas. Agrupan lógicamente las tablas en áreas temáticas para facilitar la navegación por el diagrama; tienen un propósito puramente visual y no se traducen en ninguna lógica SQL ni se reflejan en los scripts generados.
133200

134201
## Notas
135202

203+
Puedes agregar notas desde la pestaña `Notas` en la barra lateral o desde la barra de herramientas. Puedes usar notas para capturar cualquier comentario adicional en el diagrama.
136204
Puedes agregar notas desde la pestaña `Notas` en la barra lateral o desde la barra de herramientas. Puedes usar notas para capturar cualquier comentario adicional en el diagrama.
137205

138206
## Tipos personalizados
@@ -141,7 +209,7 @@ Si el tipo de diagrama admite tipos personalizados, habrá una pestaña adiciona
141209

142210
| **Base de datos** | **Comportamiento** |
143211
| --- | --- |
144-
| **MySQL/MariaDB** | Un JSON con la correspondiente verificación de validación de JSON |
212+
| **MySQL/MariaDB** | Un JSON con la correspondiente validación de JSON |
145213
| **PostgreSQL** | Un tipo compuesto |
146214
| **SQLite** | BLOB |
147215
| **MSSQL** | Un alias de tipo para el primer campo |
@@ -151,3 +219,4 @@ Al agregar un nuevo tipo, se agregará a la lista de tipos que puedes elegir al
151219
## Enums (PostgreSQL)
152220

153221
Si el diagrama es para PostgreSQL, habrá una pestaña adicional de `Enums` en la barra lateral donde puedes definir valores de enumeración. Al agregar una nueva enumeración, se agregará a la lista de tipos que puedes elegir al editar una columna.
222+
Si el diagrama es para PostgreSQL, habrá una pestaña adicional de `Enums` en la barra lateral donde puedes definir valores de enumeración. Al agregar una nueva enumeración, se agregará a la lista de tipos que puedes elegir al editar una columna.

i18n/es/docusaurus-plugin-content-docs/current/customizing-editor.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ Puedes personalizar la configuración del editor en el menú `Ver`.
2222
| Detalles del campo | Desactivar la aparición de ventanas emergentes al pasar el ratón por encima de las tablas | Ctrl+Shift+F |
2323
| Restablecer vista | Establecer las coordenadas y el zoom del lienzo a los valores predeterminados | Ctrl+R |
2424
| Mostrar cuadrícula | Alternar la cuadrícula del lienzo | Ctrl+Shift+G |
25-
| Mostrar cardinalidad | Alternar la visualización de las etiquetas de cardinalidad (1, n) para las relaciones | N/A |
25+
| Mostrar cardinalidad | Alternar la visualización de las etiquetas de cardinalidad (1, *) para las relaciones | N/A |
26+
| Notación | Establecer el estilo de notación para las relaciones | N/A |
2627
| Mostrar etiquetas de relación | Alternar la visualización de los nombres de las relaciones en el diagrama | N/A |
2728
| Mostrar coordenadas de depuración | Mostrar información de coordenadas de depuración | N/A |
2829
| Tema | Establecer el tema del editor en oscuro o claro | N/A |
22.8 KB
Loading
31.9 KB
Loading

0 commit comments

Comments
 (0)