Advertisement
Guest User

Untitled

a guest
Mar 19th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.63 KB | None | 0 0
  1. /*Besoin d'un NOT NULL pour un check IN, sauf si c'est une PK)*/
  2.  
  3. CREATE TABLE CLIENTS(
  4. Numcli NUMBER(5) constraint client_pk primary key,
  5. nom VARCHAR2(20) not null constraint client_nom_maj check(nom=upper(nom)),
  6. prenom VARCHAR2(20) not null constraint client_prenom_ucf check(prenom=initcap(prenom)),
  7. Nblocation NUMBER(3) not null constraint client_nblocation_val check(Nblocation >= 0 AND Nblocation <= 3)
  8. );
  9.  
  10. CREATE TABLE VIDEO(
  11. TypeV CHAR(3) constraint video_typev_val check(TypeV IN('DVD', 'USB', 'FIC')),
  12. numero NUMBER(4),
  13. titre VARCHAR2(50),
  14. constraint video_pk primary key(TypeV, numero)
  15. );
  16.  
  17. CREATE TABLE PRIXLOC(
  18. TypeV CHAR(3) constraint prixloc_typev_val check(TypeV IN('DVD', 'USB', 'FIC')) constraint prixloc_pk primary key,
  19. prix NUMBER(4,2) not null
  20. );
  21.  
  22. CREATE TABLE LOCATION(
  23. Numcli NUMBER(5),
  24. TypeV CHAR(3) constraint prixloc_typev_val check(TypeV IN('DVD', 'USB', 'FIC')) constraint prixloc_pk primary key,
  25. numero NUMBER(4),
  26. datedeb DATE,
  27. datefin DATE constraint location_datefin_val check(datefin >= datedeb),
  28. constraint location_pk primary key(TypeV,numero,datedeb),
  29. constraint location_fk foreign key(Numcli) references CLIENTS(Numcli)
  30. );
  31.  
  32. CREATE TABLE FACTURE_LOC(
  33. Numcli NUMBER(5),
  34. Datedeb DATE,
  35. PrixF NUMBER(10,2),
  36. constraint facture_loc_pk primary key(Numcli,Datedeb),
  37. constraint facture_loc_fk foreign key(Numcli) references CLIENTS(Numcli)
  38. );
  39.  
  40. CREATE TABLE RECAP(
  41. Annee NUMBER(4),
  42. Mois NUMBER(2),
  43. TypeV CHAR(3) constraint recap_typev_val check(TypeV IN('DVD', 'USB', 'FIC')),
  44. NBLOC NUMBER(5) not null constraint recap_nbloc_val check(NBLOC > 0),
  45. constraint recap_pk primary key(Annee,Mois,TypeV)
  46. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement