(Parte 1 de 12)

Apostila BANCO DE DADOS IBANCO DE DADOS I

F A C E C A 2009

2 ÍNDICE ANALÍTICO

Unidade I. REVISÃO CONCEITUAL9
I.1. SGDB9
I.2. MODELO de dados relacional9
I.2.1. Esquema9
I.2.2. Banco de dados10
I.2.3. Tabela10
I.2.4. Relação10
I.2.5. Tupla10
I.2.6. Domínio10
I.2.7. Atributo10
I.2.8. Chave-primária10
I.2.9. Chave estrangeira10
I.2.10. Chave única10
I.2.1. Chave de verificação10
I.2.12. Normalização10
I.2.13. SQL1
I.2.14. DDL1
I.2.15. DCL1
I.2.16. DML1
I.2.17. Metadata12
I.2.18. Dicionário de dados12
I.2.19. Catálogo de dados12
I.3. ALGUMAS TECNOLOGIAS PARA BANCO DE DADOS RELACIONAL12
I.3.1. Servidores de banco de dados relacionais12
I.3.2. Ferramentas para manipulação13
I.4. ATIVIDADES I14
Unidade I. CONSULTAS AVANÇADAS COM SQL16
I.1. JOINS16
I.1.1. INNER JOIN16
I.1.2. OUTER JOIN (LEFT/RIGHT/FULL)16
I.1.3. CROSSJOIN16
I.3. SELECT FROM SELECT17
I.4. FIRST17
I.5. SKIP17
I.6. ROWS17
I.7. CONCATENAÇÃO18
I.8. ATIVIDADE I18
Unidade I. ÍNDICES E FUNÇÕES19
I.1. Índices19
I.1.1. Índice Primário19
I.1.2. Índice de agrupamento (clustering)19
I.1.3. Índice secundário20
I.1.4. Índice baseado em árvore20
I.1.5. SQL para manipulação de índices21
I.2. Funções21
I.2.1. Funções Internas21
I.2.2. Funções de usuário2
I.3. group by23
I.3.1. HAVING23
I.4. ATIVIDADE I24
Unidade IV. SEGURANÇA25
IV.1. controle de acesso25
IV.1.1. GRANT25
IV.1.2. REVOKE27
IV.1.3. CONTROLE DE ACESSO NO FIREBIRD28
IV.2. ATIVIDADE IV30
Unidade V. dsql - stored procedure31
V.1. STORED PROCEDURE31
V.1.1. O comando CREATE PROCEDURE31
V.1.2. Parâmetros31
V.1.3. Declarando variáveis locais32
V.1.4. Corpo da Procedure3
V.1.5. Elementos de linguagem3
V.1.6. Bloco de comandos BEGIN-END3
V.1.7. Comandos de atribuição3
V.1.9. Usando FOR SELECT e DO35
V.1.10. Usando o SUSPEND35
V.1.1. Criando e modificando Stored Procedures36
V.1.12. Apagando e alterando Stored Procedures36
V.1.13. Chamando Stored Procedures37
V.2. ATIVIDADE V39
Unidade VI. DSQL - TRIGGERS40
VI.1. Usando CREATE TRIGGER40
VI.2. BEFORE/AFTER41
VI.3. Usando OLD e NEW41
VI.4. Gerando EXCEPTIONS41
VI.5. Usando GENERATORS41
VI.6. ALterando e excluindo Triggers42
VI.7. ATIVIDADE VI43
Unidade VII. VIEWS4
VII.1. O QUE É UMA View?4
VII.2. CRIANDO VIEW4
VII.3. Views atualizáveis45
VII.4. atividade VII46
Unidade VIII. TRANSAÇÕES47
VIII.1. Modos de Acesso48
VIII.1.1. READ WRITE48
VIII.1.2. READ ONLY48
VIII.2. Tipos de Bloqueio48
VIII.2.1. WAIT48
VIII.2.2. NO-WAIT48
VIII.3. Nível de isolamento48
VIII.3.1. Read uncommitted48
VIII.3.2. Read committed48
VIII.3.3. Snapshot49
VIII.3.4. Snapshot table stability49
VIII.4. modo de pré-alocação49
VIII.5. Exemplo de transação50
VIII.6. ATIVIDADE VIII51
Unidade X. BANCO DE DADOS DISTRIBUÍDO53
X.1. Principais características de um BDD53
X.2. Exemplo da Descrição de UM BDD5
X.3. PROJETO DE BDD56
X.4. ADMINISTRAÇÃO DE BDD57
X.4.1. Organização e Tarefas da Equipe de Administração57
X.4.2. Problemas que Afetam a Administração58
X.5. ATIVIDADE X59
Unidade XI. Banco de dados ORIENTADO A OBJETOS60
XI.1. ESTRUTURA E CARACTERÍSITICAS60
XI.2. Banco de Dados O no mercado62
XI.3. Object Definition Language (ODL62
XI.4. Object Query Language (OQL)62
XI.5. Object Query Language63
XI.6. atividade XI67
Unidade XII. TECNOLOGIAS EMERGENTES68
XII.1. DATA WAREHOUSE68
XII.2. DATA MART69
XII.3. OLAP70
XII.3.1. OLAP com IBExpert71
XII.4. Data Mining72
XII.4.1. Tarefas e técnicas em mineração de dados73
XII.5. Banco de dados orientado a documentos73
XII.5.1. Comparativo Relacional e Orientado a Documentos74

6 ÍNDICE DE FIGURAS

Figura 1 – Clube.fdb14
Figura 2 – Índice clusterizado20
Figura 3 – índice B+20
Figura 4 – Tela de controle de acesso do Ibexpert29
Figura 5 - Transação47
Figura 6 – Esquema de um banco de dados distribuído54
Figura 7 – Ambiente de Data Warehouse69
Figura 8 – OLAP com IBExpert71

7 PREFÁCIO

Este material compreende o conteúdo básico da disciplina Banco de dados I do curso de Sistemas de Informação.

O objetivo principal é desenvolver um banco de dados relacional considerando os principais requisitos conceituais de um SGDB e tecnologias emergentes relacionadas a banco de dados. São requisitos básicos as disciplinas de banco de dados I, lógica de programação e inglês básico. Espera-se capacitar o aluno a entender/manipular conceitos/ferramentas associados aos sistemas gerenciadores de banco de dados relacionais (SGBDR) e as principais atividades de administração de banco de dados.

Os seguintes recursos serão amplamente tratados: Desenvolvimento de procedimentos na linguagem nativa do SGBD; Construção de consultas complexas através da SQL;

Análise de operações DML para buscar a otimização visando melhores resultados de performance;

Apresentar conceitos de transações em SGBDs, como concorrência e recuperação em caso de falhas.

Além de trazer um referencial que possibilita a compreensão dos principais conceitos, este material apresenta ferramentas, exemplos e aplicações práticas que possibilitam ao aluno entender, observar e praticar a construção de bancos de dados de acordo com o cenário de estudo.

A linguagem SQL será abordada de forma mais aprofundada para permitir que o aluno possa executar operações avançadas para tirar melhor proveito do banco de dados.

Ao final do período o aluno terá condições de projetar banco de dados relacional, manipular dados e extrair informações conforme suas necessidades, gerenciar e administrar um banco de dados completo.

8 INTRODUÇÃO

Depois de conhecer os principais conceitos que envolvem banco de dados, na disciplina de banco de dados I, este material visa complementar o estudo desta tecnologia, completando os conceitos não abordados anteriormente.

Para um bom aproveitamento dos conteúdos apresentados é imprescindível que o aluno reveja os conceitos vistos anteriormente e pratique todos os comandos apresentados.

É importante frisar que um profissional de sucesso em banco de dados precisa experimentar diversas ferramentas, tecnologias em múltiplos cenários para desenvolver com tranqüilidade as tarefas e superar os desafios atípicos.

Recomenda-se buscar outras fontes de informações como livros, disponíveis na biblioteca da Instituição, visitar sites especializados, instalar servidores de bancos de dados e implementar soluções desde as mais simples até aquelas que usam todos os conceitos abordados.

Um SGBD - Sistema de Gerenciamento de Banco de Dados é uma coleção de programas que permitem ao usuário definir, construir e manipular Bases de Dados para as mais diversas finalidades.

Propriedades básicas de um SGDB: Autocontenção;

Independência dos Dados;

Abstração dos Dados;

Múltiplas Visões de dados;

Transações;

Acesso automático;

Controle de redundância dos dados;

Compartilhamento de dados entre múltiplos usuários;

A restrição de acesso aos dados para usuários não autorizados;

Os diferentes tipos de interface para os diferentes usuários;

A representação dos dados com um nível grande de complexidade;

Garantia da restrição de integridade, que mantém os dados íntegros;

Mecanismos de segurança dos dados, tais como, cópia (backup) e recuperação (recovery) de dados;

Flexibilidade na mudança das estruturas de dados;

Garantia de que dados sempre atuais estão disponíveis;

Economia de escala relacionada com a redução do tempo de desenvolvimento da aplicação, já que um dado usado uma vez continuará disponível para outras aplicações.

I.2.MODELO DE DADOS RELACIONAL

O modelo relacional é um dos modelos mais utilizados e, apesar das recentes atualizações, ainda é considerado um padrão para a maioria das aplicações em banco de dados.

A base da moderna tecnologia de banco de dados é, sem dúvida, o modelo relacional: é essa base que faz da área uma ciência. (DATE, 2003, p. 93)

Esquema relacional é um conjunto de entidades e relações do tipo: R(A1,A2,...,An) Onde: R – é o nome de uma relação;

Ai – é o nome de um atributo que representa um papel de um domínio D em R – dom (Ai); n – é o grau da relação.

I.2.2.Banco de dados É um conjunto de tabelas relacionadas incluindo suas restrições, regras e dados. I.2.3. Tabela

Uma tabela é, na verdade, uma matriz de linhas e colunas, onde as linhas também são chamadas de registros e as colunas são chamadas de campos.

Uma relação r(R) é um conjunto de n-tuplas r = {t1, t2,..., tn}, onde cada n-tupla t é uma lista ordenada de n valores t=(v1, v2,...,vn), sendo cada vi um elemento do dom(Ai) ou um valor especial nulo.

I.2.5. Tupla É cada linha da tabela, também chamada de registro. I.2.6. Domínio

Um domínio D é um conjunto de valores atômicos (indivisível). Um método comum para especificação de domínio é definir um tipo de dado do qual os valores de dados que formam o domínio sejam retirados.

I.2.7. Atributo Um atributo é cada coluna de uma tabela, também chamado de campo. I.2.8. Chave-primária

É o atributo ou conjunto de atributos que serve para identificar uma tupla.

Dizemos que uma chave primária (Primary key) é simples quando é formada por apenas um atributo, ou composta quando formada por mais de um atributo.

As relações em um banco de dados se estabelecem a partir das chaves primárias. Uma chave primária não pode ser duplicada e não pode aceitar valor nulo (null).

I.2.9. Chave estrangeira

(Parte 1 de 12)

Comentários