elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Ayuda con base de datos. Formulacion correcta? Cumple con Boyce-Codd?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con base de datos. Formulacion correcta? Cumple con Boyce-Codd?  (Leído 2,559 veces)
LeandroRodriguez

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Ayuda con base de datos. Formulacion correcta? Cumple con Boyce-Codd?
« en: 19 Octubre 2015, 22:53 pm »

Hola, buenas tardes, necesito ayuda con un trabajo práctico que estoy haciendo para la materia bases de datos.
El tema es así, el profesor me pidió que haga un base de datos de una agencia de taxis. Las condiciones de la base de datos son las siguientes:


Se debe diseñar, implementar y documentar una base de datos para una agencia de taxis.
Se ha relevado que es necesario registrar lo siguiente:

•   Datos personales de los choferes
•   Datos de los autos que conducen.
•   Un chofer utiliza un sólo auto pero un auto puede ser conducido por varios choferes.
•   Hora de inicio  y finalización  de trabajo por días (Los choferes trabajan en horario y días variables)
•   Viajes que realiza un chofer origen del mismo, fecha y hora de comienzo,  destino, fecha y hora de finalización (los dos últimos opcionales).

Yo primero cree el diagrama entidad-relación, y luego hice el diseño de las tablas. Pero cuando lo termine, lo siento medio vacío, no se si esta bien hecho y tampoco estoy seguro que cumpla las condiciones de Boyce-Codd.

Las tablas que cree me quedaron así :

Table Chofer:

Dni,  INT
Nombre, TEXT
Apellido, TEXT
Edad, INT
Primary key = Dni

Table Auto:

Dnichofer,  INT
Marca, TEXT
Modelo, TEXT
Primary key = Dnichofer

Table trabajo:
Dnichofer , INT
FechaHoraInicio, DATETIME
FechaHoraFin, DATETIME
Primary key = (Dnichofer,Fechahorainicio,Fechahorafin)

Table viaje:
Dnichofer , INT
FechaHoraInicio, DATETIME
FechaHoraFin, DATETIME
LugarOrigen, TEXT
LugarFin, TEXT
Primary key = (Dnichofer,Fechahorainicio,Fechahorafin)


Están bien las tablas? Alguna recomendación? Mi idea es hacer asi las tablas y después manejar todas las restricciones con código php. Voy a hacer una pagina con mysql y php y manejar las excepciones ahí.
Nunca publique en el foro asi que quizás tenga algo mal, ya sea en el formato de la pregunta u otra cosa, cualquier cosa me dicen y lo arreglo, gracias!


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayuda con base de datos. Formulacion correcta? Cumple con Boyce-Codd?
« Respuesta #1 en: 19 Octubre 2015, 22:59 pm »

Citar
Un chofer utiliza un sólo auto pero un auto puede ser conducido por varios choferes.


Código:
Table Auto:

Dnichofer,  INT
Marca, TEXT
Modelo, TEXT
Primary key = Dnichofer

estás atando un auto al chofer, solo ese chofer tiene que ver con ese auto y un chofer podría tener varios autos... debe ser al contrario, el chofer debe estar atado al auto, ya que varios pueden referenciarlo a el, pero el no puede referenciar a uno solo


Citar
Hora de inicio  y finalización  de trabajo por días (Los choferes trabajan en horario y días variables)

Código:
Table trabajo:
Dnichofer , INT
FechaHoraInicio, DATETIME
FechaHoraFin, DATETIME
Primary key = (Dnichofer,Fechahorainicio,Fechahorafin)

si la clave primaria es dnichofer, el chofer solo puede tener una entrada, ya que la clave primaria debe ser unica, al igual que hora inicio y hora fin, ningún otro chofer podría tener un horario en las mismas horas

Código:
Table viaje:
Dnichofer , INT
FechaHoraInicio, DATETIME
FechaHoraFin, DATETIME
LugarOrigen, TEXT
LugarFin, TEXT
Primary key = (Dnichofer,Fechahorainicio,Fechahorafin)

lo mismo que el punto anterior


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
LeandroRodriguez

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda con base de datos. Formulacion correcta? Cumple con Boyce-Codd?
« Respuesta #2 en: 24 Octubre 2015, 02:36 am »

