Baixe o app para aproveitar ainda mais
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.
Compartilhar