Buscar

Aula 2 - Modelo de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Prévia do material em texto

08/08/2013
1
Fatec 
Ourinhos
Fatec – Ourinhos/SP
Fatec 
Ourinhos
Curso: Análise e Desenvolvimento de 
Sistemas
Disciplina: Banco de Dados 
Profa. Ma. Viviane de Fatima Bartholo Potenza
email: viviane.bartholo@fatec.sp.gov.br ou vbartholo@gmail.com.br
Fatec 
Ourinhos
IntroduçãoModelo de Dados
Fatec 
Ourinhos
Modelo de Dados
• Modelo de dados é uma descrição formal da estrutura 
de um banco de dados
• Para construir um modelo de dados, usa-se uma 
linguagem de modelagem de dados
• Um banco de dados pode ser modelado (descrito) em 
vários níveis de abstração:
– Um nível para explicar a usuários leigos
– Um nível para o profissional de computação
• Geralmente empregamos três níveis:
– Modelo Conceitual
– Modelo Lógico
– Modulo Físico (Projeto de BD)
Fatec 
Ourinhos
Modelo de Dados
“Abstração é o ato de separar mentalmente
elementos de uma totalidade complexa, seja
material, representação ou fato real.”
(Abreu e Machado, 2001, p.35)
“Processo mental onde selecionamos várias
características e propriedades de um conjunto
de objetos ou fatos, e excluímos outros que não
são relevantes em um contexto.”
(Machado, 2004, p.29)
Fatec 
Ourinhos
Modelo de Dados
mailto:viviane.bartholo@fatec.sp.gov.br
mailto:vbartholo@gmail.com.br
08/08/2013
2
Fatec 
Ourinhos
Modelo de Dados
A busca pela eficiência no armazenamento e recuperação 
de dados em um Bando de Dados induz ao uso de 
estruturas dados complexas. 
No entanto, os SGBD são freqüentemente usados por 
pessoas sem treinamento na área de computação. 
Logo, esta complexidade precisa ser escondida dos 
usuários. 
Esta omissão é obtida por meio de três níveis de 
abstração, de modo a facilitar a interação dos usuários 
com o sistema. Os níveis são: Visão, Conceitual e 
Físico.
Fatec 
Ourinhos
A Arquitetura dos Sistemas de Banco de Dados
No ano de 1972 foi criado um grupo de estudos para
definir uma arquitetura padrão para um sistema de
banco de dados, que atendesse às demandas
teóricas. O nome desse grupo foi “ANSI/X3/SPARC
Study Group on Data Base Management Systems”, e
a arquitetura passou a ser conhecida como
ANSI/SPARC.
Fatec 
Ourinhos
Arquitetura de Três Esquemas (arquitetura ANSI/SPARC)
• Esquemas podem ser definidos em Três-níveis
• Proposta para auxiliar na realização e visualização das seguintes 
características:
• Independência de dados e operação de programas
• Suporte a múltiplas visões
• Uso do catálogo para armazenar a descrição do banco de dados
• O objetivo é separar o usuário da aplicação do banco de dados físico
• 1. Nível Interno – esquema interno
• Descreve a estrutura de armazenamento físico do banco de dados 
• Utiliza um modelo de dados físico 
• 2. Nível Conceitual – esquema conceitual ou lógico
• Descreve a estrutura da base de dados sem detalhes de estrutura de 
armazenamento físico
• Que dados estão armazenados e como estão relacionados 
• 3. Nível Externo – esquema externo (visões dos usuários)
• Descreve as visões dos usuários: a parte da base de dados em que cada 
grupo de usuários tem interesse
• Descrição de sub-esquemas
Fatec 
Ourinhos
Arquitetura de Três-níveis (ou três-esquemas)
NÍVEL EXTERNO
Mapeamento 
externo/conceitual
NÍVEL 
CONCEITUAL
Mapeamento 
conceitual/interno
NÍVEL INTERNO
Visão 1 Visão 2 Visão 3
Esquema Conceitual
Física
Banco de Dados Armazenado
Arquitetura de Três Esquemas (arquitetura ANSI/SPARC)
Usuário final
Fatec 
Ourinhos
• Independência de Dados
• É a capacidade de mudar o esquema em um nível do sistema de 
banco de dados sem que ocorram alterações do esquema no 
próximo nível mais alto
• Independência de dados lógica
• Refere-se a capacidade de modificar o esquema lógico sem que, com 
isso, qualquer programa de aplicação precise ser reescrito
• Independência de dados física
• Refere-se a capacidade de modificar o esquema físico sem que, com 
isso, qualquer programa de aplicação precise ser reescrito
• O conceito de independência de dados é de várias formas similar 
ao conceito de tipo abstrato de dados empregado nas linguagens 
de programação
Arquitetura de Três Esquemas (arquitetura ANSI/SPARC)
Fatec 
Ourinhos
Banco de Dados Armazenado
Cliente (CodCli, Nome, CPF)
Pedido (CodPed,CodCli,VlrTotal ,DtPed)
OrdProdução (CodOrdProd, CodPed, CodProd)
Visão 1 - CIO Visão 2 - Gerente Visão 3 - Técnico
Produto (CodProd, DscProd, NmComercial)
Nível Físico
Nível Conceitual
Nível Visões
Arquitetura de um Sistema de Banco de Dados – Níveis de Abstração 
08/08/2013
3
Fatec 
Ourinhos
Requisitos para Modelagem de Dados
• Entender a realidade em questão, identificando os 
objetos que compõe a parte da realidade que vai ser 
modelada;
• Representar formalmente a realidade analisada, 
construindo um modelo de dados;
• Estruturar o modelo obtido e adequá-lo ao SGBD a 
ser usado, transformando o modelo conceitual em 
modelo lógico.
Modelagem de Dados
Fatec 
Ourinhos
Tipos de Modelo de Dados no BD
• Modelos conceituais
– Utilizados para se descrever a estrutura de um banco 
de dados de uma forma mais próxima da percepção 
dos usuários (independente de aspectos de 
implementação)
– Ex. Conceitos: entidades, atributos, relacionamentos
– Exemplos:
• Modelo entidade-relacionamento (ER)
• Modelo funcional
• Modelo orientado a objetos (OO)
Fatec 
Ourinhos
Tipos de Modelo de Dados
• Modelos representacionais (lógicos)
– Utilizados para se descrever a estrutura de um banco de dados da 
forma como será manipulado através de SGBD (mais dependente 
das estruturas físicas de armazenamento de dados)
– Exemplos:
• Modelo relacional
• Modelo de rede (CODASYL)
• Modelo hierárquico
Fatec 
Ourinhos
Tipos de Modelo de Dados
• Modelos físicos
– Utilizados para descrever como os dados são fisicamente 
armazenados
Fatec 
Ourinhos
AF1
D P
AF2
D P
AF3
D P
AF1
D P
Mod.
Conceitual
Dados Processos
Regras de Construção de Dados Regras de Construção de 
Processos
Sistema de Informação
D P D P D P D P
Mod.
Lógico
Mod.
Físico
(1)
(2)
(3)
(4)
Hw & SO
SGBD
Telas (int)
Fatec 
Ourinhos
• Em qualquer modelo de dados é importante distinguir entre a 
descrição do banco de dados e o banco de dados de fato
• Esquema: Descrição (textual ou gráfica) da estrutura de um 
banco de dados de acordo com um determinado modelo de 
dados (NAVATHE, S. e ELMASRI, R. , 2004), ou seja :
• É a descrição do banco de dados
• É definido durante o projeto do banco de dados e não se espera que 
seja alterado frequentemente
• Em linguagem de programação é equivalente a definição de um tipo 
de dados
• Instância: Conjunto de dados armazenados em um banco de 
dados em um determinado instante de tempo (NAVATHE, S. e 
ELMASRI, R. , 2004), ou seja:
• É o banco de dados em si
• Em uma linguagem de programação, isto é equivalente a uma 
declaração de uma variável do tipo definido e o seu valor
Conceitos Importantes
08/08/2013
4
Fatec 
Ourinhos
Modelo de Dados, Esquema e Instância
Esquema do banco de dados de exemplo
Fatec 
Ourinhos
Modelo de Dados, Esquema e Instância
Instância do banco de dados de exemplo
Fatec 
Ourinhos
Sistema de Banco de Dados
Fatec 
Ourinhos
Sistema de Banco de Dados
Fatec 
Ourinhos
Sistema de Banco de Dados
Fatec 
Ourinhos
• Projeto Conceitual 
• Independente de SGBD
• Modelo Conceitual – MER
• Projeto Lógico
• Esquema Lógico
• Mapeamento do Modelo Conceitual para modelo do SGBD
• Ex: Modelo Relacional
• Projeto Físico
• Estruturas Físicas de Armazenamento
• Organização de registros físicos
• Índices
• Critérios
• Tempo de resposta
• Espaço utilizado
• Número de transações
Sistema de Banco de Dados
08/08/2013
5
Fatec 
Ourinhos
Linguagens de Banco de Dados
• Linguagem de Definição de Dados (DDL)
– Permite especificar o esquema do banco de dados, através de um conjunto 
de definições de dados
– O compilador DDL do SGBD processa e identifica os os comandos, que 
são armazenados no catálogo (metadados)
• Linguagem de Manipulação de Dados (DML)
– Permiteao usuário acessar ou manipular os dados
– Uma consulta (“query”) é um comando que requisita uma recuperação de 
informação
– A parte de uma DML que envolve recuperação de informação é chamada 
linguagem consulta
– DMLs procedurais: exigem que o usuário especifique quais dados são 
necessários, e como obtê-los
• Algebra Relacional
• SQL
– DMLs não procedurais: exigem que o usuário especifique quais dados são 
necessários, sem especificar como obtê-los
• Cálculo Relacional
Fatec 
Ourinhos
Componentes 
de um SGDB
Fatec 
Ourinhos
Componentes de um SGDB
• Processador de Consultas
– Compilador DML
• Analisa sintaticamente e semanticamente comandos DML expressos 
em uma linguagem de consulta (ex. SQL)
• Traduz estes comandos para uma das formas de representação 
interna de consultas (ex. álgebra relacional)
– Pré-Compilador DML
• Inseridos em programas de aplicação, traduz comandos DML em 
chamadas a procedimentos (rotinas) na linguagem hospedeira
– Interpretador DDL
• Interpreta comandos DDL e os armazena no catálogo
• Tabelas contendo meta-dados
• Descrição do banco de dados – Esquema
– Mecanismo de Consultas
• Responsável pela otimização e geração de planos de execução de 
consultas
• Executam instruções geradas pelo compilador DML
Fatec 
Ourinhos
Componentes de um SGDB
• Sistema de Armazenamento
– Gerenciador de transações
• Controle de concorrência
• Recuperação do banco de dados após falha (estado 
consistente)
– Gerenciador de arquivos (File System)
• Responsável pelo armazenamento físico em disco
• Gerencia a alocação de espaço em disco
– Gerenciador de buffer
• Responsável para recuperar objetos em disco e carregá-los na 
memória principal em forma de páginas
– SGBD possui uma área de buffer em memória principal
• Mapeamento: Bloco Página
(disco) (buffer do SGBD)
Fatec 
Ourinhos
•Arquivos de dados + Índices + Catálogo
– Arquivo de dados
• Armazena o próprio banco de dados
– Índices
• Estruturas de índices para os arquivos de dados
• Proporcionam acesso rápido aos itens de dados
– Catálogo
• Armazena esquema do banco de dados (meta-dados)
– Nomes das tabelas
– Atributos de cada tabela
– Definição de índice para uma tabela, etc…
– Dados Estatísticos
• Informações utilizadas pelo processador de consultas para seleção 
de meios eficientes para execução de uma consulta
• Exemplo:
– Cardinalidade de uma tabela
Componentes de um SGDB
Fatec 
Ourinhos
Classificação dos SGBDs
• Quanto ao modelo de dados adotado:
– Relacionais
– De rede
– Hierárquicos 
– Orientados a objetos
– Objeto-relacionais
• Quanto ao número de usuários suportados:
– Mono-usuários
– Multi-usuários
• Quanto à localização dos dados:
– Centralizados
– Distribuídos
08/08/2013
6
Fatec 
Ourinhos
Arquitetura de Banco de Dados
As aplicações são particionadas em duas ou três partes
Fatec 
Ourinhos
Nome CPF Rua Cidade Nr_Conta
José 015425446 Rua das 
Flores
São Paulo 5418-7
Maria 154879984 Rua Linda Bauru 4876-9
José 015425446 Rua das 
Flores
São Paulo 8745-6
Classificação quanto ao Modelo de Dados
• Utiliza um conjunto de tabelas para representar tanto os 
dados como a relação entre eles
• Cada tabela possui múltiplas colunas e cada uma possui 
um nome único
Nr_Conta Saldo
5418-7 541,20
4876-9 145,00
8745-6 235,90
Modelo Relacional
Fatec 
Ourinhos
Nome CPF Rua Cidade
José 015425446 Rua das 
Flores
São Paulo
Maria 154879984 Rua Linda Bauru
Modelo Rede
• Os dados são representados por um conjunto de 
registros
• Cada registro é uma coleção de campos (atributos), 
cada qual contendo somente um valor 
• As relações entre os registros são representados por 
links (ligações)
• Um link é uma associação entre dois registros
Nr_Conta Saldo
5418-7 541,20
4876-9 145,00
8745-6 235,90
Classificação quanto ao Modelo de Dados
Fatec 
Ourinhos
Maria 154879984 ...........
Modelo Hierárquico
• É similar ao modelo em rede, pois os dados e suas 
relações são representados, respectivamente, por registros 
e links
• A diferença é que os registros estão organizados em 
árvores
José 015425446 ...........
8745-6 235,905418-7 541,20 4876-9 145,00
Classificação quanto ao Modelo de Dados
Fatec 
Ourinhos
Exercícios
• O que você entende por Banco de Dados? E SGBD?
• Explique cada um dos níveis de abstração de um BD definido 
pelo ANSI/SPARC.
• Comente a seguinte afirmação: o esquema de um banco em um 
modelo relacional é armazenado como se fosse um dado 
convencional.
• Relacione três funcionalidades providas por um SGBD.
• Quais as principais diferenças entre os modelos de rede e os 
modelos hierárquico?
• Defina os seguintes termos pertinentes a linguagens de 
consultas em BD: DDL, DML e SQL.
Fatec 
Ourinhos
Referência Bibliográfica
• SILBERSCHATZ, A., e KORTH, S. e SUDARSHAN, S. Sistema de 
Banco de Dados, 5a edição, Editora Campus, 2006.
• NAVATHE, S. e ELMASRI, R. Fundamentals of Database Systems, 
4a edição, Addison Wesley, 2004.
• DATE, C. Introdução a Sistemas de Banco de Dados, Campus, 2000.
• HEUSER, C. A., Projeto de banco de Dados, Editora Sagra Luzzatto.

Continue navegando