Dados - Bruno Moreno

Propaganda
Banco de Dados
Aula 1 - Prof. Bruno Moreno
16/08/2011
Roteiro
•
•
•
•
Apresentação do professor e disciplina
Definição de Banco de Dados
Sistema de BD vs Tradicional
Principais características de BD
–
–
–
–
Natureza autodescritiva de um sistema de BD
Isolamento entre programas e dados, e abstração de dados
Suporte a múltiplas visões dos dados
Compartilhamento de dados e processamento de
transação multiusuário
• Profissionais de BD
• Vantagens do uso de BD
Aula 1 - 14:23
2
Apresentação - Professor
• Bruno Neiva Moreno
– Graduação: UFPB
– Mestrado: UFPE
– [email protected]
– www.brunomoreno.com
Aula 1 - 14:23
3
Apresentação – Disciplina
• Curso: Banco de Dados
• Ementa
–
–
–
–
–
–
Conceitos e características de Sistemas de Informação
Funcionalidades de um SGBD
Banco de Dados Relacionais
Modelagem de Dados
Arquitetura e Infra-Estrutura de BD
Projeto e Implementação de sistemas de informação
suportados por Bancos de Dados
– Gatilhos e visões
– Transações
Aula 1 - 14:23
4
Apresentação – Disciplina
• Módulo 1 - Introdução
(1) Definição de Banco de Dados
•
•
•
•
•
•
Aula 1 - 14:23
Emprego de Banco de Dados
Vantagens de uso de Banco de Dados
Definição de SGBD
Estrutura geral de um SGBD
Profissionais de Banco de Dados
Exemplos de SGBD
5
Apresentação – Disciplina
• Módulo 1 - Introdução
(2) Sistemas Gerenciadores de Banco de Dados:
conceitos e arquitetura
•
•
•
•
•
Histórico
Tipos
Modelo de dados, esquemas e instâncias
Arquitetura e independência de dados
Linguagens de banco de dados
(3) Apresentação do PostgreSQL
Aula 1 - 14:23
6
Apresentação – Disciplina
• Módulo 2 – Modelagem Conceitual
(1) Esquema geral de modelagem de BD
(2) Conceitos básicos de modelagem
•
•
•
•
Tipos
Entidades
Atributo-chave
Relacionamento
(3) Diagrama Entidade-Relacionamento
• Notações
• Especialização e generalização
Aula 1 - 14:23
7
Apresentação – Disciplina
• Módulo 3 – O Modelo Relacional
(1) Conceitos do modelo relacional
•
•
•
•
•
•
•
Aula 1 - 14:23
Tipos
Entidades
Restrições e esquemas
Mapeamento MER para Relacional
Restrições de domínio
Restrições de chave
Integridade referencial
8
Apresentação – Disciplina
• Módulo 3 – O Modelo Relacional
(2) Álgebra Relacional
•
•
•
•
•
•
Aula 1 - 14:23
Operações unárias
Seleção
Projeção
Operações baseadas na teoria dos conjuntos
União, interseção e subtração
Produto cartesiano
9
Apresentação – Disciplina
• Módulo 3 – O Modelo Relacional
(2) Álgebra Relacional
• Operações unárias
– Seleção
– Projeção
• Operações baseadas na teoria dos conjuntos
– União, interseção e subtração
– Produto cartesiano
• Operações binárias
– Junção e divisão, divisão
Aula 1 - 14:23
10
Apresentação – Disciplina
• Módulo 3 – O Modelo Relacional
(2) Álgebra Relacional
• Outras operações relacionais
–
–
–
–
Funções agregadas e agrupamento
Operações de clausura recursiva
Operações de junção externa
Operação de união externa
Prova 1
• Calculo Relacional
(3) Projeto de Banco de dados relacional baseado no
mapeamento MER-Relacional
Aula 1 - 14:23
11
Apresentação – Disciplina
• Módulo 4 – SQL
(1)
(2)
(3)
(4)
Definição de dados e tipos de dados
Restrições (chaves)
Comandos de alterações (alter, drop)
Consultas SQL
•
•
•
•
Aula 1 - 14:23
Select-from-where
Aliases
Where ausente e uso de asterisco
Operações de conjuntos
12
Apresentação – Disciplina
• Módulo 4 – SQL
(4) Consultas SQL
•
•
•
•
•
•
Aula 1 - 14:23
Comparações
Ordenação
Consultas aninhadas e comparação
Junções
Funções de agregação
Agrupamento: Group by e having
13
Apresentação – Disciplina
• Módulo 4 – SQL
(5) Comandos de inserção, exclusão e atualização
• Insert
• Delete
• Update
(6) Restrições genéricas
(7) Visões
(8 ) SQL embutida e SQL dinâmica
(9 ) Programação de funções
(10) Procedimentos armazenados em banco de dados
(stored procedures)
Aula 1 - 14:23
14
Apresentação – Disciplina
• Módulo 5 – Projeto de Banco de Dados
(1) Diretrizes e orientações para projeto de BD
(2) Normalização de um banco de dados relacional
(3) Programação de um banco de dados integrandoo com Java: JDBC
Aula 1 - 14:23
15
Apresentação – Disciplina
• Módulo 6 – Processamento de Transações
– Teoria do processamento de Transações
– Técnicas de controle de concorrência
– Técnicas de recuperação de banco de dados
Prova 2
Aula 1 - 14:23
16
Avaliações
• Prova I = Módulo 1 + Módulo 2 + Módulo 3
• Prova II = Módulo 4 + Módulo 5 + Módulo 6
• Projeto
– Fase I
• Modelagem ER (DER)
– Fase II
• Otimizações no modelo
– Fase III
• Sistema acessando a base de dados (PostgreSQL)
Aula 1 - 14:23
17
Avaliações
• Nota 1
– 80% da Prova I
– 20% da Fase I do Projeto
• Nota 2
– 80% da Prova II
– 20% da Fase II do Projeto
• Nota 3
– Projeto final
• Média = Nota 1 + Nota 2 + Nota 3
3
Aula 1 - 14:23
18
Controle de frequência
• 25% de 35 aulas = 9 aulas
• Horário das aulas
Aula 1 - 14:23
19
Bibliografia
Aula 1 - 14:23
20
Banco de Dados
DEFINIÇÃO DE BANCO DE DADOS
14:23
21
Emprego de BD
• Representam papel crítico em todas as áreas
de uso de computadores
Aula 1 - 14:23
22
Emprego de BD
• Um banco de dados é uma coleção de dados
relacionados
• Dados representam fatos que podem ser
gravados e que possuem um significado
implícito
• Exemplo: nomes e números de telefone
podem ser gravados em uma agenda de papel
ou agenda telefônica
Aula 1 - 14:23
23
Emprego de BD
• Outros exemplos
– Banco de dados de clientes
– Banco de dados de um banco
– Catálogo de uma biblioteca
Aula 1 - 14:23
24
Emprego de BD
• Banco de dados possui um significado restrito:
(1) Representa aspectos do mundo real
• Mudanças no minimundo refletem no banco de dados
(2) É uma coleção lógica e coerente de dados com
algum significado inerente
(3) É projetado, construído e povoado por dados
atendendo a uma proposta específica
• Possui um grupo de usuários e aplicações
Aula 1 - 14:23
25
Emprego de BD
• Um BD pode ser gerado e mantido
manualmente ou de forma automatizada
– Sistemas de arquivos permanentes
• Aplicações escritas para tarefas específicas
– Sistemas gerenciadores de banco de dados
SGBD
Sistema Gerenciador de Banco de Dados
Aula 1 - 14:23
DBMS
Database Management System
26
Emprego de BD
Sistema de Arquivos
Aplicativos
Dados
(arquivos)
14:23
Sistema de Banco de Dados
Aplicativos
SGBD
Dados
(arquivos)
27
Definição de SGBD
• Um SGBD é uma coleção de programas que
permite aos usuários criar e manter um banco
de dados.
• É um sistema de software de propósito geral
que facilita a definição, construção,
manipulação e compartilhamento de banco
de dados entre vários usuários e aplicações
Aula 1 - 14:23
28
Definição de SGBD
Coleção de programas
Aula 1 - 14:23
Programa 1
DEFINIÇÃO
Programa 2
CONSTRUÇÃO
...
MANIPULAÇÃO
Programa N
COMPARTILHAMENTO
29
Definição de SGBD
• Definição
– Especificar tipos de dados, estruturas e restrições para dados a
serem armazenados no BD
• Construção
– Processo de armazenar os dados em uma mídia apropriada e
controlada pelo SGBD
• Manipulação
– Inclui funções como pesquisas em BD para recuperar (resgatar)
algum dado específico, atualizar o BD e gerar relatórios
• Compartilhamento
– Permite que múltiplos usuários acessem, concorrentemente, o
banco de dados
Aula 1 - 14:23
30
Definição de SGBD
• Outras funções importantes
– Proteção
• Contra mau funcionamento e falhas em hardware e
software e segurança contra acesso não permitido ou
malicioso
– Manutenção
• Manutenção no sentido de atualização constante para
bancos de dados muito antigos
Aula 1 - 14:23
31
Definição de SGBD
Aula 1 - 14:23
32
Um Exemplo: Universidade
• Armazena-se dados para representar cada
aluno, disciplina, turma, histórico escolar e
pré-requisito como um registro no arquivo
apropriado
• Relacionamentos entre os registros
• Manipulação do banco de dados envolve
consulta e atualização
Aula 1 - 14:23
33
Um Exemplo: Universidade
• Exemplos de consultas
– Recuperar uma lista de todas as disciplinas e notas
– Listar os nomes e notas dos alunos matriculados
na disciplina ‘Banco de dados’ oferecida no
segundo semestre de 2008
– Listar os pré-requisitos do curso de ‘Banco de
dados’
Aula 1 - 14:23
34
Um Exemplo: Universidade
• Exemplos de atualizações
– Alterar o tipo de aluno de ‘Silva’ para segundo ano
– Criar outra turma 'para a disciplina ‘Banco de
dados’ para este semestre
– Inserir uma nota ‘A’ para ‘Silva’ na turma ‘Banco
de dados’ do último semestre
Aula 1 - 14:23
35
Um Exemplo: Universidade
Aula 1 - 14:23
36
Banco de Dados I
SISTEMA DE BD X TRADICIONAL
SGBD
Aula 1 - 14:23
37
Sistema de BD x Tradicional
• Abordagem tradicional
– Uso de arquivos e programação
– Cada usuário define e implementa os arquivos
necessários para uma aplicação específica
– Exemplo: Universidade
• Um arquivo para alunos e suas notas (secretaria)
• Alunos e mensalidades (contabilidade)
Redundância
Aula 1 - 14:23
Ambigüidade
Desperdício de
armazenamento
38
Sistema de BD x Tradicional
• Sistemas de Banco de Dados
– Único repositório de dados
• Acessado por diversos usuários
• Acessado por diversas aplicações
– Principais características
(1) Natureza de autodescritiva de um sistema de BD
(2) Isolamento entre programas e dados, e abstração de
dados
(3) Suporte a múltiplas visões dos dados
(4) Compartilhamento de dados e processamento de
transação multiusuário
Aula 1 - 14:23
39
Natureza de autodescritiva
de um sistema de BD
• O sistema de banco de dados contém
definição completa de sua estrutura e
restrições
• Catálogo do BD
– Informações sobre a estrutura de cada arquivo,
tipo e formato de armazenamento de cada item
de dado e restrições
– Metadados
Aula 1 - 14:23
40
Natureza de autodescritiva
de um sistema de BD
• O catálogo é usado pelo:
– Software de SGBD
– Usuários do banco de dados que precisam de
informações sobre a estrutura do banco de dados
Aula 1 - 14:23
41
Isolamento entre programas e
dados, e abstração de dados
• Independência de dados do programa
– A estrutura dos arquivos de dados é armazenada no
catálogo do SGBD separadamente dos programas de
acesso
– Propriedade: independência programa-dados
• Independência da operação do programa
– Uma operação é especificada em duas partes:
• A interface de uma operação inclui o nome da operação e os
tipos de dados de seus argumentos
• A implementação da operação pode ser alterada sem afetar
a interface
– Propriedade: independência programa-operação
Aula 1 - 14:23
42
Isolamento entre programas e
dados, e abstração de dados
Independência programa-dados
Independência programa-operação
Abstração de Dados
Aula 1 - 14:23
43
Abstração de Dados
• Um SGBD oferece aos usuários uma
representação conceitual dos dados
– Não inclui detalhes sobre armazenamento
– Operações implementadas
Modelo de dados
Aula 1 - 14:24
44
Qual é mais interessante?
Nome do item de dado
Posição Inicial do Registro
Tamanho em caracteres
Nome
1
30
NumeroDoAluno
31
4
35
4
39
4
Turma
Curso_Hab
Aula 1 - 14:24
ou
45
Abstração de Dados
• Na abordagem de BD, todos
os detalhes estão descritos
no catálogo
• Usuários e aplicações
referem-se aos dados
utilizando a representação
conceitual
14:24
46
Suporte para Múltiplas
Visões dos Dados
• Visão
– Subconjunto do banco de dados
– Contém dado virtual derivado dos arquivos do banco
de dados, mas que não estão armazenados
explicitamente
• SGBD multiusuário
– Usuários têm uma série de aplicações distintas
– SGBD precisa oferecer facilidades para definir
múltiplas visões
Aula 1 - 14:24
47
Compartilhamento de Dados e
processamento de transação
multiusuários
• SGBD multiusuário
– Permite que múltiplos usuários acessem o banco de
dados ao mesmo tempo
• Software de controle de concorrência
– Garante que vários usuários tentando atualizar o
mesmo dado faça isso de uma maneira controlada
• Resultado dessas atualizações seja correto
• Aplicações de processamento de transação online (OLPT)
– Regra fundamental do SGBD multi-usuário: suporte a
execução de transações concorrentes
Aula 1 - 14:24
48
Compartilhamento de Dados e
processamento de transação
multiusuários
• Transação
– Fundamental para muitas aplicações de banco de dados
– Programa em execução ou processo que inclui um ou mais
acessos ao banco de dados
– Propriedades ACID
• Atomicidade: A transação será executada totalmente ou não será
executada
• Consistência: Transações não podem quebrar as regras de negócio
e de BD. Banco continuará sendo consistente.
• Isolamento: Transação não será interferida por outra transação
concorrente.
• Durabilidade: Garante que o que foi salvo não será mais perdido.
Aula 1 - 14:24
49
Freqüência!
Aula 1 - BD - Prof. Bruno Moreno
16/08/2011
Download