Advertisement
Guest User

SQLPUJ

a guest
Aug 14th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PURGE RECYCLEBIN;
  2.  
  3. DROP Pais;
  4. DROP Interprete;
  5. DROP Cancion;
  6. DROP CancionXInterprete;
  7. DROP Album;
  8. DROP Genero;
  9.  
  10. CREATE SEQUENCE genero_seq
  11.   START WITH 1
  12.   INCREMENT BY 1
  13.   NOCACHE
  14.   NOCYCLE;
  15.  
  16. CREATE TABLE Pais (
  17.   codigoPais NUMERIC(3)    NOT NULL,
  18.   nombrePais VARCHAR2(50)  NOT NULL,
  19.   gentilicio VARCHAR2(100) NOT NULL,
  20.   PRIMARY KEY (codigoPais)
  21. );
  22. CREATE TABLE Interprete (
  23.   codigoInterprete NUMERIC(10)   NOT NULL,
  24.   nombre_artistico VARCHAR2(100),
  25.   nombre_real      VARCHAR2(100) NOT NULL,
  26.   codigoPais       NUMERIC(3)    NOT NULL,
  27.   fecha_nacimiento DATE          NOT NULL,
  28.   PRIMARY KEY (codigoInterprete),
  29.   FOREIGN KEY (codigoPais) REFERENCES Pais (codigoPais)
  30. );
  31. CREATE TABLE Genero(
  32.   codigoGenero NUMERIC(100) NOT NULL ,
  33.   nombreGenero VARCHAR2(100) NOT NULL,
  34.   PRIMARY KEY (codigoGenero)
  35. );
  36.  
  37. CREATE TABLE Album(
  38.   codigoAlbum NUMERIC(50) NOT NULL,
  39.   titulo VARCHAR2(100) NOT NULL ,
  40.   anioLanzamiento DATE NOT NULL,
  41.   PRIMARY KEY (codigoAlbum)
  42. );
  43.  
  44. CREATE TABLE Cancion (
  45.   codigoCancion         NUMERIC(50)   NOT NULL,
  46.   titulo                VARCHAR2(100) NOT NULL,
  47.   codigoAlbum           NUMERIC(50)   NOT NULL,
  48.   codigoGenero          NUMERIC(50)   NOT NULL,
  49.   fechaLanzamiento      DATE NOT NULL ,
  50.   codigoCancionOriginal NUMERIC(50),
  51.   letra                 VARCHAR2(10000) NOT NULL ,
  52.   enVivo                CHAR(1) DEFAULT ('N') NOT NULL ,
  53.   PRIMARY KEY (codigoCancion),
  54.   FOREIGN KEY (codigoAlbum) REFERENCES Album(codigoAlbum),
  55.   FOREIGN KEY (codigoGenero) REFERENCES Genero(codigoGenero)
  56. );
  57. CREATE TABLE CancionXInterprete(
  58.   codigoInterprete NUMERIC(10) NOT NULL,
  59.   codigoCancion NUMERIC(50) NOT NULL,
  60.   rol VARCHAR2(10) DEFAULT ('principal'),
  61.   PRIMARY KEY (codigoInterprete,codigoCancion),
  62.   FOREIGN KEY (codigoInterprete)REFERENCES Interprete(codigoInterprete),
  63.   FOREIGN KEY (codigoCancion) REFERENCES Cancion(codigoCancion),
  64.   CHECK(rol IN ('principal','invitado'))
  65. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement