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"
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