Buscar

Linguagem SQL

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
*
Linguagem SQL - ORACLE
*
*
*
SQL
Denominação:
Structured Query Language (SQL)
Definição:
É uma linguagem utilizada para a definição, manipulação e controle de um Banco de Dados Relacional e que incorpora os princípios da Álgebra Relacional.
*
*
*
SQL
SQL INTERATIVA
Linguagem de Definição de Dados (LDD/DDL)
Linguagem de Manipulação de Dados (LMD/DML)
Linguagem de Controle de Dados (LCD/DCL)
SQL PROGRAMADA (EMBUTIDA)
*
*
*
SQL
SQL INTERATIVA
Linguagem de Definição de Dados (LDD/DDL)
Linguagem de Manipulação de Dados (LMD/DML)
Linguagem de Controle de Dados (LCD/DCL)
SQL PROGRAMADA (EMBUTIDA)
*
*
*
Linguagem de Definição de Dados (LDD/DDL)
Propósito: Representar o aspecto estrutural do mundo real.
Comandos para definição de Tabelas
CREATE TABLE
ALTER TABLE
DROP TABLE
Comandos para definição de Índices
CREATE INDEX
DROP INDEX
Comandos para definição de Visões
CREATE VIEW
DROP VIEW
*
*
*
Linguagem de Manipulação de Dados (LMD/DML)
Propósito: Representar o aspecto comportamental do mundo real.
Comandos para recuperação de dados
SELECT
UNION
Comandos para atualização de dados
INSERT
UPDATE
DELETE
*
*
*
Linguagem de Controle de Dados (LCD/DCL)
Propósito: representar as restrições de integridade, as restrições de segurança, ...
Comandos para controle de segurança de dados
GRANT
REVOKE
Comandos para controle de integridade
CREATE TRIGGER
CREATE STORED PROCEDURE
Comandos para controle de transações
BEGIN TRANSACTION
END TRANSACTION
COMITT
ROLLBACK
*
*
*
Linguagem de Definição de Dados (LDD/DDL)
*
*
*
Linguagem de Definição de Dados (LDD/DDL)
*
*
*
Estrutura do Banco de Dados ORACLE
A Estrutura de um Banco de Dados ORACLE pode ser definida em termos de Estrutura Lógica:
Tabela; e
e Visão.
e Estrutura Física:
de Armazenamento :
Data Base;
Table Space;
Arquivo Físico do Sistema Operacional - bits e bytes armazenados em disco.
De Acesso:
Índice (Index).
De Armazenamento e de Acesso:
Cluster;
*
*
*
Estrutura do Banco de Dados ORACLE
Independência de Dados:
A Estrutura Lógica de um Banco de Dados ORACLE
é independente da Estrutura Física.
FLEXIBILIDADE
SIMPLICIDADE
*
*
*
TABELA
*
*
*
TABELA
Uma Tabela ou Relação possui:
um número finito (fixo) de colunas (atributos, “campos”).
um número “infinito” (variável) de linhas (tuplas, “registros”).
uma interseção de uma linha com uma coluna “armazena” um valor (“dado”) e esse valor deve ser atômico (não pode ser decomposto).
Uma Tabela pode “implementar” uma ou mais Entidades-Tipo, um ou mais Relacionamentos-Tipo, com seus respectivos Atributos.
As colunas de uma Tabela “implementam” os Atributos das Estidades-Tipo ou dos Relacionamentos-Tipo.
Cada coluna deve ter um Tipo-de-Dado específico.
*
*
*
TABELA
CREATE TABLE nome_da_tabela
( nome_da_coluna_1 tipo_de_dado (tamanho) [DEFAULT valor] [restrições de coluna],
 nome_da_coluna_2 tipo_de_dado (tamanho) [DEFAULT valor] [restrições de coluna],
 nome_da_coluna_3 tipo_de_dado (tamanho) [DEFAULT valor] [restrições de coluna],
...
 nome_da_coluna_n tipo_de_dado (tamanho) [DEFAULT valor] [restrições de coluna],
[restrições de tabela]
);
*
*
*
VISÃO
*
*
*
VISÃO
Visão (VIEW) é um mecanismo (máscara) que permite “enchergar” as Tabelas de Banco de Dados segundo diferentes pontos de vista.
Uma visão é uma tabela virtual, no sentido de que não possuem dados armazenados ao passo que as tabelas “reais” (tabelas base) possuem.
*
*
*
VISÃO
Limitações
Impossibilidade de realização de operações de atualização quando a visão utiliza:
GROUP BY
UNION
ou quando na visão não existe a chave primária da(s) respectiva(s) tabela(s).
*
*
*
VISÃO
CREATE VIEW nome_da_visão
[(	nome_da_coluna_1,
 	nome_da_coluna_2,
 ...
 	nome_da_coluna_n )]
AS sub_query;
sub_query = comando SELECT ... FROM ... WHERE
*
*
*
DATABASE
*
*
*
DATABASE
CREATE DATABASE nome_do_banco_de_dados
DATAFILE especificação_do_data_file
MAXDATAFILES parâmetro
LOG FILE especificação_do_log_file
MAXLOG FILE parâmetro
MAXLOGMEMBERS parâmetro
CHARACTER SET especificação_do_character_set;
*
*
*
DATABASE
DATAFILE: 
especifica o(s) arquivo(s) de dados inicial(is) para o TABLESPACE SYSTEM (Dicionário de Dados) do Banco de Dados.
MAXDATAFILES:
determina o número máximo de Arquivos de Dados que podem ser alocados para o Banco de Dados.
LOG FILE:
especifica os grupos e membros de LOG DE TRANSAÇÕES, iniciais, do Banco de Dados.
MAXLOG FILE:
determina o número máximo de GRUPOS DE LOG para o Banco de Dados.
MAXLOGMEMBERS:
determina o número máximo de MEMBROS para cada GRUPO DE LOG.
CHARACTER SET
especifica o conjunto de caracteres que o ORACLE utilizará para armazenar os Dados no Banco de Dados.
*
*
*
TABLE SPACE
*
*
*
TABLE SPACE
Um Table Space define uma área alocada para as Estruturas de Armazenamento (Tabela e Cluster) e Estruturas de Acesso (Index).
Cada Table Space corresponde a um ou mais Arquivos Físicos do Sistema Operacional.
*
*
*
TABLE SPACE
ARQUIVO
FÍSICO 1
TABLE SPACE 1
BANCO DE DADOS
TABLE SPACE 2
TABLE SPACE n
ARQUIVO
FÍSICO 1
ARQUIVO
FÍSICO 2
ARQUIVO
FÍSICO 4
ARQUIVO
FÍSICO 5
ARQUIVO
FÍSICO 3
ARQUIVO
FÍSICO n-1
ARQUIVO
FÍSICO n
*
*
*
TABLE SPACE
Todo Banco de Dados ORACLE tem pelo menus um Table Space, o SYSTEM.
O ORACLE utiliza o Table Space SYSTEM para armazenar o Dicionário de Dados.
O Dicionário de Dados é um conjunto de Tabelas internas ao SGBD que garda todas as informações sobre a Estrutura e o Comportamento do Banco de Dados.
*
*
*
TABLE SPACE SYSTEM
TABLE SPACE 1 (SYSTEM) - DICIONÁRIO DE DADOS
TABELA DE
TABLE SPACE
TABELA DE
ARQUIVOS
FÍSICOS
TABELA DE
TABELAS
TABELA DE
COLUNAS
TABELA DE
CLUSTER
*
*
*
TABLE SPACE SYSTEM
CREATE TABLESPACE nome_do_table_space
DATAFILE nome_do_arquivo_físico;
*
*
*
CLUSTER
*
*
*
CLUSTER
DEFINIÇÃO:
Mecanismo que permite, com algumas restrições, reunir fisicamente Linhas de Tabelas relacionadas, visando melhorar a performance no acesso a essas Linhas.
*
*
*
CLUSTER
001 | DISQUETE 3 1/2”
001 | 05/03/96 | E105 | 10
001 | 05/03/96 | E225 | 5
001 | 06/03/96 | E005 | 20
001 | 01/03/96 | F054 | NF05432 | 100
001 | 01/02/96 | F0235 | NF00434 | 50
REGISTRO FÍSICO
PÁGINA
BLOCO
*
*
*
CLUSTER
ARQUIVO FÍSICO
TABELA 1
TABELA 2
TABELA n
TABELA 3
*
*
*
CLUSTER
ENTIDADE
TIPO 1
ENTIDADE
TIPO n
ENTIDADE
TIPO 3
ENTIDADE
TIPO 2
*
*
*
CLUSTER
CREATE CLUSTER NOME_CLUSTER (CHAVE_CLUSTER TIPO_DADO(TAMANHO));
CREATE TABLE NOME_TABELA_1
	(DEFINIÇÃO DAS COLUNAS E RESTRIÇÕES DE INTEGRIDADE)
	CLUSTER NOME_CLUSTER(CHAVE_CLUSTER)
CREATE TABLE NOME_TABELA_2
	(DEFINIÇÃO DAS COLUNAS E RESTRIÇÕES DE INTEGRIDADE)
	CLUSTER NOME_CLUSTER(CHAVE_CLUSTER)
...
*
*
*
ÍNDICE
*
*
*
ÍNDICE
DEFINIÇÃO:
Mecanismo utilizado para localizar com rapidez Linhas de uma Tabela.
*
*
*
ÍNDICE
Um Índice no ORACLE é uma Árvore Ordenada de Blocos de Dados, ou Nós.
51
14
33
62
73
5 - A.001.01
10 - A.001.12
10 - A.001.14
14
18
31
33
40
43
51
58
59
73
74
86
62
67
72
SELECT * FROM PESSOA
WHERE IDADE = 10;
*
*
*
ÍNDICE
CREATE [UNIQUE] INDEX NOME_DO_ÍNDICE
ON NOME_DA_TABELA
( NOME DA COLUNA1 [ORDER],
 NOME DA COLUNA2 [ORDER],
 ...
 NOME DA COLUNAn [ORDER]);
ORDER = { ASC, DESC }

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais