Você está na página 1de 9

11/03/2013

Fatec Ourinhos Fatec Ourinhos/SP

Fatec Ourinhos

Curso: Anlise 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

Fatec Ourinhos

Modelo de Dados
Modelo de dados uma descrio 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 vrios nveis de abstrao:
Um nvel para explicar a usurios leigos Um nvel para o profissional de computao

Introduo Modelo de Dados

Geralmente empregamos trs nveis:


Modelo Conceitual Modelo Lgico Modulo Fsico (Projeto de BD)

11/03/2013

Fatec Ourinhos

Fatec Ourinhos

Modelo de Dados
Abstrao o ato de separar mentalmente elementos de uma totalidade complexa, seja material, representao ou fato real. (Abreu e Machado, 2001, p.35) Processo mental onde selecionamos vrias caractersticas e propriedades de um conjunto de objetos ou fatos, e exclumos outros que no so relevantes em um contexto. (Machado, 2004, p.29)

Modelo de Dados

Fatec Ourinhos

Fatec Ourinhos

Modelo de Dados
A busca pela eficincia no armazenamento e recuperao de dados em um Bando de Dados induz ao uso de estruturas dados complexas. No entanto, os SGBD so freqentemente usados por pessoas sem treinamento na rea de computao. Logo, esta complexidade precisa ser escondida dos usurios. Esta omisso obtida por meio de trs nveis de abstrao, de modo a facilitar a interao dos usurios com o sistema. Os nveis so: Viso, Conceitual e Fsico.

A Arquitetura dos Sistemas de Banco de Dados

No ano de 1972 foi criado um grupo de estudos para definir uma arquitetura padro para um sistema de banco de dados, que atendesse s demandas tericas. 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.

11/03/2013

Fatec Ourinhos

Fatec Ourinhos

Arquitetura de Trs Esquemas (arquitetura ANSI/SPARC)


Esquemas podem ser definidos em Trs-nveis

Arquitetura de Trs Esquemas (arquitetura ANSI/SPARC)


Arquitetura de Trs-nveis (ou trs-esquemas)
Usurio final
NVEL EXTERNO
Mapeamento externo/conceitual

Proposta para auxiliar na realizao e visualizao das seguintes caractersticas:


Independncia de dados e operao de programas Suporte a mltiplas vises Uso do catlogo para armazenar a descrio do banco de dados

Viso 1

Viso 2

Viso 3

O objetivo separar o usurio da aplicao do banco de dados fsico


1. Nvel Interno esquema interno

Descreve a estrutura de armazenamento fsico do banco de dados Utiliza um modelo de dados fsico Descreve a estrutura da base de dados sem detalhes de estrutura de armazenamento fsico Que dados esto armazenados e como esto relacionados Descreve as vises dos usurios: a parte da base de dados em que cada grupo de usurios tem interesse Descrio de sub-esquemas

NVEL CONCEITUAL
Mapeamento conceitual/interno

Esquema Conceitual

2. Nvel Conceitual esquema conceitual ou lgico


Fsica
NVEL INTERNO

3. Nvel Externo esquema externo (vises dos usurios)


Banco de Dados Armazenado

Fatec Ourinhos

Fatec Ourinhos

Arquitetura de Trs Esquemas (arquitetura ANSI/SPARC)


Arquitetura de um Sistema de Banco de Dados Nveis de Abstrao

Independncia de Dados

a capacidade de mudar o esquema em um nvel do sistema de banco de dados sem que ocorram alteraes do esquema no prximo nvel mais alto Independncia de dados lgica
Refere-se a capacidade de modificar o esquema lgico sem que, com isso, qualquer programa de aplicao precise ser reescrito

Nvel Vises

Viso 1 - CIO

Viso 2 - Gerente

Viso 3 - Tcnico

Cliente (CodCli, Nome, CPF) Pedido (CodPed,CodCli,VlrTotal ,DtPed)


Nvel Conceitual

Independncia de dados fsica

Refere-se a capacidade de modificar o esquema fsico sem que, com isso, qualquer programa de aplicao precise ser reescrito

OrdProduo (CodOrdProd, CodPed, CodProd) Produto (CodProd, DscProd, NmComercial)

O conceito de independncia de dados de vrias formas similar ao conceito de tipo abstrato de dados empregado nas linguagens de programao

Nvel Fsico

Banco de Dados Armazenado

