Aula 2 - Modelo de Dados
Aula 2 - Modelo de Dados
Aula 2 - Modelo de Dados
Fatec Ourinhos
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
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.
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
Viso 1
Viso 2
Viso 3
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
Fsica
NVEL INTERNO
Fatec Ourinhos
Fatec Ourinhos
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
Refere-se a capacidade de modificar o esquema fsico sem que, com isso, qualquer programa de aplicao precise ser reescrito
O conceito de independncia de dados de vrias formas similar ao conceito de tipo abstrato de dados empregado nas linguagens de programao
Nvel Fsico
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.
Fatec Ourinhos
Fatec Ourinhos
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
11/03/2013
Fatec Ourinhos
Fatec Ourinhos
Fatec Ourinhos
Fatec Ourinhos
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
Componentes de um SGDB
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)
Pr-Compilador DML
Inseridos em programas de aplicao, traduz comandos DML em chamadas a procedimentos (rotinas) na linguagem hospedeira
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
11/03/2013
Fatec Ourinhos
Fatec Ourinhos
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
Dados Estatsticos
Informaes utilizadas pelo processador de consultas para seleo de meios eficientes para execuo de uma consulta Exemplo:
Cardinalidade de uma tabela
Fatec Ourinhos
Fatec Ourinhos
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
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.