Académique Documents
Professionnel Documents
Culture Documents
O que ?
Conceito abstrato que define maneiras de armazenar, manipular e recuperar dados estruturados unicamente na forma de tabelas, construindo um bando de dados.
3/5/2013
Viso Padro
3/5/2013
Integridade Referencial
3/5/2013
Constraints
Not Null, Unique, Primary Key, Foreign Key e Check.
Definies de regras.
3/5/2013
SQL
Linguagem de pesquisa declarativa para banco de dados relacional. Caractersticas inspiradas na lgebra relacional. Padro de banco de dados. Simplicidade e facilidade de uso. Uma consulta SQL especifica a forma do resultado e no o caminho para chegar a ele. Pode ser migrado de plataforma para plataforma sem mudanas estruturais principais.
3/5/2013
SQL
Consulta a dados Insero, atualizao e deleo das linhas de uma tabela Criao, substituio, alterao e eliminao de objetos Controle de acesso ao banco de dados e seus objetos Garantia de consistncia e integridade do banco de dados.
3/5/2013
3/5/2013
DDL
Definio de novas tabelas e elementos associados. Os comandos bsicos so: CREATE DROP
3/5/2013
Tipos de Colunas
Quando se cria uma tabela necessrio especificar o tipo de dados das colunas e a sua dimenso. Esta determina o comprimento mximo que podem ter os valores nela armazenados.
VARCHAR2 (n) Armazena uma cadeia de caracteres de comprimento varivel. O valor mximo de n so 4000 bytes. O Oracle s guarda o que o utilizador introduzir no preenchendo o que falta para o limite n. Se usarmos BYTE n traduz o nmero de bytes;
Footer Text 3/5/2013 10
Tipos de Colunas
CHAR(n) Caracteres de comprimento fixo n. O valor por omisso 1 sendo o valor mximo 2000. A base de dados ocupa sempre n caracteres pois preenche o que falta com espaos em branco; NUMBER(n,d) Nmero com n digitos sendo d casas dcimais ( direita da virgula);
Footer Text
3/5/2013
11
Tipos de Colunas
DATE Data desde 1 Jan de 4712 AC at 31 de Dez de 9999 DC. Tambm armazenada a hora, minuto e segundo. O calendrio interno da base de dados tem em conta as alteraes de calendrio impostas ao longo do tempo, por exemplo a passagem do calendrio Juliano para Gregoriano em 1582-10-05, onde foram eliminados 10 dias;
Footer Text
3/5/2013
12
Tipos de Colunas
VARCHAR2 surgiu na verso 7 para substituir VARCHAR Se criar uma coluna com o tipo VARCHAR o SGBD converte em VARCHAR2 Quando insere valores do tipo VARCHAR2 o ORACLE no preenche espaos em branco no fim. Isto significa que JOSE e JOSE sero strings diferentes. Se os valores fossem do tipo CHAR o ORACLE acrescentava espaos no fim automaticamente; Quando um valor a introduzir numa coluna excede a sua dimenso a base de dados emite uma mensagem de erro;
Footer Text
3/5/2013
13
DML
Realizado para realizar incluses, consultas, alteraes e excluses de dados presentes em registros. Pode ser executado em diversos registros de diversas tabelas ao mesmo tempo. Os comandos so: INSERT SELECT UPDATE DELETE
Treinar Informtica : Oracle 3/5/2013 14
DCL
Controla os aspectos de autorizao de dados e licenas de usurios para controlar quem tem acesso para ver ou manipular dados dentro do banco de dados. Os comandos so : GRANT REVOKE
3/5/2013
15
DTL
Prprio nome ja diz: controle de transao de dados. Os comandos so: BEGIN WORK (ou START TRANSACTION, dependendo do dialeto SQL) COMMIT ROLLBACK
3/5/2013
16
DQL
a mais utilizada Possui apenas um comando : SELECT Esse comando possui vrias clusulas: FROM WHERE GROUP BY HAVING ORDER BY DISTINCT
3/5/2013
17
DQL
Operadores lgicos: AND OR NOT Operadores Relacionais: < > <= >=
Treinar Informtica : Oracle 3/5/2013 18
DQL
Operadores Relacionais: = <> BETWEEN LIKE IN
DQL
Funes de Agregao: SUM MAX MIN
3/5/2013
20
3/5/2013
21
3/5/2013
22
Footer Text
3/5/2013
23
3/5/2013
24
Footer Text
3/5/2013
26
3/5/2013
27
3/5/2013
28
3/5/2013
29
3/5/2013
30
3/5/2013
31
3/5/2013
32
3/5/2013
33
3/5/2013
34
3/5/2013
35
3/5/2013
36
3/5/2013
37
3/5/2013
38
Modelo de Dados
um subconjunto do modelo de implementao que descreve a representao lgica e fsica dos dados persistentes no sistema. Abrange qualquer comportamento definido no banco de dados, como procedimentos armazenados, triggers, restries etc. O designer de banco de dados responsvel pela integridade do modelo de dados, garantindo que ele esteja correto, consistente e compreensvel como um todo.
3/5/2013
39
Modelo de Dados
Precisa ser adaptado semntica do banco de dados, que pode variar um pouco entre RDBMSes. Os sistemas de Bancos de Dados de Objetos possuem semnticas bem diferentes.
3/5/2013
40
Joins
Significa Unir ou Unio Utilizamos quando precisamos buscar dados em outras tabelas desde que satisfaa as condiespara isso. Funciona em qualquer banco de dados relacional. Existem 3 tipos de Joins: LEFT RIGHT INNER
3/5/2013
41
Joins
LEFT JOIN o banco de dados ir analisar a estrutura da tabela da direita e comparar com a tabela da esquerda .
3/5/2013
42
Joins
Na primeira situao temos o Left Join, a seta est apontando para a tabela FUNCIONARIOS simbolizando que a precedncia da tabela da esquerda. RIGHT JOIN Tambm conhecido apenas por JOIN, dependncia da tabela da Direita. INNER JOIN Oberva se existem registros combinados em ambas as tabelas, ou seja, para que um registro seja includo na lista de resultados, o campo de ligao entre as duas tabelas deve satisfazer as condies de ambas.
Treinar Informtica : Oracle 3/5/2013 43
Functions
A function usada para fazer um processamento e retornar o resultado deste processamento, ou seja, uma function obrigatoriamente precisa retornar um valor. Uma function pode ser de nica linha ou de vrias linhas. preciso criar um tipo para que nossa function saiba o que retornar, ja que dentro de um tipo temos um ou vrios atributos. Esses atributos so os valores que vamos retornar na nossa function.
3/5/2013
44
Functions
Exemplo function com nica linha : CREATE OR REPLACE FUNCTION DIA_SEMANA (DATA DATE) RETURN DIA AS VARCHAR2(20); BEGIN SELECT DIA_SEM INTO RESULT FROM TABELA_DIAS_ANO WHERE DATA_ANO = DATA RETURN; END;
Treinar Informtica : Oracle 3/5/2013 45
Functions
Exemplo function vrios dados. (Script exemplo aula)
3/5/2013
46
Funes de Caracter
Sua forma de utilizao bem simples: s precisa saber o nome da funo que precisa trabalhar e os argumentos que utilizar.
Falaremos de algumas funes de caracter conhecidas e para isso usaremos a tabela de teste DUAL do ORACLE. A tabela DUAL permite ser utilzada por vrios usurios do banco. ela contm apenas uma linha e uma coluna. Este objeto muito utilizado para fazer testes.
Treinar Informtica : Oracle 3/5/2013 47
Funes de Caracter
Funo LOWER Retorna a informao do campo com caixa baixa(letras minsculas). Funo UPPER Retorna a informao do campo com caixa baixa(letras minsculas). Funo INITCAP Retorna o primeiro caractere em maisculo. Funo CONCAT Concatena campos
Treinar Informtica : Oracle 3/5/2013 48
Funes de Caracter
Funo SUBSTR Conta a partir do X caractere y caracteres Substr(campo,X,Y) X posio Y quantidade que vai contar Funo LPAD Joga o contedo disponvel do campo para esquerda SELECT LPAD(SAL,10,*) FROM EMP2; LPAD(Campo,nmero , caractere);
3/5/2013
49
Funes de Caracter
Funo RPAD Joga o contedo disponvel do campo para direita Funo TRIM Tira os espaos do campo Funo REPLACE Analisa a string de caracteres mencionada na funo e substitui por outra string que foi especificada; SELECT REPLACE(JACK AND JUE,J,BL) FROM DUAL;
3/5/2013
50
Funes de Data
Com o Oracle possvel obter uma srie de resultados a partir de uma ou mais datas, como por exemplo verificar o ltimo dia do ms ou verificar a quantidade de meses entre duas datas, etc. Data atual do sistema: SYSDATE Remover meses de uma data: ADD_MONTHS(SYSDATE, -1) Adicionar meses de uma data: ADD_MONTHS(SYSDATE, +1) Buscar o ltimo dia do ms: LAST_DAY(SYSDATE) Primeiro dia do ms: TRUNC(SYSDATE, MONTH)
Treinar Informtica : Oracle 3/5/2013 51
Funes de Data
Quantidade de meses entre duas datas: MONTHS_BETWEEN(SYSDATE, 27/07/1982) Primeiro dia do ano: TRUNC(SYSDATE, YEAR) Dias da semana: DECODE( TO_NUMBER( TO_CHAR (SYSDATE, D) ) ,1, domingo ,2, segunda-feira ,3, tera-feira ,4, quarta-feira ,5, quinta-feira ,6, sexta-feira ,7,sbado )
Treinar Informtica : Oracle 3/5/2013 52
3/5/2013
53
Outras Funes
INSTR Pesquisa a posio de um caracter dentro de uma string. A funo retorna um inteiro indicando a posio do primeiro caractere localizado na string. SELECT INSTR(THIS IS A TEST, IS) FROM DUAL; TRANSLATE Substitui uma seqncia de caracteres em uma string com um outro conjunto de caracteres. No entanto, importante destacar que ele substitui um nico caractere de cada vez. SELECT TRANSLATE(Mississippi, s, S) FROM dual;
Treinar Informtica : Oracle 3/5/2013 54
Outras Funes
MEDIAN A ideia da mediana separar a distribuio em duas partes iguais. Para calcular essa medida, inicialmente os dados devem ser ordenados. A mediana corresponder ao ponto do meio da distribuio. Em nosso exemplo, se ordenarmos as punies de forma ascendente, teremos o seguinte conjunto de valores: 1, 2, 3, 3, 4, 4, 4. Nesse caso, o valor 3 a mediana, pois ele quem separa a distribuio em duas partes (1, 2, 3 e 4 , 4, 4). No SGBD Oracle, a funo MEDIAN (disponvel a partir do Oracle 10) responsvel por realizar o clculo da mediana.
Treinar Informtica : Oracle 3/5/2013 55
Outras Funes
MODA A moda a medida de tendncia central que consiste no valor mais frequente em uma distribuio. Para obter a moda da varivel PUNICAO no SQL do Oracle, basta utilizar a funo STATS_MODE.
O resultado 4, pois, a maioria das punies (3 casos) foi de 4 jogos para os jogadores expulsos.
Footer Text 3/5/2013 56
Outras Funes
GREATEST Funo que ir retornar o maior valor de uma lista. No confundir com MAX. greatest(2, 5, 12, 3) -> retorna 12 greatest(2, 5, 12, 3) -> retorna 5 greatest(apples, oranges, bananas) -> retorna oranges greatest(apples, applis, applas) -> retorna applis
3/5/2013
57
Outras Funes
LEAST Esta funo utilizada para retornar o menor valor de uma lista. No confundir que MIN. least(2, 5, 12, 3) -> retorna 2 least(apples, oranges, bananas) -> retorna apples least(apples, applis, applas) -> retorna applas least(apples, applis, applas, null) -> retorna NULL
3/5/2013
58
3/5/2013
60
3/5/2013
62
Truncate
O comando TRUNCATE como se fosse um DELETE (sem clusula Where) com COMMIT implcito, ou seja, ele elimina todas as linhas da tabela, deixando apenas sua estrutura e, NOTA IMPORTANTE, sem opo de ROLLBACK. -- Executa um TRUNCATE (Delete+Commit implcito) na tabela truncate table teste;
Footer Text
3/5/2013
63