11/03/2013

Fatec Ourinhos

Fatec Ourinhos

Modelagem de Dados
Requisitos para Modelagem de Dados Entender a realidade em questo, identificando os objetos que compe 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 lgico.

Tipos de Modelo de Dados no BD Modelos conceituais


Utilizados para se descrever a estrutura de um banco de dados de uma forma mais prxima da percepo dos usurios (independente de aspectos de implementao) Ex. Conceitos: entidades, atributos, relacionamentos Exemplos:
Modelo entidade-relacionamento (ER) Modelo funcional Modelo orientado a objetos (OO)

Fatec Ourinhos

Fatec Ourinhos

Tipos de Modelo de Dados Modelos representacionais (lgicos)


Utilizados para se descrever a estrutura de um banco de dados da forma como ser manipulado atravs de SGBD (mais dependente das estruturas fsicas de armazenamento de dados)

Tipos de Modelo de Dados Modelos fsicos


Utilizados para descrever como os dados so fisicamente armazenados

Exemplos:
Modelo relacional Modelo de rede (CODASYL) Modelo hierrquico

11/03/2013

AF1 D P

AF2 D P

AF3 D P

AF1 D P

Fatec Ourinhos

Fatec Ourinhos

(1) D P (2)
Mod. Lgico

Conceitos Importantes
D P D P D P
Mod. Conceitual

Em qualquer modelo de dados importante distinguir entre a descrio do banco de dados e o banco de dados de fato Esquema: Descrio (textual ou grfica) da estrutura de um banco de dados de acordo com um determinado modelo de dados (NAVATHE, S. e ELMASRI, R. , 2004), ou seja :

Dados

Processos

(3)
Regras de Construo de Dados Hw & SO SGBD Telas (int) Regras de Construo de Processos Mod. Fsico

a descrio do banco de dados definido durante o projeto do banco de dados e no se espera que seja alterado frequentemente Em linguagem de programao equivalente a definio de um tipo de dados

Instncia: Conjunto de dados armazenados em um banco de dados em um determinado instante de tempo (NAVATHE, S. e ELMASRI, R. , 2004), ou seja:

(4)
Sistema de Informao

o banco de dados em si Em uma linguagem de programao, isto equivalente a uma declarao de uma varivel do tipo definido e o seu valor

Fatec Ourinhos

Fatec Ourinhos

Modelo de Dados, Esquema e Instncia

Modelo de Dados, Esquema e Instncia

Instncia do banco de dados de exemplo Esquema do banco de dados de exemplo

11/03/2013

Fatec Ourinhos

Fatec Ourinhos

Sistema de Banco de Dados

Sistema de Banco de Dados

Fatec Ourinhos

Fatec Ourinhos

Sistema de Banco de Dados

Sistema de Banco de Dados Projeto Conceitual


Independente de SGBD Modelo Conceitual MER Esquema Lgico Mapeamento do Modelo Conceitual para modelo do SGBD Ex: Modelo Relacional Estruturas Fsicas de Armazenamento
Organizao de registros fsicos ndices Tempo de resposta Espao utilizado Nmero de transaes

Projeto Lgico

Projeto Fsico

Critrios

11/03/2013

Fatec Ourinhos

Fatec Ourinhos

Linguagens de Banco de Dados


Linguagem de Definio de Dados (DDL)
Permite especificar o esquema do banco de dados, atravs de um conjunto de definies de dados O compilador DDL do SGBD processa e identifica os os comandos, que so armazenados no catlogo (metadados)

Componentes de um SGDB

Linguagem de Manipulao de Dados (DML)


Permite ao usurio acessar ou manipular os dados Uma consulta (query) um comando que requisita uma recuperao de informao A parte de uma DML que envolve recuperao de informao chamada linguagem consulta DMLs procedurais: exigem que o usurio especifique quais dados so necessrios, e como obt-los
Algebra Relacional SQL

DMLs no procedurais: exigem que o usurio especifique quais dados so necessrios, sem especificar como obt-los
Clculo Relacional

Fatec Ourinhos

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 representao interna de consultas (ex. lgebra relacional)

Componentes de um SGDB Sistema de Armazenamento


Gerenciador de transaes
Controle de concorrncia Recuperao do banco de dados aps falha (estado consistente)

Pr-Compilador DML
Inseridos em programas de aplicao, traduz comandos DML em chamadas a procedimentos (rotinas) na linguagem hospedeira

