O documento descreve como criar tabelas de teste e inserir dados aleatórios nelas para fins de teste e demonstração. Ele cria uma tabela "Terrorista Actos" com 1000 linhas de dados aleatórios e outra tabela "País" com alguns países de exemplo. Ele também mostra como gerar números aleatórios que podem ser usados como dados fictícios, como nomes, números de telefone e códigos postais.
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
DDL Geral Tabelas de Teste
1. Tabelas de Teste | DDL Geral
Administração de Bases de Dados
Carlos Pampulim Caldeira
www.di.uevora.pt/~ccaldeira
www.linkedin.com/in/carlospampulimcaldeira
2. Registo de dados aleatórios - I
CREATE TABLE "Terrorista Actos"(
"Código" PRIMARY KEY,
"Grupo" NOT NULL,
"Data de Registo" NOT NULL,
"Descrição" NOT NULL) AS
SELECT rownum,
MOD(rownum, 5),
TO_DATE('1-jan-07', 'dd-mon-yy') + INTERVAL '1'
MINUTE * rownum,
CAST ('xyz' || rownum AS VARCHAR2(50))
FROM dual
CONNECT BY LEVEL <= 1000;
Table "terrorista actos" created.
3. DESC "Terrorista Actos"
Name Null Type
--------------- -------- ------------
Código NOT NULL NUMBER
Grupo NOT NULL NUMBER
Data de Registo NOT NULL DATE
Descrição NOT NULL VARCHAR2(50)
Registo de dados aleatórios - I
4. SELECT COUNT(*) AS "Nº Total de Actos"
FROM "Terrorista Actos";
Registo de dados aleatórios - I
9. SELECT
lpad(round(dbms_random.value*power(10,4)),4,0) || '-' ||
lpad(round(dbms_random.value*power(10,4)),4,0) || '-' ||
lpad(round(dbms_random.value*power(10,4)),4,0) || '-' ||
lpad(round(dbms_random.value*power(10,4)),4,0)
AS "Número do Cartão"
FROM dual
connect by level <=5;
Registo de dados aleatórios - I
Resultado Slide Seguinte
11. SELECT
'+' ||
round(DBMS_RANDOM.VALUE(1,999)) || '-' ||
round(DBMS_RANDOM.VALUE(30,99)) || '-' ||
round(DBMS_RANDOM.VALUE(1000000,9999999)) AS
"Número de Telefone"
FROM dual
connect by level <= 5;
Registo de dados aleatórios - I
Resultado Slide Seguinte
14. CREATE TABLE "País"
("Código" number PRIMARY KEY,
"País" varchar(80));
INSERT INTO "País" values (1,'Estados Unidos da América');
INSERT INTO "País" values (2,'Países Baixos');
INSERT INTO "País" values (3,'Reino Unido');
INSERT INTO "País" values (4,'Alemanha');
INSERT INTO "País" values (5,'Portugal');
INSERT INTO "País" values (6,'Espanha');
COMMIT;
Registo de dados aleatórios - I
15. SELECT
'+' || "Código" || '-' ||
round(dbms_random.value(10,99)) || '-' ||
round(DBMS_RANDOM.VALUE(100000,999999)) AS
"Número de Telefone"
FROM "País"
WHERE
"Código"=(SELECT round(DBMS_RANDOM.VALUE(1,6))
FROM dual);
Registo de dados aleatórios - I