29
ADMINISTRAÇÃO E PROJETO DE BANCO DE DADOS Professor: Jailton Cardoso da Cruz

AdmBD

Embed Size (px)

DESCRIPTION

ADM E PROJETO DE BANCO DE DADOS

Citation preview

Page 1: AdmBD

ADMINISTRAÇÃO E PROJETO DE BANCO

DE DADOS

Professor: Jailton Cardoso da Cruz

Page 2: AdmBD

EMENTA

Introdução à linguagem SQL.

Padrão ISO/IEC 9075.

Tipos de Dados.

SQL Schema.

Comandos DDL, DML, DCL.

Triggers.

Stored Procedures.

Persistent Stored Modules (PSM).

Transaction.

Embedded SQL.

Otimização de consultas em SQL

Prof. Jailton Cardoso 2

Page 3: AdmBD

INTRODUÇÃO À LINGUAGEM SQL

SQL – Structured Query Language

Origem linguagem SEQUEL - Originalmente proposta

para o System R desenvolvido nos laboratórios da IBM

na década de 70 (Structured English QUEry

Language)

Objeto de um esforço de padronização coordenado

pelo ANSI/ISO: SQL1 (SQL-86)

SQL2 (SQL-92)

SQL3 (SQL-99)

Link artigo: Padrão SQL e sua Evolução

Prof. Jailton Cardoso 3

Page 4: AdmBD

CARACTERÍSTICAS

Linguagem baseada em Inglês (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 aplicação;

Possui uma série completa de operações de

atualização;

Usado para administração de banco de dados.

Prof. Jailton Cardoso 4

Page 6: AdmBD

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 6

Page 7: AdmBD

TIPOS DE DADOS – CARACTER

Char – dados com tamanho fixo de 1 a 2000 caracteres

Varchar2 – dados com tamanho variável 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 não estruturados tais como textos, gráficos, imagens, vídeos, sons no formato caracter

binário.

Prof. Jailton Cardoso 7

Page 8: AdmBD

TIPOS DE DADOS – NUMÉRICO

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(precisão, escala)

Prof. Jailton Cardoso 8

Page 9: AdmBD

TIPOS DE DADOS – DATA

DATE

Armazena dados do tipo data

Armazena ano, mês, dia, hora, minuto e segundo

Formato padrão: DD-MON-YY (27-SEP-14)

Formato pode ser modificado pelo parâmetro

NLS_DATE_FORMAT.

Prof. Jailton Cardoso 9

Page 10: AdmBD

PSEUDO COLUNA ROWID

Recupera o endereço de cada linha (registro) em uma

consulta SQL.

Prof. Jailton Cardoso 10

Page 11: AdmBD

SQL SCHEMA

Terminologia

Tabela (relação) - um conjunto de linhas, ou um conjunto de listas de valores, uma “relação”.

Coluna (atributo)

Semelhante à campo de um registro;

Cada coluna em cada linha tem apenas um conteúdo;

Cada coluna é só de um tipo de dados

Registro (linha, tupla) Análogo a um registro de um arquivo;

Todas linhas de uma tabela tem o mesmo conjunto de colunas.

Domínio Conjunto de valores válidos para uma determinada coluna

Prof. Jailton Cardoso 11

Page 12: AdmBD

SQL SCHEMA

São uma coleção de objetos dentro de um

determinado database;

Agrupar objetos;

Schema ≡ usuário do banco de dados;

Bastante utilizados em sistemas de banco de dados;

Importantes para a performance e segurança

Prof. Jailton Cardoso 12

Page 13: AdmBD

Prof. Jailton Cardoso 13

Page 14: AdmBD

Prof. Jailton Cardoso 14

VENDAS

ESTOQUE

FOLHA

DATABASE_01

ESQUEMAS DO BANCO DE DADOS

Fonte: do autor

Page 15: AdmBD

COMANDOS DDL, DML E DCL

Subconjuntos de comandos SQL

Comandos DDL

CREATE, ALTER, DROP

Comandos DML

SELECT, INSERT, UPDATE, DELETE

Comandos DCL

GRANT, REVOKE

Comandos de controle de transação

COMMIT, ROLLBACK

Prof. Jailton Cardoso 15

Page 16: AdmBD

CRIANDO ESQUEMAS

O SGBD usa esquemas (usuários) e perfis de segurança para

acessar os dados e restringir o acesso a outros recursos do

banco de dados.

Para acessar o banco de dados o usuário deve está conectado

com um usuário válido no database.

A cada usuário é associado uma senha;

A cada usuário é associado um domínio de segurança

As ações (privilégios e regras)

Cotas de espaço em disco;

Os limites de recursos do sistema (tempo de processamento, CPU)

Prof. Jailton Cardoso 16

Page 17: AdmBD

CRIANDO ESQUEMAS

Comandos DCL

Privilégios

Um PRIVILÉGIO é um direito de executar um determinado tipo de sentença SQL, tais como:

Conectar ao banco de dados (criar uma sessão);

Criar uma tabela ou um esquema;

Selecionar linhas de uma tabela;

Executar uma stored procedure.

Role

São grupos de privilégios que pode ser concedido ao usuário

Prof. Jailton Cardoso 17

Page 18: AdmBD

CRIANDO ESQUEMAS

Concedendo Privilégios

Tipos de privilégios

Privilégios em nível de sistema

GRANT ALL_PRIVILEGES |

SYSTEM_PRiVILEGE |

RULER

TO USUARIO;

Privilégio em nível de objeto

GRANT ALL_PRIVILEGES | PRIVILEGIO | REGRA

ON NOME_OBJETO

TO NOME_USUARIO;

Prof. Jailton Cardoso 18

Page 19: AdmBD

CRIANDO ESQUEMAS

Retirando Privilégios Privilégios em nível de sistema

REVOKE ALL_PRIVILEGES |

SYSTEM_PRIVILEGE |

RULER

TO USUARIO;

Privilégio em nível de objeto

REVOKE ALL_PRIVILEGES | PRIVILEGIO | REGRA

ON NOME_OBJETO

FROM NOME_USUARIO;

Prof. Jailton Cardoso 19

Page 20: AdmBD

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 permissão para possibilitar estabelecer esta referencia. O mesmo procedimento deverá ser aplicado com relação à tabela T_MOV_PRODUTO do esquema ESTOQUE.

GRANT REFERENCES, SELECT

ON T_FUNCIONARIO

TO VENDAS;

Prof. Jailton Cardoso 20

Page 21: AdmBD

CRIANDO ESQUEMAS

1º Criar Usuário

CREATE USER nome_usuario

IDENTIFIED BY senha

[DEFAULT TABLESPACE nome_tablespace]

[TEMPORARY TABLESPACE nome_tablespace_temporaria];

2º conceder privilégio de acesso

GRANT CONNECT, RESOURCE TO nome_usuario;

Concede os privilégios das regras CONNECT e RESOURCE

Link artigo: Criando usuário no Oracle

Prof. Jailton Cardoso 21

Page 22: AdmBD

CRIANDO ESQUEMAS

EXERCÍCIOS

1.

Criar os usuários VENDAS, FOLHA E ESTOQUE.

Default tablespace: user

Temporary tablespace: temp

2.

Conceder privilégio connect e resource aos usuários criados.

Prof. Jailton Cardoso 22

Page 23: AdmBD

COMANDOS DDL

DDL – Data Definition Language

Linguagem de Definição de Dados

COMANDOS

CREATE

ALTER

DROP

Prof. Jailton Cardoso 23

Page 24: AdmBD

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 col1_constraint,

coluna2_nome tipo_dado col2_constraint,

colunan_nome tipo_dado coln_constraint,

tabela_constraint);

Prof. Jailton Cardoso 24

Page 25: AdmBD

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

Page 26: AdmBD

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];

Ações:

Todos os dados serão eliminados;

Todos os índices associados serão eliminados;

Todas as visões e sinônimos não serão eliminados mas se tornarão inválidos;

Todas as transações pendentes serão efetivadas;

Todas as constraints de integridade serão eliminadas;

Somente o criador da tabela ou o DBA poderão eliminar ou modificar a estrutura de uma tabela.

Deverão ser eliminadas primeiro as tabelas que referenciam e depois as tabelas referenciadas.

Prof. Jailton Cardoso 26

Page 27: AdmBD

COMANDOS DDL

CRIANDO, ALTERANDO E EXCLUINDO TABELAS

Inserindo Comentários

Comentários são utilizados para documentação.

COMMENT ON TABLE nome_tabela

IS „comentário‟;

COMMENT ON COLUMN nome_tabela.nome_coluna

IS „comentário‟;

Para acessar os comentário no dicionário de dados, consultar as visões:

USER_COL_COMMENTS ou

USER_TAB_COMMENTS

Prof. Jailton Cardoso 27

Page 28: AdmBD

COMANDOS DDL

EXERCÌCO

Criar as tabelas do DATABASE_01, onde:

1. Nome das chaves primárias

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

Page 29: AdmBD

CONTATOS

Email: [email protected]

Fones: 9116233 (claro)

96628963 (tim)

Fb: jailton cardoso

Prof. Jailton Cardoso 29