Advertisement
desislava_topuzakova

Table Relations

Jun 28th, 2024
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. # 1. One-To-One Relationship
  2.  
  3. CREATE TABLE `passports` (
  4. `passport_id` INT PRIMARY KEY AUTO_INCREMENT,
  5. `passport_number` VARCHAR(50) UNIQUE);
  6.  
  7. INSERT INTO `passports` (`passport_id`, `passport_number`)
  8. VALUES
  9. (101, 'N34FG21B'),
  10. (102, 'K65LO4R7'),
  11. (103, 'ZE657QP2');
  12.  
  13. CREATE TABLE `people` (
  14. `person_id` INT PRIMARY KEY AUTO_INCREMENT,
  15. `first_name` VARCHAR(45),
  16. `salary` DECIMAL(9, 2),
  17. `passport_id` INT UNIQUE,
  18. CONSTRAINT fk_pe_pa
  19. FOREIGN KEY (`passport_id`)
  20. REFERENCES `passports`(`passport_id`));
  21.  
  22. INSERT INTO `people` (`person_id`, `first_name`, `salary`, `passport_id`)
  23. VALUES
  24. (1, 'Roberto', 43300.00, 102),
  25. (2, 'Tom', 56100.00, 103),
  26. (3, 'Yana', 60200.00, 101);
  27.  
  28. # 02. One-To-Many Relationship
  29.  
  30. CREATE TABLE `manufacturers` (
  31. `manufacturer_id` INT PRIMARY KEY AUTO_INCREMENT,
  32. `name` VARCHAR(45) NOT NULL UNIQUE,
  33. `established_on` DATE
  34. );
  35.  
  36. INSERT INTO `manufacturers` (`manufacturer_id`, `name`, `established_on`)
  37. VALUES
  38. (1, 'BMW', '1916/03/01'),
  39. (2, 'Tesla', '2003/01/01'),
  40. (3, 'Lada', '1966/05/01');
  41.  
  42. CREATE TABLE `models` (
  43. `model_id` INT PRIMARY KEY AUTO_INCREMENT,
  44. `name` VARCHAR(45) NOT NULL,
  45. `manufacturer_id` INT,
  46. CONSTRAINT fk_model_manufacturers
  47. FOREIGN KEY (`manufacturer_id`)
  48. REFERENCES `manufacturers`(`manufacturer_id`));
  49.  
  50. INSERT INTO `models` (`model_id`, `name`, `manufacturer_id`)
  51. VALUES
  52. (101, 'X1', 1),
  53. (102, 'i6', 1),
  54. (103, 'Model S', 2),
  55. (104, 'Model X', 2),
  56. (105, 'Model 3', 2),
  57. (106, 'Nova', 3);
  58.  
  59.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement