Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

60
Introdução a Bancos de Dados Introdução à Informática DCC -UFMG

Transcript of Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Page 1: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Introdução a Bancos de Dados

Introdução à InformáticaDCC -UFMG

Page 2: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Bancos de Dados

Aula 1

Page 3: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Problema Uma empresa mantém informações sobre

todos os seus funcionários e produtos em arquivos. Problemas:

Os programas e arquivos são criados por programadores diferentes

Ambiente não permite consulta aos dados de forma eficiente.

Dados podem estar em diferentes formatos Dificuldade de se trabalhar com múltiplos

usuários e ainda os problemas de segurança.

Page 4: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

SGBDs Um sistema de gerenciamento de bancos

de dados (SGBD) consiste numa coleção única de dados inter-relacionados e um conjunto de programas para acessar esses dados.

Objetivo: proporcionar um ambiente conveniente para retirar, acessar e armazenar informação no banco de dados.

Page 5: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Objetos Objetos são abstrações de

coisas semelhantes. Desconsideramos detalhes nas

abstrações. Por exemplo, uma pessoa

pode ser entendida como um empregado de uma empresa, uma paciente de um hospital, um criminoso em uma delegacia, etc... 

Page 6: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Definição de um objeto

Page 7: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Atributos Um atributo é a abstração de uma

única característica possuída pelas entidades que foram classificadas como um objeto, ou seja, uma característica comum a todas essas entidades.

COR

Page 8: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Exemplo Atributos do objeto carro:

Cor Marca Ano de fabricação Modelo Preço

Page 9: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Tipos de atributos Os atributos podem ser:

descritivos: refletem características intrínsecas ao objeto (ex: cor)

nominativos: nomes (ex: código do carro).

referenciais: fatos que ligam uma instância de um objeto a uma instância de outro objeto. (ex: fabricante)

Page 10: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Tipos de atributos Defina um atributo descritivo, um

nominativo e um referencial para o objeto Empregado mostrado abaixo:

Page 11: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Tipos de atributos Descritivo: Salário Nominativo: CódigoEmpregado Referencial: NomeDepartamento

Page 12: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Chave Um conjunto de um ou mais atributos

que unicamente distingue cada exemplo de um objeto é chamado identificador para aquele objeto.

Um identificador pode ser chamado de chave.

CHAVE

Page 13: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Chave Seja a entidade abaixo. Como ela

pode ser criada em forma de tabela ? Que atributo seria a chave?

Page 14: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Chave

Page 15: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Bancos de Dados

Aula 2

Page 16: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Relacionamentos Um relacionamento é uma abstração

de um conjunto de associações que existe entre espécies diferentes de coisas do mundo real. 

Page 17: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Tipos de relacionamentos Os relacionamentos podem ser:

um para um: um departamento possui um diretor. Um diretor é de um departamento.

Page 18: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Tipos de relacionamentos Um para muitos:

um departamento possui de 0 a N empregados.

um empregado trabalha em um departamento.

Page 19: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Tipos de relacionamentos Muitos para muitos: autores escrevem

livros.

Essa multiplicidade de cada relacionamento é também chamada de cardinalidade.

Page 20: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Problema Suponha que você seja dono de uma

locadora de vídeos. Você deseja armazenar dados de estoque e empréstimos dos seus filmes. 

Page 21: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Definição das Entidades Quais coisas do mundo real fazem

parte do universo do seu problema? Objeto: Fita. No modelo entidade-relacionamento,

os objetos são chamados de entidade.

Page 22: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Definição dos atributos Em seguida, você deve pensar em

como caracterizar uma fita. Você pode chegar a conclusão de que cada fita possui: um nome uma duração  um diretor um preço de compra

Page 23: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Tipos de Entidades Uma entidade pode ser:

um objeto com uma existência física: uma pessoa particular, um carro, uma casa ou um empregado.

um objeto com uma existência conceitual: uma empresa, um emprego ou um curso universitário.

Page 24: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Representação da Entidade

Page 25: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Instâncias da Entidade

Page 26: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Representação das entidades

Page 27: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Chaves As entidades podem possuir chave: um

atributo cujo valor que identifica unicamente a entidade.

Page 28: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Exemplo - Chave Pessoa

CPF Número da carteira de identidade

Aluno Número de matrícula

Não pode haver duas pessoas com o mesmo número de CPF!!!

Page 29: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Criando chaves

Page 30: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Criando relacionamentos

Page 31: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Cardinalidade Todo relacionamento possui uma

cardinalidade. Um filme é dirigido por apenas um diretor

(1-1) e um diretor pode dirigir de zero a muitos filmes (0-N).

A cardinalidade deste relacionamento é "zero para n". (Pode haver um diretor que não dirigiu nenhum filme).

Page 32: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Bancos de Dados

Aula 3

Page 33: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Modelo Relacional O modelo relacional representa o

banco de dados como um conjunto de tabelas que podem se relacionar.

Cada tabela é composta por um conjunto de valores divididos pelos seus diversos campos.

Page 34: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Exemplo

Page 35: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Transição ER - Relacional Diagrama de entidade -

relacionamento é diretamente convertido no modelo relacional. 

Cada entidade criada no modelo entidade-relacionamento será considerada uma tabela no Access.

Page 36: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Criação dos campos As colunas de uma tabela no modelo

relacional correspondem aos atributos do modelo entidade-relacionamento.

Na definição de uma tabela, podemos definir para cada campo: nome, tipo, descrição.

Page 37: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Propriedades dos campos Para cada campo, podemos definir as

seguintes propriedades: tamanho, valor padrão requerido.

Page 38: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Exemplo de propriedades Atributo NomeFita da Tabela Fita. Tamanho do campo: este campo possui

tamanho 100, ou seja, podem ser inseridos nesta tabela nomes de fitas de até 100 caracteres.

Valor padrão: este campo não possui valor padrão.

Requerido: é obrigatório sempre definir um valor para o campo "NomeFita".

Page 39: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Exemplos de propriedades

Page 40: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Criação de chaves e relacionamentos

Page 41: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Recursos do Access O Microsoft Access torna o tratamento

das informações contidas nos bancos de dados muito mais fácil.

Ele trabalha com os recursos: consultas, relatórios e formulários.

Page 42: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Consultas Para a tabela abaixo, podemos fazer

algumas consultas:

Page 43: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Consultas Quais os nomes dos filmes cuja

duração é maior que 135 minutos? Quais os nomes dos filmes cujo preço

seja é menor que 21,00 reais?

Page 44: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Relatórios As consultas podem ser visualizadas na

própria tela do computador ou através de relatórios.

Os relatórios trazem os dados que satisfazem a um certo critério de uma consulta.

Exemplo, um relatório com todos os filmes da locadora que custaram mais que 21 reais.

Page 45: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Exemplo - Relatório

Page 46: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Formulários Formulários são muito usados para

entrada de dados em seu banco de dados.

Possuem uma interface que permite que o usuário entre dados de forma fácil e simples.

Page 47: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Exemplo - Formulários Filmes dirigidos por Ridley Scott.

Page 48: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Normalização Perigos potenciais no projeto de um

banco de dados: repetição de informação: informações

repetidas consomem espaço de armazenamento e dificultam a atualização.

incapacidade de representar parte da informação: por vezes temos que incluir valores nulos nos bancos de dados.

perda de informação.

Page 49: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Normalização Para evitar esses problemas, o projeto

de um banco de dados deve passar pela fase de normalização.

Um processo de transformação das relações (tabelas e relacionamentos) em novas relações pela aplicação de quebra de tabelas.

Page 50: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Normalização Este processo tem como conseqüências:

problemas de anomalias e inconsistências diminuem

relações se tornam simplificadas e regulares

aumento de integridade dos dados. O processo de normalização consiste de

três fases.

Page 51: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Primeira Forma Normal (1aFN)

A primeira forma normal (1a FN) diz que todos os atributos admitem apenas valores atômicos, ou seja, os valores devem ser simples, não repetidos.

Page 52: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Primeira Forma Normal (1aFN)

Não está na 1aFN

Page 53: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Primeira Forma Normal (1aFN)

( Dados repetidos )

Page 54: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Procedimento (1a FN) Identificar a chave primária da tabela. Identificar o grupo repetitivo e

removê-lo da tabela. Criar uma nova tabela com a chave

primária da tabela anterior e a do grupo repetitivo.

Page 55: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Segunda Forma Normal (2aFN)

Para que a segunda forma normal seja obedecida, a primeira forma normal deve ser satisfeita também.

A segunda forma normal (2a FN) diz que cada atributo não chave deve ser dependente de toda a chave primária, ou seja, não podem existir atributos que não dependam da chave ou dependam apenas de parte da chave primária.

Page 56: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Segunda Forma Normal (2aFN)

( Cidade não depende de Codigo-Fornecedor )

Page 57: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Procedimento (2a FN) Identificar os atributos que não são

funcionalmente dependentes de toda a chave primária.

Remover da tabela todos esses atributos identificados e criar uma nova tabela com eles.

Os atributos removidos devem ser dependentes da chave primária da nova tabela .

Page 58: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Terceira Forma Normal (3aFN)

Para que a terceira forma normal seja obedecida, a segunda forma normal deve ser satisfeita também.

A terceira forma normal diz que cada atributo não chave é dependente da chave primária e que todos os atributos não chave são independentes entre si.

Page 59: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Terceira Forma Normal (3aFN)

( O preço é calculado a partir da área )

Page 60: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG.

Procedimento (3a FN) Identificar todos os atributos que são

dependentes de outros atributos não chave.

Removê-los e criar uma nova tabela com os mesmos.

Os atributos removidos devem ser dependentes da chave primária da nova tabela .