aula 01 revisão

52
LABORATÓRIO DE BANCO DE DADOS Prof. Franklin M. Correia E-mail: [email protected] [email protected]

Upload: franklin-matos-correia

Post on 30-Jun-2015

722 views

Category:

Education


7 download

DESCRIPTION

Aula 01 da disciplina de Laaboratório de Banco de dados, trazendo uma pequena revisão sobre os conceitos básicos, e a modelagem Entidade - Relacioamento

TRANSCRIPT

Page 1: Aula 01   Revisão

LABORATÓRIO DE BANCO DE DADOSProf. Franklin M. Correia

E-mail:

[email protected]

[email protected]

Page 2: Aula 01   Revisão

Apresentação

• Franklin Matos Correia• Bacharel em Ciência da Computação

Faculdade Ruy Barbosa – 2009

• Especialista em Engenharia de SoftwareFaculdade Ruy Barbosa 2013

Page 3: Aula 01   Revisão

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

Page 4: Aula 01   Revisão

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

Page 5: Aula 01   Revisão

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.

Page 6: Aula 01   Revisão

• 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

Page 7: Aula 01   Revisão

• 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

Page 8: Aula 01   Revisão

• 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

Page 9: Aula 01   Revisão

• 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

Page 10: Aula 01   Revisão

• Banco de dados informatizado

• Rapidez no acesso• Integração e compartilhamento• Integridade: regras para armazenamento• padronização

Sistema de Banco de Dados

Page 11: Aula 01   Revisão

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

Page 12: Aula 01   Revisão

• 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

Page 13: Aula 01   Revisão

Sistema de Banco de Dados• Funções Básicas de um SGBG

• Integridade semântica• Segurança• Concorrência• Independência

Page 14: Aula 01   Revisão

• 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

Page 15: Aula 01   Revisão

• 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

Page 16: Aula 01   Revisão

Exemplo de registro de histórico

Page 17: Aula 01   Revisão

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

Page 18: Aula 01   Revisão

• 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

Page 19: Aula 01   Revisão
Page 20: Aula 01   Revisão
Page 21: Aula 01   Revisão
Page 22: Aula 01   Revisão
Page 23: Aula 01   Revisão
Page 24: Aula 01   Revisão
Page 25: Aula 01   Revisão
Page 26: Aula 01   Revisão
Page 27: Aula 01   Revisão
Page 28: Aula 01   Revisão
Page 29: Aula 01   Revisão
Page 30: Aula 01   Revisão
Page 31: Aula 01   Revisão

Projeto de Banco de Banco de DadosAnálise de Requisitos

Projeto Conceitual

Projeto lógico

Projeto Físico

Escopo

Requisitos BD

Esquema ER

Esquema relacional

Esquema relacional + índices

Page 32: Aula 01   Revisão

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)

Page 33: Aula 01   Revisão

• 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

Page 34: Aula 01   Revisão

• 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

Page 35: Aula 01   Revisão

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

Page 36: Aula 01   Revisão

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

Page 37: Aula 01   Revisão

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

Page 38: Aula 01   Revisão

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

Page 39: Aula 01   Revisão

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

Page 40: Aula 01   Revisão

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

Page 41: Aula 01   Revisão

• Chave Estrangeira• Chave primária de outra tabela

em um relacionamento.

Conceitos Básicos de ER

Page 42: Aula 01   Revisão

• Esquema conceitual ER:

• Esquema de entidades

• Esquema de relacionamentos

• Definição do domínio

Conceitos Básicos de ER

Page 43: Aula 01   Revisão

• 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

Page 44: Aula 01   Revisão

• 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

Page 45: Aula 01   Revisão

• 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

Page 46: Aula 01   Revisão

Modelo Entidade - Relacionamento

Exemplo de Modelo Conceitual ER

Page 47: Aula 01   Revisão

• 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

Page 48: Aula 01   Revisão

Modelo Entidade - Relacionamento

Exemplo de Estado de um Banco de Dados

Page 49: Aula 01   Revisão

• 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

Page 50: Aula 01   Revisão

Conceitos Básicos de ER

Page 51: Aula 01   Revisão

Exemplo

Page 52: Aula 01   Revisão

Resolução