Este documento apresenta um laboratório de banco de dados. Apresenta o professor Franklin Correia e sua formação, além de conceitos básicos sobre banco de dados, como o que é um banco de dados, como eram armazenados os dados antes, funções básicas de um sistema gerenciador de banco de dados e exemplos práticos.
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Banco de Dados LABORATÓRIO
1. LABORATÓRIO DE
BANCO DE DADOS
Prof. Franklin M. Correia
E-mail:
franklin.correia@bonfim.ifbaiano.edu.br
franklinmatos@gmail.com
2. Apresentação
• Franklin Matos Correia
• Bacharel em Ciência da Computação
Faculdade Ruy Barbosa – 2009
• Especialista em Engenharia de Software
Faculdade Ruy Barbosa 2013
3. Apresentação
• Analista de Sistemas
• Vivo ( Analista de Sistemas )
• Ufba ( Analista de Sistemas )
• Altis – IBM (Programador web)
• Linguagens
• Java - Intermediário
• Php - Básico
• Asp (clássico) - Básico
4. O que temos para hoje
• Banco de Dados (BD’s)
• O que é?
• Como era feito o armazenamento antes de surgirem os BD’s?
• Funções básicas
• Projeto de Banco de Dados
• Conceitos Básicos de MER
• Exemplo
• Atividade prática
5. Sistema de Banco de Dados
• O que é um banco de dados?
• Um conjunto de informações manipuláveis, de mesma
natureza, inseridas em um mesmo local, obedecendo a um padrão
de armazenamento.
6. • O que é um banco de dados?
• Uma coleção de dados inter-relacionados, representando
informações sobre um domínio específico.
• Agenda telefônica?
• Lista de compras?
• Livro de romance?
• Dicionário?
Sistema de Banco de Dados
7. • Banco de Dados
• Conjunto de dados organizados tecnicamente, de maneira a
permitir a geração da informação, sua atualização e extração de
acordo com a demanda gerencial
Sistema de Banco de Dados
8. • Banco de Dados
• Dados
• Matéria bruta que é feita de informação. Valores fisicamente registrados
no banco de dados.
• Informação
• Dado que significa alguma coisa para alguém e é utilizado em algum
contexto.
Sistema de Banco de Dados
9. • Como era feito o armazenamento dos dados antes?
• Uso de arquivos sequenciais e planilhas
• Os dados eram inseridos de forma incremental, usando o conceito de
filas.
• Problema com armazenamento em arquivos sequenciais?
• Para se ler um arquivo que foi inserido por ultimo era necessário
percorrer todo o arquivo linha a linha.
• Queda de desempenho – arquivos grandes
• Desorganização dos dados
• Analista “dono” do sistema
• Falta de padronização da informação (tamanho de campos....)
• Redundância e inconsistência dos dados
• Falta de segurança
Sistema de Banco de Dados
10. • Banco de dados informatizado
• Rapidez no acesso
• Integração e compartilhamento
• Integridade: regras para armazenamento
• padronização
Sistema de Banco de Dados
11. Banco de dados informatizado
• Abordagem de banco de dados
• Redução de redundância ou redundância controlada
• Maior controle sobre a integridade dos dados
• Maior controle sobre a segurança dos dados
• Transparência dos dados quanto às aplicações
• Desenvolvimento mais produtivo e flexível
Sistema de Banco de Dados
12. • Sistema Gerenciador de Banco de Dados (SGBD)
• Localiza-se entre o banco de dados físico e os usuários do
sistema.
• O SGBD é composto por um conjunto de arquivos inter-
relacionados e um conjunto de programas que permitem aos
usuários acessar e modificar esses arquivos
Sistema de Banco de Dados
13. Sistema de Banco de Dados
• Funções Básicas de um SGBG
• Integridade semântica
• Segurança
• Concorrência
• Independência
14. • Integridade semântica
• Garantia de dados corretos com relação ao domínio da aplicação
• Exemplo: estados válidos para os dados:
• Sexo não pode ser preenchido com A ou B e sim com Masculino ou Feminino
• Relacionamento válidos entre dados de tabelas:
• Turma N : 1 Disciplina (apenas professores especialistas lecionam as disciplinas de
TIC)
• Especificação de regras
• Testes, ações
Funções básicas de um SGBD
15. • Segurança dos dados
• Evitar violação de consistência dos dados
• Segurança de acesso (usuários e aplicações)
• Matrizes de autorização
• Visões
• Segurança contra falha (Recovery)
• Monitoração de transações
• Transação é um conjunto de operações realizadas no BD
• Princípio do “tudo ou nada”.
• Categoria de falhas
• Transação, sistema e meio de armazenamento
• Manutenção de histórico de atualizações (log’s) e backup do BD
Funções básicas de um SGBD
17. Funções básicas de um SGBD
• Concorrência
• Evitar conflito de acesso simultâneo a dados por transações
(scheduler)
• Principais técnicas
• Bloqueio (lock) e timestamp
18. • Independência
• Transparência da organização dos dados
• O usuário não sabe de que forma os dados estão sendo armazenados
• Níveis de independência
• Independência Física
• Transparência de organização física dos dados
• Exemplo: organização dos arquivos e indexação
• Independência lógica
• Transparência do esquema lógico do BD
• Exemplo: visões (vários esquemas externos)
Funções básicas de um SGBD
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31. Projeto de Banco de Banco de Dados
Análise de
Requisitos
Projeto
Conceitual
Projeto lógico
Projeto Físico
Escopo
Requisitos BD
Esquema ER
Esquema relacional
Esquema relacional + índices
32. Conceitos Básicos de ER
• Entidade (tabela):
• Objeto com existência de mundo real
• Exemplos:
• Aluno, Professor, Disciplina, Turma, Sala,....
• Atributo ( coluna / campo)
• Descreve uma propriedade de uma entidade ou relacionamento
• Possui um conjunto de valores
• Exemplo:
• Professor (nome, telefone, turno, curso, disciplina)
33. • Classificação dos atributos
• Simples ou compostos
• Monovalorados ou multivalorados
• Não nulos
• Derivados
• Exemplos:
• Matricula: atributo simples, monovalorado e não nulo de aluno
• Horário: atributo composto, multivalorado e não nulo de turma
• Semestre: atributo simples, monovalorado e não nulo de coordenação
Conceitos Básicos de ER
34. • Tabelas :
• Telefones, compromissos
• Campos:
• (Telefones) : nome, telefone, endereço
• (Compromissos) : data, hora, compromisso
• Registo:
• Cada telefone e cada compromisso anotado
Exemplo – Banco Agenda de Contatos
35. Id Nome Endereço Telefone
1 João Antônio Av. Presidente
Vargas nº 350
(74)9980-5145
2 Maria Joaquina Rua João das
botas nº 101
(74)9130-2221
Exemplo – Banco Agenda de Contatos
36. Id Nome Endereço Telefone
1 João Antônio Av. Presidente
Vargas nº 350
(74)9980-5145
2 Maria Joaquina Rua João das
botas nº 101
(74)9130-2221
Exemplo – Banco Agenda de Contatos
Tupla / Registro
37. Id Nome Endereço Telefone
1 João Antônio Av. Presidente
Vargas nº 350
(74)9980-5145
2 Maria Joaquina Rua João das
botas nº 101
(74)9130-2221
Exemplo – Banco Agenda de Contatos
Campo / Atributo / Coluna
38. Conceitos Básicos de ER
• Chave primária (PK)
• Campo que identifica o registro na tabela
• Nunca deve ficar em branco
• Geralmente é um campo que se auto- incrementa
• Seu valor é único na tabela
39. Id Nome Endereço Telefone
1 João Antônio Av. Presidente
Vargas nº 350
(74)9980-5145
2 Maria Joaquina Rua João das
botas nº 101
(74)9130-2221
Id é a Pk da tabela de
telefones
Conceitos Básicos de ER
Exemplo de Chave Primária
40. Conceitos Básicos de ER
• Tipos de Chave primária (PK)
• PK simples: apenas um único campo (o mais comum)
• PK composta: 2 ou mais campos
• Exemplo: Agencia e Conta Bancária
• Chave única
• Assim como a chave primária ela não pode se repetir porém pode
estar em branco
41. • Chave Estrangeira
• Chave primária de outra tabela
em um relacionamento.
Conceitos Básicos de ER
42. • Esquema conceitual ER:
• Esquema de entidades
• Esquema de relacionamentos
• Definição do domínio
Conceitos Básicos de ER
43. • Esquema de Entidades
• Descrição de um conjunto de entidades do mesmo
tipo, incluindo
• O nome para o conjunto
• A lista de atributos
Conceitos Básicos de ER
44. • Esquema de Relacionamentos
• Descrição de um conjunto de relacionamentos do mesmo tipo,
incluindo
• O nome para o conjunto
• A lista de esquema de entidades e seus papeis (se não for definido
um papel assume-se o nome do conjunto)
• A lista de atributos
Conceitos Básicos de ER
45. • Definição do domínio
• Definição do domínio a ser usada ao longo da definição do
esquema ER
Conceitos Básicos de ER
47. • Estados do BD
• Associa a cada esquema de entidades E um conjunto de entidades
s(E).
• Associa a cada conjunto de relacionamentos R entre E1,... En um
subconjunto s(R) do produto cartesiano s(E1) x...x s(En)
• Associa cada atributo A de um esquema de entidades ou de
relacionamentos S uma função S(A) de s(E) em D
Conceitos Básicos de ER
49. • Notação
• Seja
• E um esquema de entidades
• K=(K1,...,Km) uma lista de atributos de E
• Di o domínio de Ki
• s um estado do BD
• r uma entidade (ou relacionamento) em s(E)
• Então r[K] = (s(K1),...,s(Km)) denota a tupla de valores dos
atributos em K
• (semelhantemente para um esquema de relacionamento)
Conceitos Básicos de ER