Gerenciador de arquivos (File System)


Responsvel pelo armazenamento fsico em disco Gerencia a alocao de espao em disco

Interpretador DDL
Interpreta comandos DDL e os armazena no catlogo Tabelas contendo meta-dados Descrio do banco de dados Esquema

Gerenciador de buffer
Responsvel para recuperar objetos em disco e carreg-los na memria principal em forma de pginas
SGBD possui uma rea de buffer em memria principal

Mecanismo de Consultas
Responsvel pela otimizao e gerao de planos de execuo de consultas Executam instrues geradas pelo compilador DML

Mapeamento: Bloco (disco)

Pgina (buffer do SGBD)

11/03/2013

Fatec Ourinhos

Fatec Ourinhos

Componentes de um SGDB Arquivos de dados + ndices + Catlogo


Arquivo de dados
Armazena o prprio banco de dados

Classificao dos SGBDs


Quanto ao modelo de dados adotado:
Relacionais De rede Hierrquicos Orientados a objetos Objeto-relacionais

ndices
Estruturas de ndices para os arquivos de dados Proporcionam acesso rpido aos itens de dados

Catlogo
Armazena esquema do banco de dados (meta-dados)
Nomes das tabelas Atributos de cada tabela Definio de ndice para uma tabela, etc

Quanto ao nmero de usurios suportados:


Mono-usurios Multi-usurios

Dados Estatsticos
Informaes utilizadas pelo processador de consultas para seleo de meios eficientes para execuo de uma consulta Exemplo:
Cardinalidade de uma tabela

Quanto localizao dos dados:


Centralizados Distribudos

Fatec Ourinhos

Fatec Ourinhos

Arquitetura de Banco de Dados


As aplicaes so particionadas em duas ou trs partes

Classificao quanto ao Modelo de Dados


Modelo Relacional Utiliza um conjunto de tabelas para representar tanto os dados como a relao entre eles Cada tabela possui mltiplas colunas e cada uma possui um nome nico

Nome
Jos Maria Jos

CPF
015425446 154879984 015425446

Rua
Rua das Flores Rua Linda Rua das Flores

Cidade
So Paulo Bauru So Paulo

Nr_Conta
5418-7 4876-9 8745-6

Nr_Conta
5418-7 4876-9 8745-6

Saldo
541,20 145,00 235,90

11/03/2013

Fatec Ourinhos

Fatec Ourinhos

Classificao quanto ao Modelo de Dados


Modelo Rede Os dados so representados por um conjunto de registros Cada registro uma coleo de campos (atributos), cada qual contendo somente um valor As relaes entre os registros so representados por links (ligaes) Um link uma associao entre dois registros
Nome
Jos

Classificao quanto ao Modelo de Dados


Modelo Hierrquico similar ao modelo em rede, pois os dados e suas relaes so representados, respectivamente, por registros e links A diferena que os registros esto organizados em rvores
Jos 015425446 ........... Maria 154879984 ...........

CPF
015425446

Rua
Rua das Flores Rua Linda

Cidade
So Paulo

Nr_Conta
5418-7

Saldo
541,20 145,00
5418-7

Maria

154879984

Bauru

4876-9 8745-6

541,20

8745-6

235,90

4876-9

145,00

235,90

Fatec Ourinhos

Fatec Ourinhos

Referncia Bibliogrfica

Exerccios
O que voc entende por Banco de Dados? E SGBD? Explique cada um dos nveis de abstrao de um BD definido pelo ANSI/SPARC. Comente a seguinte afirmao: o esquema de um banco em um modelo relacional armazenado como se fosse um dado convencional. Relacione trs funcionalidades providas por um SGBD. Quais as principais diferenas entre os modelos de rede e os modelos hierrquico? Defina os seguintes termos pertinentes a linguagens de consultas em BD: DDL, DML e SQL. SILBERSCHATZ, A., e KORTH, S. e SUDARSHAN, S. Sistema de Banco de Dados, 5a edio, Editora Campus, 2006. NAVATHE, S. e ELMASRI, R. Fundamentals of Database Systems, 4a edio, Addison Wesley, 2004. DATE, C. Introduo a Sistemas de Banco de Dados, Campus, 2000. HEUSER, C. A., Projeto de banco de Dados, Editora Sagra Luzzatto.