Sei sulla pagina 1di 29

ADMINISTRAO E PROJETO DE BANCO

DE DADOS
Professor: Jailton Cardoso da Cruz

EMENTA

Introduo linguagem SQL.


Padro ISO/IEC 9075.
Tipos de Dados.
SQL Schema.
Comandos DDL, DML, DCL.
Triggers.
Stored Procedures.
Persistent Stored Modules (PSM).
Transaction.
Embedded SQL.
Otimizao de consultas em SQL
Prof. Jailton Cardoso

INTRODUO LINGUAGEM SQL

SQL Structured Query Language


Origem linguagem SEQUEL - Originalmente proposta
para o System R desenvolvido nos laboratrios da IBM
na dcada de 70 (Structured English QUEry
Language)
Objeto de um esforo de padronizao coordenado
pelo ANSI/ISO:

SQL1 (SQL-86)
SQL2 (SQL-92)
SQL3 (SQL-99)

Link artigo: Padro SQL e sua Evoluo


Prof. Jailton Cardoso

CARACTERSTICAS

Linguagem baseada em Ingls (english like);


um modo de recuperar e manipular dados de um
BD;
Pode ser usado por um terminal ON-LINE (consultas
ad hoc);
Pode ser usado na forma de EMBEDDED SQL em um
programa de aplicao;
Possui uma srie completa de operaes de
atualizao;
Usado para administrao de banco de dados.
Prof. Jailton Cardoso

PADRO ISO/IEC 9075

Artigo: Wats New in SQL:2011

Prof. Jailton Cardoso

TIPOS DE DADOS

SQL linguagem tipada


Cada coluna ou constante deve possuir uma tipo de
dado
Tipos de dados Oracle: link Oracle Documentation
(Oracle Data Types)

Prof. Jailton Cardoso

TIPOS DE DADOS CARACTER

Char dados com tamanho fixo de 1 a 2000 caracteres


Varchar2 dados com tamanho varivel de 1 a 400
caracteres
Ncha e Nvarchar2 - utilizados para armazenar dados
unicode
LOB Armazenam dados caracteres de at 8T

BLOB, CLOB e NCLOB e BFILE permite armazenar e


manipular grandes blocos de dadso no estruturados tais como
textos, grficos, imagens, vdeos, sons no formato caracter
binrio.

Prof. Jailton Cardoso

TIPOS DE DADOS NUMRICO

NUMBER
Armazena

dados do tipo de ponto fixo e ponto

flutuante;
Positivos de 1 x 10-130 a 9.99...9 x 10125
Negativos de 1 x 10-130 a 9.99...9 x 10125
Zero
Nome_col number(preciso, escala)

Prof. Jailton Cardoso

TIPOS DE DADOS DATA

DATE
Armazena

dados do tipo data


Armazena ano, ms, dia, hora, minuto e segundo
Formato padro: DD-MON-YY (27-SEP-14)
Formato pode ser modificado pelo parmetro
NLS_DATE_FORMAT.

Prof. Jailton Cardoso

PSEUDO COLUNA ROWID

Recupera o endereo de cada linha (registro) em uma


consulta SQL.

Prof. Jailton Cardoso

10

SQL SCHEMA

Terminologia

Tabela (relao) - um conjunto de linhas, ou um conjunto de


listas de valores, uma relao.
Coluna (atributo)

Registro (linha, tupla)

Semelhante campo de um registro;


Cada coluna em cada linha tem apenas um contedo;
Cada coluna s de um tipo de dados
Anlogo a um registro de um arquivo;
Todas linhas de uma tabela tem o mesmo conjunto de colunas.

Domnio

Conjunto de valores vlidos para uma determinada coluna

Prof. Jailton Cardoso

11

SQL SCHEMA

So uma coleo de objetos dentro de um


determinado database;
Agrupar objetos;
Schema usurio do banco de dados;
Bastante utilizados em sistemas de banco de dados;
Importantes para a performance e segurana

Prof. Jailton Cardoso

12

Prof. Jailton Cardoso

13

ESQUEMAS DO BANCO DE DADOS


DATABASE_01
VENDAS

ESTOQUE

FOLHA

Fonte: do autor
Prof. Jailton Cardoso

14

COMANDOS DDL, DML E DCL

Subconjuntos de comandos SQL

Comandos DDL
CREATE, ALTER,

Comandos DML
SELECT,

DROP

INSERT, UPDATE, DELETE

Comandos DCL
GRANT, REVOKE

Comandos de controle de transao


COMMIT, ROLLBACK

Prof. Jailton Cardoso

15

CRIANDO ESQUEMAS

O SGBD usa esquemas (usurios) e perfis de segurana para


acessar os dados e restringir o acesso a outros recursos do
banco de dados.
Para acessar o banco de dados o usurio deve est conectado
com um usurio vlido no database.
A cada usurio associado uma senha;
A cada usurio associado um domnio de segurana

As aes (privilgios e regras)


Cotas de espao em disco;
Os limites de recursos do sistema (tempo de processamento, CPU)
Prof. Jailton Cardoso

16

CRIANDO ESQUEMAS

Comandos DCL
Privilgios

Um PRIVILGIO um direito de executar um determinado


tipo de sentena SQL, tais como:
Conectar ao banco de dados (criar uma sesso);
Criar uma tabela ou um esquema;
Selecionar linhas de uma tabela;
Executar uma stored procedure.

Role

So grupos de privilgios que pode ser concedido ao usurio

Prof. Jailton Cardoso

17

CRIANDO ESQUEMAS

Concedendo Privilgios
Tipos de privilgios
Privilgios em nvel de sistema
GRANT ALL_PRIVILEGES |
SYSTEM_PRiVILEGE |
RULER
TO USUARIO;
Privilgio

em nvel de objeto

GRANT ALL_PRIVILEGES | PRIVILEGIO | REGRA


ON NOME_OBJETO
TO NOME_USUARIO;

Prof. Jailton Cardoso

18

CRIANDO ESQUEMAS

Retirando Privilgios

Privilgios em nvel de sistema


REVOKE ALL_PRIVILEGES |
SYSTEM_PRIVILEGE |
RULER
TO USUARIO;
Privilgio

em nvel de objeto

REVOKE ALL_PRIVILEGES | PRIVILEGIO | REGRA


ON NOME_OBJETO
FROM NOME_USUARIO;

Prof. Jailton Cardoso

19

CRIANDO ESQUEMAS

Comentando o DATABASE_01

No modelo do DATABASE_01, observa-se que a tabela


T_ITEM_NF do esquema VENDAS referencia a coluna MATRIC da
tabela T_FUNCIONARIO, pertencente ao esquema FOLHA.

Neste caso o esquema FOLHA tem que dar uma permisso para
possibilitar estabelecer esta referencia. O mesmo procedimento
dever ser aplicado com relao tabela T_MOV_PRODUTO do
esquema ESTOQUE.

GRANT REFERENCES, SELECT


ON T_FUNCIONARIO
TO VENDAS;
Prof. Jailton Cardoso

20

CRIANDO ESQUEMAS

1 Criar Usurio
CREATE USER nome_usuario
IDENTIFIED BY senha
[DEFAULT TABLESPACE nome_tablespace]
[TEMPORARY TABLESPACE nome_tablespace_temporaria];

2 conceder privilgio de acesso


GRANT CONNECT, RESOURCE TO nome_usuario;
Concede os privilgios das regras CONNECT e RESOURCE

Link artigo: Criando usurio no Oracle


Prof. Jailton Cardoso

21

CRIANDO ESQUEMAS
EXERCCIOS
1.
Criar os usurios VENDAS, FOLHA E ESTOQUE.
Default tablespace: user
Temporary tablespace: temp
2.
Conceder privilgio connect e resource aos usurios
criados.
Prof. Jailton Cardoso

22

COMANDOS DDL

DDL Data Definition Language


Linguagem

de Definio de Dados

COMANDOS
CREATE
ALTER

DROP

Prof. Jailton Cardoso

23

COMANDOS DDL
CRIANDO, ALTERANDO E EXCLUINDO TABELAS

Criando, alterando e excluindo tabelas


Comando CREATE TABLE (Link Create table Sql
References)

CREATE TABLE nome_tabela


(coluna1_nome
tipo_dado
coluna2_nome
tipo_dado

colunan_nome
tipo_dado
tabela_constraint);

col1_constraint,
col2_constraint,
coln_constraint,

Prof. Jailton Cardoso

24

COMANDOS DDL
CRIANDO, ALTERANDO E EXCLUINDO TABELAS

Criando, alterando e excluindo tabelas


Comando ALTER TABLE (link Oracle SQL References)
Alter table ADD coluna | constraint
MODIFY coluna | constraint
DROP [column coluna] | constraint
ENABLE constraint
DESABLE constraint

Prof. Jailton Cardoso

25

COMANDOS DDL
CRIANDO, ALTERANDO E EXCLUINDO TABELAS

Criando, alterando e excluindo tabelas


Comando DROP TABLE (link Oracle SQL References)
Drop table nome_tabela [cascade constraints] [purge];

Aes:
Todos os dados sero eliminados;
Todos os ndices associados sero eliminados;
Todas as vises e sinnimos no sero eliminados mas se tornaro
invlidos;
Todas as transaes pendentes sero efetivadas;
Todas as constraints de integridade sero eliminadas;
Somente o criador da tabela ou o DBA podero eliminar ou
modificar a estrutura de uma tabela.
Devero ser eliminadas primeiro as tabelas que referenciam e
depois as tabelas referenciadas.
Prof. Jailton Cardoso

26

COMANDOS DDL
CRIANDO, ALTERANDO E EXCLUINDO TABELAS

Inserindo Comentrios

Comentrios so utilizados para documentao.


COMMENT ON TABLE nome_tabela
IS comentrio;
COMMENT ON COLUMN nome_tabela.nome_coluna
IS comentrio;

Para acessar os comentrio no dicionrio de dados, consultar as vises:


USER_COL_COMMENTS ou
USER_TAB_COMMENTS
Prof. Jailton Cardoso

27

COMANDOS DDL
EXERCCO

Criar as tabelas do DATABASE_01, onde:

1. Nome das chaves primrias

Tabela T_PRODUTO PK_PRODUTO


Tabela T_GRUPO_PRODUTO PK_GRUPO_PROD
Tabela T_UNIDADE_MEDIDA PK_UNID_MEDIDA
Tabela T_MOV_PRODUTO PK_MOV_PRODUTO
Tabela T_FUNCIONARIO - PK_FUNCIONARIO
Tabela T_DEPARTAMENTO PK_DEPARTAMENTO
Tabela T_CLIENTE PK_CLIENTE
Tabela T_NOTA_FISCAL PK_NOTA_FISCAL
Tabela T_ITENS_NF PK_ITENS_NF

Prof. Jailton Cardoso

28

CONTATOS
Email: jailtonccruz@gmail.com
Fones: 9116233 (claro)
96628963 (tim)
Fb: jailton cardoso

Prof. Jailton Cardoso

29

Potrebbero piacerti anche