Upload
internet
View
115
Download
9
Embed Size (px)
Citation preview
Apresentação da Disciplina
Disciplina: Banco de Dados Conteúdo Programático e Material Didático:
Ftp://ftp.unilins.edu.br/wesley Link Banco de Dados Arquivo: apostilaBD.zip
Parte1PS.zip Introdução Modelo Entidade e Relacionamento Enunciados de Exercícios
Parte2PS.zip Modelo Relacional Álgebra Relacional
Parte3PS.zip SQL
Parte4PS.zip Teoria de Normalização
Parte5PS.zip Conceitos Avançados sobre Modelagem de Dados
BDOO.ps Banco de Dados Orientado a Objetos
Aulas Práticas
Introdução Banco de Dados (ou Base de Dados)
é uma coleção de dados relacionados, organizada e armazenada de forma a possibilitar fácil manipulação, incluindo alterações, inserções, remoções e consultas.
Sistema Gerenciador de Bancos de Dados (SGBDs)
conjunto de programas computadorizados que possui uma gama de funções pré-implementadas que gerenciam as operações de inserção, remoção, atualização e consultas dos dados armazenados.
Sistema de Banco de Dados (SBD) SGBDs + BDs
Introdução Um SBD busca oferecer:
Rapidez Disponibilidade Total Flexibilidade Integridade
Componentes de um SBD: Dados Hardware Softwares – SGBDs Usuários
Programadores de aplicações Usuários Finais DBA (administrador de banco de dados)
Introdução Vantagens de se utilizar um Banco de
Dados (BD): Redução de Redundância
Duplicação de dados Propagação de atualizações
Evitar Inconsistência
Concorrência entre aplicações Dados podem ser compartilhados de forma
controlada
Segurança
Introdução Pode-se afirmar que quase todas as
vantagens e propriedades de um banco de dados são possíveis graças à forma como são esquematizados e estruturados os seus dados.
Esse esquema é elaborado segundo um Modelo de Dados.
Pode-se dividir a arquitetura de um BD em três níveis:
Esquema Interno: Estrutura de armazenamento físico Detalhes do armazenamento, caminhos de
acesso, etc. Esquema Conceitual:
Estrutura do banco (descrição das entidades, tipos de dados, relacionamentos, operações de usuários, restrições).
Esquema Externo: Visões de usuários
Introdução Essa estrutura em níveis permite a
independência de dados.
Independência Lógica de dados – é a capacidade de se alterar o esquema conceitual sem ter que alterar o esquema externo.
Independência Física de dados – é a capacidade de se alterar o esquema interno sem ter que alterar o esquema conceitual ou externo.
Introdução Esquema
É a descrição de um banco de dados.
Instância de um banco de dados Os dados que estão armazenados em um
determinado momento de tempo no banco de dados constituem uma Instância do banco de dados.
Modelo Entidade e Relacionamento -
MER Peter Chen 1976. Representação dos dados do mundo real
através de: Entidades Relacionamentos Atributos (propriedades das entidades ou
dos relacionamentos)
Entidades – conjunto de “coisas” que possuem características comuns (atributos comuns).
Instância – atribuição de valores para os atributos de uma entidade.
Cada atributo deve ser definido como pertencente a um domínio.
Atributo Monovalorado Atributo Multivalorado Atributo Derivado Atributo ou Atributos Chave
Modelo Entidade e Relacionamento -
MER Entidades – conjunto de “coisas”
que possuem características comuns (atributos comuns).
Entidade
Pessoa
CIC = 24.356.732-2
Nome = Luiza
Sexo = F
Idade = 20
Altura = 1.70
Atributos
Modelo Entidade e Relacionamento -
MER Relacionamentos – relação entre as entidades
Representam associações entre duas ou mais entidades
Indicam rica semântica Essa semântica é expressa através de vários
conceitos, por exemplo: cardinalidade.
Grau de relacionamento – indica quantas entidades estão por um mesmo relacionamento.
Alguns tipos de Relacionamentos: 1 para 1 1 para N N para 1 N para N Auto-relacionamento Ternário ...
Mostrar Notação (simbologia).
O Modelo de Entidade e Relacionamento é utilizado pela Análise Essencial e Projeto Estruturado de Sistemas através de seus seguintes diagramas: DER e DED.
Modelo Entidade e Relacionamento -
MER Relacionamentos – relação entre as
entidades
Empregado
EmpresaTrabalha em
N 1
Projeto Fornecedor
Peça
É feito com /Fornecido
porN N
N
Modelo Entidade e Relacionamento -
MER Relacionamentos – relação entre as
entidades
Estudante Disciplina
matricula
N N
Nome Data Sigla
Modelo Entidade e Relacionamento -
MER Relacionamentos – relação entre as
entidades
Disciplina Pré-req
N
N
Pré-req de
Pré-req é
Empresa Promove
Ncompra
vende
assessora
N
N
Modelo Entidade e Relacionamento -
MER Exemplo de modelagem utilizando o MER
Modelo Entidade e Relacionamento
Estendido – ME-RXO Modelo ER, proposto por Peter Chen em
1976, originalmente incluía somente os conceitos de entidade, relacionamento e atributos; posteriormente outros conceitos foram introduzidos no modelo, tais como:
Atributos compostos Refinamento do conceito de cardinalidade
– Multiplicidade (mínima e máxima) Abstração de Generalização Abstração de Agregação
Modelo Entidade e Relacionamento
Estendido – ME-RX Atributos Compostos
Um atributo composto representa um grupo de atributos que possuem uma afinidade em significado ou uso.
Refinamento do conceito de cardinalidade – Multiplicidade (mínima e máxima)
Cardinalidade de atributo:
Cardinalidade máxima do atributo maior que 1 indica que o atributo é multivalorado.
Modelo Entidade e Relacionamento
Estendido – ME-RX
Cardinalidade de uma Entidade em um Relacionamento
Modelo Entidade e Relacionamento
Estendido – ME-RX Abstração de Agregação
Cliente C/Ctem
N N
Cartão
concessão
Correntista
Nome Número
Código
Modelo Entidade e Relacionamento
Estendido – ME-RX Abstração de Generalização (hierarquia
de Generalização)
Modelo Entidade e Relacionamento
Estendido – ME-RX Propriedades de Cobertura da
Generalização Cobertura TOTAL ou PARCIAL
Modelo Entidade e Relacionamento
Estendido – ME-RX Propriedades de Cobertura da
Generalização Cobertura EXCLUSIVA ou OVERLAPPING
(de SOBREPOSIÇÃO)
Modelo Entidade e Relacionamento
Estendido – ME-RX Propriedades de Cobertura da
Generalização Para denotar o tipo de cobertura de uma
hierarquia de generalização será usada a seguinte notação:
(t,e) – cobertura total e exclusiva (t,o) – cobertura total e overlapping (p,e) – cobertura parcial e exclusiva (p,o) – cobertura parcial e overlapping
Projeto de Banco de Dados
O projeto de um banco de dados é decomposto em: Projeto Conceitual, Projeto Lógico e Projeto Físico.
Projeto de Banco de Dados
Esquema Conceitual Descrição em alto nível da estrutura do BD Independente do SGBD Um Modelo Conceitual é utilizado para
descrever o esquema conceitual (utiliza recursos do MER e ME-RX)
Deve expressar o máximo de semântica envolvida
Fase mais crítica do projeto do BD
Esquema Lógico Descrição da estrutura do BD que pode ser
processada por um SGBD
Esquema Físico É uma descrição da implementação do BD em
memória secundária, descreve a estrutura de armazenamento e métodos de acesso.
O esquema físico é direcionado para um SGBD específico.
Decisões tomadas durante o projeto físico, para melhorar o desempenho, podem afetar a estrutura do esquema lógico
Modelo Relacional (MR)
O Modelo Relacional foi apresentado por Codd em 1970.
Os dados são vistos como armazenados em “tabelas”
Uma “tabela” é chamada relação Uma linha em uma relação representa
uma instância, recebendo o nome de tupla
Uma tupla é composta de valores designados atributos
Cada atributo possui seu domínio de atributo
Toda tupla é distinguida das outras através de uma chave
Grau de uma relação é o número de atributos que essa relação possui
Toda essa conceituação têm suas definições baseadas na Teoria Relacional
Modelo Relacional (MR)
Exemplo:
NÚMERO
ORIGEM DESTINO PARTIDAS
CHEGADAS
83 São Paulo Manaus 11:30 19:00
84 São Paulo Brasília 13:00 18:00
213 Rio de Janeiro
São Paulo 10:00 10:35
214 Rio de Janeiro
São Paulo 10:30 11:05
“tabela” ou Relação Vôos
Modelo Relacional (MR)
Exemplo:
NÚMERO
ORIGEM DESTINO PARTIDAS
CHEGADAS
83 São Paulo Manaus 11:30 19:00
84 São Paulo Brasília 13:00 18:00
213 Rio de Janeiro
São Paulo 10:00 10:35
214 Rio de Janeiro
São Paulo 10:30 11:05
Atributos
Grau da relação = 5
Modelo Relacional (MR)
Exemplo:
NÚMERO
ORIGEM DESTINO PARTIDAS
CHEGADAS
83 São Paulo Manaus 11:30 19:00
84 São Paulo Brasília 13:00 18:00
213 Rio de Janeiro
São Paulo 10:00 10:35
214 Rio de Janeiro
São Paulo 10:30 11:05
Tupla
Modelo Relacional (MR)
Exemplo:
NÚMERO
ORIGEM DESTINO PARTIDAS
CHEGADAS
83 São Paulo Manaus 11:30 19:00
84 São Paulo Brasília 13:00 18:00
213 Rio de Janeiro
São Paulo 10:00 10:35
214 Rio de Janeiro
São Paulo 10:30 11:05
Chave
Modelo Relacional (MR)
Exemplo:
NÚMERO
ORIGEM DESTINO PARTIDAS
CHEGADAS
83 São Paulo Manaus 11:30 19:00
84 São Paulo Brasília 13:00 18:00
213 Rio de Janeiro
São Paulo 10:00 10:35
214 Rio de Janeiro
São Paulo 10:30 11:05
“tabela” ou Relação
Atributos
Tupla
Chave
Modelo Relacional (MR)
Esquemas de Banco de Dados Relacional Uma base de dados relacional é composta
pelas instâncias das suas relações (tabelas), e uma relação (tabela) instanciada é composta por instâncias de suas tuplas (registros)
Um banco de dados relacional usualmente contém muitas relações, com tuplas nas relações que estão relacionadas de várias formas
Restrições de Integridade Restrições de Integridade são regras a
respeito dos valores que podem ser armazenados nas relações e que devem ser sempre satisfeitas, em quaisquer das relações do banco de dados
Existem três restrições consideradas necessárias para um banco de dados relacional: Restrição de Unicidade de Chave, Restrição de Integridade da Entidade e Restrição de Integridade Referencial
Modelo Relacional (MR)
Restrição de Unicidade de Chave Uma chave primária não pode ter o
mesmo valor em duas tuplas distintas da mesma relação
Restrição de Integridade da Entidade A chave primária de qualquer relação não
pode ter valor nulo em nenhuma tupla da relação
Restrição de Integridade Referencial Envolve duas relações e o conceito de
chave estrangeira É usada para manter a consistência entre
tuplas de duas relações
Modelo Relacional (MR)
Existem outra classe de restrições gerais, algumas vezes chamadas de restrições de integridade semântica, que devem ser especificadas e garantidas em um banco de dados relacional.
Exemplo: “o salário de um empregado não deve
exceder o salário de seu supervisor”
“o número máximo de horas que um empregado pode trabalhar em todos os projetos, por semana, é 56”
Mapeamento MER/ME-RX para MR (Modelo Relacional)
gerando o Esquema Lógico para o BD Relacional
Ou ainda DER/DED (representado esquema conceitual) para Esquema Lógico (projeto de BD)
Relacionamento N para 1 e 1 para N Relacionamento 1 para 1 Relacionamento N para N Relacionamento Ternário Auto-Relacionamento Hierarquia de Agregação Hierarquia de Herança Atributos Compostos e MultiValorados
Mapeamento Relacionamento N para 1 e 1 para N
Empregado
EmpresaTrabalha em
N 1
(1,1)
(1,N)
Empregado
Empresa
@NumeroNome
@IdentificadorNomeFantasia
@Numero#Identificador
Banco de Dados X
Tabela Empregado
@Numero Int 04Nome Str 50#IdentificadorInt 03
Tabela Empresa
@Identificador Int 03NomeFantasia Str 50
@Identificador
Mapeamento Relacionamento 1 para 1
Pessoa Cert. Nasc.Trabalha em
1 1
(0,1)
(1,1)
Pessoa Cert. Nasc.
@RgNome
@NumeroDataNasc
@Rg#Numero
Banco de Dados Y
Tabela Pessoa
@Rg Int 04Nome Str 50
Tabela Cert. Nasc.@Numero Int 09Nome Str 50
OU
OU @Numero#Rg
LocalNasc
#Rg Int 04
Mapeamento Relacionamento N para N
Professor Disciplinaministra
N N
(0,N)
(1,N)@Id
Nome
@CodigoNome
Banco de Dados Z
Tabela Professor (Normal)
Tabela Prof/Disc
@#Id Int 04@#Codigo Int 04
Professor Disciplina
Prof/Disc
@Id @Codigo
@#Id@#Codigo
Tabela Disciplina (Normal)
Mapeamento Relacionamento Ternário
Aluno Atividade
Curso
realizaN N
N@MatriculaNome
@CodigoSigla
@IdDescricao
Aluno Atividade
Curso
@Matricula
@Codigo
@Id Cumprimento
@#Matricula@#Id@#Codigo
Mapeamento Auto-Relacionamento
Disciplina Pré-req
É como se fosse assim:
N
N
Disciplina
DisciplinaPré-req.
(0,N)
(1,N)@Codigo @Codigo
Pre-Requisito
@#Codigo@#Codigo
Mapeamento Hierarquia de Agregação
Paciente MedicoconsultaN N
Exame
Gera
Consulta
(0,N)
(0,N)
@RgNome
@CRMNome
(0,N)
(1,1)
@CodExame
Mapeamento Hierarquia de Agregação
Paciente Medico
Exame
@RgNome
@CRMNome
Consulta
@CodConsulta#Rg#CRM
@CodExame#CodConsulta
Mapeamento Hierarquia de Herança
C
S1
@Cha1
S2 Sn
a2
an
1. (cria-se 04 tabelas) C (ch, a1, a2, …, an) Si (ch, atributos de Si)
2. (03 tabela) Ti (ch, a1, a2, …, an, atributos de Si)
3. (01 tabela) T (ch, a1, a2, …, an, atributos de Si, e um atributo “tipo”)
Mapeamento Herança Múltipla
C1Ch1
S
C2 Ch2
C1 (ch1, atributos da entidade C1)
C2 (ch2, atributos da entidade C2)S (ch1, ch2, atributos da entidade S)
S (ch1, ch2, atributos da entidade S)
OU
Mapeamento Atributos Compostos e MultiValorados
Mapeamento da entidade A
A (a1, a21, a22)
A1 (a1, a3)A2 (a1, a41, a42, a43) - supondo que sejam necessários três atributos (a1, a41, a42) para identificar de forma única a entidade A2
Exercícios Construir o modelo ou esquema
conceitual utilizando o MER e ME-RX (pode ser comparado com o DER), o DED e o Projeto de Banco de Dados (esquema lógico) dos seguintes enunciados:
Modelo Relacional e Álgebra Relacional
SQL
Teoria de Normalização
Conceitos Avançados sobre Modelagem de Dados
BDOO