Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.67 KB | None | 0 0
  1. --------------------------------------------------------------
  2. -- createbase.sql
  3. --------------------------------------------------------------
  4.  
  5. DROP TABLE Statistique;
  6. DROP TABLE Match;
  7. DROP TABLE Joueur;
  8. DROP TABLE Tableau;
  9.  
  10. CREATE TABLE Tableau
  11. (
  12. NT CHAR(2),
  13. Lib VARCHAR(30),
  14. CONSTRAINT pk_tableau PRIMARY KEY (NT)
  15. );
  16.  
  17. CREATE TABLE Joueur
  18. (
  19. NJ NUMBER,
  20. Pre VARCHAR(30),
  21. Nom VARCHAR(30),
  22. Gen CHAR(1),
  23. Cla NUMBER(3),
  24. Nat CHAR(3),
  25. VNs VARCHAR(30),
  26. PNs CHAR(3),
  27. DNs DATE,
  28. Main CHAR(6),
  29. Taille NUMBER(3,2),
  30. CONSTRAINT pk_joueur PRIMARY KEY (NJ),
  31. CONSTRAINT ck_joueur_Gen CHECK (Gen IN ('H','F')),
  32. CONSTRAINT ck_joueur_Cla CHECK (Cla > 0),
  33. CONSTRAINT ck_joueur_Main CHECK (Main IN ('Droite','Gauche'))
  34. );
  35.  
  36.  
  37.  
  38. CREATE TABLE Match
  39. (
  40. NM NUMBER,
  41. NT CHAR(2),
  42. Tour VARCHAR(30),
  43. NJ1 NUMBER,
  44. NJ1b NUMBER,
  45. NJ2 NUMBER,
  46. NJ2b NUMBER,
  47. J1SSet1 NUMBER,
  48. J1STie1 NUMBER,
  49. J1SSet2 NUMBER,
  50. J1STie2 NUMBER,
  51. J1SSet3 NUMBER,
  52. J1STie3 NUMBER,
  53. J1SSet4 NUMBER,
  54. J1STie4 NUMBER,
  55. J1SSet5 NUMBER,
  56. J2SSet1 NUMBER,
  57. J2STie1 NUMBER,
  58. J2SSet2 NUMBER,
  59. J2STie2 NUMBER,
  60. J2SSet3 NUMBER,
  61. J2STie3 NUMBER,
  62. J2SSet4 NUMBER,
  63. J2STie4 NUMBER,
  64. J2SSet5 NUMBER,
  65. CONSTRAINT pk_match PRIMARY KEY (NM),
  66. CONSTRAINT fk_match_tableau FOREIGN KEY (NT) REFERENCES Tableau (NT),
  67. CONSTRAINT nn_nt CHECK (NT is not null),
  68. CONSTRAINT fk_match_NJ1 FOREIGN KEY (NJ1) REFERENCES Joueur (NJ),
  69. CONSTRAINT nn_nj1 CHECK (nj1 is not null),
  70. CONSTRAINT fk_match_NJ2 FOREIGN KEY (NJ2) REFERENCES Joueur (NJ),
  71. CONSTRAINT nn_nj2 CHECK (nj2 is not null),
  72. CONSTRAINT fk_match_NJ1b FOREIGN KEY (NJ1b) REFERENCES Joueur (NJ),
  73. CONSTRAINT fk_match_NJ2b FOREIGN KEY (NJ2b) REFERENCES Joueur (NJ),
  74. CONSTRAINT ck_match_tour CHECK (Tour IN ('1er tour', '2ème tour', '3ème tour', '1/8 de finale', '1/4 de finale', '1/2 finale', 'finale')),
  75. CONSTRAINT ck_J1SSet1 check (J1SSet1 between 0 and 7 or J1SSet1=-1),
  76. CONSTRAINT ck_J1STie1 CHECK (J1STie1 >=-1),
  77. CONSTRAINT ck_J1SSet2 CHECK (J1SSet2 between 0 and 7 or J1SSet1=-1),
  78. CONSTRAINT ck_J1STie2 CHECK (J1STie2 >=-1),
  79. CONSTRAINT ck_J1SSet3 CHECK (J1SSet3 >=-1),
  80. CONSTRAINT ck_J1STie3 CHECK (J1STie3 >=0),
  81. CONSTRAINT ck_J1SSet4 CHECK (J1SSet4 between 0 and 7 or J1SSet1=-1),
  82. CONSTRAINT ck_J1STie4 CHECK (J1STie4 >=-1),
  83. CONSTRAINT ck_J1SSet5 CHECK (J1SSet5 >=-1 ),
  84. CONSTRAINT ck_J2SSet1 CHECK (J2SSet1 between 0 and 7 or J1SSet1=-1),
  85. CONSTRAINT ck_J2STie1 CHECK (J2STie1 >=-1),
  86. CONSTRAINT ck_J2SSet2 CHECK (J2SSet2 between 0 and 7 or J1SSet1=-1),
  87. CONSTRAINT ck_J2STie2 CHECK (J2STie2 >=-1),
  88. CONSTRAINT ck_J2SSet3 CHECK (J2SSet3 >=-1),
  89. CONSTRAINT ck_J2STie3 CHECK (J2STie3 >=-1),
  90. CONSTRAINT ck_J2SSet4 CHECK (J2SSet4 between 0 and 7 or J1SSet1=-1),
  91. CONSTRAINT ck_J2STie4 CHECK (J2STie4 >=-1),
  92. CONSTRAINT ck_J2SSet5 CHECK (J2SSet5 >=-1 )
  93. );
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100. CREATE TABLE Statistique
  101. (
  102. NM NUMBER,
  103. NJ NUMBER,
  104. NS VARCHAR(30),
  105. Val NUMBER,
  106. CONSTRAINT pk_statistique PRIMARY KEY (NM, NJ, NS),
  107. CONSTRAINT fk_statistique_match FOREIGN KEY (NM) REFERENCES Match (NM),
  108. CONSTRAINT fk_statistique_joueur FOREIGN KEY (NJ) REFERENCES Joueur (NJ)
  109. );
  110.  
  111.  
  112. alter table Match add constraint ck_joueurs_diff check (NJ1 <> NJ2 AND NJ1 <> NJ1B AND NJ1 <> NJ2B AND NJ2 <> NJ1B AND NJ2 <> NJ2B AND NJ1B <> NJ2B);
  113.  
  114. alter table Match add constraint ck_tie_S1J1 check ((J1STie1 is not null and J1SSet1 is not null) or (J1STie1 is null));
  115. alter table Match add constraint ck_tie_S1J2 check ((J2STie1 is not null and J2SSet1 is not null) or (J2STie1 is null));
  116.  
  117. alter table Match add constraint ck_sets_dames check ((NT like '%D' and J1sset4 is null and J1sset5 is null and J2sset4 is null and J2sset5 is null) or (NT not like '%D'));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement