8 Referências Bibliográficas

Documentos relacionados
Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

Configurar o ODBC em ISE 2.3 com base de dados Oracle

TRABALHO DE BANCO DE DADOS

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva.

Triggers em PostgreSQL. Linguagem de Programação de Banco de Dados. Triggers em PostgreSQL. Triggers em PostgreSQL

Programação em Banco de dados

(1,n) venda. (1,1) realizacao. cliente. (0,n) (1,1) contem. produto. Laboratório de Banco de Dados Exercicios

ESTUDO DE CASO EM PL/SQL

PCS3413. Engenharia de So-ware e Banco de Dados. Aula 20. Escola Politécnica da Universidade de São Paulo

Sistema para Consultas sobre Banco de Dados Relacional Baseado em Palavras-Chave

Banco de Dados I Introdução SQL

BANCO DE DADOS SQL. Aprendendo a manipular dados. Banco de dados utilizado: PostgreSQL.

PROGRAMA. 3.SQL Básico. 3.1 Criação de tabelas 3.2 Queries simples 3.3 Subqueries 3.4 Agregação. Prof. Dr. Marcos Tsuzuki

Parte I (correspondente à matéria do 1º teste)

Avisos. Sumário. Atividade em lab Aula 29. Atividade em lab Aula 29. Programando com SQL Triggers EXERCÍCIO LAB SP. Vista da segunda prova


SQL DDL Criando Tabelas e Restrições

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

Triggers(Gatilhos) Tiago Alves de Oliveira

Pontifícia Universidade Católica do Rio Grande do Sul FACULDADE DE INFORMÁTICA PROGRAMA DE PÓS-GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO.

Instituto Federal de Educação, Ciência e Tecnologia de São Paulo

BANCO DE DADOS. info 3º ano. Prof. Diemesleno Souza Carvalho

ATUALIZANDO BANCO DE DADOS OBJETO RELACIONAL ATRAVÉS DE VISÕES XML

UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIENCIAS DA COMPUTAÇÃO

SGATF Sistema para Gerenciamento de Alugueis de Trajes para Festa

Banco de Dados Loja Virtual. CLIENTE(ClienteId, PrimNome, UltNome, Endereço, Cidade, Cep, Telefone)

Prova de Fundamentos de Bancos de Dados 2 a Prova

BANCO DE DADOS II CONVENIÊNCIA

Transacções. Vitor Vaz da Silva


Administração de Banco de Dados

Banco de Dados. Professora: Luciana Faria

ACH2025. Laboratóriode Bases de Dados. SQL Oracle Asserçõese gatilhos. Professora: Fátima L. S. Nunes SISTEMAS DE INFORMAÇÃO

UFG - Instituto de Informática

Administração de Banco de Dados

SQL Server Ferramenta de administração. SQL Server Management Studio. 1º passo conectar ao banco de dados 2ª Query (consulta) usando SQL

Fundamentos do Sistema Gerenciador de Banco de Dados

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA total e disjuntiva.

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

Banco de Dados Avançados Banco de Dados Ativo

Prova de Fundamentos de Bancos de Dados 2 a Prova

BANCO DE DADOS I. Exercícios

Bases de Dados. DDL Data Definition Language

Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte

INF1383 -Bancos de Dados

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD.

Prof. Josenildo Silva

BD Oracle. Licenciatura em Engenharia Informática e Computação. Bases de Dados 2003/04

José Antônio da Cunha

A Linguagem SQL. Tecnologia de Base de Dados. MSc. Eugénio. Macumbe

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve

ALTERANDO O NOME DA TABELA ALTER TABLE DEPTO RENAME TO TAB_DEPARTAMENTO

Aula 06 Sistemas Embarcados LT38C

14/9/2009. Banco de Dados

BANCO DE DADOS PARA WEB

Revisão Banco de Dados

AULA 2 INTERAÇÃO COM O BANCO DE DADOS

Material Teórico. Procedures, Functions, Exceptions e Triggers. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

Monitoria GDI. Aula Prática. OR (Aula 1)

Restrições de Integridade Semântica

Mapeamento de Modelos ER para DDL da SQL

A linguagem SQL

Bancos de Dados I. Integridade semântica

Linguagem de Consulta Estruturada (SQL)

Structured Query Language (SQL) Aula Prática

Banco de Dados. Linguagem SQL

Considere as Relações Funcionários (F) e Dependentes (D), com o seguinte esquema simplificado:

Professor: Claudio Maximiliano Zaina Aluno: Alef Vinicius Cardoso e Silva Prontuário: Aluno: Protuário: BANCO DE DADOS II

Subsistema de Integridade Semântica

RECUPERAÇÃO DE CONTEÚDO BANCO DE DADOS

Banco de Dados II. PL/SQL - Procedures -Cursor - Funções. Segurança: Introdução; Controle de Acesso; Criptografia; Recursos de SQL.

Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações

A linguagem SQL

Professor Leonardo Larback

LINGUAGEM SQL. SQL Server 2008 Comandos iniciais

Linguagem SQL Restrições, Triggers e Views

drop database escola; CREATE DATABASE escola; USE escola; CREATE TABLE curso ( numcurso int NOT NULL, nome varchar(40), totalcreditos int,

SQL Gatilhos (Triggers)

Material Teórico. Organização de Dados. Responsável pelo Conteúdo: Prof. Ms. Alexander Gobbato Albuquerque

LINGUAGEM SQL Linguagem usada em SGBD para: Definir estrutura de dados; Modificar dados em um banco de dados; Especificar restrições de segurança; Rea

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

PSI Linguagem de Definição de dados. Módulo 15

SQL. Autor: Renata Viegas

Fundamentos de Banco de Dados Postgre com Sql

SQL. Prof. Roger Cristhian Gomes

Importar e Exportar Dados

SQL - Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL

Subsistema de Integridade Semântica

Oracle 10g: SQL e PL/SQL

Bases de Dados BDDAD. Oracle SQL Comandos. Nelson Freire (ISEP LEI-BDDAD 2017/18) 1/101

DO BÁSICO AO AVANÇADO PARA MANIPULAÇÃO E OTIMIZAÇÃO DE DADOS. Fábio Roberto Octaviano

MySQL. Prof. César Melo. com a ajuda de vários

AULA 6 INTEGRIDADOS DOS DADOS - CRIANDO RESTRIÇÕES

Create Sequence Cria uma sequence. Uma sequence é um objeto que permite vários usuários gerarem valores inteiros sem repetição.

Sistema de Controle de Estoque

Transcrição:

Referências Bibliográficas 8 Referências Bibliográficas 95 [Aditya, Bhalotia, Chakrabarti, Hulgeri, Nakhe, Parag & Sudarshan, 2002] - B. Aditya, Gaurav Bhalotia, Soumen Chakrabarti, Arvind Hulgeri, Charuta Nakhe, Parag e S. Sudarshan - BANKS: Browsing and Keyword Searching in Relational Databases - Data Engineering. Proceedings. 18th International Conference on, 2002. [Agrawal, Chaudhuri, & Das, 2002] - Agrawal, S. Chaudhuri, S. Das, G. - DBXplorer: A System for Keyword-Based Search over Relational Databases - Proceedings. 18th International Conference on, Data Engineering. [Agrawal, Chaudhuri, & Das, 2002] - Agrawal, S. Chaudhuri, S. Das, G. - DBXplorer: Enabling Keyword Search over Relational Databases. [Bhalotia, Hulgeri, Nakhe, Chakrabarti & Sudarshan, 2002] - Gaurav Bhalotia, Arvind Hulgeri, Charuta Nakhe, Soumen Chakrabarti e S. Sudarshan - Keyword Searching and Browsing in Databases using BANKS - Computer Science and Engg. Dept., I.I.T. Bombay. [Calado, Altigran, Laender, Ribeiro-Neto & Vieira] - Pável Calado, Altigran S. da Silva, Alberto H.F. Laender, Berthier A. Ribeiro-Neto, Rodrigo C. Vieira - A Bayesian network approach to searching Web databases through keyword-based queries 2004. [Hulgeri, Bhalotia, Nakhe & Chakrabarti, 2001] - Arvind Hulgeri, Gaurav Bhalotia, Charuta Nakhe e Soumen Chakrabarti - Keyword Search in Databases - Dept. of Computer Science and Engg., Indian Institute of Technology, Bombay. [Hristidis & Papakonstantinou, 2002] - Vagelis Hristidis & Yannis Papakonstantinou - DISCOVER: Keyword Search in Relational Databases - Proceedings of the 28th VLDB Conference, Hong Kong, China. [Hristidis, Gravano & Papakonstantinou, 2003] - Vagelis Hristidis, Luis Gravano, Yannis Papakonstantinou - Efficient IR-Style Keyword Search over Relational Databases - Proceedings of the 29th VLDB Conference, Berlin, Germany.

Referências Bibliográficas [Junior & Silva 2006] - Sérgio Afonso L. F. de Sá Júnior e Altigran Soares da Silva - DESANA - Uma ferramenta para extração de dados da Web considerando contextos fracos - Florianópolis. 96 [Mesquita, Altigran, Moura, Calado & Laender, 2006] - Filipe Mesquita, Altigran S. da Silva, Edleno S. de Moura, Pável Calado, Alberto H. F. Laender - LABRADOR: Efficiently Publishing Relational Databases on the Web by using Keyword-Based Query Interfaces.

9 97 Anexo 9.1. Scripts de Criação do Banco de Dados do Sistema A seguir são apresentados os scripts de criação das tabelas utilizadas internamente no sistema para armazenar os dados das aplicações. A figura 73 apresenta o script para criação da tabela Aplicação, responsável por armazenas as informações básicas (nome, usuário, senha, etc.). Também é efetuada a criação de um sequence responsável por manter o código interno único do sistema e uma trigger que será responsável por manter o sequence atualizado a cada inclusão de nova aplicação.

98 CREATE TABLE "APLICACAO" ( "CODIGO" NUMBER(*,0) NOT NULL ENABLE, "USUARIO" VARCHAR2(50 BYTE) NOT NULL ENABLE, "SENHA" VARCHAR2(50 BYTE) NOT NULL ENABLE, "DESCRICAO" VARCHAR2(500 BYTE) NOT NULL ENABLE, "NOME" VARCHAR2(100 BYTE) NOT NULL ENABLE, "USUARIO_BD" VARCHAR2(50 BYTE) NOT NULL ENABLE, "SENHA_BD" VARCHAR2(50 BYTE) NOT NULL ENABLE, "SERVICO_BD" VARCHAR2(50 BYTE) NOT NULL ENABLE, CONSTRAINT "PK_APLICACAO" PRIMARY KEY ("CODIGO") ENABLE ); CREATE SEQUENCE "CODIGOAPLICACAO" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 21 CACHE 20 NOORDER NOCYCLE ; CREATE OR REPLACE TRIGGER "CODIGOAPLICACAO" BEFORE INSERT ON aplicacao REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW begin select codigoaplicacao.nextval into :new.codigo from dual; end; / ALTER TRIGGER "CODIGOAPLICACAO" ENABLE; Figura 73: Script de Criação da Tabela Aplicacao A figura 74 efetua a criação da tabela Objeto, responsável por armazenas as tabelas ou visões de uma determinada aplicação. É feita a criação também do sequence responsável por manter o código único para cada novo objeto inserido e um trigger que mantém o sequence atualizado a cada inclusão.

99 CREATE TABLE "OBJETO" ( "CODIGO_APLICACAO" NUMBER NOT NULL ENABLE, "CODIGO" NUMBER NOT NULL ENABLE, "NOME" VARCHAR2(50 BYTE) NOT NULL ENABLE, "DESCRICAO" VARCHAR2(4000 BYTE), "REFERENCIA" VARCHAR2(4000 BYTE), CONSTRAINT "PK_OBJETO" PRIMARY KEY ("CODIGO_APLICACAO", "CODIGO") ENABLE, CONSTRAINT "FK_APLICACAO_OBJETO" FOREIGN KEY ("CODIGO_APLICACAO") REFERENCES "APLICACAO" ("CODIGO") ENABLE ); CREATE SEQUENCE "CODIGO_OBJETO" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 101 CACHE 20 NOORDER NOCYCLE ; CREATE OR REPLACE TRIGGER "CODIGO_OBJETO" BEFORE INSERT ON objeto REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW begin select CODIGO_OBJETO.nextval into :new.codigo from dual; end; ALTER TRIGGER "CODIGO_OBJETO" ENABLE; Figura 74: Script de Criação da Tabela Objeto A figura 75 apresenta a criação da tabela Objeto_Coluna que armazena as colunas das tabelas e visões incluídas na aplicação. O script apresenta também a criação de um sequence responsável por manter o código único a cada inclusão e uma trigger que mantém o sequence atualizado.

100 CREATE TABLE "OBJETO_COLUNA" ( "CODIGO_APLICACAO" NUMBER NOT NULL ENABLE, "CODIGO_OBJETO" NUMBER NOT NULL ENABLE, "CODIGO" NUMBER NOT NULL ENABLE, "NOME" VARCHAR2(50 BYTE) NOT NULL ENABLE, "DESCRICAO" VARCHAR2(4000 BYTE), "REFERENCIA" VARCHAR2(4000 BYTE), "TIPO" VARCHAR2(50 BYTE), "VALORES" NCLOB, CONSTRAINT "PK_OBJETO_COLUNA" PRIMARY KEY ("CODIGO_APLICACAO", "CODIGO_OBJETO", "CODIGO") ENABLE, CONSTRAINT "FK_OBJETO_COLUNA" FOREIGN KEY ("CODIGO_APLICACAO", "CODIGO_OBJETO") REFERENCES "OBJETO" ("CODIGO_APLICACAO", "CODIGO") ENABLE ) CREATE SEQUENCE "CODIGO_OBJETO_COLUNA" MINVALUE 1 MAXVALUE 999999999999999999999999999 INCREMENT BY 1 START WITH 561 CACHE 20 NOORDER NOCYCLE; CREATE OR REPLACE TRIGGER "CODIGO_OBJETO_COLUNA" BEFORE INSERT ON objeto_coluna REFERENCING NEW AS NEW OLD AS OLD FOR EACH ROW begin select CODIGO_OBJETO_COLUNA.nextval into :new.codigo from dual; end; ALTER TRIGGER "CODIGO_OBJETO_COLUNA" ENABLE; Figura 75: Script de Criação da Tabela Objeto_Coluna A figura 76 apresenta o script de criação da tabela Objeto_Relacao responsável por armazenas os valores de relacionamento entre os objetos (tabelas ou visões).

101 CREATE TABLE "OBJETO_RELACAO" ( "RELACAO" VARCHAR2(200 BYTE) NOT NULL ENABLE, "TAB1" VARCHAR2(200 BYTE) NOT NULL ENABLE, "COL1" VARCHAR2(200 BYTE) NOT NULL ENABLE, "TAB2" VARCHAR2(200 BYTE) NOT NULL ENABLE, "COL2" VARCHAR2(200 BYTE) NOT NULL ENABLE, "CODIGO_APLICACAO" NUMBER(*,0) NOT NULL ENABLE, CONSTRAINT "FK_OBJETO_RELACAO" FOREIGN KEY ("CODIGO_APLICACAO") REFERENCES "APLICACAO" ("CODIGO") ENABLE ); Figura 76: Script de Criação da Tabela Objeto_Relacao 9.2. Scripts Exemplo de Publicações A seguir são apresentados os scripts de criação das tabelas utilizadas no exemplo Publicações. 9.2.1. Scripts de Criação das Tabelas do Exemplo de Publicações A figura 77 apresenta o script para criação da tabela Cidade. CREATE TABLE "CIDADE" ( "CODIGO" NUMBER NOT NULL ENABLE, "NOME" VARCHAR2 NOT NULL ENABLE, CONSTRAINT "PK_CIDADE" PRIMARY KEY ("CODIGO") ENABLE ); Figura 77: Script de Criação da Tabela Cidade

A figura 78 apresenta o script para criação da tabela Categoria. 102 CREATE TABLE "CATEGORIA" ( "NOME" VARCHAR2 NOT NULL ENABLE, "CODIGO" NUMBER NOT NULL ENABLE, CONSTRAINT "PK_CATEGORIA" PRIMARY KEY ("CODIGO") ENABLE ); Figura 78: Script de Criação da Tabela Categoria A figura 79 apresenta o script para criação da tabela Autor. CREATE TABLE "AUTOR" ( "CODIGO" NUMBER NOT NULL ENABLE, "NOME" VARCHAR2(100 BYTE) NOT NULL ENABLE, "COD_CIDADE" NUMBER NOT NULL ENABLE, CONSTRAINT "PK_AUTOR" PRIMARY KEY ("CODIGO") ENABLE, CONSTRAINT "FK_CIDADE" FOREIGN KEY ("COD_CIDADE") REFERENCES "CIDADE" ("CODIGO") ENABLE ) Figura 79: Script de Criação da Tabela Autor

A figura 80 apresenta o script para criação da tabela Livro. 103 CREATE TABLE "LIVRO" ( "CODIGO" NUMBER NOT NULL ENABLE, "CODIGO_AUTOR" NUMBER NOT NULL ENABLE, "NOME" VARCHAR2(100 BYTE) NOT NULL ENABLE, "CODIGO_CATEGORIA" NUMBER NOT NULL ENABLE, CONSTRAINT "PK_LIVRO" PRIMARY KEY ("CODIGO", "CODIGO_AUTOR") ENABLE, CONSTRAINT "FK_CATEGORIA" FOREIGN KEY ("CODIGO_CATEGORIA") REFERENCES "CATEGORIA" ("CODIGO") ENABLE, CONSTRAINT "FK_AUTOR" FOREIGN KEY ("CODIGO_AUTOR") REFERENCES "AUTOR" ("CODIGO") ENABLE ) Figura 80: Script de Criação da Tabela Livro 9.2.2. Scripts de Inserção das Tabelas do Exemplo de Publicações A figura 81 apresenta o script de inclusão de valores da tabela Cidade. Insert into CIDADE (CODIGO,NOME) values (1,'Rio de Janeiro'); Insert into CIDADE (CODIGO,NOME) values (2,'São Paulo'); Insert into CIDADE (CODIGO,NOME) values (3,'Recife'); Insert into CIDADE (CODIGO,NOME) values (4,'Minas Gerais'); Insert into CIDADE (CODIGO,NOME) values (5,'Salvador'); Insert into CIDADE (CODIGO,NOME) values (6,'Manaus'); Insert into CIDADE (CODIGO,NOME) values (7,'Arauama'); Insert into CIDADE (CODIGO,NOME) values (8,'Cabo Frio'); Figura 81: Script de Inserção na Tabela Cidade

104 A figura 82 apresenta o script de inclusão de valores da tabela Categoria. Insert into CATEGORIA (NOME,CODIGO) values ('Romance',1); Insert into CATEGORIA (NOME,CODIGO) values ('Aventura',2); Insert into CATEGORIA (NOME,CODIGO) values ('Drama',3); Insert into CATEGORIA (NOME,CODIGO) values ('Comédia',4); Insert into CATEGORIA (NOME,CODIGO) values ('Terror',5); Figura 82: Script de Inserção na Tabela Categoria A figura 83 apresenta o script de inclusão de valores da tabela Autor. Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (1,'Augusto',1); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (2,'Fernando',1); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (3,'Torres',1); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (4,'Isabel',1); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (5,'Lúcia',2); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (6,'Alberto',2); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (7,'João',2); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (8,'Renato',3); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (9,'Renato',4); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (10,'Leandro',3); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (11,'Antônio',5); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (12,'José',5); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (13,'Bartolomeu',5); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (14,'Frederico',6); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (15,'João',6); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (16,'Márcia',7); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (17,'Joana',8); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (18,'Patrícia',8); Insert into AUTOR (CODIGO,NOME,COD_CIDADE) values (19,'Leila',8); Figura 83: Script de Inserção na Tabela Autor

105 A figura 84 apresenta o script de inclusão de valores da tabela Livro. Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (1,1,'Livro 1',1); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (2,1,'Livro 2',1); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (3,1,'Livro 3',2); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (4,1,'Livro 4',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (5,2,'Livro 5',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (6,2,'Livro 6',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (7,2,'Livro 7',4); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (8,2,'Livro 8',5); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (9,2,'Livro 9',5); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (10,2,'Livro 10',1); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (11,3,'Livro 11',2); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (12,3,'Livro 12',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (13,4,'Livro 13',4); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (14,4,'Livro 14',5); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (15,4,'Livro 15',1); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (16,4,'Livro 16',2); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (17,4,'Livro 17',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (18,4,'Livro 18',4); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (19,4,'Livro 19',5); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (20,5,'Livro 20',1); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (21,6,'Livro 21',2); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (22,7,'Livro 22',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (23,7,'Livro 23',4); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (24,7,'Livro 24',5); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (25,8,'Livro 25',1); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (26,8,'Livro 26',1); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (27,9,'Livro 27',2); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (28,9,'Livro 28',2); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (29,9,'Livro 29',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (30,9,'Livro 30',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (31,10,'Livro 31',4); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (33,10,'Livro 33',5); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (34,10,'Livro 34',5); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (36,11,'Livro 36',2); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (37,11,'Livro 37',2); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (38,11,'Livro 38',2); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (39,11,'Livro 39',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (40,11,'Livro 40',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (41,12,'Livro 41',3); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (42,12,'Livro 42',4); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (43,13,'Livro 43',4); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (44,14,'Livro 44',4); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (45,14,'Livro 45',5); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (46,14,'Livro 46',5); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (47,15,'Livro 47',5); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (48,15,'Livro 48',1); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (49,17,'Livro 49',2); Insert into LIVRO (CODIGO,CODIGO_AUTOR,NOME,CODIGO_CATEGORIA) values (50,17,'Livro 50',5); Figura 84: Script de Inserção na Tabela Livro

9.3. Scripts Exemplo de Venda de Produtos 106 9.3.1. Scripts de Criação das Tabelas do Exemplo de Publicações A figura 85 apresenta o script para criação da tabela Produto. CREATE TABLE "PRODUTO" ( "CODIGO" NUMBER, "NOME" VARCHAR2, CONSTRAINT "PK_PRODUTO" PRIMARY KEY ("CODIGO") ENABLE ) Figura 85: Script de Criação da Tabela Produto A figura 86 apresenta o script para criação da tabela Loja. CREATE TABLE "LOJA" ( "CODIGO" NUMBER, "NOME" VARCHAR2, "ENDERECO" VARCHAR2, CONSTRAINT "PK_LOJA" PRIMARY KEY ("CODIGO") ENABLE ) Figura 86: Script de Criação da Tabela Loja

107 A figura 87 apresenta o script para criação da tabela Produto_Loja. CREATE TABLE "PRODUTO_LOJA" ( "CODIGO_PRODUTO" NUMBER, "CODIGO_LOJA" NUMBER, "QUANTIDADE" NUMBER, "VALOR" NUMBER, CONSTRAINT "PK_PRODUTO_LOJA" PRIMARY KEY ("CODIGO_PRODUTO", "CODIGO_LOJA") ENABLE, CONSTRAINT "FK_PRODUTO_LOJA_PRODUTO" FOREIGN KEY ("CODIGO_PRODUTO") REFERENCES "PRODUTO" ("CODIGO") ENABLE, CONSTRAINT "FK_PRODUTO_LOJA_LOJA" FOREIGN KEY ("CODIGO_LOJA") REFERENCES "LOJA" ("CODIGO") ENABLE ) Figura 87: Script de Criação da Tabela Produto_Loja A figura 88 apresenta o script para criação da tabela Vendedor. CREATE TABLE "VENDEDOR" ( "CODIGO" NUMBER, "NOME" VARCHAR2, CONSTRAINT "PK_VENDEDOR" PRIMARY KEY ("CODIGO") ENABLE ) Figura 88: Script de Criação da Tabela Vendedor

A figura 89 apresenta o script para criação da tabela Venda. 108 CREATE TABLE "VENDA" ( "CODIGO_VENDA" NUMBER, "CODIGO_VENDEDOR" NUMBER, "CODIGO_PRODUTO" NUMBER, "CODIGO_LOJA" NUMBER, "VALOR" FLOAT, CONSTRAINT "PK_VENDA" PRIMARY KEY ("CODIGO_VENDEDOR", "CODIGO_PRODUTO", "CODIGO_LOJA", "CODIGO_VENDA") ENABLE, CONSTRAINT "FK_VENDA_VENDEDOR" FOREIGN KEY ("CODIGO_VENDEDOR") REFERENCES "VENDEDOR" ("CODIGO") ENABLE, CONSTRAINT "FK_VENDA_PRODUTO_LOJA" FOREIGN KEY ("CODIGO_PRODUTO", "CODIGO_LOJA") REFERENCES "PRODUTO_LOJA" ("CODIGO_PRODUTO", "CODIGO_LOJA") ENABLE ) Figura 89: Script de Criação da Tabela Venda 9.3.2. Scripts de Inserção do Exemplo de Venda de Produtos A figura 90 apresenta o script de inclusão de valores da tabela Produto. insert into produto values (2, 'produto 2'); insert into produto values (3, 'produto 3'); insert into produto values (4, 'produto 4'); insert into produto values (5, 'produto 5');... insert into produto values (48, 'produto 48'); insert into produto values (49, 'produto 49'); insert into produto values (50, 'produto 50'); Figura 90: Script de Inserção na Tabela Produto

A figura 91 apresenta o script de inclusão de valores da tabela Loja. 109 insert into loja values ( 1, 'Loja 1', 'Endereço Loja 1'); insert into loja values ( 2, 'Loja 2', 'Endereço Loja 2'); insert into loja values ( 3, 'Loja 3', 'Endereço Loja 3'); insert into loja values ( 4, 'Loja 4', 'Endereço Loja 4'); insert into loja values ( 5, 'Loja 5', 'Endereço Loja 5'); insert into loja values ( 6, 'Loja 6', 'Endereço Loja 6'); insert into loja values ( 7, 'Loja 7', 'Endereço Loja 7'); insert into loja values ( 8, 'Loja 8', 'Endereço Loja 8'); insert into loja values ( 9, 'Loja 9', 'Endereço Loja 9'); insert into loja values ( 10, 'Loja 10', 'Endereço Loja 10'); Figura 91: Script de Inserção na Tabela Loja A figura 92 apresenta o script de inclusão de valores da tabela Produto_Loja. insert into produto_loja values ( 1,1,1,22.2); insert into produto_loja values ( 2,6,1,10); insert into produto_loja values ( 2,8,2,11.12); insert into produto_loja values ( 1,3,3,124.1); insert into produto_loja values ( 2,10,3,52.12); insert into produto_loja values ( 3,1,4,145.21);... // valores aleatórios respeitando a integridade... insert into produto_loja values ( 1,5,5,2.54); insert into produto_loja values ( 3,2,5,332.14); insert into produto_loja values ( 3,3,6,2.45); Figura 92: Script de Inserção na Tabela Produto_Loja

110 A figura 93 apresenta o script de inclusão de valores da tabela Vendedor. insert into vendedor values ( 1, 'Vendedor 1'); insert into vendedor values ( 2, 'Vendedor 2'); insert into vendedor values ( 3, 'Vendedor 3'); insert into vendedor values ( 4, 'Vendedor 4');... insert into vendedor values ( 47, 'Vendedor 47'); insert into vendedor values ( 48, 'Vendedor 48'); insert into vendedor values ( 49, 'Vendedor 49'); insert into vendedor values ( 50, 'Vendedor 50'); Figura 93: Script de Inserção na Tabela Vendedor A figura 94 apresenta o script de inclusão de valores da tabela Venda. insert into venda values (1,1,1,22.2,1); insert into venda values (1,2,6,10,2); insert into venda values (1,2,8,11.12,3); insert into venda values (2,1,5,2.54,7);... // valores aleatórios respeitando a integridade... insert into venda values (3,3,4,151.45,11); insert into venda values (3,3,5,129.77,12); insert into venda values (3,1,9,138.44,13); Figura 94: Script de Inserção na Tabela Venda