Advertisement
Guest User

livraria 0.1 oracle

a guest
Apr 25th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. -- --------------------------------------------------------
  2. -- Servidor:                     10.120.100.14
  3. -- Versão do servidor:           5.1.61 - Source distribution
  4. -- OS do Servidor:               redhat-linux-gnu
  5. -- HeidiSQL Versão:              10.1.0.5464
  6. -- --------------------------------------------------------
  7.  
  8. /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
  9. /*!40101 SET NAMES utf8 */;
  10. /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
  11. /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
  12.  
  13.  
  14. -- Copiando estrutura do banco de dados para livraria
  15. DROP USER livraria CASCADE;
  16. CREATE USER `livraria` IDENTIFIED BY `livraria` /*!40100 DEFAULT CHARACTER SET latin1 */;
  17. ALTER SESSION SET CURRENT_SCHEMA = livraria;
  18.  
  19. -- Copiando estrutura para tabela livraria.autor
  20. BEGIN
  21.    EXECUTE IMMEDIATE 'DROP TABLE autor';
  22. EXCEPTION
  23.    WHEN OTHERS THEN NULL;
  24. END;
  25. /
  26. CREATE TABLE autor (
  27.   id NUMBER(10) NOT NULL,
  28.   nome VARCHAR2(255) NOT NULL,
  29.   PRIMARY KEY (id)
  30. )  ;
  31.  
  32. -- Generate ID using sequence and trigger
  33. CREATE SEQUENCE autor_seq START WITH 17 INCREMENT BY 1;
  34.  
  35. CREATE OR REPLACE TRIGGER autor_seq_tr
  36.  BEFORE INSERT ON autor FOR EACH ROW
  37.  WHEN (NEW.id IS NULL)
  38. BEGIN
  39.  SELECT autor_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  40. END;
  41. /
  42.  
  43. -- Copiando dados para a tabela livraria.autor: ~16 rows (aproximadamente)
  44. DELETE FROM autor;
  45. /*!40000 ALTER TABLE `autor` DISABLE KEYS */;
  46. INSERT INTO autor (id, nome)
  47.      SELECT 1, 'Mosantos de Vilar dos Telles' FROM dual UNION ALL
  48.      SELECT 2, 'Jonas Guanabara' FROM dual UNION ALL
  49.      SELECT 3, 'Joselito de Cascatinha' FROM dual UNION ALL
  50.      SELECT 4, 'Luis Boça' FROM dual UNION ALL
  51.      SELECT 5, 'Charlinho Menino Guerreiro' FROM dual UNION ALL
  52.      SELECT 6, 'Dona Maxima' FROM dual UNION ALL
  53.      SELECT 7, 'Doutor Lincon' FROM dual UNION ALL
  54.      SELECT 8, 'Linhares' FROM dual UNION ALL
  55.      SELECT 9, 'Jonny Boganville' FROM dual UNION ALL
  56.      SELECT 10, ' Jimmy Leroy' FROM dual UNION ALL
  57.      SELECT 11, 'Professor Gilmar' FROM dual UNION ALL
  58.      SELECT 12, 'Padre Quemedo' FROM dual UNION ALL
  59.      SELECT 13, 'Lagreca' FROM dual UNION ALL
  60.      SELECT 14, 'Dedé Carvoeiro' FROM dual UNION ALL
  61.      SELECT 15, 'Carlos Carne' FROM dual UNION ALL
  62.      SELECT 16, 'Seu Madruga' FROM dual;
  63. /*!40000 ALTER TABLE `autor` ENABLE KEYS */;
  64.  
  65. -- Copiando estrutura para tabela livraria.autor_livro
  66. BEGIN
  67.    EXECUTE IMMEDIATE 'DROP TABLE autor_livro';
  68. EXCEPTION
  69.    WHEN OTHERS THEN NULL;
  70. END;
  71. /
  72. CREATE TABLE autor_livro (
  73.   id NUMBER(10) NOT NULL,
  74.   autor_id NUMBER(10) NOT NULL,
  75.   livro_id NUMBER(10) NOT NULL,
  76.   PRIMARY KEY (id),
  77.   CONSTRAINT autor_id UNIQUE  (autor_id,livro_id)
  78.  ,
  79.   CONSTRAINT autor_livro_ibfk_1 FOREIGN KEY (autor_id) REFERENCES autor (id),
  80.   CONSTRAINT autor_livro_ibfk_2 FOREIGN KEY (livro_id) REFERENCES livro (id)
  81. )  ;
  82.  
  83. -- Generate ID using sequence and trigger
  84. CREATE SEQUENCE autor_livro_seq START WITH 24 INCREMENT BY 1;
  85.  
  86. CREATE OR REPLACE TRIGGER autor_livro_seq_tr
  87.  BEFORE INSERT ON autor_livro FOR EACH ROW
  88.  WHEN (NEW.id IS NULL)
  89. BEGIN
  90.  SELECT autor_livro_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  91. END;
  92. /
  93.  
  94. CREATE INDEX autor_id_2 ON autor_livro (autor_id);
  95. CREATE INDEX livro_id ON autor_livro (livro_id);
  96.  
  97. -- Copiando dados para a tabela livraria.autor_livro: ~17 rows (aproximadamente)
  98. DELETE FROM autor_livro;
  99. /*!40000 ALTER TABLE `autor_livro` DISABLE KEYS */;
  100. INSERT INTO autor_livro (id, autor_id, livro_id)
  101.      SELECT 1, 1, 2 FROM dual UNION ALL
  102.      SELECT 8, 1, 4 FROM dual UNION ALL
  103.      SELECT 9, 1, 5 FROM dual UNION ALL
  104.      SELECT 10, 1, 6 FROM dual UNION ALL
  105.      SELECT 2, 2, 1 FROM dual UNION ALL
  106.      SELECT 3, 3, 1 FROM dual UNION ALL
  107.      SELECT 16, 3, 3 FROM dual UNION ALL
  108.      SELECT 11, 3, 6 FROM dual UNION ALL
  109.      SELECT 17, 4, 3 FROM dual UNION ALL
  110.      SELECT 18, 5, 3 FROM dual UNION ALL
  111.      SELECT 12, 5, 6 FROM dual UNION ALL
  112.      SELECT 13, 5, 7 FROM dual UNION ALL
  113.      SELECT 20, 11, 8 FROM dual UNION ALL
  114.      SELECT 21, 12, 8 FROM dual UNION ALL
  115.      SELECT 22, 14, 8 FROM dual UNION ALL
  116.      SELECT 23, 16, 8 FROM dual UNION ALL
  117.      SELECT 15, 16, 9 FROM dual;
  118. /*!40000 ALTER TABLE `autor_livro` ENABLE KEYS */;
  119.  
  120. -- Copiando estrutura para tabela livraria.cliente
  121. BEGIN
  122.    EXECUTE IMMEDIATE 'DROP TABLE cliente';
  123. EXCEPTION
  124.    WHEN OTHERS THEN NULL;
  125. END;
  126. /
  127. CREATE TABLE cliente (
  128.   id NUMBER(10) NOT NULL,
  129.   nome VARCHAR2(255) NOT NULL,
  130.   cpf VARCHAR2(11) NOT NULL,
  131.   telefone VARCHAR2(20) NOT NULL,
  132.   PRIMARY KEY (id)
  133. )  ;
  134.  
  135. -- Generate ID using sequence and trigger
  136. CREATE SEQUENCE cliente_seq START WITH 5 INCREMENT BY 1;
  137.  
  138. CREATE OR REPLACE TRIGGER cliente_seq_tr
  139.  BEFORE INSERT ON cliente FOR EACH ROW
  140.  WHEN (NEW.id IS NULL)
  141. BEGIN
  142.  SELECT cliente_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  143. END;
  144. /
  145.  
  146. -- Copiando dados para a tabela livraria.cliente: ~4 rows (aproximadamente)
  147. DELETE FROM cliente;
  148. /*!40000 ALTER TABLE `cliente` DISABLE KEYS */;
  149. INSERT INTO cliente (id, nome, cpf, telefone)
  150.      SELECT 1, 'Steven Beagle', '33554488662', '219999999' FROM dual UNION ALL
  151.      SELECT 2, 'Dudu Marchiori', '78945873215', '2155555555' FROM dual UNION ALL
  152.      SELECT 3, 'Adilson Polloskki', '32145675395', '1166666666' FROM dual UNION ALL
  153.      SELECT 4, 'Kiko', '12345678999', '2154355646' FROM dual;
  154. /*!40000 ALTER TABLE `cliente` ENABLE KEYS */;
  155.  
  156. -- Copiando estrutura para tabela livraria.editora
  157. BEGIN
  158.    EXECUTE IMMEDIATE 'DROP TABLE editora';
  159. EXCEPTION
  160.    WHEN OTHERS THEN NULL;
  161. END;
  162. /
  163. CREATE TABLE editora (
  164.   id NUMBER(10) NOT NULL,
  165.   nome VARCHAR2(255) NOT NULL,
  166.   website VARCHAR2(255) NOT NULL,
  167.   cnpj VARCHAR2(14) NOT NULL,
  168.   endereco VARCHAR2(255) NOT NULL,
  169.   PRIMARY KEY (id)
  170. )  ;
  171.  
  172. -- Generate ID using sequence and trigger
  173. CREATE SEQUENCE editora_seq START WITH 5 INCREMENT BY 1;
  174.  
  175. CREATE OR REPLACE TRIGGER editora_seq_tr
  176.  BEFORE INSERT ON editora FOR EACH ROW
  177.  WHEN (NEW.id IS NULL)
  178. BEGIN
  179.  SELECT editora_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  180. END;
  181. /
  182.  
  183. -- Copiando dados para a tabela livraria.editora: ~4 rows (aproximadamente)
  184. DELETE FROM editora;
  185. /*!40000 ALTER TABLE `editora` DISABLE KEYS */;
  186. INSERT INTO editora (id, nome, website, cnpj, endereco)
  187.      SELECT 1, 'Editora Organizações Tabajara', 'http://www.tabajara-livros.com.br', '66968328000104', '545345345' FROM dual UNION ALL
  188.      SELECT 2, 'Editora Mosantos LTDA', 'http://www.editora-mosantos.com.br', '80880262000127', '' FROM dual UNION ALL
  189.      SELECT 3, 'Editora Top das Galaxias', 'http://www.w3.org/Addressing/URL/url-spec.txt', '36215975395', '' FROM dual UNION ALL
  190.      SELECT 4, 'EDITORA VILA 8', 'www.vila8.org', '1654984546549', '' FROM dual;
  191. /*!40000 ALTER TABLE `editora` ENABLE KEYS */;
  192.  
  193. -- Copiando estrutura para tabela livraria.funcionario
  194. BEGIN
  195.    EXECUTE IMMEDIATE 'DROP TABLE funcionario';
  196. EXCEPTION
  197.    WHEN OTHERS THEN NULL;
  198. END;
  199. /
  200. CREATE TABLE funcionario (
  201.   id NUMBER(10) NOT NULL,
  202.   nome VARCHAR2(255) NOT NULL,
  203.   cpf VARCHAR2(11) NOT NULL,
  204.   gerente_id NUMBER(10) DEFAULT NULL,
  205.   PRIMARY KEY (id)
  206.  ,
  207.   CONSTRAINT funcionario_ibfk_1 FOREIGN KEY (gerente_id) REFERENCES funcionario (id)
  208. )  ;
  209.  
  210. -- Generate ID using sequence and trigger
  211. CREATE SEQUENCE funcionario_seq START WITH 17 INCREMENT BY 1;
  212.  
  213. CREATE OR REPLACE TRIGGER funcionario_seq_tr
  214.  BEFORE INSERT ON funcionario FOR EACH ROW
  215.  WHEN (NEW.id IS NULL)
  216. BEGIN
  217.  SELECT funcionario_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  218. END;
  219. /
  220.  
  221. CREATE INDEX gerente_id ON funcionario (gerente_id);
  222.  
  223. -- Copiando dados para a tabela livraria.funcionario: ~9 rows (aproximadamente)
  224. DELETE FROM funcionario;
  225. /*!40000 ALTER TABLE `funcionario` DISABLE KEYS */;
  226. INSERT INTO funcionario (id, nome, cpf, gerente_id)
  227.      SELECT 7, 'Lurdes Boça', '74832651489', NULL FROM dual UNION ALL
  228.      SELECT 8, 'Wallace Guilhermino', '65478932145', 7 FROM dual UNION ALL
  229.      SELECT 9, 'Edson Wander', '54698715324', 8 FROM dual UNION ALL
  230.      SELECT 10, 'Cláudio Ricardo', '45667789442', 7 FROM dual UNION ALL
  231.      SELECT 11, 'Neo Labaque', '54789634128', 7 FROM dual UNION ALL
  232.      SELECT 13, 'Renato Noiadão', '56842365142', 10 FROM dual UNION ALL
  233.      SELECT 14, 'José Canjica Martins', '24862486248', 7 FROM dual UNION ALL
  234.      SELECT 15, 'Carlos Calhorda', '24321589654', 8 FROM dual UNION ALL
  235.      SELECT 16, 'Chaves', '57352187256', NULL FROM dual;
  236. /*!40000 ALTER TABLE `funcionario` ENABLE KEYS */;
  237.  
  238. -- Copiando estrutura para tabela livraria.habilitacao
  239. BEGIN
  240.    EXECUTE IMMEDIATE 'DROP TABLE habilitacao';
  241. EXCEPTION
  242.    WHEN OTHERS THEN NULL;
  243. END;
  244. /
  245. CREATE TABLE habilitacao (
  246.   id NUMBER(10) NOT NULL,
  247.   numero VARCHAR2(11) NOT NULL,
  248.   categoria CHAR(2) NOT NULL,
  249.   funcionario_id NUMBER(10) NOT NULL,
  250.   PRIMARY KEY (id),
  251.   CONSTRAINT funcionario_id UNIQUE  (funcionario_id),
  252.   CONSTRAINT habilitacao_ibfk_1 FOREIGN KEY (funcionario_id) REFERENCES funcionario (id)
  253. )  ;
  254.  
  255. -- Generate ID using sequence and trigger
  256. CREATE SEQUENCE habilitacao_seq START WITH 9 INCREMENT BY 1;
  257.  
  258. CREATE OR REPLACE TRIGGER habilitacao_seq_tr
  259.  BEFORE INSERT ON habilitacao FOR EACH ROW
  260.  WHEN (NEW.id IS NULL)
  261. BEGIN
  262.  SELECT habilitacao_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  263. END;
  264. /
  265.  
  266. -- Copiando dados para a tabela livraria.habilitacao: ~7 rows (aproximadamente)
  267. DELETE FROM habilitacao;
  268. /*!40000 ALTER TABLE `habilitacao` DISABLE KEYS */;
  269. INSERT INTO habilitacao (id, numero, categoria, funcionario_id)
  270.      SELECT 1, '78495162354', 'B', 7 FROM dual UNION ALL
  271.      SELECT 2, '99885523654', 'AD', 10 FROM dual UNION ALL
  272.      SELECT 3, '45687512598', 'C', 13 FROM dual UNION ALL
  273.      SELECT 5, '12396348525', 'A', 11 FROM dual UNION ALL
  274.      SELECT 6, '21575698423', 'AB', 14 FROM dual UNION ALL
  275.      SELECT 7, '14785236548', 'C', 15 FROM dual UNION ALL
  276.      SELECT 8, '23484562848', 'AB', 16 FROM dual;
  277. /*!40000 ALTER TABLE `habilitacao` ENABLE KEYS */;
  278.  
  279. -- Copiando estrutura para tabela livraria.item_pedido
  280. BEGIN
  281.    EXECUTE IMMEDIATE 'DROP TABLE item_pedido';
  282. EXCEPTION
  283.    WHEN OTHERS THEN NULL;
  284. END;
  285. /
  286. CREATE TABLE item_pedido (
  287.   id NUMBER(10) NOT NULL,
  288.   pedido_id NUMBER(10) NOT NULL,
  289.   livro_id NUMBER(10) NOT NULL,
  290.   quantidade NUMBER(10) NOT NULL,
  291.   PRIMARY KEY (id),
  292.   CONSTRAINT pedido_id UNIQUE  (pedido_id,livro_id)
  293.  ,
  294.   CONSTRAINT item_pedido_ibfk_1 FOREIGN KEY (pedido_id) REFERENCES pedido (id),
  295.   CONSTRAINT item_pedido_ibfk_2 FOREIGN KEY (livro_id) REFERENCES livro (id)
  296. )  ;
  297.  
  298. -- Generate ID using sequence and trigger
  299. CREATE SEQUENCE item_pedido_seq START WITH 41 INCREMENT BY 1;
  300.  
  301. CREATE OR REPLACE TRIGGER item_pedido_seq_tr
  302.  BEFORE INSERT ON item_pedido FOR EACH ROW
  303.  WHEN (NEW.id IS NULL)
  304. BEGIN
  305.  SELECT item_pedido_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  306. END;
  307. /
  308.  
  309. CREATE INDEX livro_id ON item_pedido (livro_id);
  310.  
  311. -- Copiando dados para a tabela livraria.item_pedido: ~37 rows (aproximadamente)
  312. DELETE FROM item_pedido;
  313. /*!40000 ALTER TABLE `item_pedido` DISABLE KEYS */;
  314. INSERT INTO item_pedido (id, pedido_id, livro_id, quantidade)
  315.      SELECT 1, 1, 1, 1 FROM dual UNION ALL
  316.      SELECT 2, 1, 3, 1 FROM dual UNION ALL
  317.      SELECT 3, 2, 5, 3 FROM dual UNION ALL
  318.      SELECT 4, 3, 3, 1 FROM dual UNION ALL
  319.      SELECT 5, 2, 4, 2 FROM dual UNION ALL
  320.      SELECT 6, 5, 1, 2 FROM dual UNION ALL
  321.      SELECT 7, 5, 2, 3 FROM dual UNION ALL
  322.      SELECT 8, 5, 5, 4 FROM dual UNION ALL
  323.      SELECT 9, 6, 1, 3 FROM dual UNION ALL
  324.      SELECT 10, 6, 2, 2 FROM dual UNION ALL
  325.      SELECT 11, 6, 6, 4 FROM dual UNION ALL
  326.      SELECT 12, 7, 8, 2 FROM dual UNION ALL
  327.      SELECT 13, 11, 9, 6 FROM dual UNION ALL
  328.      SELECT 14, 12, 1, 8 FROM dual UNION ALL
  329.      SELECT 16, 16, 1, 10 FROM dual UNION ALL
  330.      SELECT 17, 17, 1, 5 FROM dual UNION ALL
  331.      SELECT 18, 17, 4, 10 FROM dual UNION ALL
  332.      SELECT 19, 17, 6, 15 FROM dual UNION ALL
  333.      SELECT 20, 20, 4, 4 FROM dual UNION ALL
  334.      SELECT 21, 26, 2, 5 FROM dual UNION ALL
  335.      SELECT 22, 27, 2, 5 FROM dual UNION ALL
  336.      SELECT 23, 28, 4, 10 FROM dual UNION ALL
  337.      SELECT 24, 29, 2, 8 FROM dual UNION ALL
  338.      SELECT 25, 30, 3, 42 FROM dual UNION ALL
  339.      SELECT 28, 32, 2, 1 FROM dual UNION ALL
  340.      SELECT 29, 33, 7, 20 FROM dual UNION ALL
  341.      SELECT 30, 33, 3, 5 FROM dual UNION ALL
  342.      SELECT 31, 33, 1, 2 FROM dual UNION ALL
  343.      SELECT 32, 34, 6, 5 FROM dual UNION ALL
  344.      SELECT 33, 34, 8, 10 FROM dual UNION ALL
  345.      SELECT 34, 34, 5, 5 FROM dual UNION ALL
  346.      SELECT 35, 35, 1, 24 FROM dual UNION ALL
  347.      SELECT 36, 35, 3, 34 FROM dual UNION ALL
  348.      SELECT 37, 35, 6, 88 FROM dual UNION ALL
  349.      SELECT 38, 36, 1, 24 FROM dual UNION ALL
  350.      SELECT 39, 36, 3, 34 FROM dual UNION ALL
  351.      SELECT 40, 36, 6, 88 FROM dual;
  352. /*!40000 ALTER TABLE `item_pedido` ENABLE KEYS */;
  353.  
  354. -- Copiando estrutura para tabela livraria.livro
  355. BEGIN
  356.    EXECUTE IMMEDIATE 'DROP TABLE livro';
  357. EXCEPTION
  358.    WHEN OTHERS THEN NULL;
  359. END;
  360. /
  361. CREATE TABLE livro (
  362.   id NUMBER(10) NOT NULL,
  363.   titulo VARCHAR2(255) NOT NULL,
  364.   preco NUMBER(18,2) NOT NULL,
  365.   isbn VARCHAR2(13) NOT NULL,
  366.   edicao NUMBER(10) NOT NULL,
  367.   ano_publicacao CHAR(4) NOT NULL,
  368.   editora_id NUMBER(10) NOT NULL,
  369.   PRIMARY KEY (id),
  370.   CONSTRAINT isbn UNIQUE  (isbn)
  371.  ,
  372.   CONSTRAINT livro_ibfk_1 FOREIGN KEY (editora_id) REFERENCES editora (id)
  373. )  ;
  374.  
  375. -- Generate ID using sequence and trigger
  376. CREATE SEQUENCE livro_seq START WITH 10 INCREMENT BY 1;
  377.  
  378. CREATE OR REPLACE TRIGGER livro_seq_tr
  379.  BEFORE INSERT ON livro FOR EACH ROW
  380.  WHEN (NEW.id IS NULL)
  381. BEGIN
  382.  SELECT livro_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  383. END;
  384. /
  385.  
  386. CREATE INDEX editora_id ON livro (editora_id);
  387.  
  388. -- Copiando dados para a tabela livraria.livro: ~9 rows (aproximadamente)
  389. DELETE FROM livro;
  390. /*!40000 ALTER TABLE `livro` DISABLE KEYS */;
  391. INSERT INTO livro (id, titulo, preco, isbn, edicao, ano_publicacao, editora_id)
  392.      SELECT 1, 'Sucesso na Vida', 39.99, '123456789112', 15, '2012', 1 FROM dual UNION ALL
  393.      SELECT 2, 'Brincadeira em Excesso Virou Bobeira', 44.01, '9876543211112', 2, '2015', 2 FROM dual UNION ALL
  394.      SELECT 3, 'Fazendo Bolos com CakePHP', 89.95, '3216547894561', 3, '2017', 1 FROM dual UNION ALL
  395.      SELECT 4, 'Vamos Investigar?', 63.22, '7849516236295', 2, '2014', 2 FROM dual UNION ALL
  396.      SELECT 5, 'Portabilidade Manual: Um Tutorial Prático', 100.99, '4568521597534', 2, '1997', 2 FROM dual UNION ALL
  397.      SELECT 6, 'Brazil Mulambo', 9.99, '1236547562111', 1, '2014', 1 FROM dual UNION ALL
  398.      SELECT 7, 'Tudo pelo estudo', 1.99, '12345678965', 1, '2002', 3 FROM dual UNION ALL
  399.      SELECT 8, 'Quem Cedo Madruga Deus Ajuda', 55.99, '9157357561', 5, '1997', 1 FROM dual UNION ALL
  400.      SELECT 9, 'Madrugando', 18.89, '5485315675165', 10, '1991', 4 FROM dual;
  401. /*!40000 ALTER TABLE `livro` ENABLE KEYS */;
  402.  
  403. -- Copiando estrutura para tabela livraria.pedido
  404. BEGIN
  405.    EXECUTE IMMEDIATE 'DROP TABLE pedido';
  406. EXCEPTION
  407.    WHEN OTHERS THEN NULL;
  408. END;
  409. /
  410. CREATE TABLE pedido (
  411.   id NUMBER(10) NOT NULL,
  412.   data TIMESTAMP(0) NOT NULL,
  413.   cliente_id NUMBER(10) NOT NULL,
  414.   funcionario_id NUMBER(10) NOT NULL,
  415.   PRIMARY KEY (id)
  416.  ,
  417.   CONSTRAINT pedido_ibfk_1 FOREIGN KEY (funcionario_id) REFERENCES funcionario (id),
  418.   CONSTRAINT pedido_ibfk_2 FOREIGN KEY (cliente_id) REFERENCES cliente (id)
  419. )  ;
  420.  
  421. -- Generate ID using sequence and trigger
  422. CREATE SEQUENCE pedido_seq START WITH 37 INCREMENT BY 1;
  423.  
  424. CREATE OR REPLACE TRIGGER pedido_seq_tr
  425.  BEFORE INSERT ON pedido FOR EACH ROW
  426.  WHEN (NEW.id IS NULL)
  427. BEGIN
  428.  SELECT pedido_seq.NEXTVAL INTO :NEW.id FROM DUAL;
  429. END;
  430. /
  431.  
  432. CREATE INDEX funcionario_id ON pedido (funcionario_id);
  433. CREATE INDEX cliente_id ON pedido (cliente_id);
  434.  
  435. -- Copiando dados para a tabela livraria.pedido: ~21 rows (aproximadamente)
  436. DELETE FROM pedido;
  437. /*!40000 ALTER TABLE `pedido` DISABLE KEYS */;
  438. INSERT INTO pedido (id, data, cliente_id, funcionario_id)
  439.      SELECT 1, '2016-03-01 00:00:00', 1, 10 FROM dual UNION ALL
  440.      SELECT 2, '2014-12-11 13:00:00', 2, 9 FROM dual UNION ALL
  441.      SELECT 3, '2017-03-30 06:30:37', 1, 7 FROM dual UNION ALL
  442.      SELECT 5, '2017-03-26 04:34:00', 1, 7 FROM dual UNION ALL
  443.      SELECT 6, '2038-03-27 16:47:00', 1, 7 FROM dual UNION ALL
  444.      SELECT 7, '2017-05-22 12:55:00', 1, 16 FROM dual UNION ALL
  445.      SELECT 11, '2017-05-25 15:07:00', 4, 16 FROM dual UNION ALL
  446.      SELECT 12, '2017-05-26 14:09:00', 4, 11 FROM dual UNION ALL
  447.      SELECT 16, '2017-05-26 14:26:00', 1, 7 FROM dual UNION ALL
  448.      SELECT 17, '2017-05-26 14:28:00', 2, 10 FROM dual UNION ALL
  449.      SELECT 20, '2017-05-26 15:14:00', 1, 10 FROM dual UNION ALL
  450.      SELECT 26, '2017-05-29 13:04:00', 4, 14 FROM dual UNION ALL
  451.      SELECT 27, '2017-05-29 13:04:00', 4, 14 FROM dual UNION ALL
  452.      SELECT 28, '2017-05-29 13:05:00', 3, 10 FROM dual UNION ALL
  453.      SELECT 29, '2017-05-30 14:49:00', 3, 9 FROM dual UNION ALL
  454.      SELECT 30, '2017-05-31 12:44:00', 2, 14 FROM dual UNION ALL
  455.      SELECT 32, '2017-05-31 12:49:00', 3, 13 FROM dual UNION ALL
  456.      SELECT 33, '2017-05-31 12:53:00', 4, 8 FROM dual UNION ALL
  457.      SELECT 34, '2017-05-31 12:53:00', 3, 15 FROM dual UNION ALL
  458.      SELECT 35, '2017-06-19 19:00:00', 1, 7 FROM dual UNION ALL
  459.      SELECT 36, '2017-04-19 04:07:00', 1, 7 FROM dual;
  460. /*!40000 ALTER TABLE `pedido` ENABLE KEYS */;
  461.  
  462. /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
  463. /*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
  464. /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement