Você está na página 1de 18

Gerenciamento/ Desenvolvimento de Banco de Dados

Prof. Denilson

Introduo SQL(Structured Query Language) e ao SGBD

ORACLE

Empresa fundada no final da dcada de 70 e que comercializou, quando ningum pensava nisso, um sistema de banco de dados conhecido como Relational Software, mais tarde Oracle, um dos Sistemas Gerenciadores de Banco de Dados mais utilizados atualmente. Este sistema pode ser instalado tanto em alta como em baixa plataforma e temos as verses atuais como Oracle 10g e 11g. Existe uma verso gratuita Oracle 10g Express Edition (Oracle XE) que pode ser adquirido atravs do site: www.oracle.com.br

ORACLE Instalao:
necessrio fazer um cadastro no site da Oracle para baixar a verso gratuita (ORACLE XE). Durante a instalao ser solicitado a criao de uma senha. No esquea esta senha, pois voc precisar dela para acessar o banco de dados. Pelo Windows, por exemplo, voc pode acessar o banco de dados em INICIAR TODOS OS PROGRAMAS ORACLE DATABASE EXECUTAR LINHAS DE COMANDOS SQL se voc for utilizar linhas de comandos pelo prompt.

OU
INICIAR TODOS OS PROGRAMAS ORACLE DATABASE IR PARA A HOME PAGE DE BANCO DE DADOS se voc for trabalhar no modo grfico.
4

AMBIENTE DE TRABALHO Primeiramente vamos utilizar as linhas de comando no prompt de comando. necessrio se conectar ao banco de dados atravs do comando: SQL> connect nome_do_usuario/senha Onde: nome_do_usuario o nome padro do ORACLE: system e a senha aquela que voc criou no momento da instalao. Alguns comandos teis: Listar todos os usurios: SELECT * FROM ALL_USERS; Listar todas as tabelas: SELECT TABLE_NAME FROM USER_TABLES; Agora vamos testar alguns comandos:

SELECT SYSDATE FROM DUAL;


SELECT SYSTIMESTAMP FROM DUAL; SELECT (5*40)/4 + 17 FROM DUAL;
5

CRIANDO UMA TABELA NOMENCLATURA DE COLUNAS E TABELAS:

No utilizar caracteres especiais (exceto o underline _); Comear com uma letra e no com um nmero; Evitar acentuao e ; No utilizar espaos.
Utilizaremos comandos da categoria DDL (Data Definition Language) do SQL para construirmos a estrutura da tabela:

CREATE TABLE nomeTabela ( nomeColuna1 tipo restrio, nomeColunan tipo restrio);


Para verificarmos a estrutura da tabela:

DESCRIBE nomeTabela; ou DESC nomeTabela;


6

TIPOS DE DADOS:
char(n): Aceita caracteres com tamanho 1 at 2000 caracteres. varchar(n): Aceita caracteres de tamanho varivel com valor mximo de 2000 caracteres. varchar2(n): Aceita caracteres de tamanho varivel com valor mximo de 4000 caracteres. number(n,d): Valores numricos tipo inteiro ou com casas decimais. date: Armazena data. timestamp: Armazena data e hora. sysdate: Armazena a data atual do sistema.
7

TIPOS DE RESTRIES (CONSTRAINT):

NULL ou NOT NULL: Para receber ou no valores nulos. UNIQUE: Os valores no podem ser repetidos. CHECK: Especifica os valores que uma coluna pode assumir. Ex: idade NUMBER(3) check (idade >= 16);
DEFAULT: Determina um valor padro para a coluna. Ex: dtAdmissao date default sysdate; PRIMARY KEY: Cria a chave primria.

MANUTENO EM TABELAS:

Para incluirmos uma nova coluna (campo) na tabela:


ALTER TABLE nomeTabela ADD (nomeColuna tipo restrio); Para modificarmos uma coluna existente na tabela:

ALTER TABLE nomeTabela MODIFY (nomeColuna tipo restrio);


Para excluirmos uma coluna existente na tabela: ALTER TABLE nomeTabela DROP (nomeColuna);

MANUTENO EM TABELAS: Para alterar o nome de uma coluna (campo) na tabela:

ALTER TABLE nomeTabela RENAME COLUMN nomeCampo TO novoNomeCampo; Para alterar o nome da tabela:
ALTER TABLE nomeTabela RENAME TO novoNomeTabela; Para excluirmos uma tabela:

DROP TABLE nomeTabela;

10

CHAVE PRIMRIA (PRIMARY KEY PK): (CONSTRAINT)


Para declarar uma chave primria: CREATE TABLE tabelaA ( coluna1 NUMBER(5), coluna2 VARCHAR2(30), CONSTRAINT tabelaA_pk PRIMARY KEY(coluna1));

Declarando de forma simplificada:


CREATE TABLE tabelaA ( coluna1 NUMBER(5) PRIMARY KEY, coluna2 VARCHAR2(30));

Declarando mais de um campo como chave primria:


CREATE TABLE tabelaA ( coluna1 NUMBER(5), coluna2 NUMBER(2), CONSTRAINT tabelaA_pk PRIMARY KEY(coluna1,coluna2));
11

CHAVE ESTRANGEIRA (FOREIGN KEY FK): (CONSTRAINT) Campo que estabelece o relacionamento entre duas tabelas. Corresponde chave primria da tabela original. Declarando uma chave estrangeira ( NECESSRIO CRIAR A tabelaA, coluna1 EM PRIMEIRO LUGAR): CREATE TABLE tabelaB ( coluna1 NUMBER(5), coluna2 NUMBER(5), CONSTRAINT tabelaB_pk PRIMARY KEY (coluna1), CONSTRAINT tabelaB_coluna2_fk FOREIGN KEY(coluna2) REFERENCES tabelaA (coluna1)); ON DELETE SET NULL: Quando for removido um valor da tabela original (onde chave primria) o Oracle define os valores correspondentes da tabela onde o campo chave estrangeira como NULL. ON DELETE CASCADE: Quando for removido um valor da tabela original (onde chave primria) o Oracle remove os valores correspondentes da tabela onde o campo chave estrangeira.

12

CHAVE ESTRANGEIRA (FOREIGN KEY FK): (CONSTRAINT)


Exemplo de ON DELETE SET NULL: CREATE TABLE tabelaB ( coluna1 NUMBER(5), coluna2 NUMBER(5), CONSTRAINT tabelaB_pk PRIMARY KEY(coluna1), CONSTRAINT tabelaB_coluna2_fk FOREIGN KEY(coluna2) REFERENCES tabelaA(coluna1) ON DELETE SET NULL); Exemplo de ON DELETE CASCADE: CREATE TABLE tabelaB ( coluna1 NUMBER(5), coluna2 NUMBER(5), CONSTRAINT tabelaB_pk PRIMARY KEY(coluna1), CONSTRAINT tabelaB__coluna2_fk FOREIGN KEY(coluna2) REFERENCES tabelaA(coluna1) ON DELETE CASCADE);

13

CHAVE ESTRANGEIRA (FOREIGN KEY FK): (CONSTRAINT)


Eliminar restries (constraint) : ALTER TABLE nomeTabela DROP CONSTRAINT nomeTabela_campo_fk; Se for eliminar uma tabela com as clusulas CONSTRAINT e REFERENCES criadas nesta tabela, o Oracle no executar o comando DROP TABLE por motivo de segurana. Dever ser utilizado as clusulas CASCADE CONSTRAINTS: DROP TABLE nomeTabela CASCADE CONSTRAINTS;

14

Dicionrio de Dados:
Nome da tabela: Funcionario Campo: Tipo: Tamanho: codFunc nomeFunc salario Inteiro Caracter Nmero 3 50 10,2 Restrio: Chave primria No nulo No nulo

Nome da tabela: Projeto Campo: Tipo: numProj


codFunc

Tamanho:

Restrio:

Inteiro
Inteiro

2
3

Chave primria
Chave estrangeira

15

Criando a tabela Funcionario: Tabela Funcionrio: Com a forma clssica de declarar restries (constraint): CREATE TABLE Funcionario( codFunc NUMBER(3) constraint funcionario_pk PRIMARY KEY, nomeFunc VARCHAR2(50) constraint funcionario_nome_nu NOT NULL, salario NUMBER(10,2) constraint funcionario_salario_nu NOT NULL); ou Com declarao simplificada das restries: CREATE TABLE Funcionario( codFunc NUMBER(3) PRIMARY KEY, nomeFunc VARCHAR2(50) NOT NULL, salario NUMBER(10,2) NOT NULL); - Crie a tabela Projeto e responda as questes da atividade:

16

ATIVIDADE Formule os comandos para a manuteno de tabela: ** Responder escrevendo os comandos e entregar 1 Incluir a coluna telefone com 12 caracteres, no nula, na tabela funcionrio: 2 Alterar o tamanho do campo nomeFunc para 70 caracteres: 3 Alterar a coluna telefone para nmeros inteiros: 4 Alterar a coluna salrio para aceitar valores nulos: 5 Incluir o campo email com 30 caracteres na tabela funcionrio: 6 Trocar o nome do campo salario para sal: 7 Trocar o nome da tabela funcionario para o nome empregado:

17

ATIVIDADE 8 Incluir a coluna idade para aceitar idade maior ou igual 16: 9 Incluir o campo data de admisso para aceitar a data do sistema como padro: 10 Excluir o campo telefone: 11 Excluir a tabela empregado:

18

Você também pode gostar