Documentación de base de datos: Diccionario de datos, diagrama de entidad relación (DER/ERD), Data Taxonomic Code (DTXC), y Estructura relacional de datos.
2. http://www.aprenda.mx :: info@aprendastudio.com
Objetivos de la lección
• Entender las siguientes herramientas de
documentación de base de datos:
• Diccionario de datos
• DTXC
• Diagrama de Entidad Relación
• Estructura Relacional de Datos
2
3. http://www.aprenda.mx :: info@aprendastudio.com
Documentación del Modelo de Datos
• No solo es importante diseñar un modelo de
datos que permita almacenar y recuperar la
informacion de manera eficiente: también es
importante poder comunicar el modelo.
• Gran parte del éxito de la fase Extract de ETL
depende de la buena documentación que exista.
• Algunos de los instrumentos para documentar
un modelo de datos son los siguientes:
• DICCIONARIO DE DATOS
• DTXC
• DIAGRAMA DE ENTIDAD RELACIÓN
• ESTRUCTURA RELACIONAL DE DATOS
3
4. http://www.aprenda.mx :: info@aprendastudio.com
Diccionario de datos
• Un DICCIONARIO DE DATOS es un documento formal y
versionado que contiene una relación tabulada de los
campos de un modelo, y sus atributos.
• En esencia, es una tabla informativa que contiene la información
de los campos de un modelo de datos.
• No hay una sola distribución de campos para un diccionario de
datos, pues depende para qué se requiere el diccionario, serán los
campos pertinentes.
• Muchos manejadores de base de datos permiten elaborar un
diccionario de datos, desde el Meta-Data.
4
Nombre
de
la
BD
Nombre
de
la
tabla
Nombre
del
campo
Tipo
de
dato
Longitud
Precisión
Escala
Descripción
del
contenido
Primary
Key
Foreign
Key
Nullable
Unique
Unique
(C
ompuesto)
DTXC
(Data
Taxonomic
C
ode)
Dominio
BÁSICOS PARTICULARES
5. http://www.aprenda.mx :: info@aprendastudio.com
DTXC (Data Taxonomic Code)
• DTXC o CODIFICACIÓN TAXONÓMICA DE
DATOS es un sistema de codificación que le
otorga un código a los datos, que representa su
taxonomía dependiendo de:
• El tipo de medida que tienen (Measurement type),
• El tipo de dato que representan (Data type),
• El uso que se les da a los datos (Use),
• El origen de su disponibilidad (Source), y
• La relacionalidad, en el caso de los datos que
forman parte de un modelo de datos (Relationality).
5
El código DTXC se compone de la siguiente manera:
Measurement type/Data type/Use/Source/Relationality
7. http://www.aprenda.mx :: info@aprendastudio.com
DTXC (Data Taxonomic Code)
7
Numérico Numeric NUM
Numérico Flotante Numeric Float NUM-FL
Numérico Entero Numeric Integer NUM-INT
Alfanumérico Alphanumeric STR
Booleano Boolean BL
Marca de tiempo Time Stamp TS
Binario Binary BIN
Binario Muy Largo Binary - Binary Large Object BIN-BLOB
Tipo de dato no definido Not Defined Data Type NDDT
Identidad Identity ID
Categórico Categorical CAT
Categórico Numérico Categorical Number CAT-NM
Categórico Codificado Categorical Code CAT-CD
Categórico Descriptivo Categorical Description CAT-DES
Categórico de intervalo Categorical Interval CAT-IV
Categórico Dicotómico Categorical Dichotomic CAT-DIC
Descriptivo Description DS
Valor Value VAL
Valor detallado Detail Value VAL-DET
Valor agregado Aggregate Value VAL-AGG
Temporalidad Time Measure TM
Tiempo - Fecha/Hora Date time TM-DTM
Tiempo - Fecha Date TM-DATE
Tiempo - Hora Just Time TM-TIME
Uso no definido Not Defined Use NDU
Tipo de dato
(Data Type )
Uso
(Use)
9. http://www.aprenda.mx :: info@aprendastudio.com
DER (Diagrama de Entidad Relación)
• El DIAGRAMA DE ENTIDAD RELACIÓN
(ERD / ENTITY RELATIONSHIP
DIAGRAM) es una representación gráfica
que muestra las relaciones existentes
entre tablas de un mismo modelo de
datos, además de su cardinalidad y
opcionalidad.
• La ventaja de disponer de un DER es que
en todo momento puedes visualizar la
estructura de datos de tu modelo.
9
10. http://www.aprenda.mx :: info@aprendastudio.com
DER (Diagrama de Entidad Relación)
• Las TABLAS se representan como
rectángulos.
• Se suguiere colocar el nombre de la tabla
en mayúsculas.
• Se suguiere colocar el nombre de los
campos o columnas, en forma de lista.
• Se sugiere colocar primero los atributos
primos.
10
ALMACEN
id_almacén
nom_almacén
11. http://www.aprenda.mx :: info@aprendastudio.com
DER (Diagrama de Entidad Relación)
• Las LLAVES PRIMARIAS pueden enfatizarse anteponiento pk a los
atributos primos.
• Las LLAVES FORÁNEAS pueden enfatizarse anteponiendo fk a los
campos que la componen.
• Cuando hay llaves foráneas, existe una RELACIÓN entre tablas,
que se ilustra con líneas con angulos rectos.
ALMACEN
(pk) id_almacén
nom_almacén
PRODUCTO
(pk) id_producto
nom_producto
(fk) id_marca
INVENTARIO
(pk, fk) id_almacén
(pk, fk) id_producto
cantidad
ubicación
MARCAS
(pk) id_marca
nom_marca
12. http://www.aprenda.mx :: info@aprendastudio.com
DER (Diagrama de Entidad Relación)
• La CARDINALIDAD expresa el número de registros de
coincidencia que se pueden o deben tener en cada tabla que
participa en una relación.
• Las cardinalidades pueden ser: Uno a muchos {1:n}; uno a uno
{1:1}; muchos a muchos {n:n}.
• Cuando la cardinalidad para una tabla es cero, se dice que tiene
OPCIONALIDAD.
ALMACEN
(pk) id_almacén
nom_almacén
PRODUCTO
(pk) id_producto
nom_producto
(fk) id_marca
INVENTARIO
(pk,fk) id_almacén
(pk,fk) id_producto
cantidad
ubicación
1 n
n
1
MARCAS
(pk) id_marca
nom_marca
1
n,0
13. http://www.aprenda.mx :: info@aprendastudio.com
DRS (Estructura Relacional de Datos)
• La ESTRUCTURA RELACIONAL DE
DATOS (DRS / DATA RELATIONSHIP
STRUCTURE) es una representación
alternativa al diagrama de entidad
relación.
• Tiene la ventaja de representar, de
forma no gráfica, las tablas, las
características, las llaves, y la
cardinalidad.
13
14. http://www.aprenda.mx :: info@aprendastudio.com
DRS (Estructura Relacional de Datos)
• La estructura se lee y representa de izquierda a derecha.
• El nombre de la tabla se coloca a la extrema izquierda en
mayúsculas.
• Si el nombre de la tabla contiene espacios, se delimita entre llaves
cuadradas (square brackets)
• Se coloca un símbolo de igual (=), para indicar que la tabla
es un conjunto de características o campos.
• Los campos se enumeran separándolos por símbolos de
más (+).
• Si el nombre de los campos contiene espacios, se delimita entre
llaves cuadradas (square brackets).
14
TABLA = campo_1 + campo_2 + campo_3
[TABLA UNO] = campo_1 + [campo 2] + campo_3
15. http://www.aprenda.mx :: info@aprendastudio.com
DRS (Estructura Relacional de Datos)
• Los atributos primos se colocan primero,
y los atributos no primos, después.
• Se colocan primero los campos que forman
parte de la llave primaria, y luego los que
formen parte de llaves candidatas.
• Se identifican con un asterísco (*); se
antepone, en el caso de llave primaria; se
coloca después, en el caso de llaves
candidatas.
15
TABLA = *campo_1 + *campo_2 + campo_3
[TABLA UNO] = *campo_1 + campo_2* + campo_3
16. http://www.aprenda.mx :: info@aprendastudio.com
DRS (Estructura Relacional de Datos)
• Si un campo forma parte de una llave
foránea, se coloca el atributo de
coincidencia entre paréntesis, posterior
al nombre de campo.
• En caso de que sean varias relaciones, a
diferentes tablas, se separan con comas.
• Si el campo es homónimo, solo se coloca el
nombre de la tabla.
• Si el campo no es homónimo, se coloca el
nombre de la tabla y el nombre del campo,
usando dot notation.
16
TABLA_A = *campo_A1 + campo_A2 + campo_A3
TABLA_B = *campo_B1 + campo_B2* + campo_A1 (TABLA_A)
TABLA_B = *campo_C1 + campo_C2 + campo_A1_especial (TABLA_A.campo_A1)
17. http://www.aprenda.mx :: info@aprendastudio.com
DRS (Estructura Relacional de Datos)
• La existencia de llaves foráneas supone relaciones
entre tablas, y las relaciones entre tablas supone
cardinalidad.
• Se asume una relación uno a muchos (1:n), con
opcionalidad ({1:n,0})
• Si la relación no es uno a muchos con opcionalidad, es
necesario especificar la cardinalidad entre llaves (curly
brackets) ({}):
• Uno a uno, {1:1}
• Uno a uno, con opcionalidad, {1:1,0}
• Uno a muchos sin opcionalidad {1:n}
• Muchos a muchos, {n:n}
• Muchos a muchos con opcionalidad, {n:n,0}
17
TABLA_A = *campo_A1 + campo_A2 + campo_A3
TABLA_B = *campo_B1 + campo_B2* + campo_A1 (TABLA_A)
TABLA_A1 = *campo_A1 (TABLA_A {1:1,0}) + campo_A4 + campo_A5