Access - crear base de datos

 
Vista:

crear base de datos

Publicado por Flor (2 intervenciones) el 28/01/2008 13:38:50
Buenas Tardes a todos, tengo un pequeño problema, tengo que crear una base de datos. En la cual tengo una Tabla que es los datos de los trabajadores, otra tabla que es los articulos que utilizan es decir ordenadores, telefonos etc..
Y tengo que crear otra tabla donde estes unidas esas dos.
Es decir yo a cada empleado le tengo que poner lo que tiene a su cargo.
Y luego tengo que mostrarlo, con un informe.
Mi pregunta es como puedo hacer eso, como puede relacionar la tabla de los empleados, con la tabla de articulos.
Para que yo pongo al nombre del trabajador y me salga todos sus articulos.
Me podrian ayudar.
Gracias
Un Saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:crear base de datos

Publicado por AleC (24 intervenciones) el 28/01/2008 23:16:34
Como muy bien has dicho te tendrás que crear 3 tablas.
1.- Con el contenido de los datos que quieres guardar de los trabajadores. Te pongo un ejemplo de los campos de la tabla EMPLEADOS:

CodEmpleado de tipo autonumérico,
Nombre de tipo cadena de caracteres,
Apellido1 de tipo cadena de caracteres,
Apellido2 de tipo cadena de caracteres,
Cargo (si es jefe, repartidor, etc) de tipo cadena de caracteres.

2.- Con el contenido de los datos de los APARATOS:

CodAparato de tipo autonumérico.
TipoAparato (móvil, pda, etc) de tipo de cadena de caracteres,
Marca de tipo cadena de caracteres,
Modelo de tipo cadena de caracteres,
NumSerie de tipo cadena de caracteres.

3.- La tabla que contiene las relaciones. Esta contiene sólo dos campos. Será la tabla APARATOS_X_EMPLEADO:

CodAparato de tipo numérico.
CodEmpleado de tipo numérico.

Se pueden crear más tablas para poner la cosa más frondosa pero creo que con esto se soluciona tu petición.

Si pones esta consulta en la vista SQL del apartado de consultas y sustituyes "<CodEmpleado>" por un número de empleado te saldrán los aparatos que tiene a su cargo dicho empleado.

SELECT APARATOS.*
FROM APARATOS
INNER JOIN APARATOS_X_EMPLEADO ON APARATOS.CodAparato = APARATOS_X_EMPLEADO.CodAparato
INNER JOIN EMPLEADOS ON EMPLEADOS.CodEmpleado = APARATOS_X_EMPLEADO.CodEmpleado
WHERE EMPLEADOS.CodEmpleado = "<CodEmpleado>"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:crear base de datos

Publicado por flor (2 intervenciones) el 29/01/2008 09:22:41
Muchas gracias Alec, por tu respuesta.
Pero no entiendo muy bien la tabla aparto_x_empleado.
porque no tendria que poner mas campos.
Yo tengo un empleado y ese puede tener un portatil, telefono, coche .
Y quiero poner el nombre del empleado y ver todo lo que tiene.
Me puede explicar mejor lo de la tabla aparato_x_empleado.
Gracias
Un Saludo
Flor
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:crear base de datos

Publicado por AleC (24 intervenciones) el 30/01/2008 00:09:54
La tabla aparato_x_empleado sólo guardará la relación entre estas dos entidades. La definición de cada entidad ( empleado:Manolo Perez, Antonio Benítez, etc y aparato: Movil Nokia, Portátil Acer, Coche Audi, etc) La tienen las tablas de los empleados y la de los aparatos (esta última se podría desgregar en más tablas, pero de momento te puede servir así).
Una solución como la que te he propuesto hace que si en un futuro puedes proveer a tus empleados de más cosas sólo es cuestión de añadir registros (cosa muy normal y del día a día en una Base de datos). De la forma que tú propones cada vez que tengas algo nuevo para los empleados tendrías que tocar la estructura de la tabla (añadir campos). Son simplemente métodos de normalización (busca información por ahí sobre "Formas Normales").

Una tabla empleados podría tener esto:
CodEmpleado: 1; Nombre: Manolo; Apellido1: Perez
CodEmpleado: 2; Nombre: Antonio; Apellido1: Benítez

Una tabla aparatos podría tener esto:
CodAparato: 1; TipoAparato: Móvil; Marca: Nokia
CodAparato: 2; TipoAparato: Portátil; Marca: Acer
CodAparato: 3; TipoAparato: Coche; Marca Audi

La tabla aparato_x_empleado podría tener esto:

CodAparato:1; CodEmpleado: 1. (Lo que significa que Manolo tiene un Nokia).
CodAparato:3; CodEmpleado: 1. (Lo que significa que Manolo tiene un Audi).
CodAparato:2; CodEmpleado: 2. (Lo que significa que Antonio tiene un Acer).
CodAparato:1; CodEmpleado: 2. (Lo que significa que Antonio tiene un Nokia).

Escribir en la tabla relación es documentar más objetivamente lo que está sucediendo, que es "establecer la relación entre un empleado y un aparato". No crece la variedad de aparatos ni de empleados sólo la relación entre ellos.

Espero haberte resuelto algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar