Professional Documents
Culture Documents
Banco de Dados I
BANCO DE DADOS
Uma Definio
um conjunto de dados, relativos a um determinado ambiente, por exemplo, um empresa de fornecimento de energia
eltrica, armazenados em um ou vrios computadores e que guardam entre si algum relacionamento.
Exemplo
Banco de Dados de Recursos Humanos de uma empresa;
Banco de Dados de Aplicaes Financeiras;
Banco de Dados de uma empresa de energia eltrica.
Base de Dados
o conjunto de todos os dados de um determinado ambiente, estejam eles armazenados em computador ou no.
Exemplo
Banco de Dados de Recursos Humanos + as correspondncias expedidas e recebidas, pela empresa, e que esto
guardadas nos armrios de cada departamento.
Caractersticas de um SGBD
Abstrao de Dados
a possibilidade de entender uma ambiente se preocupando apenas com seus aspectos mais importantes. No caso dos
Bancos de Dados abre a possibilidade a seus usurios de poderem acessar aos dados sem a necessidade de se
preocuparem com os detalhes de como os dados so armazenados.
Nveis de Abstrao
Nvel Fsico
Descreve como os dados so realmente armazenados. Neste nvel de abstrao trabalham os DBAs.
Nvel Conceitual
Descreve quais dados esto armazenados e como eles se relacionam. Neste nvel os usurios no se preocupam os
aspectos fsicos do armazenamento de dados. Aqui trabalham os DBAs e os Analistas de Aplicao.
Banco de Dados I
Nvel de Viso
Uma viso descreve parte de uma banco de dados, de modo que , usurios do banco tenham acesso apenas aos dados que
lhes dizem respeito. Um banco de dados tem muitas vises.
Modelos de Dados
Identificam os dados de um determinado ambiente, as relaes entre eles e suas restries de integridade.
Banco de Dados I
Esquema
a representao do projeto do banco de dados. No mudam com frequncia. Em um banco de dados tempos esquemas
fsicos e conceituais.
Independncia de Dados
possibilidade de mudar esquemas de um nvel de abstrao sem comprometer os esquemas de outros nveis
Independncia Fsica de Dados
a caracterstica que os bancos de dados devem ter e que consiste na possibilidade de que alteraes feitas no
esquema fsico no exigirem alteraes nos programas escritos.
Independncia Lgica de Dados
uma caracterstica dos bancos de dados que permite mudanas nos esquemas conceituais sem exigir
mudanas nos programas escritos. difcil de ser conseguida.
Interagir com o gerenciador de arquivos. Geralmente esses gerenciadores de arquivos so fornecidos pelos sistemas
operacionais. de responsabilidade desses gerenciadores o atendimento solicao de dados.
Garantir Integridade do Dados
Garantir Segurana de Acesso
Banco de Dados I
Recuperao de Dados
Controlar Concorrncia de Acesso.
Banco de Dados I
O MODELO DE DADOS
Uma Definio
O Modelo de Dados uma representao das necessidades de dados de um determinado ambiente e de como esses dados
se relacionam. uma das primeiras atividades que deve ser executada ao longo do processo de identificao e
compreenso de um ambiente, tendo em vista necessidades de automatizao. um dos produtos da fase de Anlise do
Ciclo de Vida de um projeto de desenvolvimento de um sistema. Construir um Modelo de Dados significa: coletar e
documentar informaes relevantes do ambiente estudado; representar as informaes, de forma clara e objetiva, e num
formato padro que possa facilitar o entendimento dos participantes do processo; definir, de maneira clara, o escopo do
ambiente modelado; adquirir o entendimento do ambiente atravs de refinamentos sucessivos do modelo; e representar
graficamente as necessidades de informao independentemente do Software e do Hardware a serem usados na
implementao do Sistema.
1.
1.1. Entidade
Chamamos de entidade, qualquer coisa real ou abstrata, de um determinado ambiente, sobre a qual precisamos
guardar informaes. Se estamos modelando o ambiente de uma biblioteca, por exemplo, ento as informaes
a respeito dos livros devem estar representadas pela entidade: Livro. As informaes relativas aos usurios da
biblioteca poderiam ser representada pela entidade: Cliente. As informaes relativas ao emprstimo de livros
seriam representadas pela entidade: Emprstimo. As reservas de livros por: Reserva, e assim por diante. Nesse
ambiente as informaes da entidade Livro poderiam ser: nome do livro, ISBN do livro, e ttulo do livro. Para a
entidade Cliente poderamos ter: cpf, nome, endereo e telefone. Para a entidade Emprstimo: data do
emprstimo, data provvel de devoluo e taxa de multa para o caso de devoluo com atraso. A entidade
Reserva poderia ter: data da reserva, e data provvel de disponibilidade do livro.
claro que as informaes representadas por uma entidade dependem do ambiente onde ela est inserida. Por
exemplo: uma pessoa para o Ministrio da Fazenda vista como um contribuinte de impostos. E dentro deste
contexto as informaes relevantes de pessoa seriam: cpf, renda anual, despesas mdicas, despesas com
instruo, etc. J o Ministrio da Educao poderia ter outras necessidades de informaes sobre uma pessoa,
como por exemplo: cpf, nvel de escolaridade, idade, data de nascimento, etc. O Ministrio da Sade,
certamente teria interesse em informaes sobre sade: tipo sanguneo, data de nascimento, etc. Podemos
concluir que, uma entidade s deve conter informaes que dizem respeito, ou que so necessrias, ao
ambiente que representa.
Banco de Dados I
Exemplos:
1. A Entidade ALUNO uma entidade primria porque identificada pelos seus prprios atributos. O seu
identificador pode ser o atributo Matrcula do aluno.
ALUNO
# Matrcula
Nome
Sexo
2.
A Entidade DEPARTAMENTO uma entidade primria pois tem como atributo identificador um atributo
prprio. A sigla do departamento, por exemplo.
DEPARTAMENTO
# Sigla
Nome
EMPREGADO
# Matrcula
Nome
Sexo
DEPENDENTE
# Cdigo
Nome
Data de Nascimento
Entidade Associativa
a entidade que no se identifica por si mesma e sua existncia depende da existncia de duas ou mais outras
entidades. Compem seu identificador, os identificadores das entidades que se associaram para lhe dar origem.
Exemplo
1. No diagrama abaixo a entidade, APROVEITAMENTO uma entidade associativa porque a sua
identificao s possvel a partir da Matrcula, identificador da entidade ALUNO e de Cdigo,
identificador da entidade DISCIPLINA. Ou sejam, quando nos referimos ao aproveitamento 7,3, por
Banco de Dados I
exemplo, ele s tem sentido quando associado a uma aluno e a uma disciplina. Assim: Joo Ribeiro Ferraz
(Aluno) obteve a nota 7,3 (Aproveitamento) em Banco de Dados (Disciplina).
10
Banco de Dados I
ALUNO
# Matrcula
Nome
Sexo
DISCIPLINA
# Cdigo
Nome
1
N
APROVEITAMENTO
Nota
Data da avaliao
1.3. Atributos
So partes especficas de uma determinada entidade. So as informaes que caracterizam a entidade.
Exemplos de Atributos
Poderiam ser atributos de uma entidade Aluno: nome, nmero da matrcula, cpf, data de ingresso no
curso, endereo, telefone e data de nascimento. Uma entidade Fornecedor poderia Ter como atributos:
Cgc, nome, Razo Social, Endereo, e Capital Social. Cada entidade tem valores especficos para seus
atributos que diferir ou ser iguais aos valores dos atributos de outras entidades de um mesmo tipo de
entidade.
Valor de um Atributo
Chamamos valor de um atributo ao contedo que um atributo pode ter. Marcos Ferreira, Rosa Cristina,
Deusdete da Cunha poderiam ser valores da entidade Aluno. Casa do Barata, Mesbla, C&A seriam
valores do atributo nome da entidade Fornecedor.
Domnio de um Atributo
o conjunto de valores que um atributo pode assumir. Exemplo: Masculino, Feminino so o domnio do
atributo Sexo da entidade Aluno. O atributo Nota da entidade aluno tem o domnio: {nmeros reais de 0
a 10).
Tipos de Atributos de uma Entidade
nico
Cada entidade tem um valor diferente para este atributo. A matrcula de um aluno em um curso um
atributo nico porque no existe outro aluno matriculado com o mesmo nmero de matrcula.
No-nico
Quando o valor pode se repetir em vrias entidades. Por exemplo, o aproveitamento de um aluno. Mais
de um aluno pode ter a mesma nota.
11
Banco de Dados I
Obrigatrio
Quando tem que existir um valor para este atributo em toda entidade. Por exemplo, o nome do aluno na
entidade ALUNO.
Simples
Quando possui um domnio simples. Por exemplo, o atributo sexo tem um domnio simples pois
formado pelo conjunto (nico) das letras F e M.
Composto
Quando possui mais de um domnio simples. Endereo de uma pessoa, por exemplo. Ele formado
pelos domnios, simples, dos Logradouros, dos Bairros, das Cidades, dos Estados e dos CEPs.
Univalorado
Quando tem um nico valor para cada entidade. Por exemplo, o nmero de matrcula de um aluno. Cada
aluno tem um nico nmero de matrcula.
Multivalorado
Quando pode ter mais de um valor para cada entidade. Por exemplo, o telefone de uma pessoa. Uma
pessoa pode ter mais de um telefone. O do trabalho e da residncia.
Derivado
Quando o seu contedo depende do contedos de outros atributos. Por exemplo, o total de uma nota
fiscal formado pela soma dos totais de cada item componente da nota fiscal.
No derivado
Quando ele no pode ser obtido a partir de outros atributos. Por exemplo, nome de um aluno.
Identificador
o atributo ou atributos que identificam uma entidade de um tipo de entidade de maneira nica. Por
exemplo a matrcula do estudante. Ou a matrcula do aluno e o cdigo da disciplina no tipo de entidade
APROVEITAMENTO.
No Identificador
Quando o identificador no identifica por si s um entidade dentro de um tipo de entidades. Por
exemplo, o nome do aluno no identifica o aluno dentro to tipo de entidade ALUNO.
Matriz de Definio dos Atributos
Atributos
ID
OB
Matrcula
Nome
Telefone
S
S
MV AD
AC
CE
NAT TAM
N
C
C
4
40
14
DEC DOM
> zero
<> Nulo
<> Nulo
12
Banco de Dados I
1.4. Relacionamentos
Chamamos de relacionamento a associao entre duas entidades ou entre uma entidade e ela mesma.
Para expressar, em um modelo, quais as disciplinas nas quais um aluno est matriculado ns poderamos
definir o relacionamento: O aluno est matriculado em... O relacionamento para expressar os
dependentes de um determinado empregado seria: Empregado tem dependentes.
Cardinalidade de um relacionamento
Indica quantas entidades de um tipo de entidade participam de um relacionamento.
Restries de relacionamento
Indica a participao ou no de uma entidade no relacionamento em causa.
Uma Viso de um Relacionamento 1:N entre dois Tipos de Entidades
EMPREGADO
Empregado
DEPARTAMENTO
Departamento
Trabalha
Francisco .
r1
. Produo
Srgio .
r2
Alexandre .
r3
Marcos .
r4
Marta .
. Financeiro
. Marketing
r5
Jos .
r6
13
Banco de Dados I
PROFESSOR
Professor
DISCIPLINA
Disciplina
Leciona
. Fsica
Mario .
r1
. Analise
Srgio .
r2
. Matemtica
Alexandre .
r3
. O&M
Marcos .
r4
Francisco .
r5
O professor Mrio (1) leciona Fsica e Anlise (2) e Fsica (1) lecionada por Mrio e Srgio (2)
O professor Francisco (1) leciona Matemtica (1) e Matemtica (1) lecionada por Francisco (1)
14
Banco de Dados I
CLIENTE
Cliente
Francisco .
Recebe
CONTA DE LUZ
Conta de Luz
r1
. Produo
Srgio .
r2
Alexandre .
r3
. Carlos
Marcos .
r4
. Osires
Marta .
. Financeiro
. Helena
15
Banco de Dados I
Empregado
DEPARTAMENTO
Departamento
Gerencia
Flvio .
Francisco .
r1
Srgio .
r2
Alexandre .
. Financeiro
r3
Marcos .
Marta .
. Produo
r4
. Marketing
Rita .
Repare que existe empregados que no esto associados a departamento nenhum. So os empregados
que no gerenciam departamentos.
16
Banco de Dados I
Tipos de Relacionamentos
Relacionamento tipo Dependncia
Chamamos de Relacionamento de Dependncia ao relacionamento entre um tipo de entidade primria e
um tipo de entidade dependente (fraca).
Exemplo
EMPREGADO
# Matrcula
Nome
Sexo
DEPENDENTE
# Nome
Data de Nascimento
17
Banco de Dados I
O Tipo de entidade EMPREGADO compe-se de entidades primrias porque essas entidades so identificadas
completamente por seus atributos. razovel imaginarmos que numa mesma empresa no exista empregados
com a mesma matrcula. J as entidades de DEPENDENTE so do tipo fraca porque os seus atributos no as
identificam completamente. Suponhamos que Pedro Rodrigues seja filho de Francisco Moreira, cujo nmero
de matrcula seja 10. Se falamos apenas Pedro Rodrigues, no o identificamos, porque pode existir outros
Pedro Rodrigues filhos de outros empregado que no seja o Francisco Moreira de matrcula 10. Para que Pedro
Rodrigues seja completamente identificado precisamos associ-lo ao empregado do qual ele dependente.
Ento dizemos: Pedro Rodrigues dependente de Francisco Moreira de matrcula 10
Outro Exemplo
FORNECEDOR
# Cgc
Nome
Entidade Primria
NOTA FISCAL
# Nmero
Data de Emisso
Entidade dependente
O tipo de entidade FORNECEDOR tambm uma entidade primria porque identificada completamente por
seus atributos. No existe dois fornecedores diferentes com o mesmo nmero de CGC. NOTA FISCAL um
tipo de entidade composto por entidades fracas ou dependentes, porque para identificar uma determinada nota
fiscal completamente precisamos dizer de qual fornecedor a nota fiscal, visto que podem existir notas fiscais
de mesmo nmero pertencentes a fornecedores diferentes.
Relacionamento tipo Associativo
Um relacionamento do tipo associativo se ele relaciona uma entidade primria a uma entidade associativa.
Exemplo
ALUNO
# Matrcula
Nome
Entidade Primria
APROVEITAMEN
TO
# Nota
Data da Avaliao
Entidade Associativa
DISCIPLINA
# Cdigo
Nome
Entidade Primria
18
Banco de Dados I
Auto-Relacionamentos
PESSOA
Esposo
(0,N)
(0,N)
Casamento
CIDADE
Esposa
Origem
Destino
Voo
19
Banco de Dados I
Relacionamento
Atributo
Atributo Identificador
Atributo Multivalorado
Atributo Composto
Atributo Derivado
E1
E2
20
Banco de Dados I
E1
E2
(min,max)
(min,max) representam a
quantidade de ocorrncias de E
em R
DEPARTAMENTO
# Codigo
* Nome
N
N
DEPENDENTE
* Nome
* Data Nascimento
N
N
PROJETO
# Codigo
* Nome
21
Banco de Dados I
1.9. Exerccios
Exerccio 1
Considere parte de um ambiente de banco. Um banco tem vrias agncias. As contas de uma agncia podem se
referir a pessoas fsicas ou jurdicas. H contas que podem ter um nico titular e contas que podem ter mais de
um. No h contas sem cliente e nenhum cliente da agncia sem conta. Uma agncia exige necessariamente
um banco e no h banco sem agncia. As agncias fazem emprstimos aos seus clientes h cliente que tem
mais de um emprstimo, mas o nmero de emprstimos de cada agncia limitado a 1000.
BANCO
# Nmero
Nome
1
N
1
N
AGNCIA
# Cdigo
Nome
CONTA
# Nmero
Tipo da Conta
Saldo
1,1
EMPRESTIMO
# Data
Valor
1,1000
CLIENTE
# Cdigo
Nome
Endereo
Telefone
Exerccio 2
Quais os possveis atributos que podem identificar as duas entidades no relacionamento a seguir.
FORNECEDOR
Cgc
Nome
Razo Social
NOTA FISCAL
Nmero
Srie
Data
22
Banco de Dados I
Exerccio 3
Construir um possvel DER a partir do contedo do relatrio abaixo.
Almoxarifado
234
234
456
456
Endereo
Cdigo
Produto
Rua 15, Centro A12
Rua 15, Centro F15
Rua 9, S. Oeste J14
Rua 9, S. Oest F15
Nome Produto
Arroz
Feijo
Acar
Feijo
Quantidade
20
150
180
200
Exerccio 4
Construir possveis relacionamentos entre as entidades abaixo e identificar pelo menos dois atributos para cada
uma delas. As entidades referem-se a um ambiente hospitalar.
Entidades: PACIENTE, CIRURGIO, CIRURGIA, TIPO DE CIRURGIA.
Exerccio 5
Construir o DER correspondente s entidades abaixo referentes ao ambiente de recursos humanos de uma
empresa. Identifique pelo menos dois atributos para cada entidade e indique o identificador de cada uma.
Justifique sua resposta.
Exerccio 6
Construir o DER correspondente a um ambiente escolar com as seguintes entidades: DEPARTAMENTO,
ALUNO, DISCIPLINA, TURMA, APROVEITAMENTO, PROFESSOR respondendo as seguintes perguntas:
1. Qual professor leciona cada disciplina?
2. Qual a nota do aluno em determinada disciplina e qual o professor que deu a nota?
3. Em qual turma de qual disciplina o aluno est matriculado e quais os professores dessa turma?
4. Em qual departamento o professor est vinculado?
5. Quais as disciplinas que so de responsabilidade de cada departamento?
6. Qual o horrio de aula de cada turma?
7. Quantos so os alunos do sexo masculino e quantos so do sexo feminino?
8. Qual a idade de cada aluno?
9. Quais so os pais de cada aluno?
Exerccio 7
Que alteraes seriam necessrias fazer no DER do exerccio anterior, considerando que os pais de um aluno
tambm podem ser estudantes, sem que haja duplicidade de informaes no modelo?
23
Banco de Dados I
Exerccio 8
Identificar os relacionamentos entre as entidades relacionadas abaixo, e para cada entidade identifique, pelo
menos, trs atributos. Construa o quadro de definio dos atributos para cada entidade. As entidades se referem
ao ambiente de um ponto de comrcio varejista (por exemplo, uma loja de calados).
O modelo construdo deve responder as seguintes perguntas:
1. Quais Empregados so Empacotadores, Contadores e Vendedores?
2. Qual o Vendedor que atendeu o Cliente?
3. Quem empacotou os produtos comprados para o Cliente?
4. Qual o valor total da compra do Cliente?
5. Quais os Clientes que foram atendidos mas que no compraram nada?
6. Se o Cliente comprou alguma coisa, quais os produtos comprados?
7. Qual o total de vendas de cada Vendedor por dia?
8. Qual o total das vendas correspondentes s mercadorias empacotadas por cada Empacotador?
Relao de entidades:
Empregado, Contador, Empacotador, Vendedor, Cliente, Nota Fiscal, Detalhes de Notas Fiscais (Relao de
Produtos) e Produto.
DER proposto
Contador
Empacotador
(1,1)
(1,1)
(0,1)
(0,1)
Empregado
(0,1)
(0,N)
(0,N)
(1,1)
Produto
(0,N)
Vendedor
Cliente
(0,N)
(1,1)
(1,1)
Detalhes de
Nota Fiscal
(1,1)
(1,N)
Nota Fiscal
24
Banco de Dados I
ID
Matrcula
S
Taxa de Comisso
Telefone
OB
MV AD
S
S
S
AC
CE
NAT TAM
DEC DOM
N
N
C
4
4
14
> zero
> zero
<> Nulo