MySQL один ко многим, Java, спящий режим - PullRequest
1 голос
/ 10 июля 2020

Во-первых ... извините за мое описание ... Надеюсь, я могу пояснить. Я хочу создать проект, где у меня есть машины и водители. У одной машины может быть один водитель, а у одного водителя может быть много машин. Мне нужна третья таблица, в которой у меня есть id, carID и driverID для этой машины? извините за пустые вопросы

CREATE DATABASE  IF NOT EXISTS `employee_directory`;
USE `employee_directory`;



DROP TABLE IF EXISTS `driver`;

CREATE TABLE `driver` (
  `driver_id` int(11) NOT NULL AUTO_INCREMENT,
  `driver_name` varchar(45) DEFAULT NULL,
  `driver_license` varchar(45) DEFAULT NULL,
  `driver_phonenr` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`driver_id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=latin1;


INSERT INTO `driver` VALUES 
    (1,'Tora1ie','Andrews','leslie@mail@com'),
    (2,'Tora2','Baumgarten','emma@mail@com'),
    (3,'Tora3i','Gupta','avani@mail@com'),
    (4,'Tora4','Petrov','yuri@mail@com'),
    (5,'Tora5','Vega','juan@mail@com');

create table `car` (
  `carid` int unsigned not null auto_increment,
  `driver_id` int unsigned not null,
  `car_producator` varchar(45) DEFAULT NULL,
  `car_mode` varchar(45) DEFAULT NULL,
  `car_culoare` varchar(45) DEFAULT NULL,
    TINYINT
     `car_esteInchiriata` TINYINT(1) DEFAULT NULL,
  index car_driver_index(`driver_id`),
  foreign key (`driver_id`) references driver(`driver_id`) on delete cascade,
  primary key(`carid`)
);

1 Ответ

1 голос
/ 10 июля 2020

Это полностью зависит от вас, поскольку оба решения будут работать.

Для текущего кода он не создаст третью таблицу, но каждая строка таблицы Car будет иметь значение драйвера.

Но было бы лучше, если бы вы сделали @ManyToMany, так как в будущем это будет легко для вас, даже если требования изменятся и будет иметь отдельную таблицу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...