banco de dados - bruno morenobrunomoreno.com/wordpress/wp-content/uploads/2012/05/bd_aula1.pdf ·...
TRANSCRIPT
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
2Aula 1 - 14:23
Apresentação - Professor
• Bruno Neiva Moreno
– Graduação: UFPB
– Mestrado: UFPE
– www.brunomoreno.com
3Aula 1 - 14:23
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
4Aula 1 - 14:23
Apresentação – Disciplina
• Módulo 1 - Introdução
(1) Definição de Banco de Dados
• 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
5Aula 1 - 14:23
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
6Aula 1 - 14:23
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
7Aula 1 - 14:23
Apresentação – Disciplina
• Módulo 3 – O Modelo Relacional
(1) Conceitos do modelo relacional
• Tipos
• Entidades
• Restrições e esquemas
• Mapeamento MER para Relacional
• Restrições de domínio
• Restrições de chave
• Integridade referencial
8Aula 1 - 14:23
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
9Aula 1 - 14:23
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
10Aula 1 - 14:23
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
• Calculo Relacional
(3) Projeto de Banco de dados relacional baseado no mapeamento MER-Relacional
11
Prova 1
Aula 1 - 14:23
Apresentação – Disciplina
• Módulo 4 – SQL
(1) Definição de dados e tipos de dados
(2) Restrições (chaves)
(3) Comandos de alterações (alter, drop)
(4) Consultas SQL
• Select-from-where
• Aliases
• Where ausente e uso de asterisco
• Operações de conjuntos
12Aula 1 - 14:23
Apresentação – Disciplina
• Módulo 4 – SQL
(4) Consultas SQL
• Comparações
• Ordenação
• Consultas aninhadas e comparação
• Junções
• Funções de agregação
• Agrupamento: Group by e having
13Aula 1 - 14:23
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)
14Aula 1 - 14:23
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 integrando-o com Java: JDBC
15Aula 1 - 14:23
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
16
Prova 2
Aula 1 - 14:23
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)
17Aula 1 - 14:23
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
183
Aula 1 - 14:23
Controle de frequência
• 25% de 35 aulas = 9 aulas
• Horário das aulas
19Aula 1 - 14:23
Bibliografia
20Aula 1 - 14:23
DEFINIÇÃO DE BANCO DE DADOSBanco de Dados
2114:23
Emprego de BD
• Representam papel crítico em todas as áreas de uso de computadores
22Aula 1 - 14:23
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
23Aula 1 - 14:23
Emprego de BD
• Outros exemplos
– Banco de dados de clientes
– Banco de dados de um banco
– Catálogo de uma biblioteca
24Aula 1 - 14:23
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
25Aula 1 - 14:23
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
26
SGBD DBMSDatabase Management SystemSistema Gerenciador de Banco de Dados
Aula 1 - 14:23
Emprego de BD
Sistema de Arquivos Sistema de Banco de Dados
27
Dados(arquivos)
Aplicativos Dados(arquivos)
Aplicativos SGBD
14:23
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
28Aula 1 - 14:23
Definição de SGBD
29
Coleção de programas
Programa 1
Programa 2
Programa N
...
DEFINIÇÃO
CONSTRUÇÃO
MANIPULAÇÃO
COMPARTILHAMENTO
Aula 1 - 14:23
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
30Aula 1 - 14:23
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
31Aula 1 - 14:23
Definição de SGBD
32Aula 1 - 14:23
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
33Aula 1 - 14:23
Um Exemplo: Universidade
• Exemplos de consultas
– Recuperar uma lista de todas as disciplinas e notas
– Listar os nomes e notas dos alunos matriculadosna disciplina ‘Banco de dados’ oferecida nosegundo semestre de 2008
– Listar os pré-requisitos do curso de ‘Banco dedados’
34Aula 1 - 14:23
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
35Aula 1 - 14:23
Um Exemplo: Universidade
36Aula 1 - 14:23
SISTEMA DE BD X TRADICIONALBanco de Dados I
Aula 1 - 14:23 37
SGBD
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)
38
Redundância Ambigüidade Desperdício de armazenamento
Aula 1 - 14:23
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
39Aula 1 - 14:23
Natureza de autodescritivade 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
40Aula 1 - 14:23
Natureza de autodescritivade 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
41Aula 1 - 14:23
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
42Aula 1 - 14:23
Isolamento entre programas e dados, e abstração de dados
43
Independência programa-dados
Independência programa-operação
Abstração de Dados
Aula 1 - 14:23
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
44
Modelo de dados
Aula 1 - 14:24
Qual é mais interessante?
45
ou
Nome do item de dado Posição Inicial do Registro Tamanho em caracteres
Nome 1 30
NumeroDoAluno 31 4
Turma 35 4
Curso_Hab 39 4
Aula 1 - 14:24
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
4614:24
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
47Aula 1 - 14:24
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 on-line (OLPT)– Regra fundamental do SGBD multi-usuário: suporte a
execução de transações concorrentes
48Aula 1 - 14:24
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.
49Aula 1 - 14:24
Freqüência!
Aula 1 - BD - Prof. Bruno Moreno
16/08/2011