jueves, 10 de abril de 2014

8) Diccionario de Datos

El diccionario de datos sirve para poder entender una base de datos, para así poder trabajar con ella. Es muy importante hacer uno ya que cuando otra persona, o nosotros mismos dentro de algún tiempo queramos trabajar con alguna base de datos que hayamos diseñado, remitiéndonos al diccionario de datos podamos entender cada tabla y atributo de esta para facilitar nuestra comprensión y trabajo.

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
coche
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)
cliente
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
mecanico
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
repara
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

juega
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
jugador
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
partido
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
cliente
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
fabrica
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
pedido
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

cliente
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
producto
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)
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
venta
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
avion
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)
programadevuelo
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
tomatierra
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)
vuelo
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
comisario
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
evento
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)
entrenar
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
entrenador
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
jugador
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)
partido
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
torneo
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.)

cine
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
funcion
Atributo
Tipo
Modificadores
Descripción
fecha(PK)
datetime
Default null
Identificador de la función; su fecha
opinion
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)
participa
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
pelicula
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
promocion
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
sala
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
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
mueble
Atributo
Tipo
Modificadores
Descripción
nombre (PK)
varchar(30)
not  null
Nombre del mueble
precio
int(10)
not  null
Precio del mueble
pieza
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.

No hay comentarios.: