SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
ADMINISTRAÇÃO DE BASES DE DADOS
Views
Como forma de controlo no acesso aos dados
Carlos Pampulim Caldeira
www.di.uevora.pt/~ccaldeira
www.ecologiadosdados.com/
www.linkedin.com/in/carlospampulimcaldeira
Tabela Colaborador
CREATE TABLE ccaldeira."Colaborador"
("Número" INTEGER,
"Nome" VARCHAR2(100) NOT NULL,
"Data de Nascimento" DATE NOT NULL,
"Vencimento" NUMBER NOT NULL,
CONSTRAINT "cp_Colaborador" PRIMARY KEY ("Número"))
TABLESPACE "UNIVERSIDADE";
CREATE VIEW ccaldeira."Funcionário"
("Número", "Nome", "Data de Nascimento")
AS SELECT "Número", "Nome", "Data de
Nascimento“ FROM ccaldeira."Colaborador"
Tabela Colaborador
SELECT * FROM ccaldeira."Funcionário";
INSERT INTO ccaldeira."Funcionário" VALUES(1000, 'Tótó',
TO_DATE('2003/05/03'));
Erro na inserção dados pela view
Error starting at line : 15 in command -
INSERT INTO ccaldeira."Funcionário" VALUES(1000, 'Tótó',
TO_DATE('2003/05/03'))
Error report -
SQL Error: ORA-01400: cannot insert NULL into
("CCALDEIRA"."Colaborador"."Vencimento")
01400. 00000 - "cannot insert NULL into (%s)"
*Cause: An attempt was made to insert NULL into previously listed
objects.
*Action: These objects cannot accept NULL values.
UPDATE ccaldeira."Funcionário" SET "Nome" = 'Pato Malvado'
WHERE "Número" = 999;
Log:
1 rows updated.
SELECT * FROM ccaldeira."Colaborador";
View modifica tabela de base
CREATE VIEW ccaldeira."Funcionário" ("Número", "Nome", "Data
de Nascimento","Ordenados<2000")
AS SELECT "Número", "Nome", "Data de Nascimento",
"Vencimento"
FROM ccaldeira."Colaborador"
WHERE "Vencimento" < 2000;
View Funcionário com partição horizontal
SELECT * FROM ccaldeira."Funcionário";
View Funcionário com partição horizontal

Mais conteúdo relacionado

Mais de Carlos Pampulim Caldeira

Mais de Carlos Pampulim Caldeira (19)

SQL e Transações
SQL e TransaçõesSQL e Transações
SQL e Transações
 
DBA | Tabelas de teste
DBA | Tabelas de testeDBA | Tabelas de teste
DBA | Tabelas de teste
 
Google BigQuery
Google BigQueryGoogle BigQuery
Google BigQuery
 
Administração de bases de dados introdução
Administração de bases de dados   introduçãoAdministração de bases de dados   introdução
Administração de bases de dados introdução
 
Ambiente de exploração oracle
Ambiente de exploração oracleAmbiente de exploração oracle
Ambiente de exploração oracle
 
Gestão da Aplicação
Gestão da AplicaçãoGestão da Aplicação
Gestão da Aplicação
 
Oracle | Estatísticas
Oracle | EstatísticasOracle | Estatísticas
Oracle | Estatísticas
 
Custo Execução de Queries
Custo Execução de QueriesCusto Execução de Queries
Custo Execução de Queries
 
User Management
User ManagementUser Management
User Management
 
Database Performance
Database PerformanceDatabase Performance
Database Performance
 
Data Availability
Data AvailabilityData Availability
Data Availability
 
Alterações na Base de Dados
Alterações na Base de DadosAlterações na Base de Dados
Alterações na Base de Dados
 
Revisão do Desenho da Base de Dados - Design Review
Revisão do Desenho da Base de Dados - Design ReviewRevisão do Desenho da Base de Dados - Design Review
Revisão do Desenho da Base de Dados - Design Review
 
Sistema Spares
Sistema SparesSistema Spares
Sistema Spares
 
Administração de Base de Dados: Desenho da Aplicação
Administração de Base de Dados: Desenho da AplicaçãoAdministração de Base de Dados: Desenho da Aplicação
Administração de Base de Dados: Desenho da Aplicação
 
Database Design
Database DesignDatabase Design
Database Design
 
Apontamentos de Html
Apontamentos de HtmlApontamentos de Html
Apontamentos de Html
 
Lição Modelo Dimensional
Lição Modelo DimensionalLição Modelo Dimensional
Lição Modelo Dimensional
 
Introducao a Redes de Computadores
Introducao a Redes de ComputadoresIntroducao a Redes de Computadores
Introducao a Redes de Computadores
 

Views | Controlo de acesso aos dados

  • 1. ADMINISTRAÇÃO DE BASES DE DADOS Views Como forma de controlo no acesso aos dados Carlos Pampulim Caldeira www.di.uevora.pt/~ccaldeira www.ecologiadosdados.com/ www.linkedin.com/in/carlospampulimcaldeira
  • 2. Tabela Colaborador CREATE TABLE ccaldeira."Colaborador" ("Número" INTEGER, "Nome" VARCHAR2(100) NOT NULL, "Data de Nascimento" DATE NOT NULL, "Vencimento" NUMBER NOT NULL, CONSTRAINT "cp_Colaborador" PRIMARY KEY ("Número")) TABLESPACE "UNIVERSIDADE"; CREATE VIEW ccaldeira."Funcionário" ("Número", "Nome", "Data de Nascimento") AS SELECT "Número", "Nome", "Data de Nascimento“ FROM ccaldeira."Colaborador"
  • 3. Tabela Colaborador SELECT * FROM ccaldeira."Funcionário";
  • 4. INSERT INTO ccaldeira."Funcionário" VALUES(1000, 'Tótó', TO_DATE('2003/05/03')); Erro na inserção dados pela view Error starting at line : 15 in command - INSERT INTO ccaldeira."Funcionário" VALUES(1000, 'Tótó', TO_DATE('2003/05/03')) Error report - SQL Error: ORA-01400: cannot insert NULL into ("CCALDEIRA"."Colaborador"."Vencimento") 01400. 00000 - "cannot insert NULL into (%s)" *Cause: An attempt was made to insert NULL into previously listed objects. *Action: These objects cannot accept NULL values.
  • 5. UPDATE ccaldeira."Funcionário" SET "Nome" = 'Pato Malvado' WHERE "Número" = 999; Log: 1 rows updated. SELECT * FROM ccaldeira."Colaborador"; View modifica tabela de base
  • 6. CREATE VIEW ccaldeira."Funcionário" ("Número", "Nome", "Data de Nascimento","Ordenados<2000") AS SELECT "Número", "Nome", "Data de Nascimento", "Vencimento" FROM ccaldeira."Colaborador" WHERE "Vencimento" < 2000; View Funcionário com partição horizontal
  • 7. SELECT * FROM ccaldeira."Funcionário"; View Funcionário com partição horizontal