Taller Mecanico
Taller Mecanico
Taller Mecanico
"TALLER MECÁNICO"
18:47 |
Se desea construir una base de datos para la gestión de un taller mecánico que deberá contener la información
referente a los clientes, los vehículos que repara, los mecánicos que trabajan en su taller y los repuestos que se
han utilizado para realizar una determinada reparación.
1. Se registra tanto el cliente como el vehículo que trae al taller para su reparación. Este registro recoge
el DNI, Nombre y Apellidos, Dirección y Teléfono de contacto del cliente. Del vehículo se recogen la
matrícula, el modelo y el color. También se registra la fecha de entrada del vehículo en el taller y su
hora.
2. Una vez registrado, se le asigna un mecánico (libre) que se encargará de evaluar los daños.
3. Posteriormente, este mecánico puede rodearse de otros mecánicos que le ayudarán en la reparación.
4. Los mecánicos que participan en la reparación irán anotando en una hoja de parte todos aquellos
repuestos que les han sido necesarios para llevar a cabo la reparación y el precio de la mano de obra.
5. Una vez terminada la reparación, la hoja de parte se pasa a la persona que mantiene el sistema de
información, la cual introducirá los datos que generarán la correspondiente factura para el cliente. La
factura por tanto, debe contener todos los datos del cliente, los datos del mecánico al que ha sido
asignado y el desglose de qué repuestos se han utilizado con su precio por unidad, el precio de la mano
deobra y el total de la factura. A este total se le aplica el 16% de IVA y además deberá el precio total
de la reparación aparecerá en dólaresy pesos.
8 comentarios:
dj-roxa dijo...
buenaaaaaa!
Unknown dijo...
PUta madre!!!!!!!
Ed dijo...
Genial...
Excelente
Unknown dijo...
gracias podrías porfa subir la segunda parte cuando se le realiza la interfaz gráfica ,
aplicando los crud ,nuevamente gracias
Crear en Base de Datos MySQL una Tabla
Estado_Vehiculo
Formular una pregunta
La pregunta aqui es en ESTADOdeVehiculo esta tabla almacena los datos del estado de
cada uno de los vehiculos al llegar al taller como si tiene gasolina, tiene todos sus cauchos,
le falta un retrovisor, le sirve el aire acondicionado, tiene todas las luces, etc etc etc... En
este caso que es lo correcto o mas factible? hacer la tabla con cada uno de esos campos o
hacer un campo algo asi como TEXT para que se traiga todo en un formato de texto??
En la ventana de diseño en java tengo la ventana con una tabla y varios checkbox para
afirmar si tiene o no cada uno de los campos.. pero no se como almacenarlos correctamente
en la base de datos... si individualmente como varchar o boolean o como text todo junto en
un especie de reporte :S es algo que a la final no creo que usen las personas que administren
un taller pero creo que seria buena idea colocar esas opciones :S
Aqui va una imagen de como llevo la base de datos :v tengo una duda con el uso del
FOREIGN KEY Uds lo ven bien? colocare tambien el codigo n.n
Codigo SQL:
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
-- -----------------------------------------------------
-- Schema mydb
-- -----------------------------------------------------
CREATE DATABASE IF NOT EXISTS `tallermecanico_hd` DEFAULT CHARACTER SET
utf8 ;
USE `tallermecanico_hd` ;
-- -----------------------------------------------------
-- Table `mydb`.`a_usuarios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tallermecanico_hd`.`a_usuarios` (
`nombre_u` INT NOT NULL,
`contra_u` VARCHAR(10) NOT NULL,
`permiso` VARCHAR(15) NOT NULL,
PRIMARY KEY (`nombre_u`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`b_personal`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tallermecanico_hd`.`b_personal` (
`cedula_p` INT NOT NULL,
`nombre_p` VARCHAR(25) NOT NULL,
`apellido_p` VARCHAR(25) NULL,
`telefono_p` INT NULL,
`email_p` VARCHAR(45) NULL,
`dir_p` VARCHAR(255) NULL,
`cargo_p` VARCHAR(45) NULL,
`f_contrato` DATE NULL,
`status_p` VARCHAR(45) NULL,
PRIMARY KEY (`cedula_p`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`c_clientes`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tallermecanico_hd`.`c_clientes` (
`cedula_c` INT NOT NULL,
`nombre_c` VARCHAR(25) NOT NULL,
`apellido_c` VARCHAR(25) NULL,
`telefono_c` INT NOT NULL,
`dir_c` VARCHAR(255) NULL,
`email_c` VARCHAR(45) NULL,
`empresa_c` VARCHAR(45) NULL,
PRIMARY KEY (`cedula_c`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`d_servicios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tallermecanico_hd`.`d_servicios` (
`cod_serv` INT NOT NULL,
`nomb_serv` VARCHAR(45) NOT NULL,
`descrip_serv` VARCHAR(255) NULL,
PRIMARY KEY (`cod_serv`))
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`e_vehiculos`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tallermecanico_hd`.`e_vehiculos` (
`placa` INT NOT NULL,
`marca` VARCHAR(25) NULL,
`modelo` VARCHAR(25) NULL,
`anio` VARCHAR(4) NULL,
`observ` VARCHAR(255) NULL,
`serial` VARCHAR(25) NULL,
`color` VARCHAR(25) NULL,
`puertas` INT,
`motor` VARCHAR(25) NULL,
`transmision` VARCHAR(25) NULL,
`cedula_c` INT NOT NULL,
PRIMARY KEY (`placa`),
FOREIGN KEY (`cedula_c`)REFERENCES `c_clientes` (cedula_c)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`f_citas`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tallermecanico_hd`.`f_citas` (
`id_cita` INT NOT NULL,
`f_solicitud` DATETIME NULL,
`f_pautada` DATETIME NULL,
`falla_idk` VARCHAR(255) NULL,
`observ_cita` VARCHAR(255) NULL,
`placa` INT NOT NULL,
PRIMARY KEY (`id_cita`),
FOREIGN KEY (`placa`) REFERENCES `e_vehiculos`(placa)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`g_est_vehiculo`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tallermecanico_hd`.`g_est_vehiculo` (
`cod_estv` INT NOT NULL,
`alarma` VARCHAR(5) NULL,
`espejo_retrov` VARCHAR(5) NULL,
`luces_int` VARCHAR(5) NULL,
`cauchos` VARCHAR(5) NULL,
`cauchorep` VARCHAR(5) NULL,
`faros` VARCHAR(5) NULL,
`obv_estv` VARCHAR(1000) NULL,
`placa` INT NOT NULL,
PRIMARY KEY (`cod_estv`),
FOREIGN KEY (`placa`)REFERENCES `e_vehiculos` (placa)
ON DELETE CASCADE
ON UPDATE CASCADE)
ENGINE = InnoDB;
-- -----------------------------------------------------
-- Table `mydb`.`x_est_servicios`
-- -----------------------------------------------------
CREATE TABLE IF NOT EXISTS `tallermecanico_hd`.`x_est_servicios` (
`f_inicio` DATETIME NOT NULL,
`f_fin` DATETIME NULL,
`resultado_s` VARCHAR(1000) NULL,
`est_result_s` VARCHAR(1000) NULL,
-- fk
`placa` INT NOT NULL,
`cod_serv` INT NOT NULL,
`cedula_p` INT NOT NULL,
SET SQL_MODE=@OLD_SQL_MODE;
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS;
java sql netbeans phpmyadmin
141214
añade un comentario
3 respuestas
activas más antiguas votos
Si planeas crear los campos hay que pensar en que dominio actúan esos datos, por ejemplo,
si creas el campo gasolina y tienes manera de cómo medir con cuanta gasolina viene el
coche, entonces es un dominio numérico.
Supongamos que puedes medir la gasolina en mililitros, entonces podrías usar un INT, y
así para 10 litros, se puede guardar 10,000. Como otro ejemplo, el campo que propones
para almacenar si el aire acondicionado estaba funcional cuando llegó el auto, como solo
vas a checar si esta útil o no, puede ser un BOOLEAN o un TINYINT.
Una última recomendación es crear por tu cuenta un texto en prosa, donde escribas los
requerimientos que tiene este taller. Ahí mismo puedes darte mucho cuenta de que
entidades (tablas) vas a necesitar y también te dará una buena idea de los atributos
(campos) de las entidades y de sus relaciones.
Abraham Baez
12
Gracias por tu sugerencia Abraham .. tienes mucha razón creo que me tocara preguntarle
mas a mis profesores e investigar un poco mas como trabajar de esa manera... aunque por
ahora estoy viendo que me tocara usar varchar y que sea un teto informativo que si se
tiene que cambiar se cambie.. y si es Si o No que aparezca la palabra Si o No rellenando el
campo de la tabla :P – HeckDan el 20 may. 17 a las 1:14
añade un comentario
0
Debes pensar en cálculos estadísticos, relaciones con otras tablas, agrupaciones, resúmenes,
etc.
Los campos de tipo texto están diseñados para texto largos, por ejemplo, correos
electrónicos, opiniones de los clientes, etc.
Al final la tabla te facilita las cosas y los cálculos estadísticos. ¿Te imaginas lo complicado
de relacionar tu tabla estadoVehiculo en formato texto con otras tablas?
Te recomendaría archivos de texto para un análisis de datos pero en Python, no con Java.
Jaime Hernandez
105
Gracias Jaime! tienes razón haré caso a tu sugerencia! Pero no entendi muy bien lo de la
tabla dedicada con cada atributo como campo y de tippo booleano ... el profesor me ha
dicho que por ahora no me preocupe tanto por eso >.< que respuesta de parte del profe..
aunque me alivia un poco a la vez me deja con la duda. – HeckDan el 20 may. 17 a las 1:10
añade un comentario
0
Entiendo que la tabla Citas es la tabla donde se registrarán las visitas de los vehículos al
taller (No le encontraría sentido si lo agregas en la tabla Vechiculos).
Viéndolo de esa forma, yo consideraría poner los estados en que llegan los autos al taller en
la tabla Citas, ya que necesitamos saber el estado de los autos en cada una de las citas
(Esto estaría bien si los estados ya están definidos, y si no son muchos). (Ver primera
imagen)
Si creas una tabla aparte para el estado creo que no quedaría muy bien, porque la relación
será de uno a uno, ya que todos los vehículos no llegan en el mismo estado, excluyendo
algunos casos, a menos que los estados definidos, sean muchos (aunque para eso también
tienes la tercera opción) (Ver Segunda imagen).
Y si los estados, se definen dinámicamente sería mejor tener una tabla para definir los
estados, según se requiera, y una tabla pivote para relacionarlo con la cita.
ArtEze
2,286102661
11
Wow amigo con gráficos y todos muchas gracias por tu ayuda pero de veras no he
entendido mucho tu idea y comprendo que mi culpa por no explicar bien como va la base
de datos como puedo hacer para montar un modelo de mas o menos lo pensado? el
modelo relacional me refiero saco la imagen y la publico eso podria ayudar cierto? aunque
eso podria generar mas dudas porque seguro tiene fallas >.< – HeckDan el 20 may. 17 a las
1:16
Sería una buena idea que compartieras el modelo de tu BD para poder saber, según tu
modelo, donde sería el mejor lugar para agregar el estado. En los ejemplos que compartí contigo
incluí algunas tablas que pensé tienen que estar en tu modelo, pero eso no quiere decir que tu
modelo tiene que estar cercano a lo que yo consideré, todos pensamos diferente y tenemos
diversas formas para resolver las cosas. Si tu modelo tienes fallas, no hay problema, todo estamos
para aprender :D – Erick Joel Acuña Cotrina el 24 may. 17 a las 23:38