lunes, 7 de abril de 2014

Diccionario de Datos

Introducción

Ahora veremos lo que es un diccionario de datos, un diccionario de datos es una herramienta que nos sirve para “explicar” las tablas de nuestras bases de datos.
¿Cómo hago un diccionario de datos? No tiene mucha ciencia, ponemos el nombre de la tabla, si el nombre no es mnemónico, damos una breve descripción de la tabla (¿Qué entidad representa? ¿Qué hace esta entidad?); posteriormente ponemos el nombre de cada uno de los campos de nuestra tabla, el tipo de datos, si puede ser nulo o si es clave primaria o foránea, y finalmente una descripción del campo.

Desarrollo

Como ejemplo les mostraré los diccionarios de datos de los ejercicios sobre los que hemos estado trabajando (he hecho algunas correcciones).
Ejercicio 1:
·        Tabla Coche:
Campo
Tipo de datos

Descripción
Accidentes
Int(10)
No nulo
Número de accidentes que ha tenido el coche
IDcliente
Int(10)
No nulo, clave foránea
ID del cliente al cual pertenece el coche

·        Tabla Cliente:
Campo
Tipo de datos

Descripción
IDcliente
Int(10)
Clave primaria
Clave que identifica a cada cliente

Ejercicio 2:
·        Tabla Cliente:
Campo
Tipo de datos

Descripción
DNIcliente
Varchar(20)
Clave primaria
DNI del cliente, el cual lo identifica
Nombre
Varchar(20)
No nulo
Nombre del cliente
APaterno
Varchar(20)
No nulo
Apellido paterno del cliente
AMaterno
Varchar(20)
No nulo
Apellido materno del cliente
IDdireccion
Int(10)
No nulo, clave foránea
ID de la dirección del cliente
Telefono
Int(8)
No nulo
Teléfono del cliente

·        Tabla Coche:
Campo
Tipo de datos

Descripción
Matricula
Varchar(10)
Clave primaria
Matrícula del coche, que lo identifica
Modelo
Char(20)
No nulo
Modelo del coche
Marca
Char(20)
No nulo
Marca del coche
Color
Char(20)
No nulo
Color del coche

·        Tabla Compra:
Campo
Tipo de datos

Descripción
DNIcliente
Varchar(20)
No nulo, clave foránea, clave primaria
DNI del cliente que compra el coche
Matricula
Varchar(20)
No nulo, clave foránea, clave primaria
Matrícula del coche que compra el cliente
·        Tabla Dirección: domicilio del cliente
Campo
Tipo de datos

Descripción
IDdireccion
Int(10)
Clave primaria
ID de la dirección, que la identifica
Calle
Varchar(20)
No nulo
Calle de la dirección
Numint
Int(5)
No nulo
Numero interior de la dirección
Numext
Int(5)
No nulo
Numero exterior de la dirección

·        Tabla Mecánico:
Campo
Tipo de datos

Descripción
DNImecanico
Varchar(20)
Clave primaria
DNI del mecánico, que lo identifica
Nombre
Char(20)
No nulo
Nombre del mecánico
Salario
Char(20)
No nulo
Salario del mecánico
APaterno
Char(10)
No nulo
Apellido paterno del mecánico
AMaterno
Char(10)
No nulo
Apellido materno del mecánico
Contratación
Date  (fecha)
No nulo
Fecha de contratación del mecánico

·        Tabla Nuevo: coche nuevo
Campo
Tipo de datos

Descripción
Unidades
Int(20)
No nulo
Número de unidades de ese coche con que se cuenta

·        Tabla Usado: coche usado
Campo
Tipo de datos

Descripción
Km
Int(20)
No nulo
Número de kilómetros recorridos por el coche

·        Tabla Repara:
Campo
Tipo de datos

Descripción
Matricula
Varchar(10)
No nulo, clave foránea, clave primaria
Matrícula del coche que se repara
DNImecanico
Varchar(20)
No nulo, clave foránea, clave primaria
DNI del mecánico que repara el coche
Fecha
Date  (fecha)
No nulo
Fecha en que se repara el coche
Horas
Int(2)
No nulo
Número de horas que duró la reparación

Ejercicio 3:
·        Tabla Jugador:
Campo
Tipo de datos

Descripción
Estadísticas
Char(30)
No nulo
Estadísticas del jugador
RUT
Varchar(20)
Clave primaria
RUT del jugador, que lo identifica

·        Tabla Partido:
Campo
Tipo de datos

Descripción
ID_partido
Int(10)
Clave primaria
ID que identifica al partido

·        Tabla Juega:
Campo
Tipo de datos

Descripción
ID_partido
Int(10)
No nulo, clave foránea, clave primaria
ID del partido que se juega
RUT
Varchar(20)
No nulo, clave foránea, clave primaria
RUT del jugador que juega en el partido
Resultado
Char(10)
No nulo
Resultado del partido

Ejercicio 4:
·        Tabla Artículo:
Campo
Tipo de datos

Descripción
numeroArticulo
Int(20)
Clave primaria
Número del artículo, que lo identifica
Descripción
Char(30)
No nulo
Descripción del artículo
Existencias
Int(20)
No nulo
Existencias del artículo

·        Tabla Cliente:
Campo
Tipo de datos

Descripción
numeroCliente
Int(20)
Clave primaria
Número del cliente, que lo identifica
Calle
Char(20)
No nulo
Calle donde vive el cliente
numeroCasa
Int(20)
No nulo
Número de la casa del cliente
Saldo
Int(20)
No nulo
Saldo del cliente
limiteCredito
Int(20)
No nulo
Límite de crédito que tiene el cliente
Descuento
Int(20)
No nulo
Descuento que tiene el cliente

·        Tabla Fábrica:
Campo
Tipo de datos

Descripción
numeroFabrica
Int(20)
Clave primaria
Número de la fábrica, que la identifica
Teléfono
Int(8)
No nulo
Teléfono de la fábrica

·        Tabla Pedido:
Campo
Tipo de datos

Descripción
ID_pedido
Int(20)
Clave primaria
Identificador del pedido
numeroCliente
Int(20)
No nulo, clave foránea
Número del cliente que hace el pedido
numeroArticulo
Int(20)
No nulo, clave foránea
Número del artículo del que se hace el pedido
Calle
Char(20)
No nulo
Calle donde vive el cliente
numeroCasa
Int(20)
No nulo
Número donde vive el cliente
Fecha
Date  (fecha)
No nulo
Fecha en que se hace el pedido
cantidadArts
Int(20)
No nulo
Cantidad de artículos que se ordenan

·        Tabla Produce:
Campo
Tipo de datos

Descripción
numeroFabrica
Int(20)
No nulo, clave foránea, clave primaria
Número que identifica a la fábrica
numeroArticulo
Int(20)
No nulo, clave foránea, clave primaria
Número que identifica al artículo
numArts
Int(20)
No nulo
Número de artículos que se producen

Ejercicio 5:
·        Tabla Categoría:
Campo
Tipo de datos

Descripción
IDcategoria
Int(20)
Clave primaria
Identificador de la categoría
Descripción
Char(30)
No nulo
Descripción de la categoría
Nombre
Char(20)
No nulo
Nombre de la categoría

·        Tabla Cliente:
Campo
Tipo de datos

Descripción
RUTcliente
Varchar(20)
Clave primaria
RUT que identifica a cada cliente
nombreCliente
Varchar(20)
No nulo
Nombre del cliente
IDdireccion
Int(20)
No nulo, clave foránea
Identificador de la dirección del cliente
Teléfono
Int(8)
No nulo
Teléfono del cliente

·        Tabla Compra:
Campo
Tipo de datos

Descripción
ID_compra
Int(20)
Clave primaria
Identificador de la compra
RUTcliente
Varchar(20)
No nulo
RUT del cliente que hace la compra
IDproducto
Int(20)
No nulo
Identificador del producto que se compra
Descuento
Int(20)
No nulo
Descuento de la compra
Cantidad
Int(20)
No nulo
Cantidad de productos que se compran
Fecha
Date  (fecha)
No nulo
Fecha de la compra

·        Tabla Dirección:
Campo
Tipo de datos

Descripción
IDdireccion
Int(20)
Clave primaria
Identificador de la dirección
Calle
Char(20)
No nulo
Calle de la dirección
Numero
Int(20)
No nulo
Número de la dirección

·        Tabla Producto:
Campo
Tipo de datos

Descripción
IDproducto
Int(20)
Clave primaria
Identificador del producto
Stock
Int(20)
No nulo
Cantidad de productos en stock
Nombre
Char(20)
No nulo
Nombre del producto
Precio
Int(20)
No nulo
Precio del producto
IDcategoria
Int(20)
No nulo
Identificador de la categoría del producto
RUTproveedor
Varchar(20)
No nulo, clave foránea
RUT del proveedor del producto

·        Tabla Proveedor:
Campo
Tipo de datos

Descripción
RUTproveedor
Varchar(20)
Clave primaria
RUT del proveedor, que lo identifica
IDdireccion
Int(20)
No nulo, clave foránea
Identificador de la dirección del proveedor
Paginaweb
Varchar(50)
No nulo
Clave primaria del proveedor
Teléfono
Int(8)
No nulo
Teléfono del proveedor
Nombre
Char(20)
No nulo
Nombre del proveedor

Ejercicio 6:
·        Tabla Aeropuerto:
Campo
Tipo de datos

Descripción
codigoAeropuerto
Int(20)
Clave primaria
Código identificador del aeropuerto
Nombre
Char(20)
No nulo
Nombre del aeropuerto
Ciudad
Char(20)
No nulo
Ciudad del aeropuerto
País
Char(20)
No nulo
País del aeropuerto

·        Tabla Avión:
Campo
Tipo de datos

Descripción
IDavion
Int(20)
Clave primaria
Identificador del avión
Modelo
Char(20)
No nulo
Modelo del avión
Plazas
Int(20)
No nulo
Plazas del avión

·        Tabla Programa: Programa de vuelo
Campo
Tipo de datos

Descripción
numeroVuelo
Int(20)
No nulo, clave foránea, clave primaria
Número del vuelo
codigoAeropuerto
Int(20)
No nulo, calve foránea, clave primaria
Código del aeropuerto
Días
Int(20)
No nulo
Días del programa de vuelo
lineaAerea
Char(20)
No nulo
Línea aérea del programa de vuelo

·        Tabla Vuelo:
Campo
Tipo de datos

Descripción
numeroVuelo
Int(20)
Clave primaria
Número del vuelo
Fecha
Date  (fecha)
No nulo
Fecha del vuelo
Escalas
Char(20)
No nulo
Escalas del vuelo
Plazas
Int(20)
No nulo
Plazas del vuelo
IDavion
Int(20)
No nulo
Identificador del avión que hará el vuelo

Ejercicio 7:
·        Tabla Áreas:
Campo
Tipo de datos

Descripción
IDarea
Int(20)
Clave primaria
Identificador del área
Localización
Char(20)
No nulo
Localización del área
Deporte
Char(20)
No nulo
Deporte del área
IDcomplejo
Int(20)
No nulo, clave foránea
Identificador del complejo del área

·        Tabla Complejo:
Campo
Tipo de datos

Descripción
IDcomplejo
Int(20)
Clave primaria
Identificador del complejo
Localización
Char(30)
No nulo
Localización del complejo
areaOcupada
Char(30)
No nulo
Área ocupada del complejo
Jefe
Char(20)
No nulo
Jefe del complejo
IDsede
Int(20)
No nulo, clave foránea
Identificador de la sede del complejo

·        Tabla Evento:
Campo
Tipo de datos

Descripción
IDevento
Int(20)
Clave primaria
Identificador del evento
IDcomplejo
Int(20)
No nulo, clave foránea
Identificador del complejo del evento
Fecha
Date  (fecha)
No nulo
Fecha del evento
Duración
Int(20)
No nulo
Duración del evento
Comisarios
Char(50)
No nulo
Comisarios del evento
Equipamento
Char(20)
No nulo
Equipamento para el evento
numParticipantes
Int(30)
No nulo
Número de participantes en el evento
numComisarios
Int(30)
No nulo
Número de comisarios en el evento

·        Tabla Sede:
Campo
Tipo de datos

Descripción
IDsede
Int(20)
Clave primaria
Identificador de la sede
numComplejos
Int(20)
No nulo
Número de complejos que tiene la sede
Presupuesto
Int(20)
No nulo
Presupuesto que tiene la sede

Ejercicio 8:
·        Tabla Encuentro:
Campo
Tipo de datos

Descripción
Composición
Char(20)
No nulo
Composición del encuentro
Resultado
Char(20)
No nulo
Resultado del encuentro
IDencuentro
Int(20)
Clave primaria
Identificador del encuentro
IDtorneo
Int(20)
No nulo, clave foránea
Identificador del torneo del encuentro

·        Tabla Entrena:
Campo
Tipo de datos

Descripción
Fecha
Date  (fecha)
No nulo
Fecha en que se entrena
IDentrenador
Int(20)
No nulo, clave foránea, clave primaria
Identificador del entrenador
IDjugador
Int(20)
No nulo, clave foránea, clave primaria
Identificador del jugador

·        Tabla Entrenador:
Campo
Tipo de datos

Descripción
IDentrenador
Int(20)
Clave primaria
Identificador del entrenador
Nombre
Char(20)
No nulo
Nombre del entrenador

·        Tabla Jugador:
Campo
Tipo de datos

Descripción
IDjugador
Int(20)
Clave primaria
Identificador del jugador
IDtorneo
Int(20)
No nulo, clave foránea
Identificador del torneo
Nacionalidad
Char(20)
No nulo
Nacionalidad del jugador
Ganancias
Int(20)
No nulo
Ganancias del jugador
Nombre
Char(20)
No nulo
Nombre del jugador

·        Tabla Torneo:
Campo
Tipo de datos

Descripción
IDtorneo
Int(20)
Clave primaria
Identificador del torneo
Fecha
Date  (fecha)
No nulo
Fecha del torneo
País
Char(20)
No nulo
País del torneo
Lugar
Char(20)
No nulo
Lugar del torneo
Modalidad
Char(20)
No nulo
Modalidad del torneo

Ejercicio 9:
·        Tabla Actor:
Campo
Tipo de datos

Descripción
Películas
Int(20)
No nulo
Número de películas en las que ha actuado

·        Tabla Cine:
Campo
Tipo de datos

Descripción
IDcine
Int(20)
Clave primaria
Identificador del cine
Cartelera
Char(100)
No nulo
Cartelera del cine
Teléfono
Int(8)
No nulo
Teléfono del cine
IDdireccion
Int(20)
No nulo, clave foránea
Identificador de la dirección del cine
Nombre
Char(20)
No nulo
Nombre del cine

·        Tabla Dirección:
Campo
Tipo de datos

Descripción
IDdireccion
Int(20)
Clave primaria
Identificador de la dirección
Calle
Char(20)
No nulo
Calle de la dirección
Numero
Int(20)
No nulo
Número de la dirección

·        Tabla Director:
Campo
Tipo de datos

Descripción
Películas
Int(20)
No nulo
Películas que ha dirigido

·        Tabla Opinión:
Campo
Tipo de datos

Descripción
Numero
Int(20)
Clave primaria
Número que identifica a la opinión
IDpelicula
Int(20)
No nulo, clave foránea
Identificador de la película
Fecha
Date  (fecha)
No nulo
Fecha de la opinión
Comentario
Char(20)
-
Comentario sobre la película
Calificación
Int(2)
No nulo
Calificación de la opinió
edadPersona
Int(3)
No nulo
Edad de la persona que opina
nombrePersona
Char(30)
No nulo
Nombre de la persona que opina

·        Tabla Participantes:
Campo
Tipo de datos

Descripción
Nombre
Char(20)
Clave primaria
Nombre que identifica al participante
IDpelicula
Int(20)
Clave foránea
Identificador de la película en que participa
Nacionalidad
Char(20)
No nulo
Nacionalidad del participante

·        Tabla Película:
Campo
Tipo de datos

Descripción
IDpelicula
Int(20)
Clave primaria
Identificador de la película
Resumen
Char(20)
No nulo
Resumen de la película
Calificación
Int(2)
No nulo
Calificación de la película
Duración
Int(4)
No nulo
Duración de la película
URL
Varchar(50)
No nulo
URL de la película
Año
Int(4)
No nulo
Año de la película
País
Char(20)
No nulo
País de la película
Subtitulos
Char(2)
No nulo
Si la película tiene subtítulos o no
Idioma
Char(20)
No nulo
Idioma de la película
Genero
Char(20)
No nulo
Género de la película
tituloOriginal
Char(30)
No nulo
Título original de la película
tituloDistribucion
Char(30)
No nulo
Título de distribución de la película

·        Tabla Promoción:
Campo
Tipo de datos

Descripción
IDpromocion
Int(20)
Clave primaria
Identificador de la promoción
IDcine
Int(20)
No nulo, clave foránea
Identificador del cine
IDsala
Int(20)
No nulo, clave foránea
Identificador de la sala
Descripción
Char(30)
No nulo
Descripción de la promoción
Descuento
Int(20)
No nulo
Descuento de la promoción

·        Tabla Sala:
Campo
Tipo de datos

Descripción
IDsala
Int(20)
Clave primaria
Identificador de la sala
IDcine
Int(20)
No nulo, clave foránea
Identificador del cine
IDpelicula
Int(20)
No nulo, clave foránea
Identificador de la película que se exhibe

Ejercicio 10:
·        Tabla Estante:
Campo
Tipo de datos

Descripción
IDestante
Int(20)
Clave primaria
Identificador del estante
numeroUnidades
Int(20)
No nulo
Número de unidades que puede guardar
Tipo
Char(20)
No nulo
Tipo de estante

·        Tabla Forma:
Campo
Tipo de datos

Descripción
nombreMueble
Char(20)
Clave foránea, clave primaria
Nombre que identifica al mueble
IDpieza
Int(20)
Clave foránea, clave primaria
Identificador de la pieza

·        Tabla Mueble:
Campo
Tipo de datos

Descripción
nombreMueble
Char(20)
Clave primaria
Nombre que identifica al mueble
Precio
Int(20)
No nulo
Precio del mueble

·        Tabla Pieza:
Campo
Tipo de datos

Descripción
IDpieza
Int(20)
Clave primaria
Identificador de la pieza
numeroUnidades
Int(20)
No nulo
Número de unidades de la pieza

Conclusiones

Más que ser una herramienta que nos ayude en el desarrollo de nuestra base de datos (aunque hay quienes los usan como tal), los diccionarios de datos sirven a otros para poder entender qué datos estamos guardando y para qué e incluso nos pueden servir a nosotros si posteriormente necesitamos consultar algo acerca de nuestra base de datos.