Advertisement
xlujiax

PC1

Sep 21st, 2018
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 2.53 KB | None | 0 0
  1. CREATE TABLESPACE Transfer
  2. DATAFILE 'C:\Transfer.dbf'
  3. SIZE 50M;
  4.  
  5. CREATE USER Transportista
  6. IDENTIFIED BY abc
  7. DEFAULT TABLESPACE Transfer
  8. TEMPORARY TABLESPACE temp;
  9.  
  10. GRANT CONNECT, resource, CREATE VIEW
  11. TO Transportista;
  12.  
  13. CREATE TABLE CIUDAD
  14. (
  15. NOMBRE   VARCHAR2(30)  NOT NULL PRIMARY KEY,
  16. Direccion   VARCHAR2(30)   NOT NULL,
  17. Telefono INT NOT NULL   --Deberia ser number
  18. );
  19.  
  20. CREATE TABLE BUS
  21. (
  22. MATRICULA      CHAR(10)     PRIMARY KEY,
  23. MODELO           VARCHAR2(30)    NOT NULL,
  24. CAPACIDAD INT NOT NULL,
  25. CONDUCTOR VARCHAR2(30)    NOT NULL
  26. );
  27.  
  28. CREATE TABLE RUTA
  29. (
  30. CODIGO CHAR(10)        PRIMARY KEY,  --DEBERIA SER INT
  31. KM INT NOT NULL,
  32. ORIGEN     VARCHAR2(30)  NOT NULL,
  33. DESTINO   VARCHAR2(30) NOT NULL,
  34. MATRICULA CHAR(10)   REFERENCES BUS
  35. );
  36.  
  37. CREATE TABLE PARADA
  38. (
  39. CODIGO CHAR(10) REFERENCES RUTA,
  40. NOMBRE   VARCHAR2(30) REFERENCES CIUDAD,
  41. NUMORDEN INT NOT NULL
  42. );
  43.  
  44. INSERT INTO CIUDAD
  45. VALUES ('Lima', 'Parada 1', 4526677);
  46.  
  47. INSERT INTO CIUDAD
  48. VALUES ('Arequipa', 'Parada 2', 4526678);
  49.  
  50. INSERT INTO CIUDAD
  51. VALUES ('Cuzco', 'Parada 3', 4526679);
  52.  
  53. INSERT INTO BUS
  54. VALUES ('AFK', 'NISSAN62', 15, 'Jose Castillo');
  55.  
  56. INSERT INTO BUS
  57. VALUES ('KEE', 'kia63', 15, 'RENZO RAMIREZ');
  58.  
  59. INSERT INTO BUS
  60. VALUES ('CHE', 'CHE62', 15, 'MARIO OBREGON');
  61.  
  62. INSERT INTO RUTA
  63. VALUES('RUTA1', 55, 'Arequipa', 'Lima', 'AFK');
  64.  
  65. INSERT INTO RUTA
  66. VALUES('RUTA2', 40, 'Lima', 'Arequipa', 'KEE');
  67.  
  68. INSERT INTO RUTA
  69. VALUES('RUTA3', 30, 'Lima', 'Cuzco', 'CHE');
  70.  
  71. INSERT INTO PARADA
  72. VALUES('RUTA1', 'Lima', 1);
  73. INSERT INTO PARADA
  74. VALUES('RUTA2', 'Arequipa', 2);
  75. INSERT INTO PARADA
  76. VALUES('RUTA3', 'Cuzco', 2);
  77.  
  78. CREATE SEQUENCE NOMBRE
  79. INCREMENT BY 1  
  80. START WITH 1
  81. NOMAXVALUE
  82. NOCYCLE
  83. CACHE 10;
  84.  
  85. CREATE SEQUENCE MATRICULA
  86. INCREMENT BY 1  
  87. START WITH 1
  88. NOMAXVALUE
  89. NOCYCLE
  90. CACHE 10;
  91.  
  92. INSERT INTO CIUDAD VALUES(NOMBRE.NEXTVAL,'Parada4', 4555264);
  93.  
  94. INSERT INTO BUS VALUES(MATRICULA.NEXTVAL, 'KAJ45', 16, 'Lesly Diaz');
  95.  
  96. CREATE OR REPLACE VIEW VISTA1 AS
  97. SELECT B.MATRICULA, r.origen, r.destino, c.nombre
  98. FROM BUS B INNER JOIN RUTA R
  99. ON B.MATRICULA = r.matricula
  100. INNER JOIN PARADA P
  101. ON P.CODIGO = r.codigo
  102. INNER JOIN CIUDAD C
  103. ON C.NOMBRE = p.nombre;
  104.  
  105. --6--
  106. CREATE OR REPLACE VIEW VISTA2 AS
  107. SELECT B.CONDUCTOR, C.NOMBRE
  108. FROM BUS B INNER JOIN RUTA R
  109. ON B.MATRICULA = r.matricula
  110. INNER JOIN PARADA P
  111. ON P.CODIGO = r.codigo
  112. INNER JOIN CIUDAD C
  113. ON C.NOMBRE = p.nombre6
  114. WHERE R.ORIGEN = 'Lima' AND R.DESTINO = 'Cuzco';
  115.  
  116.  
  117. CREATE INDEX parada_idx
  118. ON ciudad(direccion);
  119.  
  120. CREATE INDEX direccion_idx
  121. ON Bus(capacidad);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement