LABORATÓRIO DE
BANCO DE DADOS
Prof. Franklin M. Correia
E-mail:
franklin.correia@bonfim.ifbaiano.edu.br
franklinmatos@gmail.com
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
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
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
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.
• 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
• 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
• 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
• 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
• Banco de dados informatizado
• Rapidez no acesso
• Integração e compartilhamento
• Integridade: regras para armazenamento
• padronização
Sistema de Banco de Dados
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
• 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
Sistema de Banco de Dados
• Funções Básicas de um SGBG
• Integridade semântica
• Segurança
• Concorrência
• Independência
• 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
• 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
Exemplo de registro de histórico
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
• 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
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
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)
• 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
• 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
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
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
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
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
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
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
• Chave Estrangeira
• Chave primária de outra tabela
em um relacionamento.
Conceitos Básicos de ER
• Esquema conceitual ER:
• Esquema de entidades
• Esquema de relacionamentos
• Definição do domínio
Conceitos Básicos de ER
• 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
• 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
• 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
Modelo Entidade - Relacionamento
• 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
Modelo Entidade - Relacionamento
• 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
Conceitos Básicos de ER
Exemplo
Resolução

Aula 01 Revisão

  • 1.
    LABORATÓRIO DE BANCO DEDADOS Prof. Franklin M. Correia E-mail: franklin.correia@bonfim.ifbaiano.edu.br franklinmatos@gmail.com
  • 2.
    Apresentação • Franklin MatosCorreia • Bacharel em Ciência da Computação Faculdade Ruy Barbosa – 2009 • Especialista em Engenharia de Software Faculdade Ruy Barbosa 2013
  • 3.
    Apresentação • Analista deSistemas • 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 temospara 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 Bancode 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 deDados • 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 deDados • 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 erafeito 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 dedados informatizado • Rapidez no acesso • Integração e compartilhamento • Integridade: regras para armazenamento • padronização Sistema de Banco de Dados
  • 11.
    Banco de dadosinformatizado • 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 Gerenciadorde 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 Bancode 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 dosdados • 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
  • 16.
    Exemplo de registrode histórico
  • 17.
    Funções básicas deum 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ênciada 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
  • 31.
    Projeto de Bancode 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 deER • 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 dosatributos • 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çoTelefone 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çoTelefone 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çoTelefone 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 deER • 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çoTelefone 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 deER • 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 conceitualER: • Esquema de entidades • Esquema de relacionamentos • Definição do domínio Conceitos Básicos de ER
  • 43.
    • Esquema deEntidades • 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 deRelacionamentos • 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 dodomínio • Definição do domínio a ser usada ao longo da definição do esquema ER Conceitos Básicos de ER
  • 46.
    Modelo Entidade -Relacionamento
  • 47.
    • Estados doBD • 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
  • 48.
    Modelo Entidade -Relacionamento
  • 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
  • 50.
  • 51.
  • 52.