You are on page 1of 28

ORACLE E SQL

1

Cristiane Raquel Woszezenki (cristianerw@unesc.net)

TÓPICOS ABORDADOS
Oracle
Estrutura do Oracle Tipos de dados

SQL
Componentes Operações CREATE Operações ALTER TABLE Operações INSERT Operacões UPDATE Operacões DELETE
2

Lógica: tablespaces (unidades de armazenamento lógicas que armazenam os objetos de esquemas de BD) Tabelas. procedimentos. etc Um banco de dados é formado por um ou mais tablespaces Cada tablespace é formado por um ou mais datafiles 3 . índices. sinônimos. visões.ESTRUTURA DO ORACLE Física: datafiles (estruturas físicas compatíveis com o Sistema Operacional no qual o Oracle é executado).

ESTRUTURA DO ORACLE Tablespaces 4 .

índices.ESTRUTURA DO ORACLE Tablespaces Blocos: número específico de bytes em disco Extensões: número específico de blocos de dados contíguos Segmentos: conjunto de extensões alocado para determinada estrutura lógica (dados de uma tabela. temporário. etc) 5 .

ESTRUTURA DO ORACLE Tablespaces 6 .

ESTRUTURA DO ORACLE Objetos do mesmo esquema pode estar em tablespaces diferentes Um tablespace pode conter objetos de esquemas diferentes É adequado criar um tablespace para o armazenamento de dados do usuário É aconselhável não misturar dados de aplicativos no mesmo tablespace. Em resumo. A criação de múltiplos tablespaces permite administrar melhor o espaço e desempenho do banco de dados 7 . aplicação separada corresponde a tablespace separado.

8 . o tablespace é um modo de agrupar arquivos de dados.ESTRUTURA DO ORACLE Imagine um banco de dados como um fichário: as gavetas dentro do fichário são os tablespaces. a informação escrita no papel de cada pasta são os dados. os papéis em cada pasta são as tabelas. Em resumo. as pastas nessas gavetas são os arquivos de dados.

USERS – padrão dos objetos dos usuários SYSAUX – auxiliar da tablespace SYSTEM. Onde o Oracle armazena todas as informações necessárias para o seu próprio gerenciamento. UNDO – armazena informações a desfazer. Rascunho do Oracle. Utilizada para recuperar transações incompletas ou abortadas. TEMP – tabelas temporárias.ESTRUTURA DO ORACLE Tablespaces existentes SYSTEM e SYS – Obrigatória de todo banco Oracle. Contém o dicionário de dados. Criada para resolver alguns gargalos 9 .

Não é necessário informar p e s. Suportam até 2000 caracteres. Neste caso. o valor é tratado como inteiro. Subtipos: DECIMAL. NUMERIC.s): utilizado para armazenar números com precisão (p) e escala (s). FLOAT. A precisão é o total de dígitos de um valor e a escala é o número de dígitos à direita do ponto decimal.TIPOS DE DADOS Principais tipos de dados suportados CHAR(n) : utilizado para armazenar strings de caracteres de tamanho fixo. O tamanho é definido por n VARCHAR2(n): utilizado para armazenar strings que variam de 1 até 4000 caracteres. NUMBER(p. DOUBLE PRECISION 10 .

TIMESTAMP: inclui informações de data e hora no intervalo de 1 de Janeiro de 4712 A. 11 .C.C até 31 de Dezembro de 9999 D.C até 31 de Dezembro de 9999 D.TIPOS DE DADOS Principais tipos de dados suportados DATE: armezena datas no intervalo de 1 de Janeiro de 4712 A.C.

) 12 .SQL Structured Query Language Linguagem de consulta não-procedural à banco de dados. formada pela combinação de construtores em álgebra relacional e cálculo relacional Padronizada por: ANSI (American National Standards Institute) ISO (International Standards Organization) Organização do padrão: Núcleo (core): implementado por todos SGBD SQL Pacotes (packages): módulos adicionais (data mining. dados temporais. etc. OLAP. dados espaciais. data warehousing. dados multimídia.

SQL Componentes DDL Definições de esquemas de BD Especificações de regras de integridade e consistência Restrições de acesso Definições de bloqueios para controle de concorrência DML Inserções de dados Modificações de dados Exclusões de dados Consultas de dados 13 .

14 .SQL Operações CREATE Criando as tabelas CREATE TABLE Nome ( atributo TIPO CONDIÇÕES/RESTRIÇÕES ). nome VARCHAR2(60) NOT NULL. Exemplo: CREATE TABLE PAISES ( cod_pais NUMBER PRIMARY KEY. ).

duracao NUMBER NOT NULL CHECK (duracao > 0) cod_pais NUMBER NOT NULL. FOREIGN KEY (cod_pais) REFERENCES paises (cod_pais) ) 15 .SQL Operações CREATE Restrições de integridade (CONSTRAINTS): Chave primária NOT NULL Check Chave estrangeira Exemplos: CREATE TABLE filmes( cod_filme NUMBER PRIMARY KEY. titulo VARCHAR2(100) NOT NULL.

cod_cinema. data_hora). PRIMARY KEY (cod_filme.2) NOT NULL.SQL Operações CREATE Restrições de integridade (CONSTRAINTS): Chave primária NOT NULL Check Chave estrangeira Exemplos: CREATE TABLE sessoes( cod_filme NUMBER NOT NULL. taxa NUMBER(4. CHAVE PRIMÁRIA COMPOSTA cod_cinema NUMBER NOT NULL. data_hora TIMESTAMP NOT NULL. FOREIGN KEY (cod_filme) REFERENCES filmes (cod_filme) ) 16 . publico NUMBER.

em cada tupla. este não pode ser excluído) DELETE CASCADE Se excluirmos o depto 20 e houverem empregados associados a ele. de cada empregado. a coluna que faz referencia ao depto será setada para NULL 17 . todos estes empregados serão excluídos também DELETE SET NULL Se tentarmos excluir o depto 20 e houverem empregados associados a ele.SQL Operações CREATE Restrições de integridade (CONSTRAINTS): Ações baseadas na integridade referencial NO ACTION (default) As chaves especificadas não podem ser atualizadas ou excluídas (enquanto houver um empregado associado ao depto 20.

cod_depto NUMBER NOT NULL. FOREIGN KEY (cod_depto) REFERENCES deptos (cod_depto) ON DELETE CASCADE ). PRIMARY KEY (cod_emp). nome VARCHAR2(100) NOT NULL.SQL Operações CREATE Restrições de integridade (CONSTRAINTS): Ações baseadas na integridade referencial Exemplo: CREATE TABLE empregado( cod_emp NUMBER NOT NULL. 18 .

SQL Operações ALTER TABLE Adicionando coluna Exemplo: ALTER TABLE Filmes ADD classificacao NUMBER 19 .

20 .SQL Operações ALTER TABLE Removendo coluna Exemplo: ALTER TABLE Filmes DROP (classificacao).

21 .SQL Operações ALTER TABLE Modificando coluna Exemplo: ALTER TABLE Filmes MODIFY (titulo VARCHAR2(100)).

22 .SQL Operações ALTER TABLE Adicionando restrição Exemplo: ALTER TABLE Filmes ADD CONSTRAINT verifica_duracao CHECK (duracao > 0 ).

23 .SQL Operações ALTER TABLE Removendo restrição Exemplo: ALTER TABLE Filmes DROP CONSTRAINT verifica_duracao.

SQL Operações ALTER TABLE Adicionando chaves Exemplo: ALTER TABLE Filmes ADD PRIMARY KEY (cod_filme). ALTER TABLE Filmes ADD CONSTRAINT fk_cod_pais FOREIGN KEY (cod_pais) REFERENCES Paises (cod_pais). 24 . ALTER TABLE Filmes ADD FOREIGN KEY (cod_pais) REFERENCES Paises (cod_pais).

estado) VALUES (‘RS’.SQL Operações INSERT Inserindo dados no banco Exemplo: INSERT INTO Estados (uf. INSERT INTO Cidades (cod_cidade. ‘Rio Grande do Sul’). ‘RS’. uf. ‘Porto Alegre’) cidade) VALUES 25 . (1.

SQL Operações UPDATE Atualizando dados no banco Exemplo: Atualiza o registro cujo código é 2: UPDATE Paises SET pais = ‘Brasil’ WHERE cod_pais = 2 Atualiza todos os registros: UPDATE Paises SET pais = ‘Brasil’ 26 .

SQL Operações DELETE Removendo dados do banco Exemplo: Remove o registro cujo código é 2: DELETE FROM Paises WHERE cod_pais = 2 Remove todos os registros: DELETE FROM Paises 27 .

EXERCÍCIOS Monte o script SQL para a base de dados Cinemas: 28 .