SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
Conceitos Básicos de
Banco de Dados
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
Banco de Dados
Laboratório de Bases de Dados
Profa. Dra. Cristina Dutra de Aguiar Ciferri
Sistema de Banco de Dados (SBD)
! Sistema de armazenamento de dados
! Objetivos:
– manter informações
– torná-las disponível quando necessário
! Armazenamento não volátil
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
! Armazenamento não volátil
! Componentes:
– banco de dados
– sistema gerenciador de banco de dados
– usuários
– hardware
Sistema de Banco de Dados (SBD)
Banco
Sistema Gerenciador de
Banco de Dados
(SGBD)
programas
de aplicação
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
Banco
de
Dados
e
usuários
finais
+ hardware
Banco de Dados (BD)
! Depósito de dados armazenados
! Os dados devem ser logicamente coerentes
! Uma coleção randômica não é um BD
SGBD
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
BD1 BD2 BD3 BD4
SGBD
Sistema Gerenciador de Banco de
Dados (SGBD)
! Coleção de programas para:
– criar
– manter
o banco de dados
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
o banco de dados
! Camada existente entre os dados e os
usuários
! Isola os usuários dos detalhes de hardware
! Atende às solicitações dos usuários
! Recursos:
– adição de novos arquivos
– inserção de dados
– recuperação de dados
Sistema Gerenciador de Banco de
Dados (SGBD)
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
– recuperação de dados
– atualização dos dados
– eliminação dos dados
– criação de visões
– atribuição de privilégios
– ...
Usuários
! Administrador do BD
– coordena e monitora o uso do BD
tem conhecimento total do BD
! Projetista do BD
– identifica os dados a serem armazenados no BD
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
– identifica os dados a serem armazenados no BD
– escolhe as estruturas apropriadas para
representar e armazenar esses dados
! Programador de aplicações
– escreve os programas aplicativos
! Usuário final
Hardware
! Volumes de armazenamento secundário
! Dispositivos de entrada e saída
! Canais de entrada e saída
! Controladores de dispositivos
Processador + memórias associadas
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
! Processador + memórias associadas
– ULA
– registradores
– unidade de controle
! ...
Arquitetura de Três Níveis
visão_1 visão_nvisão_2
nível conceitual
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
nível conceitual
nível físico
Arquitetura ANSI-X3-SPARC
Arquitetura de Três Níveis
! Objetivo
– separar as aplicações dos usuários do BD físico
– prover uma visão abstrata dos dados
! Três níveis de abstração
– organização física dos dados
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
– organização física dos dados
N esquema interno
– organização lógica global dos dados
N esquema conceitual
– organização lógica particular dos dados
N esquema externo (visão)
Arquitetura de Três Níveis
! Esquema interno
– dados armazenados na memória secundária
– contém definições de estruturas de dados e
mecanismos de acesso
! Esquema conceitual
– definição do conteúdo da informação
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
– definição do conteúdo da informação
– utiliza o conceito de modelo de dados
– independe de estruturas de dados e mecanismos de
acesso
! Esquema externo
– usuário apenas vê parte dos dados
– visões: também chamadas de subesquemas
Instâncias e Esquemas
! Instância
– coleção de informações armazenadas no BD em
um determinado momento
– também chamado de extensão do BD
– sofre alterações constantemente
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
– sofre alterações constantemente
! Esquema
– projeto do BD, incluindo as entidades e os
relacionamentos entre estas
– também chamado de intenção do BD
– não sofre alterações com freqüência
Estado do Banco de Dados
! Os dados armazenados em um BD em um
determinado momento
! Estado vazio
– após a criação do BD
! Estado inicial
! Novo estado
– após cada operação
realizada nos dados
do BD
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
! Estado inicial
– após o povoamento
(ou carregamento) do
BD com os dados
iniciais
realizada nos dados
do BD
! Estado atual
– estado do BD em um
determinado
momento
Projeto de Banco de Dados
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
Laboratório de Bases de Dados
Profa. Dra. Cristina Dutra de Aguiar Ciferri
Projeto de Banco de Dados
! Objetivo da abordagem de BD
– oferecer abstração dos dados
– separar aplicações dos usuários dos detalhes de
hardware
– ferramenta utilizada ⇒ modelo de dados
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
– ferramenta utilizada ⇒ modelo de dados
! Modelo de dados
– conjunto de ferramentas conceituais para a
descrição dos dados, dos relacionamentos
existentes entre os dados, da semântica e das
restrições que atuam sobre estes
! Divisão baseada nos tipos de conceitos
oferecidos pelo modelo para descrever a
estrutura do banco de dados
Modelos de Dados: Categorias
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
! Modelo de dados conceitual
– modelo de alto nível
– oferece conceitos próximos aos usuários
Modelo Entidade-Relacionamento (ER)
Modelos de Dados: Categorias
! Modelo de dados de implementação
– oferece conceitos que
N podem ser facilmente utilizados por usuários finais
N não estão distantes da forma na qual os dados estão
organizados no computador
– é implementado de maneira direta
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
– é implementado de maneira direta
Modelo Relacional
Modelos de Dados: Categorias
! Modelo de dados físico
– modelo de dados físico
– descreve como os dados estão armazenados
fisicamente no computador
SGBDR (Sistema Gerenciador de Banco de
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
SGBDR (Sistema Gerenciador de Banco de
Dados Relacional) Oracle
Projeto de Banco de Dados
minimundo
conjunto de
necessidades
esquema
conceitual
esquema em linguagem
de implementação
depende do SGBDindepende do SGBD
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
análise de
requisitos
projeto
conceitual
projeto
físico
Modelo ER
Modelo ER→ Modelo Relacional
Modelo Relacional
mapea-
mento
Modelo Relacional
! Relação esquema R:
– utilizada para descrever uma relação
– denotada por R(A1, A2, ..., An)
– formada por
um nome de relação R
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
N um nome de relação R
N uma lista de atributos A1, A2, ..., An
– para cada atributo Ai (1 ≤ i ≤ n)
N dom(Ai ): domínio de Ai
N domínio: conjunto de valores atômicos
– caracteriza a intenção do BD
Modelo Relacional
! Relação r da relação esquema
R(A1, A2, ..., An)
– representa a instância da relação
– denotada por r(R)
– formada por um conjunto de n-tuplas
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
– formada por um conjunto de n-tuplas
r = {t1, t2, ..., tm}
N cada n-tupla t é uma lista de n valores
t = <v1, v2, ..., vn>
N vi (1 ≤ i ≤ n) é um elemento de dom(Ai) ou um valor
nulo (i.e., null)
– caracteriza a extensão do BD
Restrições sobre uma Relação
! Domínio
– dentro de cada tupla, o valor de cada atributo A deve
ser um valor atômico de dom(A)
! Chave primária
– identifica de forma única cada tupla da relação
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
– identifica de forma única cada tupla da relação
! Valor nulo
– permitido: null (default)
– não permitido: not null
! Integridade de entidade
– nenhum valor de chave primária pode ser nulo
Restrições entre duas Relações
! Integridade referencial
– mantém a consistência entre as tuplas nas duas
relações
– declara que uma tupla em uma relação, a qual
faz referência a uma outra relação, deve se
referir a uma tupla existente nessa segunda
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
referir a uma tupla existente nessa segunda
relação
– definida entre a chave estrangeira (FK) de uma
relação esquema R1 e a chave primária (PK) de
uma relação esquema R2
Restrições entre duas Relações
! FK de R1 é chave estrangeira de R1, que faz
referência à PK de R2, se:
– os atributos de FK têm os mesmos domínios
que os atributos de PK
– um valor de FK em uma tupla t1 do estado
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
– um valor de FK em uma tupla t1 do estado
corrente de r1(R1)
N ocorre como um valor de PK para alguma tupla t2
no estado corrente r2(R2) ou
N tem o valor null
Aspectos Adicionais
! Opções para remoção/atualização
– CASCADE
– SET NULL
– SET DEFAULT
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
Mapeamento do Modelo
Entidade-Relacionamento
para o Modelo Relacional
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
para o Modelo Relacional
Laboratório de Bases de Dados
Profa. Dra. Cristina Dutra de Aguiar Ciferri
Tipo-Entidade Forte
EMPREGADO
CPF_empregado
nome_empregado
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
empregado (CPF_empregado, nome_empregado)
Tipo-Entidade Fraca
EMPREGADO DEPENDENTEpossui
n1
CPF_empregado
nome_empregado
nome_dependente
sexo_dependente
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
empregado (CPF_empregado, nome_empregado)
dependente (CPF_empregado, nome_dependente, sexo_dependente)
Tipo-Relacionamento (1:1)
empregado (CPF_empregado, nome_empregado, sigla_depto)
EMPREGADO DEPARTAMENTOgerencia
11
CPF_empregado
nome_empregado
sigla_depto
nome_depto
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
empregado (CPF_empregado, nome_empregado, sigla_depto)
departamento (sigla_depto, nome_depto, CPF_empregado)
empregado (CPF_empregado, nome_empregado)
departamento (sigla_depto, nome_depto, CPF_empregado)
empregado (CPF_empregado, nome_empregado, sigla_depto)
departamento (sigla_depto, nome_depto)
Tipo-Relacionamento (1:1)
- não pode existir departamento sem gerente
EMPREGADO DEPARTAMENTOgerencia
11
CPF_empregado
nome_empregado
sigla_depto
nome_depto
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
- não pode existir departamento sem gerente
- pode existir empregado que não gerencia o departamento
empregado (CPF_empregado, nome_empregado)
departamento (sigla_depto, nome_depto, CPF_empregado)
- entidades de departamento: participação total
- entidades de empregado: participação parcial
sigla_depto
nome_depto
CPF_empregado
nome_empregado
Tipo-Relacionamento (1:n)
trabalha DEPARTAMENTOEMPREGADO
n 1
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
empregado (CPF_empregado, nome_empregado, sigla_depto)
departamento (sigla_depto, nome_depto)
sigla_deptoCPF_empregado
Atributo de Tipo-Relacionamento
(1:1 e 1:n)
trabalha DEPARTAMENTOEMPREGADO
n 1
data_início
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
sigla_depto
nome_depto
CPF_empregado
nome_empregado
data_início
empregado (CPF_empregado, nome_empregado, sigla_depto, data_início)
departamento (sigla_depto, nome_depto)
Tipo-Relacionamento (m:n)
desenvolve PROJETOEMPREGADO
m n
nro_projeto
nome_projeto
CPF_empregado
nome_empregado
horas_trabalhadas
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
empregado (CPF_empregado, nome_empregado)
projeto (nro_projeto, nome_projeto)
desenvolve (CPF_empregado, nro_projeto, horas_trabalhadas)
Tipo-relacionamento Unário (1:1)
casa
1
1“marido”
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
pessoa (código_pessoa, nome_pessoa, código_cônjuge)
1
pessoa
“esposa”
código_pessoa
nome_pessoa
supervisiona
1
n“supervisionado”
Tipo-relacionamento Unário (1:n)
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
empregado
1
“supervisor”
empregado (código_emp, nome_emp, código_supervisor)
código_emp
nome_emp
disciplina
n
m
tem
“é pré-requisito”
“tem como
pré-requisito”
Tipo-relacionamento Unário (m:n)
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
“é pré-requisito”
disciplina (código_disc, nome_disc)
pré_requisito (código_disc, código_pré_requisito)
código_disc
nome_disc
Tipo-relacionamento Ternário
ABC
zy
x
tipo-entidade_A
chave-A
atributos_A
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
tipo-entidade_Ctipo-entidade_B
tipo-entidade_A (chave-A, atributos_A)
tipo-entidade_B (chave-B, atributos_B)
tipo-entidade_C (chave-C, atributos_C)
tabelas relativas
aos tipos-entidade
chave-C
atributos_C
chave-B
atributos_B
+ ABC (chave-A, chave-B, chave-C) + integridade referencial
Generalização/Especialização
CPF_empregado
nome_empregado
SECRETÁRIO ENGENHEIROTÉCNICO
EMPREGADO
tipo_empregado
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
tipo_engenheiro
SECRETÁRIO ENGENHEIROTÉCNICO
empregado (CPF_empregado, nome_empregado, tipo_empregado)
secretário (CPF_empregado, idioma)
técnico (CPF_empregado, grau_técnico)
engenheiro (CPF_empregado, tipo_engenheiro)
idioma grau_técnico
Outras Formas de Mapeamento
CPF_empregado
nome_empregado
EMPREGADO
tipo_empregado
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
tipo_engenheiro
SECRETÁRIO ENGENHEIROTÉCNICO
secretário (CPF_empregado, nome_empregado, idioma)
técnico (CPF_empregado, nome_empregado, grau_técnico)
engenheiro (CPF_empregado, nome_empregado, tipo_engenheiro)
idioma grau_técnico
Outras Formas de Mapeamento
CPF_empregado
nome_empregado
EMPREGADO
tipo_empregado
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
tipo_engenheiro
SECRETÁRIO ENGENHEIROTÉCNICO
empregado (CPF_empregado, nome_empregado, tipo_empregado,
idioma, grau_técnico, tipo_engenheiro)
idioma grau_técnico
Outras Formas de Mapeamento
CPF_empregado
nome_empregado
EMPREGADO
tipo_empregado
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
tipo_engenheiro
SECRETÁRIO ENGENHEIROTÉCNICO
empregado (CPF_empregado, nome_empregado)
SeTeEn (CPF_empregado, idioma, grau_técnico, tipo_engenheiro,
tipo_empregado)
idioma grau_técnico
Atributo Tipo-Empregado
! Atributo único
– tipo-empregado
– assume valores diferentes, de acordo com o tipo
do empregado
Diversos atributos
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
! Diversos atributos
– tipo_empS, tipo_empT, tipo_empE, ...
– cada um dos atributos assume valor 0 ou 1, de
acordo com o tipo do empregado
abordagem muito mais flexível, principalmente
para hierarquias com restrição de sobreposição
Agregação
UNIVERSIDADEPESSOA ingressa
CGC_univ
nome_univ
n m
CPF_pessoa
nome_pessoa data_ingresso
ALUNO
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
PROFESSOR
CPF_professor
nome_professor
orienta
m
n
Mapeamento
pessoa (CPF_pessoa, nome_pessoa)
universidade (CGC_univ, nome_univ)
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
ingressa/aluno (CPF_pessoa, CGC_univ, data_ingresso)
professor (CPF_professor, nome_professor)
orienta (CPF_pessoa, CGC_univ, CPF_professor)
Agregação
PACIENTEMÉDICO atende
CPF_paciente
nome_paciente
n m
CMR_médico
nome_médico
data+
ATENDIMENTO
hora
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
médico (CRM_médico, nome_médico)
paciente (CPF_paciente, nome_paciente)
atendimento (CRM_médico, CPF_paciente, data, hora)
Agregação
PACIENTEMÉDICO atende
CPF_paciente
nome_paciente
n m
CMR_médico
nome_médico
data+
ATENDIMENTO
hora
obs
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
médico (CRM_médico, nome_médico)
paciente (CPF_paciente, nome_paciente)
atendimento (CRM_médico, CPF_paciente, data, hora)
atende (CRM_médico, CPF_paciente, obs)
Agregação
PACIENTEMÉDICO atende
CPF_paciente
nome_paciente
n m
CMR_médico
nome_médico
data+
ATENDIMENTO
hora
obs
nro_atendimento
Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
médico (CRM_médico, nome_médico)
paciente (CPF_paciente, nome_paciente)
atendimento (CRM_médico, CPF_paciente, data, hora,
nro_atendimento)
atende (CRM_médico, CPF_paciente, obs)
nro_atendimento

Mais conteúdo relacionado

Mais procurados

Fundamentos de banco de dados 03 arquitetura 3 esquemas e indep de dados
Fundamentos de banco de dados   03 arquitetura 3 esquemas e indep de dadosFundamentos de banco de dados   03 arquitetura 3 esquemas e indep de dados
Fundamentos de banco de dados 03 arquitetura 3 esquemas e indep de dadosRafael Pinheiro
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukHebert Alquimim
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Aula tecnologia da informacao 6 banco de dados
Aula tecnologia da informacao 6 banco de dadosAula tecnologia da informacao 6 banco de dados
Aula tecnologia da informacao 6 banco de dadoswapiva
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indroduçãoRafael Pinheiro
 

Mais procurados (6)

Fundamentos de banco de dados 03 arquitetura 3 esquemas e indep de dados
Fundamentos de banco de dados   03 arquitetura 3 esquemas e indep de dadosFundamentos de banco de dados   03 arquitetura 3 esquemas e indep de dados
Fundamentos de banco de dados 03 arquitetura 3 esquemas e indep de dados
 
Material Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos AlexandrukMaterial Modelagem - Prof. Marcos Alexandruk
Material Modelagem - Prof. Marcos Alexandruk
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Aula tecnologia da informacao 6 banco de dados
Aula tecnologia da informacao 6 banco de dadosAula tecnologia da informacao 6 banco de dados
Aula tecnologia da informacao 6 banco de dados
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indrodução
 

Destaque

Aprendendo C# do zero
Aprendendo C# do zeroAprendendo C# do zero
Aprendendo C# do zeroManawydan
 
2 introdução c sharp
2  introdução c sharp2  introdução c sharp
2 introdução c sharpFrank Coelho
 
Treinamento em linguagem c, 2ª ed. - Victorine Viviane Mizrahi
Treinamento em linguagem c, 2ª ed. - Victorine Viviane MizrahiTreinamento em linguagem c, 2ª ed. - Victorine Viviane Mizrahi
Treinamento em linguagem c, 2ª ed. - Victorine Viviane MizrahiMatheus Alves
 
Apostila de web - Curso de Programação Básica de Internet
Apostila de web - Curso de Programação Básica de InternetApostila de web - Curso de Programação Básica de Internet
Apostila de web - Curso de Programação Básica de InternetClayton de Almeida Souza
 
Curso de piano para iniciantes 1.0
Curso de piano para iniciantes 1.0Curso de piano para iniciantes 1.0
Curso de piano para iniciantes 1.0Alberto Andrade
 
Curso online wordpress aula 1
Curso online wordpress aula 1Curso online wordpress aula 1
Curso online wordpress aula 1Vasco Marques
 
Desvendando o python
Desvendando o pythonDesvendando o python
Desvendando o pythonRodrigo Lira
 
Introdução a linguagem de programação Python
Introdução a linguagem de programação PythonIntrodução a linguagem de programação Python
Introdução a linguagem de programação PythonMayron Cachina
 
Caderno de info(banco de dados).
Caderno de info(banco de dados).Caderno de info(banco de dados).
Caderno de info(banco de dados).Ajudar Pessoas
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de DadosLeinylson Fontinele
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERRangel Javier
 
Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Vitor Leal Diniz
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dadosFernando Palma
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoRademaker Siena
 

Destaque (20)

Tema 1 | Introdução a PHP
Tema 1 | Introdução a PHPTema 1 | Introdução a PHP
Tema 1 | Introdução a PHP
 
Ctae curso-de-html-nte-ananin
Ctae curso-de-html-nte-ananinCtae curso-de-html-nte-ananin
Ctae curso-de-html-nte-ananin
 
Aprendendo C# do zero
Aprendendo C# do zeroAprendendo C# do zero
Aprendendo C# do zero
 
2 introdução c sharp
2  introdução c sharp2  introdução c sharp
2 introdução c sharp
 
Treinamento em linguagem c, 2ª ed. - Victorine Viviane Mizrahi
Treinamento em linguagem c, 2ª ed. - Victorine Viviane MizrahiTreinamento em linguagem c, 2ª ed. - Victorine Viviane Mizrahi
Treinamento em linguagem c, 2ª ed. - Victorine Viviane Mizrahi
 
Tema 2 | Linguagem PHP Básico (I)
Tema 2 | Linguagem PHP Básico (I)Tema 2 | Linguagem PHP Básico (I)
Tema 2 | Linguagem PHP Básico (I)
 
Apostila de web - Curso de Programação Básica de Internet
Apostila de web - Curso de Programação Básica de InternetApostila de web - Curso de Programação Básica de Internet
Apostila de web - Curso de Programação Básica de Internet
 
Curso de piano para iniciantes 1.0
Curso de piano para iniciantes 1.0Curso de piano para iniciantes 1.0
Curso de piano para iniciantes 1.0
 
Curso online wordpress aula 1
Curso online wordpress aula 1Curso online wordpress aula 1
Curso online wordpress aula 1
 
Algoritmos e Programação I
Algoritmos e Programação IAlgoritmos e Programação I
Algoritmos e Programação I
 
Desvendando o python
Desvendando o pythonDesvendando o python
Desvendando o python
 
Introdução a linguagem de programação Python
Introdução a linguagem de programação PythonIntrodução a linguagem de programação Python
Introdução a linguagem de programação Python
 
Caderno de info(banco de dados).
Caderno de info(banco de dados).Caderno de info(banco de dados).
Caderno de info(banco de dados).
 
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I  Aula 02 - Introdução aos Bancos de DadosBanco de Dados I  Aula 02 - Introdução aos Bancos de Dados
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
 
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DERBanco de Dados - Introdução - Projeto de Banco de Dados - DER
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
 
Exercícios de relacionamento 2012
Exercícios de relacionamento 2012Exercícios de relacionamento 2012
Exercícios de relacionamento 2012
 
Curso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFXCurso de Java #05 - Swing e JavaFX
Curso de Java #05 - Swing e JavaFX
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 
Mer - Modelo Entidade Relacionamento
Mer - Modelo Entidade RelacionamentoMer - Modelo Entidade Relacionamento
Mer - Modelo Entidade Relacionamento
 
Apostila banco de dados
Apostila banco de dadosApostila banco de dados
Apostila banco de dados
 

Semelhante a Conceitos Básicos BD

Semelhante a Conceitos Básicos BD (20)

gcc214-slides-1-introducao-conceitos-arquitetura.pdf
gcc214-slides-1-introducao-conceitos-arquitetura.pdfgcc214-slides-1-introducao-conceitos-arquitetura.pdf
gcc214-slides-1-introducao-conceitos-arquitetura.pdf
 
Bancodedados
BancodedadosBancodedados
Bancodedados
 
Access1
Access1Access1
Access1
 
Banco de Dados - Part01
Banco de Dados - Part01Banco de Dados - Part01
Banco de Dados - Part01
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Banco dados i prof ivan (acesse  www.portalgsti.com.br)Banco dados i prof ivan (acesse  www.portalgsti.com.br)
Banco dados i prof ivan (acesse www.portalgsti.com.br)
 
Apostila de banco de dados da ucg
Apostila de banco de dados da ucgApostila de banco de dados da ucg
Apostila de banco de dados da ucg
 
gcc214-slides-1-introducao-bd.pdf
gcc214-slides-1-introducao-bd.pdfgcc214-slides-1-introducao-bd.pdf
gcc214-slides-1-introducao-bd.pdf
 
Ara7129 unidade-1-v1
Ara7129 unidade-1-v1Ara7129 unidade-1-v1
Ara7129 unidade-1-v1
 
Banco de Dados - Aula 02
Banco de Dados - Aula 02Banco de Dados - Aula 02
Banco de Dados - Aula 02
 
02 introducao
02 introducao02 introducao
02 introducao
 
josecws
josecwsjosecws
josecws
 
Aula 01 Revisão
Aula 01   RevisãoAula 01   Revisão
Aula 01 Revisão
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
 
Novo microsoft office power point presentation
Novo microsoft office power point presentationNovo microsoft office power point presentation
Novo microsoft office power point presentation
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 
Slide da aula 04
Slide da aula 04Slide da aula 04
Slide da aula 04
 
Bd02 banco de dados
Bd02 banco de dadosBd02 banco de dados
Bd02 banco de dados
 
No sql o_que_e_isso.key
No sql o_que_e_isso.keyNo sql o_que_e_isso.key
No sql o_que_e_isso.key
 
Banco aula 01
Banco aula 01Banco aula 01
Banco aula 01
 

Conceitos Básicos BD

  • 1. Conceitos Básicos de Banco de Dados Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri Banco de Dados Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 2. Sistema de Banco de Dados (SBD) ! Sistema de armazenamento de dados ! Objetivos: – manter informações – torná-las disponível quando necessário ! Armazenamento não volátil Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri ! Armazenamento não volátil ! Componentes: – banco de dados – sistema gerenciador de banco de dados – usuários – hardware
  • 3. Sistema de Banco de Dados (SBD) Banco Sistema Gerenciador de Banco de Dados (SGBD) programas de aplicação Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri Banco de Dados e usuários finais + hardware
  • 4. Banco de Dados (BD) ! Depósito de dados armazenados ! Os dados devem ser logicamente coerentes ! Uma coleção randômica não é um BD SGBD Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri BD1 BD2 BD3 BD4 SGBD
  • 5. Sistema Gerenciador de Banco de Dados (SGBD) ! Coleção de programas para: – criar – manter o banco de dados Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri o banco de dados ! Camada existente entre os dados e os usuários ! Isola os usuários dos detalhes de hardware ! Atende às solicitações dos usuários
  • 6. ! Recursos: – adição de novos arquivos – inserção de dados – recuperação de dados Sistema Gerenciador de Banco de Dados (SGBD) Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri – recuperação de dados – atualização dos dados – eliminação dos dados – criação de visões – atribuição de privilégios – ...
  • 7. Usuários ! Administrador do BD – coordena e monitora o uso do BD tem conhecimento total do BD ! Projetista do BD – identifica os dados a serem armazenados no BD Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri – identifica os dados a serem armazenados no BD – escolhe as estruturas apropriadas para representar e armazenar esses dados ! Programador de aplicações – escreve os programas aplicativos ! Usuário final
  • 8. Hardware ! Volumes de armazenamento secundário ! Dispositivos de entrada e saída ! Canais de entrada e saída ! Controladores de dispositivos Processador + memórias associadas Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri ! Processador + memórias associadas – ULA – registradores – unidade de controle ! ...
  • 9. Arquitetura de Três Níveis visão_1 visão_nvisão_2 nível conceitual Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri nível conceitual nível físico Arquitetura ANSI-X3-SPARC
  • 10. Arquitetura de Três Níveis ! Objetivo – separar as aplicações dos usuários do BD físico – prover uma visão abstrata dos dados ! Três níveis de abstração – organização física dos dados Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri – organização física dos dados N esquema interno – organização lógica global dos dados N esquema conceitual – organização lógica particular dos dados N esquema externo (visão)
  • 11. Arquitetura de Três Níveis ! Esquema interno – dados armazenados na memória secundária – contém definições de estruturas de dados e mecanismos de acesso ! Esquema conceitual – definição do conteúdo da informação Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri – definição do conteúdo da informação – utiliza o conceito de modelo de dados – independe de estruturas de dados e mecanismos de acesso ! Esquema externo – usuário apenas vê parte dos dados – visões: também chamadas de subesquemas
  • 12. Instâncias e Esquemas ! Instância – coleção de informações armazenadas no BD em um determinado momento – também chamado de extensão do BD – sofre alterações constantemente Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri – sofre alterações constantemente ! Esquema – projeto do BD, incluindo as entidades e os relacionamentos entre estas – também chamado de intenção do BD – não sofre alterações com freqüência
  • 13. Estado do Banco de Dados ! Os dados armazenados em um BD em um determinado momento ! Estado vazio – após a criação do BD ! Estado inicial ! Novo estado – após cada operação realizada nos dados do BD Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri ! Estado inicial – após o povoamento (ou carregamento) do BD com os dados iniciais realizada nos dados do BD ! Estado atual – estado do BD em um determinado momento
  • 14. Projeto de Banco de Dados Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 15. Projeto de Banco de Dados ! Objetivo da abordagem de BD – oferecer abstração dos dados – separar aplicações dos usuários dos detalhes de hardware – ferramenta utilizada ⇒ modelo de dados Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri – ferramenta utilizada ⇒ modelo de dados ! Modelo de dados – conjunto de ferramentas conceituais para a descrição dos dados, dos relacionamentos existentes entre os dados, da semântica e das restrições que atuam sobre estes
  • 16. ! Divisão baseada nos tipos de conceitos oferecidos pelo modelo para descrever a estrutura do banco de dados Modelos de Dados: Categorias Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri ! Modelo de dados conceitual – modelo de alto nível – oferece conceitos próximos aos usuários Modelo Entidade-Relacionamento (ER)
  • 17. Modelos de Dados: Categorias ! Modelo de dados de implementação – oferece conceitos que N podem ser facilmente utilizados por usuários finais N não estão distantes da forma na qual os dados estão organizados no computador – é implementado de maneira direta Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri – é implementado de maneira direta Modelo Relacional
  • 18. Modelos de Dados: Categorias ! Modelo de dados físico – modelo de dados físico – descreve como os dados estão armazenados fisicamente no computador SGBDR (Sistema Gerenciador de Banco de Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri SGBDR (Sistema Gerenciador de Banco de Dados Relacional) Oracle
  • 19. Projeto de Banco de Dados minimundo conjunto de necessidades esquema conceitual esquema em linguagem de implementação depende do SGBDindepende do SGBD Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri análise de requisitos projeto conceitual projeto físico Modelo ER Modelo ER→ Modelo Relacional Modelo Relacional mapea- mento
  • 20. Modelo Relacional ! Relação esquema R: – utilizada para descrever uma relação – denotada por R(A1, A2, ..., An) – formada por um nome de relação R Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri N um nome de relação R N uma lista de atributos A1, A2, ..., An – para cada atributo Ai (1 ≤ i ≤ n) N dom(Ai ): domínio de Ai N domínio: conjunto de valores atômicos – caracteriza a intenção do BD
  • 21. Modelo Relacional ! Relação r da relação esquema R(A1, A2, ..., An) – representa a instância da relação – denotada por r(R) – formada por um conjunto de n-tuplas Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri – formada por um conjunto de n-tuplas r = {t1, t2, ..., tm} N cada n-tupla t é uma lista de n valores t = <v1, v2, ..., vn> N vi (1 ≤ i ≤ n) é um elemento de dom(Ai) ou um valor nulo (i.e., null) – caracteriza a extensão do BD
  • 22. Restrições sobre uma Relação ! Domínio – dentro de cada tupla, o valor de cada atributo A deve ser um valor atômico de dom(A) ! Chave primária – identifica de forma única cada tupla da relação Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri – identifica de forma única cada tupla da relação ! Valor nulo – permitido: null (default) – não permitido: not null ! Integridade de entidade – nenhum valor de chave primária pode ser nulo
  • 23. Restrições entre duas Relações ! Integridade referencial – mantém a consistência entre as tuplas nas duas relações – declara que uma tupla em uma relação, a qual faz referência a uma outra relação, deve se referir a uma tupla existente nessa segunda Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri referir a uma tupla existente nessa segunda relação – definida entre a chave estrangeira (FK) de uma relação esquema R1 e a chave primária (PK) de uma relação esquema R2
  • 24. Restrições entre duas Relações ! FK de R1 é chave estrangeira de R1, que faz referência à PK de R2, se: – os atributos de FK têm os mesmos domínios que os atributos de PK – um valor de FK em uma tupla t1 do estado Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri – um valor de FK em uma tupla t1 do estado corrente de r1(R1) N ocorre como um valor de PK para alguma tupla t2 no estado corrente r2(R2) ou N tem o valor null
  • 25. Aspectos Adicionais ! Opções para remoção/atualização – CASCADE – SET NULL – SET DEFAULT Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 26. Mapeamento do Modelo Entidade-Relacionamento para o Modelo Relacional Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri para o Modelo Relacional Laboratório de Bases de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri
  • 27. Tipo-Entidade Forte EMPREGADO CPF_empregado nome_empregado Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri empregado (CPF_empregado, nome_empregado)
  • 28. Tipo-Entidade Fraca EMPREGADO DEPENDENTEpossui n1 CPF_empregado nome_empregado nome_dependente sexo_dependente Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri empregado (CPF_empregado, nome_empregado) dependente (CPF_empregado, nome_dependente, sexo_dependente)
  • 29. Tipo-Relacionamento (1:1) empregado (CPF_empregado, nome_empregado, sigla_depto) EMPREGADO DEPARTAMENTOgerencia 11 CPF_empregado nome_empregado sigla_depto nome_depto Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri empregado (CPF_empregado, nome_empregado, sigla_depto) departamento (sigla_depto, nome_depto, CPF_empregado) empregado (CPF_empregado, nome_empregado) departamento (sigla_depto, nome_depto, CPF_empregado) empregado (CPF_empregado, nome_empregado, sigla_depto) departamento (sigla_depto, nome_depto)
  • 30. Tipo-Relacionamento (1:1) - não pode existir departamento sem gerente EMPREGADO DEPARTAMENTOgerencia 11 CPF_empregado nome_empregado sigla_depto nome_depto Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri - não pode existir departamento sem gerente - pode existir empregado que não gerencia o departamento empregado (CPF_empregado, nome_empregado) departamento (sigla_depto, nome_depto, CPF_empregado) - entidades de departamento: participação total - entidades de empregado: participação parcial
  • 31. sigla_depto nome_depto CPF_empregado nome_empregado Tipo-Relacionamento (1:n) trabalha DEPARTAMENTOEMPREGADO n 1 Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri empregado (CPF_empregado, nome_empregado, sigla_depto) departamento (sigla_depto, nome_depto)
  • 32. sigla_deptoCPF_empregado Atributo de Tipo-Relacionamento (1:1 e 1:n) trabalha DEPARTAMENTOEMPREGADO n 1 data_início Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri sigla_depto nome_depto CPF_empregado nome_empregado data_início empregado (CPF_empregado, nome_empregado, sigla_depto, data_início) departamento (sigla_depto, nome_depto)
  • 33. Tipo-Relacionamento (m:n) desenvolve PROJETOEMPREGADO m n nro_projeto nome_projeto CPF_empregado nome_empregado horas_trabalhadas Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri empregado (CPF_empregado, nome_empregado) projeto (nro_projeto, nome_projeto) desenvolve (CPF_empregado, nro_projeto, horas_trabalhadas)
  • 34. Tipo-relacionamento Unário (1:1) casa 1 1“marido” Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri pessoa (código_pessoa, nome_pessoa, código_cônjuge) 1 pessoa “esposa” código_pessoa nome_pessoa
  • 35. supervisiona 1 n“supervisionado” Tipo-relacionamento Unário (1:n) Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri empregado 1 “supervisor” empregado (código_emp, nome_emp, código_supervisor) código_emp nome_emp
  • 36. disciplina n m tem “é pré-requisito” “tem como pré-requisito” Tipo-relacionamento Unário (m:n) Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri “é pré-requisito” disciplina (código_disc, nome_disc) pré_requisito (código_disc, código_pré_requisito) código_disc nome_disc
  • 37. Tipo-relacionamento Ternário ABC zy x tipo-entidade_A chave-A atributos_A Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri tipo-entidade_Ctipo-entidade_B tipo-entidade_A (chave-A, atributos_A) tipo-entidade_B (chave-B, atributos_B) tipo-entidade_C (chave-C, atributos_C) tabelas relativas aos tipos-entidade chave-C atributos_C chave-B atributos_B + ABC (chave-A, chave-B, chave-C) + integridade referencial
  • 38. Generalização/Especialização CPF_empregado nome_empregado SECRETÁRIO ENGENHEIROTÉCNICO EMPREGADO tipo_empregado Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri tipo_engenheiro SECRETÁRIO ENGENHEIROTÉCNICO empregado (CPF_empregado, nome_empregado, tipo_empregado) secretário (CPF_empregado, idioma) técnico (CPF_empregado, grau_técnico) engenheiro (CPF_empregado, tipo_engenheiro) idioma grau_técnico
  • 39. Outras Formas de Mapeamento CPF_empregado nome_empregado EMPREGADO tipo_empregado Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri tipo_engenheiro SECRETÁRIO ENGENHEIROTÉCNICO secretário (CPF_empregado, nome_empregado, idioma) técnico (CPF_empregado, nome_empregado, grau_técnico) engenheiro (CPF_empregado, nome_empregado, tipo_engenheiro) idioma grau_técnico
  • 40. Outras Formas de Mapeamento CPF_empregado nome_empregado EMPREGADO tipo_empregado Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri tipo_engenheiro SECRETÁRIO ENGENHEIROTÉCNICO empregado (CPF_empregado, nome_empregado, tipo_empregado, idioma, grau_técnico, tipo_engenheiro) idioma grau_técnico
  • 41. Outras Formas de Mapeamento CPF_empregado nome_empregado EMPREGADO tipo_empregado Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri tipo_engenheiro SECRETÁRIO ENGENHEIROTÉCNICO empregado (CPF_empregado, nome_empregado) SeTeEn (CPF_empregado, idioma, grau_técnico, tipo_engenheiro, tipo_empregado) idioma grau_técnico
  • 42. Atributo Tipo-Empregado ! Atributo único – tipo-empregado – assume valores diferentes, de acordo com o tipo do empregado Diversos atributos Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri ! Diversos atributos – tipo_empS, tipo_empT, tipo_empE, ... – cada um dos atributos assume valor 0 ou 1, de acordo com o tipo do empregado abordagem muito mais flexível, principalmente para hierarquias com restrição de sobreposição
  • 43. Agregação UNIVERSIDADEPESSOA ingressa CGC_univ nome_univ n m CPF_pessoa nome_pessoa data_ingresso ALUNO Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri PROFESSOR CPF_professor nome_professor orienta m n
  • 44. Mapeamento pessoa (CPF_pessoa, nome_pessoa) universidade (CGC_univ, nome_univ) Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri ingressa/aluno (CPF_pessoa, CGC_univ, data_ingresso) professor (CPF_professor, nome_professor) orienta (CPF_pessoa, CGC_univ, CPF_professor)
  • 45. Agregação PACIENTEMÉDICO atende CPF_paciente nome_paciente n m CMR_médico nome_médico data+ ATENDIMENTO hora Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri médico (CRM_médico, nome_médico) paciente (CPF_paciente, nome_paciente) atendimento (CRM_médico, CPF_paciente, data, hora)
  • 46. Agregação PACIENTEMÉDICO atende CPF_paciente nome_paciente n m CMR_médico nome_médico data+ ATENDIMENTO hora obs Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri médico (CRM_médico, nome_médico) paciente (CPF_paciente, nome_paciente) atendimento (CRM_médico, CPF_paciente, data, hora) atende (CRM_médico, CPF_paciente, obs)
  • 47. Agregação PACIENTEMÉDICO atende CPF_paciente nome_paciente n m CMR_médico nome_médico data+ ATENDIMENTO hora obs nro_atendimento Laboratório de Bases de Dados – Revisão Profa. Dra. Cristina Dutra de Aguiar Ciferri médico (CRM_médico, nome_médico) paciente (CPF_paciente, nome_paciente) atendimento (CRM_médico, CPF_paciente, data, hora, nro_atendimento) atende (CRM_médico, CPF_paciente, obs) nro_atendimento