Buscar

Aula 02 - Arquitetura de BD e Modelo Relacional (08.08.2013)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 26 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Prof. Rômulo Alencar 1
BANCO DE DADOS
� Professor: Luciano Vale, MSc.
Scrum.org Certified - PSM I - Professional Scrum Master I
Rational Certitied - Rational Unified Process v7.0
� IBM Certified System Administrator - WebSphere Application Server Network Deployment V7.0
IBM Certified Business Process Analyst - WebSphere Business Modeler Advanced Edition V7.0
IBM Certified Integration Developer - WebSphere Process Server V7.0
Contato: lucianovale@gmail.com
Prof. Rômulo Alencar 2
� Conceitos Básicos de BD
◦ Esquema/Estado de um BD
◦ Arquitetura de 3 Esquemas
◦ Tipos de Usuários do BD
◦ Arquitetura do SBD
� Modelo Relacional
� SQL
Prof. Rômulo Alencar 3
� Esquema de um BD
◦ Estrutura do BD
◦ Descrição do BD
◦ Conjunto de elementos/entidades/objetos/itens que 
compõem
� Estado de um BD
◦ Conjunto de valores armazenados em um BD em um 
dado momento
Prof. Rômulo Alencar 4
� Esquema Interno
◦ Físico
◦ Como os dados estão armazenados fisicamente
� Esquema Conceitual
◦ Lógico
◦ Abstrato
◦ Como o usuário percebe os dados
◦ Baseado no Modelo de Dados adotado
Prof. Rômulo Alencar 5
� Esquema Externo
◦ Visão (view) de dados
◦ Como um usuário (ou grupo de usuários) visualiza os 
dados
◦ Permite restringir ou facilitar o acesso aos dados
◦ São possíveis diversas visões diferentes para um 
mesmo esquema conceitual
Prof. Rômulo Alencar 6
�Sistema de Banco de Dados (SBD)
�Sistema Gerenciador de Banco de Dados (SGBD)
�Banco de Dados (BD)
�SBD = SGBD + BD
Prof. Rômulo Alencar 7
Gerenciador 
de Transações
Mecanismo 
de Consultas
Gerenciador 
de Buffer
Gerenciador 
de Arquivo
Compilador 
DML
Pre-compilador 
DML
Sistema de 
Armazenamento
Processador
de Consultas
SGBD
SBD
Código Objeto
aplicativos
Arquivos
de dadosíndices Catálogo
BD
EsquemaConsultaPrograma Aplicativo
DBAUsuário experienteProgramadores
Interpretador 
DDL
Fragmentos
de código
Prof. Rômulo Alencar 8
� SGBD
◦ Processador de Consultas
� Compilador DML
� Análise sintática e semântica de expressões DML
� Tradução de uma expressão DML para a forma de 
representação interna de consulta (p.ex. álgebra relacional)
� Pré-Compilador DML
� Tradução de expressões DML em chamadas de 
procedimentos (rotinas) da linguagem hospedeira
� Interpretador DDL
� Interpretação de comandos DDL e armazenamento deles no 
catálogo
� Tabelas contendo metadados
� Mecanismo de Consultas
� Otimização de geração de planos de execução de consultas
Prof. Rômulo Alencar 9
� SGBD
◦ Sistema de Armazenamento
� Gerenciador de Transações
� Controle de concorrência
� Recuperação do BD após falhas
� Gerenciador de Buffer
� Acessa objetos em disco e os carrega na memória principal
� SGBD possui uma área de buffer em memória principal
� Mapeamento: Bloco ⟷ Página
� Definição da política de alocação do buffer
� MRU, LRU, FIFO, LIFO, etc
� Gerenciador de Arquivo
� Responsável pelo armazenamento físico em disco
� Gerencia a alocação de espaço em disco
Prof. Rômulo Alencar 10
� BD
◦ Arquivos de dados
� Armazena os dados
◦ Índices
� Estruturas de índices para os arquivos de dados
� Índices ordenados
� Árvores B+
� Arquivos grade
� Árvores R
� Árvores quadrante
� Índices não-ordenados
� Índice hash
Prof. Rômulo Alencar 11
� BD
◦ Catálogo
� Armazena esquema do BD (metadados)
� Nomes das tabelas
� Atributos de cada tabela
� Definição de índice para uma tabela, etc
� Armazena informações estatísticas
� Exemplo
� Cardinalidade de uma tabela
� Utilizadas na otimização de consultas
◦ Fragmentos de código
� Stored procedures
� Triggers
� Métodos
Prof. Rômulo Alencar 12
� Proposto por Edgar Codd
◦ Funcionário da IBM
◦ Em 1970
� Baseado em
◦ Teoria dos conjuntos
◦ Lógica de predicados
� Forte base matemática
Prof. Rômulo Alencar 13
� Modelo de dados mais popular do mercado
◦ Simplicidade de representação
◦ Alto desempenho
◦ Garantia de consistência
� Exemplos
◦ Oracle
◦ SQL Server
◦ DB2
◦ PosgreSQL
◦ MySQL
◦ Sybase
Prof. Rômulo Alencar 14
� Dados são representados como Relações
◦ Relação
� Sub-conjunto dos produtos cartesianos entre os 
conjuntos domínio de seus atributos
� Na prática, é utilizado o conteito de Tabela
◦ Tabela
� Dados são organizados em linhas e colunas
� Cada linha representa um indivíduo
� Cada coluna representa um atributo dos indivíduos
Prof. Rômulo Alencar 15
� Exemplo de Tabela
◦ Tabela de Funcionários
matriculamatriculamatriculamatricula nomenomenomenome cpfcpfcpfcpf enderecoenderecoenderecoendereco salariosalariosalariosalario
1 João 111.111.111-
11
Rua ABC, 123 1500,00
2 José 222.222.222-
22
Av. XYZ, 456 2500,00
3 Maria 333.333.333-
33
Rua DEF, 222 2000,00
4 Pedro 444.444.444-
44
Av. JKL, 555 3000,00
5 Paulo 555.555.555-
55
Rua GHI, 789 1500,00
Prof. Rômulo Alencar 16
� Operadores
◦ Álgebra Relacional
◦ Cálculo Relacional
◦ Permitem que os dados das relações sejam 
manipulados
◦ São os meios “oficiais” de manipulação de dados no 
Modelo Relacional
Prof. Rômulo Alencar 17
� Linguagens de consulta
◦ Permitem manipulação facilitada dos dados de um BD 
relacional
◦ Na prática, são o padrão para manipulação de dados 
relacionais
� SQL ⇒ Padrão do mercado
◦ Geralmente declarativas
� Você diz o que quer, mas não como quer que seja 
executado
◦ Comumente convertidas para álgebra relacional 
durante a execução
Prof. Rômulo Alencar 18
� Restrições de Integridade
◦ Conjunto de regras que, se aplicadas, garantem 
consistência ao BD
◦ Mais populares
� Restrição de Domínio
� Restrição de Chave
� Restrição de Integridade Referencial
� Regras de Negócio
Prof. Rômulo Alencar 19
� Restrições de Integridade
◦ Restrição de Domínio
� Um atributo possui um conjunto domínio relacionado
� A matrícula de um funcionário, por exemplo, possui como 
conjunto domínio o conjunto dos números inteiros
� A Restrição de Domínio diz que, necessariamente, o valor 
de um atributo faz parte do conjunto domínio do mesmo
� Desta forma, torna-se impossível atribuir um valor diferente 
de um número inteiro a uma matrícula
� Garantia de integridade!
Prof. Rômulo Alencar 20
� Restrições de Integridade
◦ Restrição de Domínio
� Na prática, a Restrição de Domínio é implementada 
através de
� Indicação de tipos de dados
� Regras de checagem (verificação)
� Checks
� Permissão (ou não) de valores nulos
Prof. Rômulo Alencar 21
� Restrições de Integridade
◦ Restrição de Chave
� Existe um sub-conjunto diferente de vazio do conjunto total 
de atributos que identifica cada entidade da relação
� Valores não se repetem!
� A Restrição de Chave garante que um indivíduo do mundo 
real não apareça mais de uma vez na mesma tabela
� Garantia de integridade!
� Uma tabela pode ter várias chaves, mas apenas uma delas 
será a chave primáriachave primáriachave primáriachave primária
� As outras serão chaves candidataschaves candidataschaves candidataschaves candidatas
� Cada chave pode ser
� Simples → Um atributo
� Composta → Mais de um atributo
Prof. Rômulo Alencar 22
q Restrições de Integridade
å Restrição de Chave
ë Segundo o Modelo Relacional, toda relação precisa ter ao 
menos uma chave
ñ Teoria dos Conjuntos
ç Um conjunto não pode possuir elementos repetidos
� Para garantir isso, uma chave deve existir!
ë Na prática, porém, podemos ter tabelas com linhas repetidas
ñ É importante que toda tabela possua uma chave!
ñ Caso não seja possível encontrar um conjunto de atributos para 
compor a chave, pode-se incluir um novo atributo com essa 
finalidade
ç Chave externa
� Geralmente um código de auto-numeração
Prof. Rômulo Alencar 23
� Restriçõesde Integridade
◦ Restrição de Integridade Referencial
� Uma chave estrangeirachave estrangeirachave estrangeirachave estrangeira é um conjunto de campos de uma 
tabela que é chave primária em outra tabela
� Utilizada para representar relacionamentos
� Chave estrangeira funciona como um ponteiro para a outra 
tabela
� A Restrição de Integridade Referencial diz que os 
possíveis valores que chave estrangeira pode assumir em 
sua tabela estão limitados aos valores da chave primária 
relacionada a ela na outra tabela
� Garantia de integridade!
Prof. Rômulo Alencar 24
� Restrições de Integridade
◦ Restrição de Integridade Referencial
� Exemplo
� Como a coluna “lotacao” é chave estrangeira de 
Departamentos em Funcionários, os valores dela estão 
limitados aos valores da chave primária de 
Departamentos: a coluna “codigo”
matrículamatrículamatrículamatrícula nomenomenomenome lotacaolotacaolotacaolotacao
1 João 2
2 José 1
3 Maria 2
4 Pedro 3
Funcionários
codigocodigocodigocodigo nomenomenomenome
1 Gerência
2 Financeiro
3 Vendas
Departamentos
Prof. Rômulo Alencar 25
� Restrições de Integridade
◦ Regras de Negócio
� Quando as restrições de dados são demasiadamente 
complexas, é comum que elas sejam colocadas na 
aplicação
� Pois muitas vezes o SGBD nem mesmo tem como 
implementá-las
� Ainda que o SGBD possa implementá-las, sua aplicação pode 
interferir no desempenho do restante do sistema
� SGBD é otimizado para recuperar dados!
Prof. Rômulo Alencar 26
� Restrições de Integridade
◦ Regras de Negócio
� Exemplo
� Um cliente só poderá contrair um empréstimo se possuir 
salário acima de R$3.000,00, não possuir restrições de 
crédito nos últimos cinco anos, não possuir outros 
empréstimos em outras instituições bancárias, for casado e 
não possuir mais que três filhos
� Como implementar eficientemente num BD?

Outros materiais