Advertisement
xlujiax

w1

Sep 27th, 2018
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 3.65 KB | None | 0 0
  1. CREATE TABLE EMPLEADO (
  2.         COD_EMP VARCHAR2(30) PRIMARY KEY,
  3.         DNI NUMBER NOT NULL,
  4.         NOMBRE VARCHAR2(50) NOT NULL,
  5.         APELLIDO VARCHAR2(50) NOT NULL,
  6.         DIRECCION VARCHAR2(50) NOT NULL,
  7.         TELEFONO NUMBER NOT NULL,
  8.         FECHA_CONTRATACION DATE NOT NULL
  9.     );
  10.    
  11. CREATE TABLE SUCURSALES (
  12.         COD_SUC NUMBER PRIMARY KEY,
  13.         CAPACIDAD NUMBER NULL,
  14.         DESCRIPCION VARCHAR2(50) NULL,
  15.         DIRECCION VARCHAR2(50) NOT NULL
  16.     );
  17.    
  18. CREATE TABLE TIPO_CLIENTE (
  19.         COD_TIPOCLIEN NUMBER PRIMARY KEY,
  20.         DESCRIPCION VARCHAR2(50) NOT NULL,
  21.     OFERTA FLOAT
  22.     );
  23.  
  24.      
  25. CREATE TABLE CLIENTE (
  26.         COD_CLIENTE NUMBER PRIMARY KEY ,
  27.         NOMBRE VARCHAR2(30) NOT NULL,
  28.         APELLIDO VARCHAR2(30) NOT NULL,
  29.         TELEFONO NUMBER NOT NULL,
  30.         FECHA_NACIMIENTO DATE NOT NULL,
  31.         DIRECCION VARCHAR2(30) NOT NULL,
  32.         COD_TIPOCLIEN NUMBER REFERENCES TIPO_CLIENTE
  33.     );
  34.  
  35. CREATE TABLE CANAL_COMUNICACION (
  36.         COD_CANALCOM NUMBER PRIMARY KEY,
  37.         TIPO VARCHAR2(50) NOT NULL
  38.     );
  39.    
  40. CREATE TABLE RESERVA (
  41.         COD_RESERVA NUMBER PRIMARY KEY,
  42.         DESCRIPCION VARCHAR2(50) NOT NULL,
  43.         FECHA DATE NOT NULL,
  44.         HORA DATE NOT NULL,
  45.         MONTO INT NULL,
  46.         COD_CLIENTE NUMBER REFERENCES CLIENTE,
  47.         COD_EMP VARCHAR2(30) REFERENCES EMPLEADO,
  48.         COD_CANALCOM NUMBER REFERENCES CANAL_COMUNICACION
  49.     );
  50.    
  51. CREATE TABLE ATIENDEN (
  52.         COD_RESERVA NUMBER REFERENCES RESERVA,
  53.         COD_SUC NUMBER REFERENCES SUCURSALES,
  54.     CANTIDAD NUMBER
  55.     );
  56.  
  57. CREATE TABLE MENU (
  58.         COD_MENU NUMBER PRIMARY KEY,
  59.         NOMBRE VARCHAR2(50) NOT NULL,
  60.         TIPO VARCHAR2(50) NOT NULL,
  61.         PRECIO INT NOT NULL,
  62.         DESCRIPCION VARCHAR2(50) NOT NULL,
  63.         COD_RESERVA NUMBER REFERENCES RESERVA
  64.     );
  65.  
  66. CREATE TABLE RESERVAXMENU (
  67.   COD_RESERVA NUMBER REFERENCES RESERVA,
  68.   COD_MENU NUMBER REFERENCES MENU,
  69.   DESCRIPCION VARCHAR2(40)
  70. );
  71.  
  72. INSERT INTO CLIENTE
  73. VALUES(1,'Renzo', 'Castillo', 4525561,'15-nov-1998','Calle German Stiglich 147', 1);
  74.  
  75. INSERT INTO CLIENTE
  76. VALUES(2,'Mario', 'Suarez', 4525562,'15-nov-1999','Calle German Stiglich 148', 2);
  77.  
  78. INSERT INTO TIPO_CLIENTE
  79. VALUES(1,'Extrajero',0.3);
  80. INSERT INTO TIPO_CLIENTE
  81. VALUES(2,'Becario',0.4);
  82. INSERT INTO TIPO_CLIENTE
  83. VALUES(3,'General',0.0);
  84.  
  85.  
  86. INSERT INTO EMPLEADO
  87. VALUES('EMP1', 71526668, 'Juan', 'Suarez', 'Calle los frutales 147', 997426, '15-oct-92');
  88.  
  89. INSERT INTO EMPLEADO
  90. VALUES('EMP2', 71526669, 'Renato', 'Saenz', 'Calle los frutales 148', 997427, '15-oct-95');
  91.  
  92. INSERT INTO CANAL_COMUNICACION
  93. VALUES('1', 'Llamada');
  94.  
  95. INSERT INTO CANAL_COMUNICACION
  96. VALUES('2', 'Mensaje de Texto');
  97.  
  98. INSERT INTO CANAL_COMUNICACION
  99. VALUES('3', 'Mensaje Whatsapp');
  100.  
  101. INSERT INTO RESERVA
  102. VALUES(1, 'Reserva Familiar', '15-oct-99', '15-oct-99', 90, 1, 'EMP1', 1);
  103.  
  104. INSERT INTO RESERVA
  105. VALUES(2, 'Reserva para 3 personas', '15-nov-99', '15-nov-99', 70, 2, 'EMP2', 2);
  106.  
  107. ---QUERY 1
  108. Select count(R.COD_RESERVA) as CantReservas
  109. From RESERVA R join Cliente C
  110. ON R.COD_CLIENTE = C.COD_CLIENTE
  111. JOIN TIPO_CLIENTE T
  112. ON T.COD_TIPOCLIEN = C.COD_TIPOCLIEN
  113. WHERE T.DESCRIPCION != 'Becario';
  114.  
  115. ---QUERY 2
  116. SELECT COUNT(C.COD_CLIENTE) AS CANTPENSIONADOS
  117. FROM CLIENTE C JOIN RESERVA R
  118. ON R.COD_CLIENTE = C.COD_CLIENTE
  119. WHERE C.COD_TIPOCLIEN = 2;
  120.  
  121. ---QUERY3
  122. --Falta una tabla que te diga que dias son festivos
  123.  
  124. --Query4
  125. Select COUNT(R.COD_RESERVA) CANTRES, R.COD_CANALCOM
  126. FROM RESERVA R JOIN CANAL_COMUNICACION C
  127. ON R.COD_CANALCOM = C.COD_CANALCOM
  128. GROUP BY R.COD_CANALCOM;
  129.  
  130. --Query5
  131. Select COUNT(R.COD_CLIENTE) AS CANTIDAD, R.FECHA
  132. FROM CLIENTE C JOIN RESERVA R
  133. ON C.COD_CLIENTE = R.COD_CLIENTE
  134. JOIN TIPO_CLIENTE T
  135. ON T.COD_TIPOCLIEN = C.COD_TIPOCLIEN
  136. WHERE  (EXTRACT(MONTH FROM R.FECHA) - EXTRACT(MONTH FROM SYSDATE)) = 1
  137.         AND T.COD_TIPOCLIEN = 1
  138. GROUP BY R.FECHA;
  139.  
  140. --Query6
  141. SELECT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement