En el diccionario de datos se debe especificar(por cada tabla):
- Nombre
- Entidad que representa
- Descripción de la tabla
- Relaciones de esta tabla con otras
- Camos y si son primary keys, foreign keys u otros modificadores.
Para ejemplificar esto, haré el diccionario de datos de los ejercicios con los que he trabajado anteriormente, estos diccionarios son tablas con 4 columnas: atributo, tipo, modificadores y descripción.
Ejercicio 1
cliente
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_cliente(PK)
|
varchar(10)
|
not null
|
Identificador del cliente
|
nombre_pila
|
varchar(15)
|
not null
|
Nombre de pila del cliente
|
paterno
|
varchar(15)
|
not null
|
Apellido paterno del cliente
|
materno
|
varchar(15)
|
not null
|
Apellido paterno del cliente
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
valor(PK)
|
int(10)
|
not null
|
Almacena el valor del automóvil (costo)
|
Ejercicio 2
automovil
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
valor(PK)
|
int(10)
|
not null
|
Almacena el valor del automóvil (costo)
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
dni_cliente(PK)
|
varchar(10)
|
not null
|
Identificador del cliente
|
nombre_pila
|
varchar(15)
|
not null
|
Nombre de pila del cliente
|
paterno
|
varchar(15)
|
not null
|
Apellido paterno del cliente
|
materno
|
varchar(15)
|
not null
|
Apellido paterno del cliente
|
teléfono
|
int(10)
|
not null
|
Teléfono celular del cliente
|
estado
|
varchar(20)
|
not null
|
Estado del domicilio del cliente
|
colonia
|
varchar(20)
|
not null
|
Colonia del domicilio del cliente
|
calle
|
varchar(20)
|
not null
|
Calle del domicilio del cliente
|
numero
|
int(3)
|
not null
|
Número del domicilio del cliente
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
dni_mecanico(PK)
|
varchar(10)
|
not null, auto increment
|
Identificador del mecánico
|
nombre_pila
|
varchar(15)
|
not null
|
Nombre de pila del mecánico
|
paterno
|
varchar(15)
|
not null
|
Apellido paterno del mecánico
|
materno
|
varchar(15)
|
not null
|
Apellido paterno del mecánico
|
salario
|
int(10)
|
not null
|
Salario del mecánico
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
dni_mecanico(PK) (FK)
|
varchar(10)
|
not null
|
Llave primaria del mecánico propagada a esta tabla
|
matricula(PK) (FK)
|
varchar(10)
|
not null
|
Llave primaria de automóviles propagada a esta tabla
|
fecha
|
datetime
|
not null
|
Fecha de la reparación
|
Ejercicio 3
equipo
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
nombre_equipo(PK)
|
varchar(30)
|
not null
|
Identificador y nombre del equipo
|
division
|
varchar(15)
|
not null
|
División en la que juega el equipo
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
nombre_equipo(PK) (FK)
|
varchar(30)
|
not null
|
Nombre del equipo
|
estadísticas (PK) (FK)
|
varchar(20)
|
not null
|
Estadísticas del juego
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
nombre_pila_jugador(PK)
|
varchar(20)
|
not null
|
Nombre de pila del jugador
|
a_paterno
|
varchar(20)
|
not null
|
Apellido paterno del jugador
|
a_materno
|
varchar(20)
|
not null
|
Apellido materno del jugador
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
estadisticas(PK)
|
varchar(60)
|
not null
|
Estadísticas del juego (partido)
|
resultado
|
varchar(10)
|
not null
|
Resultado del partido
|
faltas
|
int(5)
|
null
|
Faltas durante el partido
|
anotaciones
|
int(5)
|
null
|
Anotaciones durante el partido
|
asistencias
|
int(5)
|
null
|
Asistencias durante el partido
|
Ejercicio 4
articulo
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_articulo(PK)
|
varchar(10)
|
not null
|
Identificador del artículo
|
no_articulo
|
int(10)
|
not null
|
Número del artículo
|
existencia
|
varchar(10)
|
not null
|
Define si existe o no el artículo
|
descripcion
|
varchar(10)
|
not null
|
Características, descripción del artículo
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
no_cliente(PK)
|
int(10)
|
not null
|
Identificador del cliente
|
saldo
|
int(10)
|
not null
|
Saldo del cliente
|
descuento
|
int(10)
|
not null
|
Descuento del cliente
|
limite_credito
|
int(10)
|
not null
|
Límite de crédito del cliente
|
ciudad
|
varchar(30)
|
not null
|
Ciudad del domicilio del cliente
|
colonia
|
varchar(30)
|
not null
|
Colonia del domicilio del cliente
|
calle
|
varchar(30)
|
not null
|
Calle del domicilio del cliente
|
numero
|
int(5)
|
not null
|
Número del domicilio del cliente
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
no_fabrica(PK)
|
int(10)
|
not null
|
Número e identificador de la fábrica
|
telefono
|
int(10)
|
not null
|
Teléfono de la fábrica
|
art_producidos
|
int(10)
|
not null
|
Artículos producidos por la fábrica
|
descripcion
|
varchar(10)
|
not null
|
Características, descripción de la fábrica
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_pedido (PK)
|
int(10)
|
not null, auto increment
|
Identificador del pedido
|
no_cliente (FK)
|
int(10)
|
not null
|
Identificador del cliente
|
cabecera
|
varchar(20)
|
not null
|
Cabecera del pedido
|
fecha
|
datetime
|
not null
|
Fecha del pedido
|
ciudad(FK)
|
varchar(30)
|
not null
|
Ciudad del domicilio del cliente
|
colonia(FK)
|
varchar(30)
|
not null
|
Colonia del domicilio del cliente
|
calle(FK)
|
varchar(30)
|
not null
|
Calle del domicilio del cliente
|
numero(FK)
|
int(5)
|
not null
|
Número del domicilio del cliente
|
cuerpo
|
varchar(20)
|
not null
|
Cuerpo del pedido
|
linea
|
varchar(20)
|
not null
|
Línea del pedido
|
no_articulo(FK)
|
int(10)
|
not null
|
Número del artículo
|
cantidad
|
int(10)
|
not null
|
Cantidad de artículos del pedido
|
Ejercicio 5
categoria
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_categoria (PK)
|
int(5)
|
not null
|
Identificador de la categoría
|
nombre_categoria
|
varchar(20)
|
not null
|
Nombre de la categoría
|
descripción_categoria
|
varchar(100)
|
not null
|
Descripción de la categoría
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
rut(PK)
|
varchar(20)
|
not null
|
Identificador del cliente
|
nombre_pila_cliente
|
varchar(20)
|
not null
|
Nombre de pila del cliente
|
paterno_cliente
|
varchar(20)
|
not null
|
Apellido paterno del cliente
|
materno_cliente
|
varchar(20)
|
not null
|
Apellido paterno del cliente
|
telefono_cliente
|
int(10)
|
not null
|
Teléfono celular del cliente
|
ciudad_cliente
|
varchar(30)
|
not null
|
Ciudad del domicilio del cliente
|
colonia_cliente
|
varchar(30)
|
not null
|
Colonia del domicilio del cliente
|
calle_cliente
|
varchar(30)
|
not null
|
Calle del domicilio del cliente
|
numero_cliente
|
int(5)
|
not null
|
Número del domicilio del cliente
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_producto (PK)
|
int(10)
|
not null
|
Identificador del producto
|
precio
|
int(10)
|
not null
|
Precio del producto
|
stock
|
varchar(20)
|
not null
|
Stock del producto
|
rut_proveedor(FK)
|
varchar(20)
|
not null
|
Rut del proveedor (clave primaria de PROVEEDOR)
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
rut_proveedor(PK)
|
varchar(20)
|
not null
|
Identificador del proveedor
|
nombre_pila_proveedor
|
varchar(20)
|
not null
|
Nombre de pila del proveedor
|
paterno_proveedor
|
varchar(20)
|
not null
|
Apellido paterno del proveedor
|
materno_proveedor
|
varchar(20)
|
not null
|
Apellido paterno del proveedor
|
telefono_ proveedor
|
int(10)
|
not null
|
Teléfono celular del proveedor
|
ciudad_ proveedor
|
varchar(30)
|
not null
|
Ciudad del domicilio del proveedor
|
colonia_ proveedor
|
varchar(30)
|
not null
|
Colonia del domicilio del proveedor
|
calle_ proveedor
|
varchar(30)
|
not null
|
Calle del domicilio del proveedor
|
numero_ proveedor
|
int(5)
|
not null
|
Número del domicilio del proveedor
|
pag_web
|
varchar(20)
|
not null
|
Página web del proveedor
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_venta(PK)
|
int(10)
|
not null
|
Identificador de la venta
|
fecha_venta
|
datetime
|
default null
|
Fecha en que se realizó la venta
|
descuento
|
int(10)
|
not null
|
Descuento realizado en la venta
|
cantidad
|
int(5)
|
not null
|
Cantidad de productos
|
monto_total
|
int(10)
|
not null
|
Monto total de la venta
|
telefono
|
int(10)
|
not null
|
Teléfono del cliente
|
Ejercicio 6
aeropuerto
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
codigo(PK)
|
varchar(15)
|
not null
|
Código del aeropuerto
|
nombre
|
varchar(20)
|
not null
|
Nombre del aeropuerto
|
pais
|
varchar(15)
|
not null
|
País en donde se localiza el aeropuerto
|
ciudad
|
varchar(15)
|
not null
|
Ciudad en donde se localiza el aeropuerto
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
modelo(PK)
|
varchar(20)
|
not null
|
Modelo e identificador del avión
|
capacidad
|
int(5)
|
not null
|
Capacidad del avión (pasajeros)
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
no_vuelo(PK) (FK)
|
int(10)
|
not null
|
Numero de vuelo(llave primaria de AVION)
|
linea_aerea
|
varchar(25)
|
not null
|
Línea aérea del avión
|
dias_semana
|
varchar(50)
|
not null
|
Días de la semana en los que se realiza el vuelo
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
modelo (PK) (FK)
|
varchar(20)
|
not null
|
Modelo del avión (atributo de AVION)
|
codigo (FK)
|
varchar(15)
|
not null
|
Código del aeropuerto(llave primaria AEROPUERTO)
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
no_vuelo(PK)
|
int(20)
|
not null, auto increment
|
Número e identificador del vuelo
|
fecha
|
datetime
|
default null
|
Fecha del vuelo
|
plazas_vacias
|
int(5)
|
not null
|
Plazas vacías durante el vuelo
|
Ejercicio 7
olimpiada
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_complejo(PK)
|
int(10)
|
not null
|
Identificador del complejo
|
estado_localizacion
|
varchar(30)
|
not null
|
Estado de localización del complejo
|
ciudad_localizacion
|
varchar(30)
|
not null
|
Ciudad de localización del complejo
|
colonia_localizacion
|
varchar(30)
|
not null
|
Colonia de localización del complejo
|
calle_localizacion
|
varchar(30)
|
not null
|
Calle de localización del complejo
|
numero_localizacion
|
int(10)
|
not null
|
Número de localización del complejo
|
presupuesto
|
int(10)
|
not null
|
Presupuesto del complejo
|
no_complejos
|
int(5)
|
not null
|
Numero de complejos
|
area_total
|
int(10)
|
not null
|
Área total de los complejos
|
jefe_organizacion
|
varchar(20)
|
not null
|
Jefe de la organización de los complejos
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
tarea_comisario(PK)
|
varchar(50)
|
not null
|
Acciones que realizará el comisario, identifica a este
|
nombrepila_comisario
|
varchar(20)
|
not null
|
Nombre de pila del comisario
|
paterno_comisario
|
varchar(20)
|
not null
|
Apellido paterno del comisario
|
materno_comisario
|
varchar(20)
|
not null
|
Apellido materno del comisario
|
eventos
|
varchar(40)
|
not null
|
Eventos en los que participará el comisario
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
fecha_evento(PK)
|
datetime
|
default null
|
Fecha en que se realiza el evento, su identificador
|
equipamiento
|
varchar(50)
|
not null
|
Material y artefactos necesarios en el escenario del evento
|
duracion
|
int(5)
|
not null
|
Tiempo que dura el evento
|
no_participantes
|
int(5)
|
not null
|
Número de personas que participan en el evento
|
Ejercicio 8
arbitro
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
nombre_arbitro(PK)
|
varchar(60)
|
not null
|
Nombre e identificador del árbitro
|
nombrepila_arbitro
|
varchar(20)
|
not null
|
Nombre de pila del árbitro
|
paterno_arbitro
|
varchar(20)
|
not null
|
Apellido paterno del árbitro
|
materno_arbitro
|
varchar(20)
|
not null
|
Apellido materno del árbitro
|
tipo
|
varchar(20)
|
not null
|
Tipo de árbitro (clase de partidos que arbitrea)
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
nombrepila_entrenador(PK)(FK)
|
varchar(20)
|
not null
|
Nombre de pila del entrenador
|
nombre_jugador(FK)
|
varchar(20)
|
not null
|
Nombre del jugador
|
fecha
|
datetime
|
default null
|
Fecha en que se dio el entrenamiento
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
nombrepila_entrenador
|
varchar(20)
|
not null
|
Nombre de pila del entrenador
|
paterno_ entrenador
|
varchar(20)
|
not null
|
Apellido paterno del entrenador
|
materno_ entrenador
|
varchar(20)
|
not null
|
Apellido materno del entrenador
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
nombre_jugador(PK)
|
varchar(60)
|
not null
|
Nombre e identificador del jugador
|
nombrepila_jugador
|
varchar(20)
|
not null
|
Nombre de pila del jugador
|
paterno_jugador
|
varchar(20)
|
not null
|
Apellido paterno del jugador
|
materno_ jugador
|
varchar(20)
|
not null
|
Apellido materno del jugador
|
tipo
|
varchar(20)
|
not null
|
Tipo de jugador (clase de partidos que juega)
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_partido(PK)
|
int(10)
|
not null, auto increment
|
Identificador del partido, es distinto para cada uno
|
tipo_partido
|
varchar(30)
|
not null
|
Tipo del partido a realizar
|
relevancia
|
varchar(20)
|
not null
|
Importancia que tiene el partido (final, semifinal, etc.)
|
modalidad
|
varchar(20)
|
not null
|
Modalidad de juego (mixto, femenil, etc.)
|
fecha
|
datetime
|
default null
|
Fecha en la que se lleva a cabo el partido
|
marcador
|
int(5)
|
not null
|
Marcador del partido
|
premio
|
varchar(30)
|
not null
|
Premio que obtiene el ganador del partido
|
premio_consolacion
|
varchar(30)
|
not null
|
Premio que obtiene le perdedor del partido
|
lugar
|
varchar(30)
|
not null
|
Lugar en el que se lleva a cabo el partido
|
pais
|
varchar(30)
|
not null
|
País en el que se lleva a cabo el partido
|
estado
|
varchar(30)
|
not null
|
Estado en el que se lleva a cabo el partido
|
ciudad
|
varchar(30)
|
not null
|
Ciudad en el que se lleva a cabo el partido
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
lugar(PK)
|
varchar(30)
|
not null
|
Identificador del torneo, lugar donde será realizado el torneo
|
pais
|
varchar(30)
|
not null
|
País donde será realizado el torneo
|
estado
|
varchar(30)
|
not null
|
estado donde será realizado el torneo
|
ciudad
|
varchar(30)
|
not null
|
ciudad donde será realizado el torneo
|
Ejercicio 9
participante
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
nombre_participante(PK)
|
varchar(60)
|
not null
|
Nombre e identificador del participante
|
nombrepila_ participante
|
varchar(20)
|
not null
|
Nombre de pila del participante
|
paterno_ participante
|
varchar(20)
|
not null
|
Apellido paterno del participante
|
materno_ participante
|
varchar(20)
|
not null
|
Apellido materno del participante
|
nacionalidad
|
varchar(15)
|
not null
|
Nacionalidad del participante
|
participacion
|
varchar(30)
|
not null
|
Tipo de participación(actor, director, etc.)
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
direccion_cine(PK)
|
varchar(95)
|
not null
|
Dirección del cine
|
estado_cine
|
varchar(30)
|
not null
|
Estado de ubicación del cine
|
colonia_cine
|
varchar(30)
|
not null
|
Colonia de ubicación del cine
|
calle_cine
|
varchar(30)
|
not null
|
Calle de ubicación del cine
|
numero_cine
|
varchar(5)
|
not null
|
Número de ubicación del cine
|
nombre
|
varchar(25)
|
not null
|
Nombre del cine
|
telefono
|
varchar(10)
|
not null
|
Teléfono del cine
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
fecha(PK)
|
datetime
|
Default null
|
Identificador de la función; su fecha
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_opinion(PK)
|
int(10)
|
not null
|
Identificador de la opinión de la persona
|
calificacion
|
int(5)
|
not null
|
Calificación que dio la persona a la película
|
fecha
|
date
|
default null
|
Fecha en que se opinó acerca de la película
|
comentario
|
varchar(70)
|
not null
|
Contenido del comentario
|
id_pelicula(FK)
|
int(10)
|
not null
|
Identificador de la película (llave foránea PELICULA)
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_pelicula(PK)(FK)
|
int(10)
|
not null
|
Identificador de la película
|
nombre_ participante(PK) (FK)
|
varchar(60)
|
not null
|
Nombre e identificador del participante
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_pelicula(PK)
|
int(10)
|
not null
|
Identificador de la película
|
url
|
varchar(40)
|
not null
|
URL de la película
|
subtitulos
|
varchar(35)
|
not null
|
Subtítulos de la película
|
duracion
|
varchar(10)
|
not null
|
Duración de la película
|
clasificacion
|
varchar(10)
|
not null
|
Clasificación de la película
|
titulo_original
|
varchar(30)
|
not null
|
Título de la película
|
fecha
|
date
|
default null
|
Fecha en que fue lanzada la película
|
idioma
|
varchar(15)
|
not null
|
Idioma de la película
|
pais
|
varchar(20)
|
not null
|
Páis de elaboración de la película
|
anio
|
int(5)
|
not null
|
Año en que se estrenó la película
|
genero
|
varchar(15)
|
not null
|
Género de la película
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
descuento
|
int(5)
|
not null
|
Descuento del costo de la función
|
descripcion(PK)
|
varchar(60)
|
null
|
Descripción de la promoción
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_sala(PK)
|
int(10)
|
not null, auto increment
|
Identificador de la sala del cine
|
nombre
|
varchar(30)
|
null
|
Nombre de la sala
|
no_butacas
|
varchar(30)
|
not null
|
Número de butacas en el cine
|
direccion_cine (FK)
|
varchar(30)
|
not null
|
Dirección del cine
|
Ejercicio 10
esta
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_pieza (PK)(FK)
|
int(10)
|
not null
|
Identificador de la pieza
|
posicion(FK)
|
varchar(20)
|
not null
|
Posición del estante
|
cantidad_piezas
|
int(5)
|
not null
|
Cantidad de esas piezas que están en el estante
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
posicion (PK)
|
varchar(20)
|
not null
|
Ubicación del estante
|
altura
|
varchar(10)
|
not null
|
Altura del estante
|
pasillo
|
varchar(10)
|
not null
|
Pasillo en que se ubica el estante
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
nombre (PK)
|
varchar(30)
|
not null
|
Nombre del mueble
|
precio
|
int(10)
|
not null
|
Precio del mueble
|
Atributo
|
Tipo
|
Modificadores
|
Descripción
|
id_pieza (PK)
|
int(10)
|
not null, auto increment
|
Identificados de la pieza
|
Conclusión
Si alguna vez debemos trabajar con bases de datos que diseñamos hace tiempo o que diseñó otra persona, el diccionario de datos será una herramienta muy útil para poder comprender el sistema con el que vamos a trabajar, así como un apoyo para el trabajo. Cada una de las relaciones o especificaciones de las tablas están explicadas en este diccionario, así que no habrá mayor problema cuando queramos entenderlo.
Por lo tanto es fundamentalmente necesario e imperativamente importante que realicemos un diccionario de datos, dado que es la forma más sencilla, práctica y útil de transmitir el conocimiento del funcionamiento de una base de datos, lo cual nos servirá para lo que queramos realizar con ella.
Por lo tanto es fundamentalmente necesario e imperativamente importante que realicemos un diccionario de datos, dado que es la forma más sencilla, práctica y útil de transmitir el conocimiento del funcionamiento de una base de datos, lo cual nos servirá para lo que queramos realizar con ella.