introdução a bancos de dados introdução à informática dcc -ufmg
TRANSCRIPT
![Page 1: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/1.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/2.jpg)
Bancos de Dados
Aula 1
![Page 3: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/3.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/4.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/5.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/6.jpg)
Definição de um objeto
![Page 7: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/8.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/14.jpg)
Chave
![Page 15: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/15.jpg)
Bancos de Dados
Aula 2
![Page 16: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/18.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/20.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/21.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/24.jpg)
Representação da Entidade
![Page 25: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/25.jpg)
Instâncias da Entidade
![Page 26: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/26.jpg)
Representação das entidades
![Page 27: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/29.jpg)
Criando chaves
![Page 30: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/30.jpg)
Criando relacionamentos
![Page 31: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/31.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/32.jpg)
Bancos de Dados
Aula 3
![Page 33: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/34.jpg)
Exemplo
![Page 35: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/37.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/39.jpg)
Exemplos de propriedades
![Page 40: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/40.jpg)
Criação de chaves e relacionamentos
![Page 41: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/41.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/42.jpg)
Consultas Para a tabela abaixo, podemos fazer
algumas consultas:
![Page 43: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/43.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/44.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/45.jpg)
Exemplo - Relatório
![Page 46: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/46.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/47.jpg)
Exemplo - Formulários Filmes dirigidos por Ridley Scott.
![Page 48: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/48.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/49.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/50.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/51.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/52.jpg)
Primeira Forma Normal (1aFN)
Não está na 1aFN
![Page 53: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/53.jpg)
Primeira Forma Normal (1aFN)
( Dados repetidos )
![Page 54: Introdução a Bancos de Dados Introdução à Informática DCC -UFMG](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/54.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/55.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/56.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/57.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/58.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/59.jpg)
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](https://reader035.vdocuments.pub/reader035/viewer/2022062404/552fc105497959413d8c084e/html5/thumbnails/60.jpg)
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 .