Advertisement
fahadkalil

sql_livros_postgres

Mar 4th, 2021
1,399
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. SET SEARCH_PATH TO livros;
  2.  
  3. DROP TABLE IF EXISTS AUTORIA CASCADE;
  4. DROP TABLE IF EXISTS LIVRO CASCADE;
  5. DROP TABLE IF EXISTS TIPO CASCADE;
  6. DROP TABLE IF EXISTS AUTOR CASCADE;
  7. DROP TABLE IF EXISTS EDITORA CASCADE;
  8. DROP TABLE IF EXISTS CIDADE CASCADE;
  9.  
  10. /* Cidade (codCid, nome, UF) */
  11. CREATE TABLE cidade (
  12.   codCid INT,
  13.   nome VARCHAR(60),
  14.   UF CHAR(2),
  15.  
  16.   CONSTRAINT pk_cidade PRIMARY KEY (codCid)
  17. );
  18.  
  19. /* Editora (codEd, nome, endereco, codCid)  
  20.     codCid referencia Cidade (codCid) */
  21. CREATE TABLE editora (
  22.   codEd INT,
  23.   nome VARCHAR(60),
  24.   endereco VARCHAR(100),
  25.   codCid INT,
  26.  
  27.   CONSTRAINT pk_editora PRIMARY KEY (codEd),
  28.   CONSTRAINT fk_editora_cidade FOREIGN KEY (codCid) REFERENCES Cidade (codCid)
  29. );
  30.  
  31. /* Autor (codAutor, nome, email, dataNasc, codCid)  
  32.     codCid referencia Cidade (codCid) */
  33. CREATE TABLE autor (
  34.   codAutor INT,
  35.   nome VARCHAR(60),
  36.   dataNasc DATE,
  37.   codCid INT,
  38.  
  39.   CONSTRAINT pk_autor PRIMARY KEY (codAutor),
  40.   CONSTRAINT fk_autor_cidade FOREIGN KEY (codCid) REFERENCES Cidade (codCid)
  41. );
  42.  
  43. /* Tipo (codTipo, nome) */
  44. CREATE TABLE tipo (
  45.   codTipo INT,
  46.   nome VARCHAR(100),
  47.   CONSTRAINT pk_tipo PRIMARY KEY (codTipo)
  48. );
  49.  
  50. /* Livro (codLivro, titulo, idioma, codTipo, codEd, precoSugerido)  
  51.     codTipo referencia Tipo (codTipo)  
  52.     codEd referencia Editora (codEd) */
  53. CREATE TABLE livro (
  54.   codLivro INT,
  55.   titulo VARCHAR(100),
  56.   idioma VARCHAR(50),
  57.   codTipo INT,
  58.   codEd INT,
  59.   precoSugerido NUMERIC(15,2),
  60.  
  61.   CONSTRAINT pk_livro PRIMARY KEY (codLivro),
  62.   CONSTRAINT fk_livro_tipo FOREIGN KEY (codTipo) REFERENCES Tipo (codTipo),
  63.   CONSTRAINT fk_livro_editora FOREIGN KEY (codEd) REFERENCES Editora (codEd)
  64. );
  65.  
  66. /* Autoria (codAutor, codLivro)
  67.     codAutor referencia Autor (codAutor)
  68.     codLivro referencia Livro (codLivro) */
  69. CREATE TABLE autoria (
  70.   codAutor INT,
  71.   codLivro INT,
  72.  
  73.   CONSTRAINT pk_autoria PRIMARY KEY (codAutor, codLivro),
  74.   CONSTRAINT fk_autoria_autor FOREIGN KEY (codAutor) REFERENCES Autor (codAutor),
  75.   CONSTRAINT fk_autoria_livro FOREIGN KEY (codLivro) REFERENCES Livro (codLivro)
  76. );
  77.  
  78. DELETE FROM AUTORIA;
  79. DELETE FROM LIVRO;
  80. DELETE FROM TIPO;
  81. DELETE FROM AUTOR;
  82. DELETE FROM EDITORA;
  83. DELETE FROM CIDADE;
  84.  
  85. INSERT INTO cidade VALUES (1, 'Passo Fundo', 'RS');
  86. INSERT INTO cidade VALUES (2, 'Porto Alegre', 'RS');
  87. INSERT INTO cidade VALUES (3, 'Rio de Janeiro', 'RJ');
  88. INSERT INTO cidade VALUES (4, 'Codisburgo', 'MG');
  89. INSERT INTO cidade VALUES (5, 'São Paulo', 'SP');
  90.  
  91. INSERT INTO editora VALUES (1, 'Pearson', 'Rua ABC, 2013', 1);
  92. INSERT INTO editora VALUES (2, 'Bookman', 'Rua XYZ, 829', 2);
  93. INSERT INTO editora VALUES (3, 'Nova Fronteira', '', 3);
  94. INSERT INTO editora VALUES (4, 'Record', '', 3);
  95.  
  96. INSERT INTO autor VALUES (1, 'Machado de Assis', TO_DATE('21/06/1839', 'dd/mm/yyyy'), 3);
  97. INSERT INTO autor VALUES (2, 'Guimarães Rosa',   TO_DATE('27/06/1908', 'dd/mm/yyyy'), 4);
  98. INSERT INTO autor VALUES (3, 'Assis de Machado', TO_DATE('01/01/1999', 'dd/mm/yyyy'), 1);
  99.  
  100. INSERT INTO tipo VALUES (1, 'Romance policial');
  101. INSERT INTO tipo VALUES (2, 'Drama psicológico');
  102. INSERT INTO tipo VALUES (3, 'Ficção');
  103. INSERT INTO tipo VALUES (4, 'Contos');
  104. INSERT INTO tipo VALUES (5, 'Realismo psicológico');
  105.  
  106. INSERT INTO livro VALUES (1, 'Meu 1o livro', 'Português', 1, 1, 23.00);
  107. INSERT INTO livro VALUES (2, 'Meu 2o livro', 'Inglês', 1, 2, 45.00);
  108. INSERT INTO livro VALUES (3, 'Meu 3o livro', 'Inglês', 1, 2, 33.00);
  109. INSERT INTO livro VALUES (4, 'Sagarana', 'Português', 4, 3, 19.00);
  110. INSERT INTO livro VALUES (5, 'Dom Casmurro', 'Português', 5, 4, 18.90);
  111.  
  112. INSERT INTO autoria VALUES (3, 1);
  113. INSERT INTO autoria VALUES (3, 2);
  114. INSERT INTO autoria VALUES (3, 3);
  115. INSERT INTO autoria VALUES (2, 4);
  116. INSERT INTO autoria VALUES (1, 5);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement