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

Tamanho: px
Começar a partir da página:

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

Transcrição

1 Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. A possible solution to ensure, in APEX environment, the consistency of a total and disjunctive ISA structure. Nota introdutória: esta solução não é perfeita para todos os ambientes. Deve ser considerada apenas para ambiente Apex. Ler notas no fim deste documento. Introductory Note: This solution is not perfect for all environments. It must be considered for Apex environment only. Read notes at the end of this document. Seja então o conjunto de entidades pessoa, com os atributos bi_pessoa, nome_pessoa e morada_pessoa, tendo como chave bi_pessoa. Supondo que cada pessoa é obigatoriamente e em exclusivo, um cliente (com nr_cliente) ou um empregado (com data_entrada_empregado). Then be the set of pessoa entities, with the attributes bi_pessoa, nome_pessoa and morada_pessoa, having as key bi_pessoa. Assuming that each pessoa is strictly and exclusively, a client (with nr_cliente) or an empregado (with data_entrada_empregado). A solução passa pela criação de, para além das tabelas pessoa, cliente e empregado, duas views: uma v_cliente, contendo os atributos de pessoa e o atributo específico nr_cliente; a outra view, v_empregado, contém para além dos atributos de pessoa, aquele que é específico do conjunto empregado, a saber, data_entrada_empregado. Eis pois: The solution is to create, in addition to the pessoa, cliente and empregado tables, two views: a v_cliente, containing the attributes of the pessoa and the specific attribute in the cliente; The other view, v_empregado, contains, in addition to the attributes of pessoa, the one that is specific to the empregado, namely, data_entrada_empregado. Therefore,

2 drop table pessoa cascade constraints; create table pessoa(bi_pessoa number(8) not null, nome_pessoa varchar2(30) not null, morada_pessoa varchar2(30) not null, primary key (bi_pessoa)); drop table cliente cascade constraints; create table cliente(bi_pessoa number(8) not null,nr_cliente number(4) not null, unique (nr_cliente), primary key (bi_pessoa), foreign key (bi_pessoa) references pessoa ON DELETE CASCADE); drop table empregado cascade constraints; create table empregado(bi_pessoa number(8) not null,data_entrada_empregado date not null, primary key (bi_pessoa), foreign key (bi_pessoa) references pessoa ON DELETE CASCADE); create or replace view v_cliente as select bi_pessoa,nome_pessoa,morada_pessoa,nr_cliente from pessoa natural inner join cliente; create or replace view v_empregado as select bi_pessoa,nome_pessoa,morada_pessoa,data_entrada_empreg ado from pessoa natural inner join empregado; Criadas as views, é necessário criar triggers do tipo instead of sobre as views, com o propósito de: inserir primeiro em pessoa, depois em cliente (para o caso de v_cliente); update em pessoa e em cliente; e por fim, delete em pessoa, o que provoca automaticamente a remoção do tuplo correspondente em cliente (ver o pormenor ON DELETE CASCADE no commando de criação da tabela cliente). Outros 3 triggers semelhantes são definidos relativamente à view

3 v_empregado. Eis pois: Once the views are created, it is necessary to create "instead of" triggers on the views, with the purpose of: inserting first in pessoa, then in cliente (in the case of v_client); Update in pessoa and in cliente; And finally, delete in perssoa, which automatically causes the corresponding tuple to be removed from the cliente (see the "ON DELETE CASCADE" detail in the cliente table creation command). Another 3 similar triggers are defined relatively to the view v_empregado. Therefore, CREATE OR REPLACE TRIGGER ins_v_cliente INSTEAD OF INSERT ON v_cliente DECLARE bi number; SELECT count(*) into bi from pessoa where bi_pessoa = :new.bi_pessoa; if bi <1 then insert into pessoa(bi_pessoa,nome_pessoa,morada_pessoa) values (:new.bi_pessoa,:new.nome_pessoa,:new.morada_pessoa); insert into cliente(bi_pessoa,nr_cliente) values(:new.bi_pessoa,:new.nr_cliente); else RAISE_APPLICATION_ERROR(-20001,'Já existe uma pessoa com esse BI'); END IF; CREATE OR REPLACE TRIGGER up_v_cliente INSTEAD OF UPDATE ON v_cliente UPDATE pessoa SET nome_pessoa = :NEW.nome_pessoa, morada_pessoa = :NEW.morada_pessoa WHERE bi_pessoa = :NEW.bi_pessoa; UPDATE cliente SET nr_cliente = :NEW.nr_cliente

4 WHERE bi_pessoa = :NEW.bi_pessoa; CREATE OR REPLACE TRIGGER del_v_cliente INSTEAD OF DELETE ON v_cliente delete from pessoa where bi_pessoa = :old.bi_pessoa; CREATE OR REPLACE TRIGGER ins_v_empregado INSTEAD OF INSERT ON v_empregado DECLARE bi number; SELECT count(*) into bi from pessoa where bi_pessoa = :new.bi_pessoa; if bi <1 then insert into pessoa(bi_pessoa,nome_pessoa,morada_pessoa) values (:new.bi_pessoa,:new.nome_pessoa,:new.morada_pessoa); insert into empregado(bi_pessoa,data_entrada_empregado) values(:new.bi_pessoa,:new.data_entrada_empregado); else RAISE_APPLICATION_ERROR(-20001,'Já existe uma pessoa com esse BI'); END IF; CREATE OR REPLACE TRIGGER up_v_empregado INSTEAD OF UPDATE ON v_empregado UPDATE pessoa SET nome_pessoa = :NEW.nome_pessoa, morada_pessoa = :NEW.morada_pessoa WHERE bi_pessoa = :NEW.bi_pessoa; UPDATE empregado SET data_entrada_empregado =

5 :NEW.data_entrada_empregado WHERE bi_pessoa = :NEW.bi_pessoa; CREATE OR REPLACE TRIGGER del_v_empregado INSTEAD OF DELETE ON v_empregado delete from pessoa where bi_pessoa = :old.bi_pessoa; Criadas estas estruturas em SQL command, há que criar em apex uma página do tipo Form, mais concretamente Form on a table with report em que a tabela/view escolhida será v_cliente. Em define Report Page, editar: Implementation: Interactive; em Page Name: Relatório de Clientes; Em breadcrumbs: breadcrumb; em Parent key: inicio (a página inicial); Next; Em Define Report Page: Do not use tabs; Next. Em Define Report Page: selecionar todas as colunas; Next; Em create Report Page, aceitar o icon por defeito. Next. Em Define Form Page, editar: Page name: Criar/Editar clientes; em Region Title: Criar/Editar: clientes; Em Entry Name: Criar/Editar clientes. Next. Em primary Key: bi_pessoa; Next; Em Define the source for the primary key columns, seleccionar Existing Trigger ; Next; selecionar todas as colunas; next; Em identify Process Options, aceitar inserção, update e remoção. Next; Finish. Alterar o item bi_pessoa do form: Em Display as, escolher Number field em vez de hidden. If you create these structures in SQL command, you must create a page of the Form type, namely "Form on a table

6 with report", in which the chosen table / view will be v_cliente. Under Report Page, edit: Implementation: Interactive; In Page Name: Customer Report; In breadcrumbs: breadcrumb; In Parent key: "home" (the home page); Next; In Define Report Page: Do not use tabs; Next. Under Define Report Page: select all columns; Next; In create Report Page, accept the default icon. Next. In Define Form Page, edit: Page name: Create / Edit Clients; In Region Title: Create / Edit: clients; In Entry Name: Create / Edit Clients. Next. In primary Key: bi_pessoa; Next; In "Define the source for the primary key columns", select "Existing Trigger"; Next; Select all columns; Next; In identify Process Options, accept insertion, update, and removal. Next; Finish. Change the pessoa s bi_pessoa item: In Display as, choose "Number field" instead of hidden. 1ª nota final: esta solução não impede que, em ambiente SQL, fora do Apex, seja possível inserir um tuplo na tabela pessoa sem que seja inserido o correspondente tuplo na tabela cliente ou na tabela empregado. Uma solução que abrangesse este caso seria mais complexa e está fora do âmbito deste curso. No entanto, esta é uma solução que resolve o problema em ambiente Apex. 2ª Nota final: há que ter em conta que, de forma garantir que o tuplo relativo a uma pessoa não é inserido duas vezes, basta que o trigger instead_of insert on v_cliente seja definido simplesmente por First final note: This solution does not prevent a SQL instance outside Apex from inserting a tuple in the pessoa table without inserting the corresponding tuple in the cliente table or in the table empregado. A solution covering this case would be more complex and is out of the scope of this course. However, this is a solution that solves the problem in the Apex environment.

7 2. Final note: It should be taken into account that, in order to ensure that the tuple relative to a pessoa is not inserted twice, it suffices that the trigger instead_of insert on v_client is defined simply by CREATE OR REPLACE TRIGGER ins_v_cliente INSTEAD OF INSERT ON v_cliente insert into pessoa(bi_pessoa,nome_pessoa,morada_pessoa) values (:new.bi_pessoa,:new.nome_pessoa,:new.morada_pessoa); insert into cliente(bi_pessoa,nr_cliente) values(:new.bi_pessoa,:new.nr_cliente); O mesmo se aplica ao trigger instead_of insert on v_cliente mas com a devida adaptação. The same applies to the trigger instead_of insert on v_client but with the appropriate adaptation. A razão pela qual se definiu da forma indicada, reside na importância de chamar a atenção para a necessidade de, quando se desenham interfaces para o utilizador final (não informático), ser útil que este possa compreender as mensagens de erro, sem necessidade de saber o que são chaves primárias, etc.. Daí a mensagem sem pormenor técnico informático: 'Já existe uma pessoa com esse BI'. Contudo, é de referir que a técnica usada para este efeito e que consiste na consulta prévia à tabela pessoa, para verificar que o tuplo que se quer inserir não foi já inserido anteriormente, é uma técnica com um custo computacional que se deve evitar, havendo técnicas computacionalmente mais leves para o fazer. Porém, tais téncicas saem já fora do âmbito deste curso. The reason why it has been defined in the way indicated is that it is important to draw attention to the need, when designing interfaces for the end user (not a computer programmer), to be able to understand the error messages without needing to know what are primary keys, etc... Hence the message without technical

8 computer detail: Já existe uma pessoa com esse BI'. However, it should be noted that the technique used for this purpose, which consists of the previous consultation to the pessoa table, to verify that the tuple that is to be inserted has not been inserted previously, is a technique with a computational cost that must be avoided, if other computing techniques to do so in a computationally lighter way. However, such techniques are outside the scope of this course.

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

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA, total e disjuntiva. Seja então o conjunto de entidades pessoa, com os atributos bi_pessoa, nome_pessoa e morada_pessoa,

Leia mais

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

Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA total e disjuntiva. Uma solução possível para garantir, em ambiente APEX, a consistência duma estrutura ISA total e disjuntiva. A possible solution to ensure, in APEX environment, the consistency of a total and disjunctive

Leia mais

Guia para criar aplicações simples em APEX/ Guide to create simple Apex applications (parte II)

Guia para criar aplicações simples em APEX/ Guide to create simple Apex applications (parte II) Guia para criar aplicações simples em APEX/ Guide to create simple Apex applications (parte II) Segundo nível / Second level Criar duas funções: uma que dê quantos alugueres foram feitos por um socio.

Leia mais

Guia para criar aplicações simples em APEX/ Guide to create simple Apex applications (perte I)

Guia para criar aplicações simples em APEX/ Guide to create simple Apex applications (perte I) Guia para criar aplicações simples em APEX/ Guide to create simple Apex applications (perte I) Entrar em/ go to: bd2:priv.di.fct.unl.pt:8090/apex Depois de entrar verá / after entering you will see: Depois

Leia mais

Guião para criar aplicações simples em APEX (parte I) Guide to create simple Apex applications (part I)

Guião para criar aplicações simples em APEX (parte I) Guide to create simple Apex applications (part I) Guião para criar aplicações simples em APEX (parte I) Guide to create simple Apex applications (part I) O guião que se segue usará uma base de dados que decorre do seguinte DER: The following script will

Leia mais

Guião para criar aplicações simples em APEX (parte II) Guide to create simple Apex applications (part II)

Guião para criar aplicações simples em APEX (parte II) Guide to create simple Apex applications (part II) Guião para criar aplicações simples em APEX (parte II) Guide to create simple Apex applications (part II) Vamos criar duas funções: uma que devolve quantos alugueres foram feitos por sócio; outra que calcula

Leia mais

Guião para criar aplicações simples em APEX (parte II) Guide to create simple Apex applications (part II)

Guião para criar aplicações simples em APEX (parte II) Guide to create simple Apex applications (part II) Guião para criar aplicações simples em APEX (parte II) Guide to create simple Apex applications (part II) Vamos criar duas funções: uma que devolve quantos alugueres foram feitos por sócio; outra que calcula

Leia mais

Guião para criar aplicações simples em APEX (parte I) Guide to create simple Apex applications (part I)

Guião para criar aplicações simples em APEX (parte I) Guide to create simple Apex applications (part I) Guião para criar aplicações simples em APEX (parte I) Guide to create simple Apex applications (part I) O guião que se segue usará uma base de dados que decorre do seguinte DER: The following script will

Leia mais

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL.

SQL CREATE DATABASE. MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. LINGUAGEM SQL SQL CREATE DATABASE MySQL, SQL Server, Access, Oracle, Sybase, DB2, e outras base de dados utilizam o SQL. SQL CREATE TABLE SQL NOT NULL O valor NOT NULL obriga que o campo contenha sempre

Leia mais

VGM. VGM information. ALIANÇA VGM WEB PORTAL USER GUIDE June 2016

VGM. VGM information. ALIANÇA VGM WEB PORTAL USER GUIDE June 2016 Overview The Aliança VGM Web portal is an application that enables you to submit VGM information directly to Aliança via our e-portal Web page. You can choose to enter VGM information directly, or to download

Leia mais

SQL Gatilhos (Triggers)

SQL Gatilhos (Triggers) SQL Gatilhos (Triggers) Laboratório de Bases de Dados Gatilho (trigger) Bloco PL/SQL que é disparado de forma automática e implícita sempre que ocorrer um evento associado a uma tabela INSERT UPDATE DELETE

Leia mais

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

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I Considere o diagrama relacional da Figura 1 e escreva os comandos SQL para executar os exercícios abaixo. Figure 1 Diagrama relacional.

Leia mais

VGM. VGM information. ALIANÇA VGM WEB PORTAL USER GUIDE September 2016

VGM. VGM information. ALIANÇA VGM WEB PORTAL USER GUIDE September 2016 Overview The Aliança VGM Web portal is an application that enables you to submit VGM information directly to Aliança via our e-portal Web page. You can choose to enter VGM information directly, or to download

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Aula 9 Prof. Marcos Alexandruk Aula 9 Visões (Views) Visões regulares Visões materializadas Visões de objeto Uma visão (view) é uma representação lógica de uma ou mais tabelas.

Leia mais

'%'! $!0" $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,"/)!)+,/)% *! +,"0''% * %$!*!$$ #!"%&%'%'%$! "94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31?

'%'! $!0 $ 8 ' %%! % '! $ $$% + ' %!%$/)!'4!+,/)!)+,/)% *! +,0''% * %$!*!$$ #!%&%'%'%$! 94(# ' %'$%$$$%0%$%' *!% %%%'!**% > %% %%!31? MODELAGEM FÍSICA Capítulo 3! " # $ $!%%%& '$! $% $$%"%' ) ' *'!%'!$ $ $ $% +, %#!!" '$*'#%! $ $$%" % '$%!!% $% * % $ *-! %$% $!* '% $!$$.!'% & $%!% $ $ ' %/!$ 0 $*' $% *0 )#%!$0% 1&$$$%+#!*22,"$% )'%$$%%&

Leia mais

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

Definição do esquema da base de dados. o esquema da BD é composto pelas definições de todas as tabelas da BD. Definição do esquema da base de dados o esquema da BD é composto pelas definições de todas as tabelas da BD. existem outros elementos (views, índices, triggers) que também fazem parte do esquema e que

Leia mais

Linguagem SQL. Comandos Básicos

Linguagem SQL. Comandos Básicos Linguagem SQL Comandos Básicos Caetano Traina Júnior Grupo de Bases de Dados e Imagens Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo - São Carlos caetano@icmc.sc.usp.br Comando

Leia mais

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

Parte I (correspondente à matéria do 1º teste) 18 de junho de 2016 Bases de Dados (10640) Exame de Recurso, 2015/16 Uma proposta de resolução Grupo I.1 a) Parte I (correspondente à matéria do 1º teste) b) create table paises( create table europeus(

Leia mais

SQL (Tópicos) Structured Query Language

SQL (Tópicos) Structured Query Language SQL (Tópicos) Structured Query Language ISI Introdução aos Sistemas de Informação SQL (Tópicos) 1 SQL: componentes SQL / DDL (Data Definition Language) Permite definir os Esquemas de Relação Permite definir

Leia mais

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka

Aula de SQL Comandos DDL. André Luiz de Oliveira Eduardo Raul Hruschka Aula de SQL Comandos DDL André Luiz de Oliveira Eduardo Raul Hruschka E-mail: andre_luiz@icmc.usp.br erh@icmc.usp.br Agenda Instalação do MySQL e Workbench Comandos DDL Data Definition Language Criação

Leia mais

Comandos de Manipulação

Comandos de Manipulação SQL - Avançado Inserção de dados; Atualização de dados; Remoção de dados; Projeção; Seleção; Junções; Operadores: aritméticos, de comparação,de agregação e lógicos; Outros comandos relacionados. SQL SQL

Leia mais

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

Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações Capítulo 5: Integridade e Segurança Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações 1 Triggers Um trigger é um comando que é executado automaticamente pelo sistema,

Leia mais

Linguagem SQL (Parte II)

Linguagem SQL (Parte II) Universidade Federal de Sergipe Departamento de Sistemas de Informação Itatech Group Jr Softwares Itabaiana Site: www.itatechjr.com.br E-mail: contato@itatechjr.com.br Linguagem SQL (Parte II Introdução

Leia mais

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

Triggers e Regras. Fernando Lobo. Base de Dados, Universidade do Algarve Triggers e Regras Fernando Lobo Base de Dados, Universidade do Algarve 1 / 21 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

Introdução ao PostgreSQL

Introdução ao PostgreSQL Introdução ao PostgreSQL Fontes Karine Reis Ferreira karine@dpi.inpe.br Gilberto Câmara gilberto@dpi.inpe.br Gilberto Ribeiro de Queiroz gribeiro@dpi.inpe.br Marcos André Gonçalves - UFMG Parte 3 Aula

Leia mais

Utilizando o Postgres - comandos SQL para a manipulação de dados

Utilizando o Postgres - comandos SQL para a manipulação de dados Utilizando o Postgres - comandos SQL para a manipulação de dados SELECT A declaração SELECT é utilizada para selecionar os dados de um banco de dados. SELECT nome FROM clientes WHERE A cláusula WHERE é

Leia mais

#nao fazer #Só pode fazer para testar... drop database if exists modelo4; create database modelo4; use modelo4; #Auto_relacionamento #Pessoa = Conjuge = filho #Observar para Criticar #O que achou? # Deixando

Leia mais

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S )

A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S ) BANCO DE DADOS GERENCIAL 1 A U L A 1 0 C R I A N D O V I E W S V I E W S ( V I S Õ E S ) VIEW é uma instrução SQL que retorna dados e é salva no banco de dados com um nome, ou seja, passa a ser um objeto

Leia mais

Conceitos básicos. Funcionario SIAPE Nome Lotacao Cargo Salario Admissao

Conceitos básicos. Funcionario SIAPE Nome Lotacao Cargo Salario Admissao SQL Lúbia Vinhas Conceitos básicos En#dades: en4dade é uma coisa do mundo real, com uma existência independente. Atributos são as propriedades dessa coisa. Cada atributo está associado a um determinado

Leia mais

A U L A 8 C O N S U L T A S U N I N D O D U A S O U M A I S T A B E L A S P A R T E 2

A U L A 8 C O N S U L T A S U N I N D O D U A S O U M A I S T A B E L A S P A R T E 2 BANCO DE DADOS GERENCIAL 1 A U L A 8 C O N S U L T A S U N I N D O D U A S O U M A I S T A B E L A S P A R T E 2 Na aula passada, uma situação muito comum é, ao construirmos uma consulta (select), termos

Leia mais

14/9/2009. Banco de Dados

14/9/2009. Banco de Dados Banco de Dados Fernando Fonseca & Ana Carolina Salgado Roteiro Analisar Minimundo Criar Esquema no SGBD Oracle Script criacaotabelas.sql em http://www.cin.ufpe.br/~fdfd/dinter/sql Inserir dados no banco

Leia mais

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados>

BANCO DE DADOS. Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE <nome_banco_de_dados> BANCO DE DADOS 1. Scripts de criação de banco de dados Para a criação de um banco de dados, através de scripts SQL, deve-se usar a seguinte sintaxe: CREATE DATABASE Onde:

Leia mais

Rápida revisão do Modelo Relacional

Rápida revisão do Modelo Relacional Rápida revisão do Modelo Relacional Conceito de relação Tuplas e atributos Rápida revisão do Modelo Relacional Regras de integridade Entidade: Deve existir uma chave primária com valor único e não-nulo.

Leia mais

Marcos Alexandruk Marcos Alexandruk

Marcos Alexandruk Marcos Alexandruk Marcos Alexandruk m.alexandruk@gmail.com Apresentação disponível em: www.dba.net.br/mysql.pdf Parte I: Download e Instalação MySQL - Download www.mysql.com/downloads MySQL - Download MySQL - Download MySQL

Leia mais

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

Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações Capítulo 5: Integridade e Segurança Restrições ao Domínio Integridade Referencial Asserções Triggers Segurança e Autorizações 1 Restrições ao Domínio As restrições de integridade impõem-se para garantir

Leia mais

Banco de Dados. Professora: Luciana Faria

Banco de Dados. Professora: Luciana Faria Banco de Dados Professora: Luciana Faria Introdução ao linguagem é a SQL (Structured Query Language) Linguagem de Consulta Estruturada Para se utilizar, administrar, e trabalhar com um banco de dados é

Leia mais

Teste Exemplo Revisão da tentativa 1

Teste Exemplo Revisão da tentativa 1 Teste Exemplo Revisão da tentativa 1 Iniciado em: Quinta, 6 Dezembro 2007, 21:31 Completado em: Quinta, 6 Dezembro 2007, 21:48 Tempo gasto: 16 minutos 53 segundos Classificação: 8/20 (40% Nota: 8 sobre

Leia mais

Tarefa Orientada 17 Scripts

Tarefa Orientada 17 Scripts Tarefa Orientada 17 Scripts Objectivos: Declaração de variáveis escalares Declaração de variáveis do tipo tabela Tabelas temporárias Estruturas Condicionais Estruturas de Repetição Tratamento de erros

Leia mais

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

PSI Linguagem de Definição de dados. Módulo 15 PSI Linguagem de Definição de dados Módulo 15 Objetivos de aprendizagem No final deste módulo os alunos devem ter adquirido conhecimentos, procedimentos e atitudes que lhe permitam: Criação, alteração

Leia mais

Tabelas. Banco de Dados I MySQL

Tabelas. Banco de Dados I MySQL FACULDADE ANGLO AMERICANO FOZ DO IGUAÇU Curso de Ciência da Computação 5º Período Disciplina: Banco de Dados I Prof. Erinaldo Sanches Nascimento Tabelas Banco de Dados I MySQL Linguagem de Definição de

Leia mais

Como Mudar a Senha do Roteador Pelo IP o.1.1. Configure e Altere a Senha do seu Roteador acessando o IP Acesse o Site e Confira!

Como Mudar a Senha do Roteador Pelo IP o.1.1. Configure e Altere a Senha do seu Roteador acessando o IP Acesse o Site e Confira! Como Mudar a Senha do Roteador Pelo IP 192.168.o.1.1. Configure e Altere a Senha do seu Roteador acessando o IP 192.168.1.1. Acesse o Site e Confira! If you are using the IP address 192.168.0.1.1, take

Leia mais

Bases de Dados. DDL Data Definition Language

Bases de Dados. DDL Data Definition Language Bases de Dados DDL Data Definition Language SQL SQL = Structured Query Language Foi originalmente criada pela IBM nos anos 70 como parte de um protótipo de sistema relacional Posteriormente foi implementada

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com 02/06/2016 SUMÁRIO SQL DDL DML SQL (STRUCTURED

Leia mais

SQL Básica. Andre Noel

SQL Básica. Andre Noel SQL Básica Andre Noel Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Introdução A SQL é um dos principais motivos de sucesso dos BDs relacionais comerciais Se tornou

Leia mais

Triggers(Gatilhos) Tiago Alves de Oliveira

Triggers(Gatilhos) Tiago Alves de Oliveira Triggers(Gatilhos) Tiago Alves de Oliveira tiago.alves@uemg.br Triggers (Gatilhos) Um TRIGGER ou gatilho associado a uma tabela, definido para ser disparado, respondendo a um evento em particular; Comandos

Leia mais

NOTA INFORMATIVA. 1. Enquadramento

NOTA INFORMATIVA. 1. Enquadramento NOTA INFORMATIVA Assunto: Aplicação do Artigo 95.º do Regulamento (CE) n.º 528/2012, de 22 de maio, relativo ao acesso ao dossier da substância ativa. Atualização dos procedimentos da DGAV para a autorização

Leia mais

SQL: Definição de tabelas, Modificações à Base de Dados

SQL: Definição de tabelas, Modificações à Base de Dados SQL: Definição de tabelas, Modificações à Base de Dados Fernando Lobo Base de Dados, Universidade do Algarve 1 / 24 Definição do esquema da base de dados O esquema da BD é composto pelas definições de

Leia mais

PURCHASE-TO-PAY SOLUTIONS

PURCHASE-TO-PAY SOLUTIONS PURCHASE-TO-PAY SOLUTIONS May 2015 SaphetyDoc - RELEASE NOTES 6.1.4.8 Offer Management SaphetyDoc - RELEASE NOTES 6.1.4.8. SaphetyDoc s release 6.1.4.8 will start production phase in 13/05/2015. PDF format:

Leia mais

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

MODELAGEM DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc. MODELAGEM DE DADOS -INTRODUÇÃO AO SQL Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br INTRODUÇÃO AO SQL Ferramentas brmodelo Ferramenta Case PostgreSQL versão 8 ou superior SGBD Em 1986 o

Leia mais

Statecharts Yakindu Tool

Statecharts Yakindu Tool Statecharts Yakindu Tool 1 Agenda Introduction Installing Modeling Simulation Practice 2 https://www.itemis.com/en/yakindu/statechart-tools/ 3 Features Modeling Syntax checking Simulation Integration with

Leia mais

Normalização: (Uma tabela muito Normalizada significa que ele é muito bem feita, e muito relacionado) 5FN (Somente 10% dos DBAs dos ADs conseguem ) A normalização de dados é uma série de passos que se

Leia mais

Basic SharePoint Server 2013 Branding (55081)

Basic SharePoint Server 2013 Branding (55081) Basic SharePoint Server 2013 Branding (55081) Formato do curso: Presencial Preço: 850 Nível: Avançado Duração: 12 horas Este curso de 2 dias, destina-se a todos os interessados em customizar o aspecto

Leia mais

Triggers em SQLite. Fernando Lobo. Base de Dados, Universidade do Algarve

Triggers em SQLite. Fernando Lobo. Base de Dados, Universidade do Algarve Triggers em SQLite Fernando Lobo Base de Dados, Universidade do Algarve 1 / 15 Triggers Um trigger permite que uma determinada sequência de comandos SQL seja accionada quando um determinado evento ocorre.

Leia mais

SQL - Structured Query Language. Karine Reis Ferreira

SQL - Structured Query Language. Karine Reis Ferreira SQL - Structured Query Language Karine Reis Ferreira karine@dpi.inpe.br SQL - Structured Query Language n n Linguagem padrão (ISO) para sistemas de bancos de dados É uma linguagem declarativa de alto nível

Leia mais

Prof. Josenildo Silva

Prof. Josenildo Silva BD II (SI 587) Gatilhos (Triggers) Prof. Josenildo Silva jcsilva@ifma.edu.br Motivação Algumas rotinas precisam ser executadas antes ou depois de um determinado evento no banco de dados Motivação Regras

Leia mais

Banco de Dados I Introdução SQL

Banco de Dados I Introdução SQL Banco de Dados I Introdução SQL Frederico Queiroga fredericoqueiroga@gmail.com https://sites.google.com/site/fredericoqueiroga/ Linguagem SQL Aspectos Gerais: Independência do fabricante: Está incorporada

Leia mais

Addition of Fields in Line Item Display Report Output for TCode FBL1N/FBL5N

Addition of Fields in Line Item Display Report Output for TCode FBL1N/FBL5N Addition of Fields in Line Item Display Report Output for TCode FBL1N/FBL5N Applies to: Any business user who uses the transactions FBL1N and FBL5N to display line item reports for vendors and customers.

Leia mais

AULA 8 EXEMPLOS CRIAR AS TABELAS PROPOSTAS NA AULA E INSERIR OS REGISTROS SUGERIDOS

AULA 8 EXEMPLOS CRIAR AS TABELAS PROPOSTAS NA AULA E INSERIR OS REGISTROS SUGERIDOS AULA 8 EXEMPLOS CRIAR AS TABELAS PROPOSTAS NA AULA E INSERIR OS REGISTROS SUGERIDOS CREATE TABLE classificacao ( codigocla integer PRIMARY KEY, nomecla VARCHAR(40 NOT NULL CREATE TABLE materiais ( codigomat

Leia mais

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT

Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT Sumário: 1) Trabalhando com Constraints: - NOT NULL - UNIQUE - PRIMARY KEY - FOREIGN KEY - DEFAULT 2) Componentes do Select: - DISTINCT - WHERE - AND e OR - ORDER BY 2) Visão Geral - A SQL é dividida em

Leia mais

f. Exemplo: verificar condição de aprovação de alunos

f. Exemplo: verificar condição de aprovação de alunos Tecnologia em Análise e Desenvolvimento de Sistemas Disciplina: B1SGB - Sistemas Gerenciadores de Banco de Dados Memória de aula Semana 17 1) Expressões CASE a. Tem a mesma finalidade que nas linguagens

Leia mais

Fundamentos de Banco de Dados Postgre com Sql

Fundamentos de Banco de Dados Postgre com Sql Fundamentos de Banco de Dados Postgre com Sql Prof. Luiz Claudio Ferreira de Souza Prof. Luiz Claudio F. de Souza 1 Obtenha os Slids no endereço www.luizclaudiofs.blogspot.com Prof. Luiz Claudio F. de

Leia mais

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011

Banco de Dados I. Aula 16 - Prof. Bruno Moreno 04/11/2011 Banco de Dados I Aula 16 - Prof. Bruno Moreno 04/11/2011 Plano de Aula O comando DELETE Cláusula CHECK Comparações utilizando NULL Funções agregadas Junções de tabelas em SQL Visões Comando DELETE DELETE

Leia mais

WHILE = 0 -- Enquanto não é o fim do cursor, execute.

WHILE = 0 -- Enquanto não é o fim do cursor, execute. 98 where cod_variavel 'V0101' union select rtrim(cod_variavel), 'IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N''[dbo].[DIM_'+rtrim(COD_VARIAVEL)+']'') AND type in (N''U''))'

Leia mais

ESTUDO DE CASO EM PL/SQL

ESTUDO DE CASO EM PL/SQL ESTUDO DE CASO EM PL/SQL O sistema de pedidos da XDK Esportes. Vamos criar um pequeno sistema de pedidos para uma loja de esportes, vamos implementar as regras de um negócio utilizando a linguagem PL/SQL

Leia mais

CANape/vSignalyzer. Data Mining and Report Examples Offline Analysis V

CANape/vSignalyzer. Data Mining and Report Examples Offline Analysis V CANape/vSignalyzer Data Mining and Report Examples Offline Analysis V16.0 2018-07-30 Offline Evaluation Tools On-line Tools CANalyzer. Messages CANoe. Messages CANape. Signals Off-line Tools vsignalyzer

Leia mais

Regras de Negócios é com o Elefante!

Regras de Negócios é com o Elefante! Regras de Negócios é com o Elefante! HARDWARE SOFTWARE Pesquisa Quantas camadas? Regras na Aplicação? Regras numa Camada Intermediária? Regras no Banco de Dados? Explain / Plano de Consulta? E as minhas

Leia mais

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas

Banco de dados. Conteúdo: DDL Prof. Patrícia Lucas Banco de dados Conteúdo: DDL Prof. Patrícia Lucas O mysql MySQL Workbench é uma ferramenta de design de banco de dados visual que integra o desenvolvimento SQL, administração, design de banco de dados,

Leia mais

Administração de Banco de Dados

Administração de Banco de Dados Administração de Banco de Dados Aula 6 Prof. Marcos Alexandruk Aula 6 Estruturas lógicas do Oracle: Tabelas tabelas relacionais tabelas temporárias tabelas organizadas por índices tabelas de objetos tabelas

Leia mais

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

Banco de Dados Loja Virtual. CLIENTE(ClienteId, PrimNome, UltNome, Endereço, Cidade, Cep, Telefone) Banco de Dados Loja Virtual 1) Modelo Conceitual 2) Modelo Lógico Relacional CLIENTE(ClienteId, PrimNome, UltNome, Endereço, Cidade, Cep, Telefone) COMPRA(CompraId, ClienteId, DataCompra, DataEntrega,

Leia mais

Transacções. Vitor Vaz da Silva

Transacções. Vitor Vaz da Silva Transacções Vitor Vaz da Silva Em produto nome é único A quantidade é decrescida do mesmo valor que acresce a gastou create table Cozinha( id int IDENTITY(5,2), nome varchar(20), primary key(id) ) create

Leia mais

Progress DCA Desenvolvendo Aplicações Caracter Parte 1

Progress DCA Desenvolvendo Aplicações Caracter Parte 1 Progress DCA Desenvolvendo Aplicações Caracter Parte 1 Tecnologia 1 Agenda Parte 1 Introdução ao Progress Movimentação dos Dados Manipulando os Dados Blocos Localizando Registros Variáveis Processamento

Leia mais

Subsistema de Integridade Semântica

Subsistema de Integridade Semântica Restrições de Integridade Semântica Controle de valores válidos para os dados estados dos dados condizentes com os requisitos da aplicação transições de estados corretas O SGBD deve controlar esta integridade

Leia mais

Sistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL

Sistemas de Informação e Bases de Dados 2012/2013. Restrições de Integridade em SQL Sistemas de Informação e Bases de Dados 2012/2013 Restrições de Integridade em SQL Alberto Sardinha Bibliografia Raghu Ramakrishnan, Database Management Systems, Cap. 3 e 5 1 Captura e Tratamento das RIs

Leia mais

Tarefa Orientada 19 Triggers

Tarefa Orientada 19 Triggers Tarefa Orientada 19 Triggers Objectivos: Criar triggers AFTER Criar triggers INSTEAD OF Exemplos de utilização Os triggers são um tipo especial de procedimento que são invocados, ou activados, de forma

Leia mais

Manipulação de Dados com SQL

Manipulação de Dados com SQL Manipulação de Dados com SQL Wendel Melo Faculdade de Computação Universidade Federal de Uberlândia www.facom.ufu.br/~wendelmelo Banco de Dados I manipulação de dados com SQL 2 Structured Query Language

Leia mais

Banco de Dados Avançados Banco de Dados Ativo

Banco de Dados Avançados Banco de Dados Ativo Universidade Federal de Pernambuco Centro de Informática Banco de Dados Avançados Banco de Dados Ativo Equipe: Felipe Cavalcante Fernando Kakimoto Marcos Corrêa Sumário 1. Mini-Mundo... 3 1.1 Entidades...

Leia mais

SQL. Prof. Roger Cristhian Gomes

SQL. Prof. Roger Cristhian Gomes SQL Prof. Roger Cristhian Gomes SQL SQL - Structured Query Language Linguagem de acesso e manipulação de sistemas de base de dados computacionais que segue o padrão ANSI Existem diferenças entre as versões

Leia mais

Fundamentos de Bases de Dados e-fólio B

Fundamentos de Bases de Dados e-fólio B 21053 - Fundamentos de Bases de Dados 2017-2018 e-fólio B PARA A RESOLUÇÃO DO E-FÓLIO, ACONSELHA-SE QUE LEIA ATENTAMENTE O SEGUINTE: 1) O e-fólio é constituído por 5 perguntas. A cotação global é de 5

Leia mais

Ordenação de tuplos order by

Ordenação de tuplos order by Bases de Dados Elementos da linguagem SQL Ordenação de tuplos order by A cláusula order by permite ordenar tuplos exemplo: listar por ordem alfabética os nomes dos clientes com empréstimo na agência de

Leia mais

Vaporpunk - A fazenda-relógio (Portuguese Edition)

Vaporpunk - A fazenda-relógio (Portuguese Edition) Vaporpunk - A fazenda-relógio (Portuguese Edition) Octavio Aragão Click here if your download doesn"t start automatically Vaporpunk - A fazenda-relógio (Portuguese Edition) Octavio Aragão Vaporpunk - A

Leia mais

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR SQL Structured Query Language, ou Linguagem de Consulta Estruturada, foi desenvolvida pela IBM nos anos 70 para demonstrar a viabilidade do modelo relacional para bancos de dados. No final dos anos 80

Leia mais

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g

Atualização e Inserção de Dados. SQL Avançado. Pedro F. Carvalho OCP Oracle g Pedro F. Carvalho OCP Oracle 2008.2 10g SQL Avançado Atualização e Inserção de Dados Comando INSERT Sumário Inclusão simples, inclusão de dados com SELECT Comando UPDATE Alteração simples, alteração usando

Leia mais

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013

Aplicações - SQL. Banco de Dados: Teoria e Prática. André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Aplicações - SQL Banco de Dados: Teoria e Prática André Santanchè e Luiz Celso Gomes Jr Instituto de Computação UNICAMP Agosto de 2013 Picture by Steve Kelley 2008 SQL SQL Structured Query Language Originalmente:

Leia mais

L Q S m e g a u g n Li A

L Q S m e g a u g n Li A A Linguagem SQL Introdução Originalmente proposta para o System R desenvolvido nos laboratórios da IBM na década de 70 SEQUEL (Structured English QUEry Language) Objeto de um esforço de padronização coordenado

Leia mais

Serviços: API REST. URL - Recurso

Serviços: API REST. URL - Recurso Serviços: API REST URL - Recurso URLs reflectem recursos Cada entidade principal deve corresponder a um recurso Cada recurso deve ter um único URL Os URLs referem em geral substantivos URLs podem reflectir

Leia mais

INSERT INTO shop VALUES (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),(3,'C',1.69), (3,'D',1.25),(4,'D',19.95);

INSERT INTO shop VALUES (1,'A',3.45),(1,'B',3.99),(2,'A',10.99),(3,'B',1.45),(3,'C',1.69), (3,'D',1.25),(4,'D',19.95); Aqui segue exemplos de como resolver alguns dos problemas mais comuns do MySQL. Algum dos exemplos usam a tabela de compras, coloque os preços de cada artigo (número de item) de cada negociante. Supondo

Leia mais

Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas

Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas Capítulo 4: SQL Linguagem de Definição de Dados Estrutura básica Operações com conjuntos Funções de agregação Valores nulos Subconsultas embebidas Relações derivadas Junções Vistas Modificação da Base

Leia mais

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS

TECNOLOGIA EM SISTEMAS PARA INTERNET PROJETO DE BANCO DE DADOS Exemplos de Scripts SQL (PostgreSQL) Pizzaria 1 2 Criação de BANCO DE DADOS CREATE DATABASE nome_do_banco; CREATE DATABASE pizzaria; Criação de TABELAS SOMENTE COM CHAVE PRIMÁRIA CREATE TABLE nome_da_tabela

Leia mais

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas

Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas DI-FCT/UNL 6 de junho de 2018 Sistemas de Bases de Dados 2.º teste (com consulta limitada: 2 folhas identificadas) - Duração: 2 horas Nome: Grupo 1 (7 valores) 1 a) Quais são as 4 propriedades ACID que

Leia mais

Computação e Programação 2009 / 2010

Computação e Programação 2009 / 2010 Computação e Programação 2ª Aula de Problemas Instituto Superior Técnico, Dep. de Engenharia Mecânica - ACCAII Exercícios Resolvidos [Livro 1] (Ver referências no slide 20) 3.3 Write a program to convert

Leia mais

Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas)

Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas) Exame de Recurso de Base de Dados Universidade do Algarve 03/Fev/2005, (duração: 2 horas) Este exame consiste em 16 perguntas de escolha múltipla. Para todas as questões existe apenas 1 resposta correcta.

Leia mais

Linguagem SQL Restrições, Triggers e Views

Linguagem SQL Restrições, Triggers e Views FACULDADE INGÁ Unidade de Ensino Superior Ingá Ltda Ciência da Computação Linguagem SQL Restrições, Triggers e Views Prof. Erinaldo Sanches Nascimento Objetivos Especificar restrições mais gerais sobre

Leia mais

BR localization: Hotfix 003. Technical documentation Documentação Técnica Version Dec 12, de Dezembro de 2018

BR localization: Hotfix 003. Technical documentation Documentação Técnica Version Dec 12, de Dezembro de 2018 ENTERPRISE MANAGEMENT BR localization: Hotfix 003 Technical documentation Documentação Técnica Version 11.10.0 Dec 12, 2018 12 de Dezembro de 2018 Contents Prerequisites 3 Patch Installation 4 Instructions

Leia mais

Importar e Exportar Dados

Importar e Exportar Dados Importar e Exportar Dados Administração de Base de Dados OBJECTIVOS: Definir comandos e formatos Definir restrições (constraints) DEFINIÇÃO DO ESQUEMA DA BASE DE DADOS O esquema da BD e composto pelas

Leia mais

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010

Sumário. SQL - Criação de Tabelas. Structured Query Language. SQL Versões. André Restivo. October 18, 2010 Sumário SQL - Criação de Tabelas André Restivo Faculdade de Engenharia da Universidade do Porto October 18, 2010 1 Introdução 2 Tabelas 3 Colunas 4 5 Modificação de Tabelas 6 Domínios André Restivo (FEUP)

Leia mais

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

Banco de Dados. Diego Silveira Costa Nascimento. 20 de março de Instituto Federal do Rio Grande do Norte Banco de Dados Diego Silveira Costa Nascimento Instituto Federal do Rio Grande do Norte diego.nascimento@ifrn.edu.br 20 de março de 2015 Ementa do Curso 1 Introdução 2 Abordagem Entidade-relacionamento

Leia mais

ALTERANDO O NOME DA TABELA ALTER TABLE DEPTO RENAME TO TAB_DEPARTAMENTO

ALTERANDO O NOME DA TABELA ALTER TABLE DEPTO RENAME TO TAB_DEPARTAMENTO --CRIACAO DE TABELAS CREATE TABLE TAB_PAIS (COD_PAIS VARCHAR2 (2) NOT NULL, NOME_PAIS VARCHAR2(50) NOT NULL, POP_PAIS NUMBER (12,2), CONSTRAINT PK_PAIS PRIMARY KEY (NOME_PAIS) ); CREATE TABLE TAB_ESTADO

Leia mais