Código:
[code]
[code]

estás atando un auto al chofer, solo ese chofer tiene que ver con ese auto y un chofer podría tener varios autos... debe ser al contrario, el chofer debe estar atado al auto, ya que varios pueden referenciarlo a el, pero el no puede referenciar a uno solo


Hola, gracias por la respuesta, el tema es que la consigna me esta pidiendo que un chofer tenga solo un auto. Entonces yo le permito al chofer tener solo un auto, podrías revisar a ver si tengo razón? Porque lo veo muchas veces y creo que las tablas están definidas para que un chofer tenga solo un coche. Puedo estar equivocándome y no veo donde, si me pudieras confirmar si tengo razón te lo agradezco.

Código:

si la clave primaria es dnichofer, el chofer solo puede tener una entrada, ya que la clave primaria debe ser unica, al igual que hora inicio y hora fin, ningún otro chofer podría tener un horario en las mismas horas

lo mismo que el punto anterior


Si, el tema es que no expresé bien el como hice la clave primaria. En realidad, la clave primaria esta conformada por: (Dnichofer,FechaHoraInicio,FechaHoraFin), es una clave compuesta.
Y en el caso siguiente también es una clave primaria compuesta con (Dnichofer,FechaInicioViaje,FechaFinViaje). Esta bien usar estas claves compuestas? O es mejor encontrar otra manera de relacionar las tablas ?. No quise usar llaves foráneas porque me piden que se cumplan las condiciones de Boyce-Codd.
 Todavía tengo esas dudas, desde ya, gracias![/code][/code]
« Última modificación: 24 Octubre 2015, 02:45 am por LeandroRodriguez » En línea

0roch1

Desconectado Desconectado

Mensajes: 123



Ver Perfil
Re: Ayuda con base de datos. Formulacion correcta? Cumple con Boyce-Codd?
« Respuesta #3 en: 26 Octubre 2015, 17:36 pm »

Qué tan detallado se requiere el diseño?.

Tal vez yo agregaría otros datos extras a las tablas, por ejemplo Chofer.

Dni,  INT
Nombre, TEXT
Apellido, TEXT
Edad, INT
Primary key = Dni
-----
Direccion
Telefono
TipoLicencia
FechaNacimiendo
FechaIngreso
Activo

Si guardas solo la edad el chofer siempre será la misma, en cambio con la fecha de nacimiento puedes calcularla.
Tener la fecha de registro de la "entidad" siempre es bueno.

------------------------------------------
Dnichofer,  INT
Marca, TEXT
Modelo, TEXT
Primary key = Dnichofer

y si hay dos autos de la misma marca y modelo?,

Dnichofer: 12345, Marca: Aston Martin, Modelo: DB9
Dnichofer: 67890, Marca: Aston Martin, Modelo: DB9


cómo sabrás cuál taxi le pertenece a tal chofer?, agrega el número de placa y ese será la Primary Key.
Dnichofer es Foreign Key en esta tabla.

Por ahora son todos los comentarios de mi parte.




En línea

LeandroRodriguez

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Ayuda con base de datos. Formulacion correcta? Cumple con Boyce-Codd?
« Respuesta #4 en: 27 Octubre 2015, 00:58 am »

Ahora veo en donde me estaba equivocando, estaba relacionando mal el auto con el chofer. Buena data lo de poner fecha de nacimiento en edad también, voy a tener en cuenta las recomendaciones, gracias!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA CON BASE DE DATOS VB
Programación Visual Basic
arkangel2002 5 2,095 Último mensaje 15 Septiembre 2006, 23:57 pm
por cristiano1818
AYUDA, VALIDAR DATOS Y EVITAR INYECCION EN FORMULARIO A BASE DE DATOS
Desarrollo Web
antonioska 4 6,333 Último mensaje 1 Abril 2013, 00:39 am
por antonioska
Ayuda p listar datos de base de datos y usar el valor para enviar a otra pagina
PHP
daciocco 1 2,648 Último mensaje 31 Diciembre 2013, 16:26 pm
por #!drvy
Ayuda con la suma correcta de estos datos + PHP
PHP
adryan310 2 1,477 Último mensaje 30 Enero 2014, 17:12 pm
por adryan310
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines