Você está na página 1de 28

ORACLE E SQL

Cristiane Raquel Woszezenki (cristianerw@unesc.net)

TPICOS ABORDADOS
Oracle
Estrutura do Oracle Tipos de dados

SQL
Componentes Operaes CREATE Operaes ALTER TABLE Operaes INSERT Operaces UPDATE Operaces DELETE
2

ESTRUTURA DO ORACLE
Fsica: datafiles (estruturas fsicas compatveis com o Sistema Operacional no qual o Oracle executado). Lgica: tablespaces (unidades de armazenamento lgicas que armazenam os objetos de esquemas de BD)
Tabelas, vises, ndices, sinnimos, procedimentos, etc

Um banco de dados formado por um ou mais tablespaces Cada tablespace formado por um ou mais datafiles
3

ESTRUTURA DO ORACLE
Tablespaces

ESTRUTURA DO ORACLE
Tablespaces
Blocos: nmero especfico de bytes em disco Extenses: nmero especfico de blocos de dados contguos Segmentos: conjunto de extenses alocado para determinada estrutura lgica (dados de uma tabela, ndices, temporrio, etc)

ESTRUTURA DO ORACLE
Tablespaces

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 usurio
aconselhvel no misturar dados de aplicativos no mesmo tablespace. Em resumo, aplicao separada corresponde a tablespace separado.

A criao de mltiplos tablespaces permite administrar melhor o espao e desempenho do banco de dados

ESTRUTURA DO ORACLE
Imagine um banco de dados como um fichrio:
as gavetas dentro do fichrio so os tablespaces; as pastas nessas gavetas so os arquivos de dados; os papis em cada pasta so as tabelas; a informao escrita no papel de cada pasta so os dados.

Em resumo, o tablespace um modo de agrupar arquivos de dados.

ESTRUTURA DO ORACLE
Tablespaces existentes
SYSTEM e SYS Obrigatria de todo banco Oracle. Onde o Oracle armazena todas as informaes necessrias para o seu prprio gerenciamento. Contm o dicionrio de dados. UNDO armazena informaes a desfazer. Utilizada para recuperar transaes incompletas ou abortadas. TEMP tabelas temporrias. Rascunho do Oracle. USERS padro dos objetos dos usurios SYSAUX auxiliar da tablespace SYSTEM. Criada para resolver alguns gargalos

TIPOS DE DADOS
Principais tipos de dados suportados
CHAR(n) : utilizado para armazenar strings de caracteres de tamanho fixo. Suportam at 2000 caracteres. O tamanho definido por n VARCHAR2(n): utilizado para armazenar strings que variam de 1 at 4000 caracteres. NUMBER(p,s): utilizado para armazenar nmeros com preciso (p) e escala (s). A preciso o total de dgitos de um valor e a escala o nmero de dgitos direita do ponto decimal. No necessrio informar p e s. Neste caso, o valor tratado como inteiro.
Subtipos: DECIMAL, NUMERIC, FLOAT, DOUBLE PRECISION

10

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

11

SQL
Structured Query Language Linguagem de consulta no-procedural banco de dados, formada pela combinao de construtores em lgebra relacional e clculo relacional Padronizada por:
ANSI (American National Standards Institute) ISO (International Standards Organization)

Organizao do padro:
Ncleo (core): implementado por todos SGBD SQL Pacotes (packages): mdulos adicionais (data mining, dados espaciais, dados temporais, data warehousing, OLAP, dados multimdia, etc.)

12

SQL
Componentes
DDL
Definies de esquemas de BD Especificaes de regras de integridade e consistncia Restries de acesso Definies de bloqueios para controle de concorrncia

DML
Inseres de dados Modificaes de dados Excluses de dados Consultas de dados
13

SQL
Operaes CREATE
Criando as tabelas
CREATE TABLE Nome ( atributo TIPO CONDIES/RESTRIES );

Exemplo:
CREATE TABLE PAISES ( cod_pais NUMBER PRIMARY KEY, nome VARCHAR2(60) NOT NULL, );

14

SQL
Operaes CREATE
Restries de integridade (CONSTRAINTS):
Chave primria NOT NULL Check Chave estrangeira

Exemplos:
CREATE TABLE filmes( cod_filme NUMBER PRIMARY KEY, titulo VARCHAR2(100) NOT NULL, duracao NUMBER NOT NULL CHECK (duracao > 0) cod_pais NUMBER NOT NULL, FOREIGN KEY (cod_pais) REFERENCES paises (cod_pais) )

15

SQL
Operaes CREATE
Restries de integridade (CONSTRAINTS):
Chave primria NOT NULL Check Chave estrangeira

Exemplos:
CREATE TABLE sessoes( cod_filme NUMBER NOT NULL, CHAVE PRIMRIA COMPOSTA cod_cinema NUMBER NOT NULL, data_hora TIMESTAMP NOT NULL, taxa NUMBER(4,2) NOT NULL, publico NUMBER, PRIMARY KEY (cod_filme, cod_cinema, data_hora), FOREIGN KEY (cod_filme) REFERENCES filmes (cod_filme) )

16

SQL
Operaes CREATE
Restries de integridade (CONSTRAINTS):
Aes baseadas na integridade referencial NO ACTION (default)
As chaves especificadas no podem ser atualizadas ou excludas (enquanto houver um empregado associado ao depto 20, este no pode ser excludo)

DELETE CASCADE
Se excluirmos o depto 20 e houverem empregados associados a ele, todos estes empregados sero excludos tambm

DELETE SET NULL


Se tentarmos excluir o depto 20 e houverem empregados associados a ele, em cada tupla, de cada empregado, a coluna que faz referencia ao depto ser setada para NULL
17

SQL
Operaes CREATE
Restries de integridade (CONSTRAINTS):
Aes baseadas na integridade referencial

Exemplo:
CREATE TABLE empregado( cod_emp NUMBER NOT NULL, nome VARCHAR2(100) NOT NULL, cod_depto NUMBER NOT NULL, PRIMARY KEY (cod_emp), FOREIGN KEY (cod_depto) REFERENCES deptos (cod_depto) ON DELETE CASCADE ); 18

SQL
Operaes ALTER TABLE
Adicionando coluna

Exemplo:
ALTER TABLE Filmes ADD classificacao NUMBER

19

SQL
Operaes ALTER TABLE
Removendo coluna

Exemplo:
ALTER TABLE Filmes DROP (classificacao);

20

SQL
Operaes ALTER TABLE
Modificando coluna

Exemplo:
ALTER TABLE Filmes MODIFY (titulo VARCHAR2(100));

21

SQL
Operaes ALTER TABLE
Adicionando restrio

Exemplo:
ALTER TABLE Filmes ADD CONSTRAINT verifica_duracao CHECK (duracao > 0 );

22

SQL
Operaes ALTER TABLE
Removendo restrio

Exemplo:
ALTER TABLE Filmes DROP CONSTRAINT verifica_duracao;

23

SQL
Operaes ALTER TABLE
Adicionando chaves
Exemplo:
ALTER TABLE Filmes ADD PRIMARY KEY (cod_filme); ALTER TABLE Filmes ADD FOREIGN KEY (cod_pais) REFERENCES Paises (cod_pais); ALTER TABLE Filmes ADD CONSTRAINT fk_cod_pais FOREIGN KEY (cod_pais) REFERENCES Paises (cod_pais);

24

SQL
Operaes INSERT
Inserindo dados no banco

Exemplo:
INSERT INTO Estados (uf, estado) VALUES (RS, Rio Grande do Sul); INSERT INTO Cidades (cod_cidade, uf, (1, RS, Porto Alegre) cidade) VALUES

25

SQL
Operaes UPDATE
Atualizando dados no banco

Exemplo:
Atualiza o registro cujo cdigo 2:
UPDATE Paises SET pais = Brasil WHERE cod_pais = 2

Atualiza todos os registros:


UPDATE Paises SET pais = Brasil

26

SQL
Operaes DELETE
Removendo dados do banco

Exemplo:
Remove o registro cujo cdigo 2:
DELETE FROM Paises WHERE cod_pais = 2

Remove todos os registros:


DELETE FROM Paises

27

EXERCCIOS
Monte o script SQL para a base de dados Cinemas:

28