Advertisement
AbraaoAllysson

Trabalho-Grupo6

May 8th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. CREATE TABLE public.cidade
  2. (
  3.   id_cidade serial NOT NULL,
  4.   nome character(40),
  5.   uf character(2),
  6.   pais character(2),
  7.   CONSTRAINT chave_primaria_cidade PRIMARY KEY (id_cidade),
  8.  
  9.   CONSTRAINT chave_estrangeira_pais FOREIGN KEY (pais) REFERENCES pais(id_sigla),
  10.   CONSTRAINT chave_estrangeira_uf FOREIGN KEY (uf) REFERENCES uf (id_sigla)
  11. );
  12.  
  13. CREATE TABLE PAIS (
  14.  id_sigla character(2) NOT NULL,
  15.   nome character(40),
  16.   CONSTRAINT chaveprimariapais PRIMARY KEY (id_sigla)
  17. ) ;
  18.  
  19. CREATE TABLE UF (
  20.   id_sigla character(2) NOT NULL,
  21.   id_pais character(2) NOT NULL,
  22.   nome character(40),
  23.   CONSTRAINT chave_primaria_cidade PRIMARY KEY (id_sigla),
  24.  
  25.   CONSTRAINT chave_estrangeira_pais FOREIGN KEY (id_pais) REFERENCES pais (id_sigla)
  26. );
  27.  
  28. CREATE TABLE funcao
  29. (
  30.   codigo_funcao serial NOT NULL,
  31.   nome character(50),
  32.   salario money,
  33.   CONSTRAINT chave_primaria_funcao PRIMARY KEY (codigo_funcao)
  34. )
  35.  
  36. CREATE TABLE responsavel
  37. (
  38.   id_responsavel serial NOT NULL,
  39.   CONSTRAINT chave_primaria_resposavel PRIMARY KEY (id_responsavel)
  40. );
  41. CREATE TABLE setor
  42. (
  43.   id_setor serial,
  44.   nome character(50),
  45.   uf character(10),
  46.   pais character(3),
  47.   superior smallint,
  48.   responsavel integer,
  49.   CONSTRAINT chave_primaria_setor PRIMARY KEY (id_setor),
  50.   CONSTRAINT chave_primaria_responsavel FOREIGN KEY (responsavel) REFERENCES responsavel (id_responsavel)
  51.  
  52. );
  53.  
  54.  
  55. CREATE TABLE itenspedido
  56. (
  57.   pedido smallint NOT NULL,
  58.   produto smallint NOT NULL,
  59.   quantidade numeric(10,2) NOT NULL,
  60.   situacao character(1) NOT NULL, CHECK ( situacao  IN ('A', 'P', 'T')),
  61.   total numeric(10,2),
  62.   CONSTRAINT chave_primaria_itenspedido PRIMARY KEY (pedido),
  63.   CONSTRAINT chave_estrangeira_pedido FOREIGN KEY (pedido) REFERENCES pedido (id_pedido)
  64.    
  65. );
  66.  
  67.  
  68.  
  69. CREATE TABLE funcionario
  70. (
  71.   id_funcionario serial NOT NULL ,
  72.   nome char(50),
  73.   sexo char(1) NOT NULL, CHECK (sexo IN ('M', 'F')),
  74.   setor smallint,
  75.   ramal_individual char(4),
  76.   estado_civil char(1) NOT NULL, CHECK ( estado_civil IN('S','C','D','V','O') ),
  77.   data_nascimento date,
  78.   rg_numero char(15),
  79.   nacionalidade char(2),
  80.   naturalidade int,
  81.   cpf char(11),
  82.   sangue_fator char(2),
  83.   sangue_rh char(1),
  84.   tipo_logradouro char(3),
  85.   logradouro char(30),
  86.   complemento char(30),
  87.   bairro char(20),
  88.   cidade int,
  89.   uf char(2),
  90.   cep char(8),
  91.   fone char(14),
  92.   funcao int,
  93.   admissao date,
  94.   email varchar(40),
  95.   salario money,
  96.  
  97.   CONSTRAINT chave_primaria_funcionario PRIMARY KEY (id_funcionario),
  98.  
  99.   CONSTRAINT chave_estrangeira_setor FOREIGN KEY(setor)  REFERENCES setor(id_setor),
  100.   CONSTRAINT chave_estrangeira_nacionalidade FOREIGN KEY(nacionalidade) REFERENCES pais( id_sigla),
  101.   CONSTRAINT chave_estrangeira_naturalidade FOREIGN KEY(naturalidade) REFERENCES cidade(id_cidade),
  102.   CONSTRAINT chave_estrangeira_funcao FOREIGN KEY(funcao) REFERENCES funcao(codigo_funcao)
  103.  
  104. );
  105.  
  106. CREATE TABLE itenspedido
  107. (
  108.   pedido smallint NOT NULL,
  109.   produto smallint NOT NULL,
  110.   quantidade numeric(10,2) NOT NULL,
  111.  situacao character(1) NOT NULL, CHECK ( situacao  IN ('A', 'P', 'T')),
  112.   total numeric(10,2),
  113.   CONSTRAINT chave_primaria_itenspedido PRIMARY KEY (pedido),
  114.  
  115.   CONSTRAINT chave_estrangeira_pedido FOREIGN KEY (pedido) REFERENCES pedido (id_pedido)
  116.  
  117. )
  118.  
  119.  
  120.  
  121. CREATE TABLE pedido
  122. (
  123.   id_pedido serial NOT NULL,
  124.   cliente smallint NOT NULL,
  125.   data_pedido date NOT NULL,
  126.   total money,
  127.   situacao character(1) NOT NULL, CHECK ( situacao  IN ('A', 'P', 'T')),
  128.   vendedor integer,
  129.   CONSTRAINT chave_primaria_pedido PRIMARY KEY (id_pedido),
  130.  
  131.   CONSTRAINT chave_estrangeira_cliente FOREIGN KEY (cliente) REFERENCES cliente (id_cliente),
  132.   CONSTRAINT chave_estrangeira_funcionario FOREIGN KEY (vendedor) REFERENCES funcionario (id_funcionario)
  133. );
  134.  
  135. CREATE TABLE tipoproduto
  136. (
  137.   id_tipoproduto serial NOT NULL ,
  138.   nome character(50),
  139.   CONSTRAINT chave_primaria_tipoproduto PRIMARY KEY (id_tipoproduto)
  140. );
  141.  
  142.  
  143. CREATE TABLE cliente
  144. (
  145.  id_cliente serial not null,
  146.  contato char(30) not null,
  147.  cgc_cpf char(15) not null,
  148.  tipo char(1), CHECK (tipo IN ('F', 'J')),
  149.  tipo_logradouro char(3) NOT NULL, CHECK (tipo_logradouro IN ('AVE', 'PRA', 'RUA', 'TRA', 'ROD','VIL')),
  150.  logradouro char(30),
  151.  complemento char(20),
  152.  bairro char(20) not null,
  153.  cidade int,
  154.  uf char(2),
  155.  pais char(2),
  156.  cep char(8) not null,
  157.  fone char(14) not null,
  158.  fax char(14),
  159.  insc_est char(16),
  160.  email char(40),
  161.  obs text,
  162.  
  163.  CONSTRAINT chave_primaria_cliente PRIMARY KEY (id_cliente),
  164.  
  165.  CONSTRAINT chave_estrangeira_cidade FOREIGN KEY(cidade) REFERENCES cidade(id_cidade),
  166.  CONSTRAINT chave_estrangeira_nacionalidade FOREIGN KEY(pais) REFERENCES pais( id_sigla),
  167.  CONSTRAINT chave_estrangeira_naturalidade FOREIGN KEY(cidade) REFERENCES cidade(id_cidade)
  168.  
  169.  
  170.  
  171. );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement