Você está na página 1de 10

Programa

REVISO PARA PROVA 1

Introduo

DCC011:
Introduo a Banco de Dados

Conceitos bsicos, caractersticas da abordagem de banco de


dados, modelos de dados, esquemas e instncias,
arquitetura de um sistema de banco de dados, componentes de
um sistema de gerncia de banco de dados.

Modelos de dados e linguagens

Rodrygo Santos

Modelo entidade-relacionamento (ER), modelo relacional,


lgebra relacional, SQL.

rodrygo@dcc.ufmg.br

Projeto de bancos de dados

Departamento de Cincia da Computao


Universidade Federal de Minas Gerais

Fases do projeto de bancos de dados, projeto lgico de bancos


de dados relacionais, normalizao.

Novas Tecnologias e Aplicaes de Banco de Dados

Definio de Banco de Dados

Sist. de Gerncia de Banco de Dados

[Elmasri & Navathe, 2000]

Um sistema de gerncia de banco de dados


(SGBD) um conjunto de programas que
permite criar e manter (manipular) um banco de
dados

Um banco de dados uma coleo de


dados relacionados
Representando algum aspecto do mundo real
(mini-mundo ou universo de discurso)
Logicamente coerente, com algum significado
Projetado, construdo e gerado (povoado)
para uma aplicao especfica

BD + SGBD = sistema de banco de dados

Processo de Projeto de
Bancos de Dados

Modelo de Dados, Esquema e Instncia


Requisitos de Dados

Esquema Conceitual
Modelo de dados de alto nvel
Independente
de SGBD
SGBD
Especfico

Modelo
de Dados
Esquema Lgico (Conceitual)
em um modelo de dados
de um SGBD especfico

Esquema
Regras para
estruturao
dos dados

Instncia
Regras para
verificao
das instncias

Arquitetura de um Sistema de BD
exemplo 2

Arquitetura de um Sistema de BD

EXTERNO (Ling. Pascal)


Funcionario = Record
nome: string(30);
salario: real;
End;

Componentes
1. Esquema interno
Descreve armazenamento fsico

EXTERNO (Ling. C)
Participante = struct {
char[30] Nome;
int Departamento;
}

CONCEITUAL

2. Esquema conceitual

Empregado
NOME
SALARIO
DEPARTAMENTO
SEXO

Descreve entidades, tipos de dados,


relacionamentos, operaes e restries
Esconde detalhes de armazenamento

CHARACTER (30)
NUMERIC (5)
NUMERIC (2)
CHARACTER (1)

INTERNO

3. Esquemas externos (vises)

RegistroEmpregado LENGTH=50
NOME
TYPE= BYTE(30)
SAL
TYPE=FULLWORD
DEP
TYPE=WORD
SEXO
TYPE=BYTE(1)

Descreve pores do banco para diferentes


comunidades
7

Viso Externa

Altera
um nvel

Esquema Conceitual
Esquema Fsico

Altera
nvel vizinho

Dependncia de Dados
Independncia de Dados

Independncia de Dados
Capacidade de se alterar o esquema em
um determinado nvel sem alterar o
esquema (ou esquemas) do nvel
imediatamente mais alto
VANTAGEM:
Imunidade dos programas em relao a
mudanas na estrutura do banco de dados
Um dos maiores benefcios de usar SGBD

10

1. Entidades, atributos

Modelo Entidade-Relacionamento
1.
2.
3.
4.
5.
6.
7.

Entidades
Objetos do mundo real que so de interesse
para alguma aplicao
Atributos
Propriedades para descrever uma entidade

Entidades, atributos
Relacionamentos
Restries sobre relacionamentos
Papis e relacionamentos recursivos
Entidade fraca
Generalizao e especializao
Restries sobre Hierarquias de Especializao/
Generalizao
12

Endereo

Tipos de Atributos
Simples ou compostos

End_Rua Cidade Estado CEP


Rua

Nro

Apto

Chave e Domnio
Chave de um tipo de entidade
Atributo que possui valor nico para cada entidade
(instncia)

Ex. Endereo

Monovalorados ou multivalorados

Ex. Nome da companhia, identidade do empregado

Ex. Profisso

Chave pode ser formada por vrios atributos: chave


composta

Armazenados ou derivados

Registro do Veiculo: Numero de Registro e Estado

Data de Nascimento Idade,


Empregados trabalhando no departamento
NumeroDeEmpregados

Domnio de um atributo
Conjunto de valores que podem ser atribudos a um
atributo para cada entidade individualmente
Ex. Idade do Empregado: (16, 70); Nome do
Empregado:String

Valores Null
No aplicvel: Nmero do apartamento
Desconhecido: Telefone de casa
13

14

2. Relacionamentos
Associaes entre duas ou mais entidades
distintas (instncias) com um significado
Exemplo:
Empregado John Smith trabalha para
Departamento pesquisa
Empregado Fred Brown gerencia
Departamento pesquisa
Departamento pesquisa controla Projeto X

Figura 3.9 Algumas instncias do conjunto de relacionamento


TRABALHA_PARA, que representa um tipo relacionamento
TRABALHA_PARA entre EMPREGADO e DEPARTAMENTO.
15

16

3. Restries sobre relacionamentos


Limitam as possveis combinaes de entidades que
podem participar no conjunto de relacionamentos
Cardinalidade: nmero de instncias de um tipo de
relacionamento do qual uma entidade pode participar
Participao: se a existncia de uma entidade depende
de seu relacionamento com outra entidade atravs de
um tipo de relacionamento parcial ou total
Ex. Todo empregado deve trabalhar p/ um departamento (total)
Ex. Nem todo empregado gerencia um departamento (parcial)

Cardinalidade + Participao Restries Estruturais


Figura 3.12 Relacionamento GERENCIA 1:1
17

18

4. Papis e Relacionamentos Recursivos


Entidades atuam com um determinado papel
Significado do papel dado por um nome,
atribudo a cada tipo de entidade
Nomes s so necessrios em tipos de
relacionamento que envolvam mais de uma vez
o mesmo tipo de entidade relacionamentos
recursivos
Exemplo: Superviso, onde Empregado tem os
papis de Supervisor e Subordinado

Figura 3.13 Relacionamento TRABALHA_EM, M:N


19

20

todo E trabalha_para 1 D
todo D trabalha_para N E

5. Entidade Fraca
Tipos de entidade que no tm chave
prpria
As instncias so identificadas atravs do
relacionamento com entidades de outro
tipo, chamado de dono ou identificador,
juntamente com os valores de alguns
atributos (chave parcial)
Exemplo: Dependente

um E gerencia 1 D
todo D gerencia 1 E
M

um D controla N P
todo P controla 1 D

um E supervisiona 1 E
um E supervisor N E

Esquema conceitual

21

22

7. Restries sobre Hierarquias de


Especializao/Generalizao

6. Especializao e Generalizao

Definida por atributo ou usurio


Disjuno:

Especializao:
Processo de definio de um conjunto de sub-classes
(sub-tipos) de um tipo de entidade

Sub-classes podem ser disjuntas ou sobrepostas

Completude:

Generalizao:

A cobertura da super-classe em relao s subclasses pode ser total ou parcial

Processo de definio de um tipo de entidade


genrico (super-classe ou super-tipo) a partir de um
conjunto de tipos de entidade

Restries possveis:

Exemplo: {secretria, engenheiro, tcnico}


uma especializao de Empregado; ou
Empregado uma generalizao de {secretria,
engenheiro, tcnico}

23

Disjunta/Total
Disjunta/Parcial
Sobreposta/Total
Sobreposta/Parcial
24

o = sobreposio
Uma pea
-fabricada E/OU
-fornecida

d = disjuno
Um Empregado
-Secretria OU
-Tcnico OU
-Engenheiro

Figura 4.4 Notao do diagrama EER para uma especializao definida


por atributo em TipoTrabalho.

Figura 4.5

Notao de diagrama EER para uma especializao sobreposta


(no disjunta).

25

26

Restries sobre Hierarquias de


Especializao/Generalizao

TOTAL
TODO Empregado
Assalariado OU
Horista

Hierarquia
Toda sub-classe participa como uma subclasse em apenas um relacionamento classe/
sub-classe

Reticulado
lattice, herana mltipla, grade de
especializao

Figura 4.1

Uma sub-classe pode participar em mais de


um relacionamento classe/sub-classe

Notao de diagrama EER para representar as subclasses


e a especializao.
27

28

Modelo Relacional
(3rd ed: 7.1-7.2; 5th ed: 5.1-5.2)

Figura 4.7 Um reticulado de


especializao, com herana
mltipla, para um banco de
dados UNIVERSIDADE.

1.
2.
3.
4.
5.
6.
7.

Introduo
Conceitos do Modelo Relacional
Restries de Integridade Bsicas
Esquema do BD Relacional
Restries de Integridade do Esquema
Operaes sobre Relaes
Violaes de Restries

29

Processo de Projeto de
Bancos de Dados

1. Introduo
O modelo relacional representa um banco de
dados como um conjunto de relaes
Informalmente

Requisitos de Dados

Esquema Conceitual
Modelo de dados de alto nvel

uma relao = uma tabela de valores

Independente
de SGBD
SGBD
Especfico

cada linha representa uma coleo de dados


relacionados
cada linha de uma tabela representa um
fato que tipicamente corresponde a uma
entidade ou relacionamento do mundo real

Esquema Lgico (Conceitual)


em um modelo de dados
de um SGBD especfico

31

32

2. Conceitos do Modelo Relacional

3. Restries de Integridade Bsicas

Linhas de uma relao (tabela) = tuplas


Cabealho de cada coluna = atributo
Conjunto de valores que pode aparecer em cada coluna
= domnio

Restries de domnio
Especificam que o valor de cada atributo A de uma
relao deve ser um valor atmico do domnio dom(A)
Restries de chave
Um esquema de relao pode ter mais de uma chave
chaves candidatas
Dentre as chaves candidatas de um esquema de relao,
uma delas indicada como chave primria e as demais
constituem as chaves alternativas
Restries em valores null
Especifica se a um atributo permitido ter valores null
Exemplo: todo Aluno deve ter um nome vlido, no-null

Figura 7.1

Os atributos e as tuplas de uma relao ALUNO.


33

34

4. Esquema de um BD Relacional

5. Restries de Integridade do Esquema

Um esquema de BD relacional S define:


um conjunto de esquemas de relao
R = {R1, R2, ..., Rn}, e
um conjunto de restries de integridade I

Restrio de integridade de entidade


Nenhum componente de uma chave primria pode ser
nulo
Restrio de integridade referencial
Usada para manter a consistncia entre tuplas de duas
relaes
Uma tupla em uma relao que se refere a outra
relao deve referenciar uma tupla existente nesta
outra relao
Aparecem devido aos relacionamentos entre entidades

S = (R, I)

35

36

Notao

NomeTabelaPrincipal
Chave Atributo1 Atributon

NomeTabelaReferenciada
Atributo1 Atributon Chave

NomeTabelaPrincipal (Chave, Atributo1, ..., AtributoN)


AtributoN referencia NomeTabelaReferenciada
NomeTabelaReferenciada (Chave, Atributo1, ..., AtributoN)
Figura 7.7

Restries de integridade referencial exibidas no esquema de


um banco de dados relacional EMPRESA.
37

38

6. Operaes sobre Relaes

7. Violao de Restries

As operaes sobre um BD relacional podem ser


classificadas em:

Restries de integridade no podem ser


violadas!!!
Insero
Restrio de Domnio: valor fora do domnio
Restrio de Chave: valor j existe
Restrio de integridade de entidade: se chave
for null
Restrio de integridade referencial: se chave
estrangeira referencia tupla inexistente
Ao default: rejeitar insero (com explicao)

Operaes de recuperao (consulta)


Operaes de atualizao

Operaes de atualizao (sobre tuplas):


Insero (insert)
Remoo (delete)
Modificao (update)

Em qualquer operao, a integridade da


base de dados relacional deve ser mantida
39

40

Violao de Restries

Violao de Restries

Remoo
Tupla excluda referenciada por chaves
estrangeiras
Ao default: bloqueia/rejeitar a remoo
(com explicao)
OUTRAS OPES????

Modificao
Modificar o valor de um atributo que no
chave primria ou estrangeira no causa
problemas (se o valor for do domnio, e, se for
null, que este valor seja permitido)
Modificar a chave primaria igual a excluir uma
tupla e inserir outra
Modificar chave estrangeira: SGBD deve verificar
se novo valor do atributo referencia tupla
existente

Propagar remoo de tuplas que violem uma restrio


de integridade referencial Efeito cascata
Modificar o valor da chave estrangeira para nulo

41

42

Notao

NomeTabelaPrincipal

EXERCCIOS MLTIPLA ESCOLHA

Chave Atributo1 Atributon


p

NomeTabelaReferenciada
Atributo1 Atributon Chave

NomeTabelaPrincipal (Chave, Atributo1, ..., AtributoN)


AtributoN referencia NomeTabelaReferenciada por
propagao
NomeTabelaReferenciada (Chave, Atributo1, ..., AtributoN)

43

44

1 Um Banco de Dados

2 Um SGBD

a) um conjunto de dados quaisquer


b) uma coleo de dados relacionados
c) um software (ou conjunto de
programas) que permite criar e acessar
dados
d) Todas as alternativas corretas

a) um conjunto de programas que permite


criar e manipular um banco de dados
b) uma coleo de dados relacionados
c) a soma dos dados com a camada de
software
d) Nenhuma das alternativas corretas

45

46

3 So vantagens da utilizao
de um SGBD

4 O projeto de banco de
dados

a) Suporte de vises mltiplas de usurios


b) Catlogo para armazenar a descrio
c) Isolamento de programas e dados
d) Todas as alternativas corretas

a) Inicia a partir da modelagem do software


que ir acessar os dados
b) Inicia com a definio das vises externas
c) Inicia a partir dos requisitos de dados
levantados em fase anterior
d) Nenhuma das alternativas correta

47

48

5 Sobre modelo de dados,


esquema e instncia

6 Sobre os diferentes tipos de


atributos

a) Para o mesmo modelo de dados, posso definir


mais de um esquema para a mesma realidade
b) Para um mesmo esquema, posso definir vrias
instncias para uma mesma aplicao
c) Para modelos de dados diferentes, necessrio
definir um esquema especfico respeitando as
regras de definio de cada modelo
d) Todas as alternativas corretas

a) Email e telefone so exemplos de


atributos multivalorados
b) Email e nome so exemplos de atributos
compostos
c) Salrio, sexo e idade so exemplos de
atributos derivados
d) Nenhuma das alternativas correta

49

7 Para o seguinte diagrama ER

50

8. Assinale Verdadeiro ou Falso sobre o


Modelo Conceitual ER
9. (V) So seus componentes: entidades, atributos e relacionamentos
10. (V) O valor especial null utilizado para representar valores no
conhecidos ou no aplicveis a uma determinada instncia.
11. (V) So exemplos de modelos conceituais: modelo ER e modelo
orientado a objetos.
12. ( F) So restries aplicveis a relacionamentos no modelo ER:
cardinalidade, participao e recurso.

Se o tipo de entidade A tem atualmente 100 instncias,


quais das seguintes opes poderia ser o nmero de
instncias de B?
I. 1
II.100
III.200
a)Apenas I ou II
b)Apenas II ou III
c) Apenas II
d)I, II ou III

13. (V) necessrio definir papis em auto-relacionamentos.


14. (F) Tipos de entidade fraca so como tipos de entidades normais,
com identificadores prprios
15. (V) As instncias de um tipo de entidade fraca so identificadas
atravs do relacionamento com entidades de outro tipo,
juntamente com os valores de alguns atributos (chave parcial)
51

9. Assinale Verdadeiro ou Falso sobre o


Modelo Lgico Relacional

52

EXERCCIOS DA AULA PASSADA

16. (V) O conjunto de valores que pode aparecer em cada coluna


chamado de domnio
17. (F ) As tuplas de uma relao so ordenadas (entre elas) assim
como a lista de atributos
18. (V) Toda chave candidata pode ser primria, assim como toda
chave alternativa
19. ( F) Chave estrangeira acontece somente quando a tupla de uma
tabela referencia a tupla de outra tabela diferente.

53

54

rvores genealgicas

rvores genealgicas

Deseja-se construir um banco de dados para armazenar


informaes referentes a uma aplicao online de rvores
genealgicas. Nessa aplicao, pessoas desejam armazenar
informaes sobre seus ancestrais. Cada pessoa identificada
por um cdigo. Para cada pessoa, podem ser armazenadas
vrias informaes: sexo, prenome, sobrenome, data e local de
nascimento, e data e local de falecimento. Todas essas
informaes so opcionais. Cada local tm um cdigo e um
nome. Para cada matrimnio, necessrio armazenar as
seguintes informaes: pessoa que marido, pessoa que
esposa, pessoas que so filhos gerados pelo matrimnio e data e
local do matrimnio. Novamente, todas essas informaes so
opcionais. Lembrar que uma pessoa pode ter participado de
vrios matrimnios.

Pessoa(cod, nome, sobrenome, data_nasc, local_nasc,


data_fale, local_fale, pai, mae)
local_nasc REFERENCIA Local.cod
local_fale REFERENCIA Local.cod
pai RERERENCIA Pessoa.cod
mae REFERENCIA Pessoa.cod

Matrimonio(homem, mulher, data, local)


homem REFERENCIA Pessoa.cod
mulher REFERENCIA Pessoa.cod
local REFERENCIA Local.cod

Local(cod, nome)

55

56

Planejamento de fabricao

Planejamento de fabricao

Deseja-se construir um banco de dados referentes a produtos em uma fbrica,


para fins de planejamento de fabricao. O banco de dados deve conter
informaes sobre os produtos que a fbrica produz. Quando dizemos
produtos, estamos falando de modelos e no de unidades especficas. Para
cada produto necessrio conhecer seu cdigo e sua descrio, bem como sua
composio (que outros produtos e em que quantidade ele contm). Alguns
produtos, chamados insumos no so produzidos na fbrica e sim comprados
no mercado. Para tais produtos tambm deve ser armazenados o fornecedor
(cdigo, nome e contato) e o prazo em dias que o fornecedor oferece para
entrega do produto. Um mesmo produto pode ter mais de um fornecedor.
Cada produto est associado a um processo de fabricao. O mesmo processo
pode ser usado para produzir diferentes produtos. Um processo descreve a
sequncia de execuo de uma srie de tarefas. Para cada processo,
necessrio conhecer seu cdigo, seu nome, as tarefas que o compe e a ordem
de execuo dessas tarefas. Para uma tarefa necessrio conhecer seu
cdigo, seu nome e o tempo em minutos que a tarefa requer. Observar que
uma tarefa pode ser usada em diferentes processos.

Produto(cod, descricao)
Composicao(prod, insumo, quantidade)
prod REFERENCIA Produto.cod
insumo REFERENCIA Produto.cod

Fornecedor(cod, nome, contato)


Fornecimento(forn, prod, prazo)
forn REFERENCIA Fornecedor.cod
prod REFERENCIA Produto.cod

Processo(cod, nome)
Tarefa(cod, nome, tempo)
Execucao(proc, tarefa, ordem)
proc REFERENCIA Processo.cod
tarefa REFERENCIA Tarefa.cod
57

58

10

Você também pode gostar