Sei sulla pagina 1di 116

Banco de Dados

Introduo a Banco de Dados

1
Quem esse professor?

Rangel Xavier
26 anos
Juazeiro do Norte
Sistemas de Informao
Frontend e Design
Teacher FJN and FVS
Up Marketing Digital

2
O que um Banco de
Dados??

3
Alguns termos tpicos
Dados fatos que podem ser armazenados
ex:nomes, telefones, endereos
Banco de dados coleo de dados relacionados
logicamente, ex: agenda de telefones
Sistema de Gerncia de Bases de Dados (SGBD)
coleo de programas que permite a criao e
gerncia de bases de dados ou Sistemas de Banco
de dados

4
Propriedades do termo Banco de Dados

O termo Banco de Dados muito genrico, vamos


h algumas propriedades:
1. Representa algum aspecto do mundo real
2. uma coleo logicamente coerente de dados com
algum significado coerente
3. projetado, construdo e populado com dados para
uma finalidade especfica

5
Exemplo

www.amazon.com
Contm dados de mais de 20 milhes de livros,
CDs, vdeos, DVDs, jogos, eletrnicos, etc...
Cerca de 15 milhes de usurios acessam o
amazon.com todos os dias e utilizam o banco
de dados para realizarem compras

6
Banco de Dados + Software de
SGBD = Sistema de Banco de
Dados

7
Ambiente de Sistema de Banco de
Dados

8
Um banco de dados pode ser
criado e mantido
manualmente, ou pode ser
computadorizado!

9
Motivao

Sistema de Banco de Dados X Sistemas de Arquivos


Antes de SGBDs as aplicaes utilizavam sistemas
de arquivos do Sistema Operacional.

10
Exemplo

Banco de dados UNIVERSIDADE para manter


informaes referentes a alunos, disciplinas e
notas em um ambiente universitrio

11
Exemplo

12
Exemplo

13
Manipulao do banco de dados

Recuperar uma lista de todas as disciplinas e notas


de Silva
Listar os pr-requisitos do curso de Banco de
Dados
Alterar o tipo de aluno de Silva para segundo ano
Criar uma outra turma para a disciplina Banco de
Dados

14
Sistema de Banco de Dados
versus Sistema de Arquivos

15
Caractersticas da abordagem de
banco de dados

Abordagem de banco de dados versus a abordagem


de sistemas de arquivos:
Isolamento entre programas e dados, e abstrao de
dados (Estrutura de Arquivos armazenada no
catalogo do SGBD)
Suporte de mltiplas vises de dados
Compartilhamento de dados e processamento de
transaes multiusurio (Vrios Usurios Acessam)
16
Atores em Cena

Administradores de banco de dados autoriza o


acesso ao banco de dados, coordena e monitora o
seu uso e adquire recursos de software e hardware
conforme a necessidade.
Projetistas de banco de dados identificar os
dados a serem armazenados e escolher estruturas
apropriadas para representar e armazenar esses
dados.
Usurios Finais - pessoas que iro ter acesso ao
banco de dados para consultas, atualizaes e
gerao de relatrios.
17
Atores em Cena

Analistas de Sistemas e Programadores


Analistas de Sistemas identificam as
necessidades dos usurios finais. Os
Programadores implementam as necessidades
dos usurios finais. Esses
analista/programadores devem estar
familiarizados com todo o conjunto de
capacidades fornecidos pelos SGBDs.

18
Vantagens de usar a abordagem
SGBD

Controlando a Redundncia Centralizar as


informaes para evitar que os mesmo dados sejam
inseridos em vrios lugares. Utilizar chaves
primrias e chaves estrangeiras...
Restringindo o acesso no autorizado Permitir
que apenas usurios autorizados tenham acesso as
informaes, e garantir que os mesmo s acessaro
o que foi definido para os mesmos...

19
Vantagens de usar a abordagem
SGBD

Oferecendo backup e recuperao Um SGBD


precisa oferecer recursos para recuperar-se de falhas
de hardware ou software.
Oferecendo mltiplas interfaces do usurio
Dependendo do usurio que utiliza um banco de dados,
o SGBD deve oferecer uma variedade de interfaces de
usurio.
Representando relacionamentos complexos entre
dados - Um SGBD deve ser capaz de representar uma
srie de relacionamentos complexos entre dados (1-1;
N-M; 1-M...)

20
Vantagens de usar a abordagem
SGBD

Impondo restries de integridade por


exemplo o campo TIPO_ALUNO da tabela ALUNO
deve ser um inteiro de um digito e que o valor de
NOME precisa ser um alfa numrico de at 30
caracteres. Outros exemplo: chaves.

21
Vantagens de usar a abordagem
SGBD

Implicaes adicionais do uso da abordagem de


banco de dados:
- Potencial para garantir padres definir e impor o
uso de padres entre os usurios do banco
- Flexibilidade poder alterar a estrutura do banco de
dados a medida que as necessidades mudam
- Disponibilidade de informaes atualizadas torna
um banco de dados disponvel a todos os usurios

22
Desvantagens dos SGBD

Aumento de Custos Exigem hardware e


software sofisticados, e pessoal altamente
treinado
Complexidade de Gerenciamento
Manuteno do Banco de Dados
Atualizado

23
SGBD: Funcionamento

24
S.A: Funcionamento

25
Quando usar Sistema de
Arquivos?

Quando no houver muitas mudanas;


Apenas um usurio

26
Vamos entender uma coisa...

Dados
Campos
Registros
Arquivos

27
Campos

a unidade bsica formadora de um


registro. Constitui a clula da informao.
a menor poro de um arquivo que pode
ser referenciada por um programa.
Cada campo possui NOME, TIPO (Texto,
Numero, Data) e TAMANHO (30, 1, 20).

28
Registro

Um registro constitudo por conjunto de


campos valorados (contendo dados).
Consiste na unidade de armazenamento e
recuperao da informao em um arquivo.
Geralmente, os registros de um arquivo
possuem um formato padro definido pela
sequencia, tipo e tamanho dos campos que
o compem.

29
Arquivo

Um arquivo uma coleo de REGISTROS


do mesmo tipo, ou seja, referentes a um
mesmo assunto e com o mesmo formato
padro.

30
Projeto de Banco de Dados

Requisitos de Dados

Projeto Conceitual

Projeto Lgico

Projeto Fsico

31
Conceitual

O projeto conceitual inicia a partir das


especificaes e abstraes do mundo real
e resulta no esquema conceitual de banco
de dados

Registra QUE dados podem aparecer no banco,


mas no registra COMO estes dados esto
armazenados no SGBD

32
Conceitual

A tcnica mais difundida de modelagem


conceitual a abordagem entidade-
relacionamento (ER). Nesta tcnica, um
modelo conceitual usualmente
representado atravs de um diagrama,
chamado diagrama entidade-
relacionamento (DER)

33
Lgico

O projeto lgico consiste no mapeamento do


esquema conceitual para o modelo de dados
do SGBD adotado, resultando em um esquema
lgico.Um esquema lgico uma descrio da
estrutura do banco de dados que pode ser
processada por um SGBD. Os modelos lgicos
mais utilizados pertencem a trs classes:
relacional, redes e hierrquico, sendo
amplamente utilizado o modelo relacional

34
Fsico

O projeto fsico inicia-se a partir do


esquema lgico e resulta no esquema fsico.
Um esquema fsico uma descrio da
implementao do bando de dados e
direcionado para um SGBD especfico.

35
Exerccio

Descreva um modelo conceitual


para armazenar os dados de livros.
Descreva um modelo conceitual
para armazenar clientes em um
hotel.
Descreva um modelo conceitual
para guardar automveis.

36
Modelo de Dados

Os SGBDs utilizam diferentes


formas de representao, ou
modelos de dados, para
descrever as estrutura das
informaes contidas em seus
banco de dados.
37
Modelo de Dados

Hierrquico
Redes
Relacional
Orientado a Objeto

38
Hierrquico
Modelos de Dados

Criada em 1960;
Projetos complexos como o do foguete
Apollo;
Estrutura lgica representada por uma
estrutura de arvore. De cima para baixo
Difcil de implementar e gerenciar e no
dispunha de independncia estrutural.

39
Hierrquico
Modelos de Dados

Neste modelo os dados so estruturados


em hierarquia ou arvores. Os ns das
hierarquias contm ocorrncias de
registros, onde cada registro uma coleo
de campos, contendo apenas uma
informao

40
Hierrquico

41
Rede
Modelos de Dados

Eliminou o Modelo Hierrquico, permitiu


que um mesmo registro estivesse envolvido
em vrias associaes.

42
Rede

43
Relacional
Modelos de Dados

A estrutura fundamental do modelo


Relacional a relao (tabelas).
No tem caminho pre-definidos para fazer
acesso aos dados como os modelos
passado;

44
Relacional

45
Orientada a Objeto
Modelos de Dados

O dados e relacionamentos so contidos


em uma nica estrutura chamada de objeto.
O objeto inclui informaes sobre o
relacionamento entre os fatos em seu
interior, e tambm relacionamento com
outros objetos.

46
Orientada a Objeto
Modelos de Dados

O modelo de dados OO baseia-se nos


seguintes componentes:
Objeto: uma abstrao de uma entidade real;
Atributos: Descrevem as propriedades ou
caractersticas de um objeto.
Classes: Objetos que tem caractersticas
similares so agrupados em classes.

47
Orientada a Objeto
Modelos de Dados

Os modelos de dados orientados a objetos


normalmente so representados por um
diagrama de classe em UML.
UML: Unified Modeling Language. uma
linguagem (baseada em OO) que descreve
um conjunto de diagramas que podem ser
utilizadas para modelar graficamente um
sistema.
48
Modelagem de Dados

49
Modelagem

50
Abordagem Entidade-Relacionamento

um padro para a modelagem


conceitual.
Criada em 76 por Peter Chen que
junto com alguns conceitos
apresenta uma notao grfica para
diagramas.

51
Carateristicas

Ser um modelo simples, com poucos


conceitos;
Representao grfica de fcil
compreenso.
Um esquema conceitual de dados tambm
chamado de esquema ER, diagrama ER ou
modelo ER.

52
Abordagem Relacional

a utilizao de conceitos de
entidade e relacionamento para
criar as estruturas que iro
compor o Banco de Dados.
Maior erro nesta fase admitir
que j sabe tudo para ser feito.
53
Abordagem Relacional

Para minimizar problemas, deve-se


criar uma estrutura grfica que
permite identificar as entidades de
um sistema e como estas se
relacionam.

54
Objetivo da Modelagem

Desenvolver um modelo que contem


entidades e relacionamentos, e seja capaz
de representas os requerimentos das
informaes do negcio, evitando
redundncias, inconsistncias e economia
de espao.

55
Objetos Conceituais

A ER a tcnica mais utilizada para


modelagem;
O modelo de dados representado atravs
de um modelo entidade-relacionamento
(MER), que graficamente chamado de
Diagrama entidade-relacionamento (DER).

56
Entidades e Relacionamentos

O que so Entidades e Relacionamentos?


Estes so o conceito principal/inicial para
criar um diagrama;

57
Entidade

So objetos que existem no mundo real com


uma identificao distinta e com um
significado prprio.
So descritas como objeto da realidade na
qual se deseja manter informaes no
bancos de dados.
Representado por um substantivo na
descrio do negcio.

58
Entidade

Carros

Pessoas

Empresa

Cidade

Aluno

59
Notao - Entidade

Em um diagrama ER uma enTidade


representada atravs de uma retngulo
contendo o nome da entidade.

MDICO ALUNO

60
Relacionamento

o fato ou acontecimento que liga dois


objetos existentes do mundo real.
O fato que seja a juno de duas ou mais
tabelas;

61
Notao - Relacionamento

A notao do relacionamento no diagrama


representado por um losango .
Um relacionamento caracterizado por um
verbo.

62
Notao - Relacionamento

PESSOAS

MORAM

AP

63
Grau de Relacionamento

O grau de relacionamento tambm


chamado de cardinalidade.
A cardinalidade um conceito importante
para ajudar a definir o relacionamento, ela
define o nmero de ocorrncias em um
relacionamento.

64
Relacionamentos
Os relacionamentos podem ser:

1-1 (Um para um)


1-N (Um para muitos)
N-N (Muitos para muitos)

A isso damos o nome de cardinalidade.

No MER os relacionamentos so identificados


com um verbo
65
Exemplo de 1:1

1 1
Pessoa Possui Automvel
1 1

Uma pessoa possui um automvel


Um automvel pertence a uma pessoa.

66
Exemplo de 1:N

1 N
Pessoa Possui Automvel
1 1

Uma pessoa possui vrios automveis


Vrios automveis pertencem a uma pessoa.

67
Exemplo de N:N

1 N
Aluno Possui Professor
N 1

Um aluno possui vrios professores.


Um professor possui vrios alunos.

68
Obtendo a cardinalidade

Um aluno possui vrios professores.

1 N
Aluno Possui Professor
N 1

Um professor possui vrios alunos.

69
Relacionamento Unrio

Relacionamento unrio (grau 1) uma


entidade se relaciona com ela mesma

70
Relacionamento Binrio

Relacionamento binrio (grau 2) um


relacionamento que liga dois tipos
diferentes de entidades. o mais comum
dos tipos de relacionamentos.

71
Relacionamento Ternrio

Relacionamento ternrio (grau 3) um


relacionamento em que trs entidades
esto interligadas por um mesmo
relacionamento.

72
Outros Relacionamentos

Outros graus de relacionamentos tambm


podem ser usados (quaternrio, grau 5,
etc...)

73
Exerccio

Em equipe, criem em 5
exemplos de cada
relacionamento (1:1, 1:N,
N:N).

74
Exerccio

Uma livraria mantm o cadastro de livros disponveis


para a venda. Para cada livro so armazenados cdigo,
nome, lngua e ano em que foi escrito. Para os autores
mantido igualmente um cadastro que inclui nome, data
de nascimento, pais de nascimento e uma breve nota
biogrfica. Cada livro pode ter vrios autores e para um
mesmo autor podem existir vrios livros cadastrados. As
editoras so includas no cadastro a partir do seu nome,
endereo, telefone. Para um mesmo livro podem existir
vrias edies realizadas por editoras diferentes ou em
anos diferentes . Cada edio tem um cdigo (ISBN) ,
preo, ano, nmero de pginas e quantidade em estoque.

75
Cardinalidade Mnima

Alm da cardinalidade mxima, uma outra


informao que pode ser representada por
um modelo ER o nmero mnimo de
ocorrncias de entidade que so associadas
a uma entidade atravs de um
relacionamento.

76
Cardinalidade Mnima

Para fins de projeto de BD, consideram-se


apenas duas cardinalidades mnimas: a
cardinalidade mnima 0 e a
cardinalidade mnima 1

77
Cardinalidade Mnima 1

Recebe tambm a denominao de


associao obrigatria, j que ela indica
que o relacionamento deve
obrigatoriamente associar uma ocorrncia
de entidade a cada ocorrncia da entidade
em questo

78
Cardinalidade Mnima 0

J a cardinalidade mnima 0 tambm recebe


a denominao de associao opcional

No existe correspondente na outra


entidade

79
Cardinalidade Mnima 0

J a cardinalidade mnima 0 tambm recebe


a denominao de associao opcional

No existe correspondente na outra


entidade

80
Cardinalidade Mnima

No exemplo acima, vamos imaginar que duas


entidades, uma de homens e outra de
mulheres, alguns homens so casados com
mulheres da outra entidade e outros no. Da
mesma forma, algumas mulheres so casadas,
outras no.

81
Cardinalidade Mnima

Para ajudar-nos a definir a cardinalidade


mnima das entidades, uma pergunta deve
ser feita.

Um homem pode ser casado no mnimo


com quantas mulheres da outra entidade? E
no mximo? (legalmente!)

82
Cardinalidade Mnima

83
Cardinalidade Mnima

Quando usamos a cardinalidade mnima e


mxima, deve ser escrita da seguinte forma:

(mnima, mxima)

84
Exemplo

85
Exemplo

86
Exemplo

87
Exemplo

88
Atributos

89
Atributos

So informaes que qualificam uma


entidade e descrevem uma caracterstica.
Quando transpostos para o modelo fsico
so chamados de campos.
4 tipos de atributos (compostos, simples,
multivalorados e especiais)

90
Atributos Compostos

Podem ser divididos em subpartes menores


que representam outros atributos bsicos
com significados diferentes.

Exemplo: Atributo Endereo, que pode ser


dividido em numero, logradouro, cidade,
estado, CEP e etc.

91
Atributos Simples

O tipo de atributo mais comum;


No podem ser subdivididos;
Caracterstica de uma Entidade;
Possui um nico valor;

92
Atributos Multivalorado

A maioria dos atributos possui apenas um


valor. Em alguns casos, um atributo pode
ter um conjunto de valores para a mesma
entidade.

Exemplo: Atributo Telefone. Uma pessoa


poder ter mais de um nmero de telefone

93
Atributos Especiais

So chamados tambm de Determinante;


Identifica de forma nica uma entidade, ou
seja, no pode haver dados repetidos.
Por sua vez, os atributos especiais so
divididos em 4.

94
Atributos

Atributos Especiais
Chave Primria
Chave candidata
Chave estrangeira
Chave composta

95
Chave Primria

o atributo cujo valor identifica


unicamente uma entidade entre todas as
outras.
Atributo ou combinao de atributos que
possuem a propriedade de identificar de
forma nica uma linha da tabela.
Corresponde a um atributo determinante.

96
Chave Estrangeira

quando um atributo de uma entidade a


chave primria de outra entidade com a
qual ela se relaciona.

97
Chave Candidata

a base para a definio/construo de uma


chave primria. A chave primria extrada a
partir do conjunto de chaves candidatas de
uma tabela;
A chave candidata apenas conceitual, ou seja,
ela no implementada.
Os atributos com essa caractersticas
poderiam ser primria j que possuem por
natureza a identificao nica.

98
Chave Composta

A chave primria composta aquela que


criada em dois campos e desta forma passa
a utilizar a juno dos dados dos dois
campos indicados para formar um valor
nico e assim aplicar o bloqueio de
duplicidade.

99
Chave Composta

Exemplo: A entidade CIDADE com os


atributos cidade, estado e populao.
Chave primria: cidade
Suponhamos que ao inserirmos valores
nesta tabela exista nomes de cidades iguais.
Precisa junta dois campos para seres
diferenciados.

100
Notao - Atributo

ENTIDADE

101
Prtica

A pessoa tem um carro sedan e


proprietrio de um apartamento na Lapa.

102
Entidade Fraca e
Entidade Forte

103
possvel que nem sempre uma entidade
no tenha atributos suficientes para formar
uma chave primria.
Essas entidades so chamas de Entidades
Fracas

104
Um conjunto de entidades que possui uma
chave primria chamado de Entidade
Forte

105
Embora as Entidades Fracas no tem chave
primria, necessrio uma forma de
distino entre todas as outras entidades.
O discriminador de um conjunto de
entidade fraca um conjunto de atributos
que permite a distino seja feita.

106
Notao: Entidade Fraca

As entidades fracas so representadas por


um retngulo duplicado.

107
Especializao e
Generalizao

108
Generalizao

um processo de abstrao em que vrios


tipos de entidades so agrupados em uma
nica entidade genrica, que mantm as
propriedades comuns.

A entidade genrica denominada


superclasse

109
Especializao

o processo inverso da Generalizao, ou


seja, novas entidades especializadas so
criadas, com atributos que acrescentam
detalhes entidade genrica existente.

As entidades especializadas so as
subclasses

110
Este conceito est associado a ideia de
herana de propriedades. Ou seja, as
subclasses possuem, alm de seus
prprios atributos, os atributos tambm da
sua superclasse.

111
Notao

112
Exemplo

113
Entidade Associativa
(Agregao)

O uso desta abstrao necessrio quando


um relacionamento deve ser representado
como uma entidade no modelo conceitual.
Isto ocorre quando necessrio
estabelecer um relacionamento entre uma
entidade e um relacionamento.

114
Entidade Associativa
(Agregao)

Para atender a esta situao foi criado o


conceito de Entidade Associativa ou
Agregao.
Que nada mais do que, quando um
relacionamento passa a ser tratado
como entidade.

115
Exemplo

Mdico
Consulta
Paciente
Prescrio
Medicamento

116

Potrebbero piacerti anche