SlideShare uma empresa Scribd logo
UNIDADE 1 Introdução Disciplina: Banco de Dados I (ARA7129) Prof. Alexandre L. Gonçalves E-mail: alexandre.goncalves@ararangua.ufsc.br
Exemplo Uma empresa vende produtos de limpeza, e deseja melhor controlar os produtos que vende, seus clientes e os pedidos. Cada produto é caracterizado por um código único, nome do produto, categoria (ex. detergente, sabão em pó, sabonete, etc), e seu preço. A categoria é uma classificação criada pela própria empresa. A empresa possui informações sobre todos seus clientes. Cada cliente é identificado por um código único (interno à firma), o nome do cliente, endereço (rua, nro, complemento, cidade, cep, UF), telefone, o status do cliente ("bom", "médio", "ruim"), e o seu limite de crédito. Guarda-se igualmente a informação dos pedidos feitos pelos clientes. Cada pedido possui um número (único), e guarda-se a data de elaboração do pedido. Cada pedido pode conter de 1 a vários produtos, e para cada produto, indica-se a quantidade deste pedida. Modelo Físico Banco de Dados Modelo Conceitual Modelo Lógico Descrição do Problema
Banco de Dados Um “banco de dados” pode ser definido como um conjunto de “dados” devidamente relacionados.  Por “dados” podemos compreender como “fatos conhecidos” que podem ser armazenados e que possuem um significado implícito.
SGBD  Um Sistema Gerenciador de Banco de Dados (SGBD) caracteriza-se como uma coleção de programas que possibilitam aos usuários criar e manter um banco de dados. O principal objetivo de um SGBD é prover meios de se recuperar informações de banco de dados de maneira conveniente e eficiente.
Abordagem Banco de Dados  X  Abordagem Processamento Tradicional de Arquivos Auto Informação Uma característica importante da abordagem Banco de Dados é que o SGBD mantém não somente os dados mas também a forma como os mesmos são armazenados, contendo uma descrição completa do banco de dados.
Separação entre Programas e Dados Aplicação   Camada de manipulação de dados  Camada de acesso de dados  SGBD Metadados Dados
Abstração de Dados O SGBD deve fornecer ao usuário uma “representação conceitual” dos dados, sem fornecer muitos detalhes de como as informações são armazenadas.  Um “modelo de dados” é uma abstração de dados que é utilizada para fornecer uma representação conceitual utilizando conceitos lógicos como objetos, suas propriedades e seus relacionamentos.
Múltiplas Visões de Dados Como um conjunto de informações pode ser utilizada por um conjunto diferenciado de usuários, é importante que estes usuários possam ter “visões” diferentes da base de dados.  Uma “visão” é definida como um subconjunto de uma base de dados, formando deste modo, um conjunto “virtual” de informações.
Múltiplas Visões de Dados Administrador de Banco de Dados (DBA) Usuários Finais: Usuários Navegantes: são usuários que interagem com o sistema chamando um dos programas aplicativos já escritos. Acessam o banco de dados casualmente. Usuários Sofisticados: são usuários que estão familiarizados com o SGBD e realizam consultas complexas, interagem com o sistema sem escrever programas. Analistas de Sistemas e Programadores de Aplicações: analistas determinam os requisitos dos usuários finais e desenvolvem especificações para transações que atendam estes requisitos, e os programadores implementam estas especificações na forma de sistemas computacionais, testando, depurando, documentando e promovendo manutenção no mesmo.
Vantagens do uso de um SGBD Controle de Redundância  Compartilhamento de Dados  Restrição a Acesso não Autorizado Representação de Relacionamentos Complexos entre os Dados Tolerância a Falhas
Quando não utilizar um SGBD: Existe a necessidade de processamento em tempo real de certas aplicações, que são prejudicadas pela sobrecarga causada pelo uso de um SGBD; São necessários processamentos específicos, como por exemplo, recuperação de informação textual, dados geográficos ou espaciais, e dados biológicos (genéticos); Sistemas embarcados, com capacidade de armazenamento limitada;
Visão de Dados Um SGBD é uma coleção de arquivos e programas inter-relacionados que permitem ao usuário o acesso para consultas e alterações desses dados.  O maior benefício de um banco de dados é proporcionar ao usuário uma visão abstrata dos dados.
Abstração de Dados Nível Físico: ou esquema interno, é o mais baixo nível de abstração que descreve como esses dados estão de fato armazenados.  Nível Conceitual/Lógico: ou esquema conceitual/lógico, este nível médio de abstração descreve quais objetos, propriedades e inter-relacionamentos estão armazenados no banco de dados.  Nível de Externo:  ou visão, é o mais alto nível de abstração e descreve apenas parte do banco de dados.
Os Três Níveis de Abstração de Dados .... Visão 1 Visão 1 Visão 1 Nível de Visão Nível Lógico Nível Físico
Esquemas e Instâncias A  descrição  de  um  banco  de  dados  é chamada  de  “esquema  de  um  banco  de dados” e é especificada durante o projeto do banco de dados. Os dados armazenados em um banco de dados em um determinado instante do tempo formam um conjunto chamado de “instância do banco de dados”.
Independência de Dados A “independência de dados” pode ser definida como a capacidade de se alterar um esquema em um nível em um banco de dados sem ter que alterar um nível superior. Existem dois tipos de independência de dados: Independência de dados lógica Independência de dados física
Independência de Dados Independência de dados lógica é a capacidade de alterar o esquema conceitual sem mudar o esquema externo ou programas (aplicações). Podemos modificar o esquema conceitual para expandir ou reduzir o banco de dados. Independência de dados física é a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual. As mudanças no esquema interno podem ser necessárias para reorganização de arquivos físicos.
Modelo de Dados Sob a estrutura do banco de dados está o modelo de dados; um conjunto de ferramentas  conceituais usadas para a descrição de dados, relacionamentos entre dados, semântica de dados e regras de consistência.  Os mais comuns são modelos lógicos com base em objetos e modelos lógicos com base em registros.
Modelo Lógico com Base em Objetos Os modelos lógicos com base em objetos são usados na descrição de dados no nível lógico e de visões.  São caracterizados por dispor de recursos de estruturação bem mais flexíveis e por viabilizar a especificação explícita das restrições dos dados.  Modelo Entidade-Relacionamento Modelo Orientado a Objeto
Modelo Lógico com Base em Registros Modelos lógicos com base em registros  são usados para descrever os dados no nível lógico e de visão. Os três modelos de dados com base em registro mais comumente utilizados são: rede  hierárquico relacional
Modelo Relacional O modelo relacional usa 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.  As tabelas a seguir apresentam um exemplo de banco de dados relacional: uma tabela apresenta os clientes de um banco e a outra tabela as contas relacionadas.
Modelo Relacional Id_Cliente Nome_Cliente Cidade_Cliente Nro_Conta 1 Cliente 1 Florianópolis 10 2 Cliente 2 Blumenau 20 3 Cliente 3 Itajaí 30 4 Cliente 4 Tubarão 20 5 Cliente 5 Araranguá 40 5 Cliente 5 Araranguá 50 Nro_Conta Saldo 10 300 20 400 30 300 40 500 50 450
Linguagem de Banco de Dados Um sistema de banco de dados proporciona dois tipos de linguagens: uma específica para os esquemas do banco de dados e outra para expressar consultas e atualizações.
Linguagem de Definição de Dados Para a definição dos esquemas lógico ou físico pode-se utilizar uma linguagem chamada DDL (Data Definition Language - Linguagem de Definição de Dados).  O SGBD possui um compilador DDL que permite a execução das declarações para identificar as descrições dos esquemas e para armazená-las em tabelas que constituem um arquivo especial chamado dicionário de dados ou diretório de dados.
Linguagem de Manipulação de Dados Uma vez que o esquema esteja compilado e o banco de dados esteja populado, usa-se uma linguagem para fazer a manipulação dos dados, a DML (Data Manipulation Language - Linguagem de Manipulação de Dados). Por manipulação entendemos: A recuperação das informações armazenadas no banco de dados; A inserção de novas informações no banco de dados; A remoção das informações no banco de dados; A modificação das informações no banco de dados;
Os Módulos Componentes de um SGBD Um sistema de banco dados está dividido em módulos específicos, de modo a atender a todas as funções do sistema.  Algumas das funções do sistema de banco de dados podem ser fornecidas pelo sistema operacional.  Na maioria das vezes, o sistema operacional do computador fornece apenas as funções essenciais, e o sistema de banco de dados deve ser construído nessa base.
Os Módulos Componentes de um SGBD Os componentes de processamento de consultas incluem: Pré-compilador DML Compilador DML Interpretador DDL Componentes para o tratamento de consultas Os componentes de administração de armazenamento incluem: Gerenciamento de autorizações e integridade Gerenciamento de transações Administração de arquivos Administração de buffer Estruturas de dados  Arquivo de dados Dicionário de dados Índices Estatísticas de dados
Ara7129 unidade-1-v1
Arquitetura de Banco de Dados A arquitetura no qual rodam os banco de dados, pode ser dividido em três categorias ou plataformas:  Centralizada Cliente/Servidor  Distribuída  As três diferem, principalmente, no local onde realmente ocorre o processamento dos dados.
Arquitetura Centralizada Em um sistema centralizado, todos os programas rodam em um computador servidor "hospedeiro" principal, incluindo o SGBD e os aplicativos que fazem acesso ao banco de dados.
Arquitetura Centralizada
Arquitetura Cliente/Servidor Na sua forma mais simples, um banco de dados Cliente/Servidor divide o processamento de dados em dois sistemas: o cliente (front-end), que executa parte do processamento, como por exemplo, a formatação e  apresentação dos dados na aplicação cliente, e o servidor (back-end), que roda totalmente ou parte do SGBD real.
Arquitetura Cliente/Servidor
Arquitetura Distribuída O banco de dados é armazenado em vários servidores e os dados compartilhados entre estes através de atualizações enviadas por conexões diretas (na mesma rede) ou por conexões remotas, via telefone ou via linhas de dados dedicadas.
Arquitetura Distribuída
Definição de modelo “ Modelo é a representação abstrata e simplificada de um sistema real, com o qual se pode explicar ou testar o seu comportamento, em seu todo ou em partes.” (Cougo, 1997)
Exemplos Uma planta baixa de um imóvel Um aeromodelo sendo usado em testes de aerodinâmica O desenho em perspectiva de um novo móvel ou de uma nova roupa O memorial descritivo de um novo imóvel
Objetivo Permitir através de algum meio, maquete, desenho, fotografia, etc, a antecipação ou substituição da existência de uma realidade qualquer.
Objeto Um  objeto  é um elemento computacional que representa, no domínio da solução, alguma entidade (abstrata ou concreta) do domínio de interesse do problema sob análise; O termo “objeto” é usado, de maneira genérica, para caracterizar qualquer coisa, pessoa, ambiente, conceito, etc; Objetos servem de referência para a criação de modelos (uma maquete tem um apartamento como referência, um manequim tem um ser humano como referência), portanto, pode ser chamado de “objeto observado”;  Desse modo, o objeto observado torna-se o ponto de partida para um processo de modelagem, seja de dados ou não. É necessário ter um objeto a reproduzir, seja ele concreto ou imaginário.
Modelagem É o processo de representar o mundo observado, seja ele real ou imaginário; A modelagem pressupõem um processo de investigação e análise, o que podemos caracterizar como um processo de levantamento de requisitos e análise das relações entre os objetos, de modo que determinado domínio possa ser representado.
O Processo de Modelagem Especificação dos requisitos Definição da abrangência (escopo) Nível de detalhamento Tempo para a produção do modelo  Recursos disponíveis Execução da Modelagem de Dados O entendimento dos conceitos A representação dos objetos A verificação de fidelidade e coerência A validação do modelo
Objetivos do Modelo de Dados Representar um ambiente observado Servir de instrumento para comunicação Favorecer o processo de verificação e validação Capturar aspectos de relacionamento entre os objetos observados Servir como referencial para a geração de estruturadas de dados
Modelos de Banco de Dados Um modelo de (banco de) dados caracteriza-se como uma descrição dos tipos de informações que estão armazenadas em um banco de dados; Um modelo não descreve quais dados estão armazenados, mas sim como estes serão armazenados; Para se construir um modelo, usa-se uma linguagem de modelagem de dados, que pode ser textual ou gráfica; Existem três tipos distintos de modelos de dados: conceitual, lógico e físico.
Modelo Conceitual É uma descrição do banco de dados independente de implementação de um SGBD; Registra que dados podem aparecer, mas não indica como estes dados serão armazenados no SGBD; A técnica de modelagem conceitual mais difundida é a abordagem entidade-relacionamento (ER); Nessa técnica, um modelo conceitual é representado através de um diagrama, chamado diagrama entidade-relacionamento (DER)
Modelo Conceitual
Modelo Lógico É uma descrição do banco de dados no nível de abstração visto pelo usuário do SGBD; Desse modo, o modelo lógico é dependente do tipo de SGBD que está sendo usado.
Modelo Lógico
Modelo Físico É uma descrição do banco de dados no nível físico das ocorrências, ou instâncias das entidades e seus relacionamentos; Cada SGBD, em geral, define diferentes modos de implementação física das características e recursos necessários para o armazenamento das estruturas de dados; Isso pode inclusive variar em um mesmo SGBD rodando sobre diferentes ambientes de sistema operacional; Parâmetros sobre o espaço de alocação inicial e extensões de tamanho, e informações sobre o espaço ocupado e livre de uma tabela são características físicas.
Projeto de Banco de Dados Modelagem Conceitual: é construído um modelo conceitual na forma de um diagrama entidade-relacionamento; Projeto Lógico: objetiva transformar o modelo conceitual obtido na primeira fase em um modelo lógico; Define como o banco de dados será implementado em um SGBD específico;
Projeto de Banco de Dados Projeto Físico: nessa etapa o modelo do banco de dados é enriquecido com novas características que influenciam no desempenho, mas não em sua funcionalidade. Alterações nesse modelo não afetam as aplicações que usam o banco de dados. É um processo contínuo mesmo depois do banco de dados já estar implementado. Este processo é chamado de sintonia ( tuning ) de banco de dados.
Problema/Requisitos Uma empresa vende produtos de limpeza, e deseja melhor controlar os produtos que vende, seus clientes e os pedidos. Cada produto é caracterizado por um código único, nome do produto, categoria (ex. detergente, sabão em pó, sabonete, etc), e seu preço. A categoria é uma classificação criada pela própria empresa. A empresa possui informações sobre todos seus clientes. Cada cliente é identificado por um código único (interno à firma), o nome do cliente, endereço (rua, nro, complemento, cidade, cep, UF), telefone, o status do cliente ("bom", "médio", "ruim"), e o seu limite de crédito. Guarda-se igualmente a informação dos pedidos feitos pelos clientes. Cada pedido possui um número (único), e guarda-se a data de elaboração do pedido. Cada pedido pode conter de 1 a vários produtos, e para cada produto, indica-se a quantidade deste pedida.
Modelo Conceitual
Modelo Lógico
Exemplo  O acervo de uma biblioteca é composto por exemplares de livros. Cada livro é caracterizado por um ou mais autores, um título, uma editora, local de edição, um código ISBN e um conjunto de palavras-chave. A biblioteca possui pelo menos um exemplar de cada livro, numerados seqüencialmente (exemplares 1, 2, 3, etc). Os associados da biblioteca podem retirar exemplares dos livros. Cada associado pode retirar no máximo três exemplares. Para cada empréstimo é registrada a data em que este foi realizado. Cada associado possui um código, nome e endereço.

Mais conteúdo relacionado

PDF
Material Modelagem - Prof. Marcos Alexandruk
PDF
Banco de Dados
PDF
Apostila banco de dados
PDF
Aula1 - Apresentação de Banco de Dados
PPTX
Banco de Dados Conceitos
PPT
Access diapositivos aula nº 1 e 2
PDF
Banco De Dados
PDF
Banco de Dados - Part01
Material Modelagem - Prof. Marcos Alexandruk
Banco de Dados
Apostila banco de dados
Aula1 - Apresentação de Banco de Dados
Banco de Dados Conceitos
Access diapositivos aula nº 1 e 2
Banco De Dados
Banco de Dados - Part01

Mais procurados (20)

PPT
Introdução a Bancos de Dados
PDF
1º trabalho base dados
PPTX
Aula 2 banco de dados
PDF
Banco dados i prof ivan (acesse www.portalgsti.com.br)
PPT
Universidade federal do amazonas Banco de Dados - Apresentação final
PPT
Banco aula 01
PDF
Arquitetura e sgbd de um banco de dados
PPTX
Apresentação Final de Banco de Dados
DOC
Respostas exercício 1 bdi
PPT
Concepcao de banco_de_dados-aula_1
PPT
Universidade Federal do Amazonas - Banco de dados - Apresentação 1 - Renan M....
PDF
Aula 1 - Introdução ao Conteúdo de Banco de Dados
PPTX
Aula 1 introdução a base de dados
PDF
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
PDF
Caderno de info(banco de dados).
PPTX
PPTX
Aula 4 banco de dados
PPT
Aula 2 - Introdução a Banco de Dados
PDF
Fundamentos de banco de dados 02 caracteristicas e vantagens sgbd
Introdução a Bancos de Dados
1º trabalho base dados
Aula 2 banco de dados
Banco dados i prof ivan (acesse www.portalgsti.com.br)
Universidade federal do amazonas Banco de Dados - Apresentação final
Banco aula 01
Arquitetura e sgbd de um banco de dados
Apresentação Final de Banco de Dados
Respostas exercício 1 bdi
Concepcao de banco_de_dados-aula_1
Universidade Federal do Amazonas - Banco de dados - Apresentação 1 - Renan M....
Aula 1 - Introdução ao Conteúdo de Banco de Dados
Aula 1 introdução a base de dados
Banco de Dados - Introdução - Projeto de Banco de Dados - DER
Caderno de info(banco de dados).
Aula 4 banco de dados
Aula 2 - Introdução a Banco de Dados
Fundamentos de banco de dados 02 caracteristicas e vantagens sgbd
Anúncio

Destaque (20)

PDF
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
PDF
Apostila de banco de dados da ucg
PDF
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
PDF
Tecnolgias Educacionais
PDF
Sistemas Operacionais - Aula 05 (Concorrência)
PPTX
Banco de dados
PDF
Sistemas Multimídia - Aula 09 - A TERCEIRA DIMENSÃO (Computação gráfica trid...
PDF
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
PDF
Sistemas Multimídia - Aula 06 - Autoria (Ferramentas para Autoria de Títulos,...
PDF
Sistemas de Telecomunicações - Aula 13 - Wi-fi, Li-fi e Laser
PDF
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
PDF
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
PDF
Aula Bônus
PDF
Banco de Dados I Aula 06 - Generalização e Especialização
PDF
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
PDF
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
PDF
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
PDF
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
PDF
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
PDF
Pesquisa Operacional - Aula 07 - Problema de Transporte e Designação
Banco de Dados I - Aula 06 - Banco de Dados Relacional (Modelo Lógico)
Apostila de banco de dados da ucg
Sistemas Operacionais - Aula 04 - Prática 1 - (SOSim)
Tecnolgias Educacionais
Sistemas Operacionais - Aula 05 (Concorrência)
Banco de dados
Sistemas Multimídia - Aula 09 - A TERCEIRA DIMENSÃO (Computação gráfica trid...
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Sistemas Multimídia - Aula 06 - Autoria (Ferramentas para Autoria de Títulos,...
Sistemas de Telecomunicações - Aula 13 - Wi-fi, Li-fi e Laser
Banco de Dados I - Aula 10 - Banco de Dados Relacional (Modelo Físico)
Banco de Dados I - Aula 11 - Linguagem de Consulta SQL (Comandos DDL)
Aula Bônus
Banco de Dados I Aula 06 - Generalização e Especialização
Estrutura de Dados - Aula 12 - Listas Duplamente Encadeadas
Estrutura de Dados - Aula 15 - Pesquisa de Dados (Árvore de Pesquisa)
Estrutura de Dados - Aula 09 - Listas Simplesmente Encadeadas
Banco de Dados I Aula 02 - Introdução aos Bancos de Dados
Estrutura de Dados - Aula 10 - Listas Circulares e Lista com Nó Descritor
Pesquisa Operacional - Aula 07 - Problema de Transporte e Designação
Anúncio

Semelhante a Ara7129 unidade-1-v1 (20)

PPTX
Banco de Dados - Aula 02
PPTX
AULA 01.pptx
PDF
Projeto de Banco de Dados - Capítulo 1
PDF
Aula01_Introducao_Projeto_BancoDados.pdf
PDF
Célio Azevedo - Apostilas de SQL atualizadas
PDF
Mer - Modelo Entidade Relacionamento
PDF
Modelagem e Implementação BD SQL - SEMANA_01.pdf
PDF
Banco se dados, exercícios, planilhas do Excel gráficos
PPT
Banco aula 01
PPTX
Aula xx - Questões sobre SGBD - banco de dados
PPTX
Banco dedados aula001
PPTX
Novo microsoft office power point presentation
PDF
02 introducao
PPT
Aula 4 - Sistemas Gerenciadores de Banco de Dados
PDF
Visão geral sobre Bancos de Dados Univesp
PPT
Aula 6 - Banco de Dados, revisão geralll
PPT
BDI_1_conceitos
PDF
01 banco de dados-basico
PPT
PDF
gcc214-slides-1-introducao-conceitos-arquitetura.pdf
Banco de Dados - Aula 02
AULA 01.pptx
Projeto de Banco de Dados - Capítulo 1
Aula01_Introducao_Projeto_BancoDados.pdf
Célio Azevedo - Apostilas de SQL atualizadas
Mer - Modelo Entidade Relacionamento
Modelagem e Implementação BD SQL - SEMANA_01.pdf
Banco se dados, exercícios, planilhas do Excel gráficos
Banco aula 01
Aula xx - Questões sobre SGBD - banco de dados
Banco dedados aula001
Novo microsoft office power point presentation
02 introducao
Aula 4 - Sistemas Gerenciadores de Banco de Dados
Visão geral sobre Bancos de Dados Univesp
Aula 6 - Banco de Dados, revisão geralll
BDI_1_conceitos
01 banco de dados-basico
gcc214-slides-1-introducao-conceitos-arquitetura.pdf

Ara7129 unidade-1-v1

  • 1. UNIDADE 1 Introdução Disciplina: Banco de Dados I (ARA7129) Prof. Alexandre L. Gonçalves E-mail: alexandre.goncalves@ararangua.ufsc.br
  • 2. Exemplo Uma empresa vende produtos de limpeza, e deseja melhor controlar os produtos que vende, seus clientes e os pedidos. Cada produto é caracterizado por um código único, nome do produto, categoria (ex. detergente, sabão em pó, sabonete, etc), e seu preço. A categoria é uma classificação criada pela própria empresa. A empresa possui informações sobre todos seus clientes. Cada cliente é identificado por um código único (interno à firma), o nome do cliente, endereço (rua, nro, complemento, cidade, cep, UF), telefone, o status do cliente ("bom", "médio", "ruim"), e o seu limite de crédito. Guarda-se igualmente a informação dos pedidos feitos pelos clientes. Cada pedido possui um número (único), e guarda-se a data de elaboração do pedido. Cada pedido pode conter de 1 a vários produtos, e para cada produto, indica-se a quantidade deste pedida. Modelo Físico Banco de Dados Modelo Conceitual Modelo Lógico Descrição do Problema
  • 3. Banco de Dados Um “banco de dados” pode ser definido como um conjunto de “dados” devidamente relacionados. Por “dados” podemos compreender como “fatos conhecidos” que podem ser armazenados e que possuem um significado implícito.
  • 4. SGBD Um Sistema Gerenciador de Banco de Dados (SGBD) caracteriza-se como uma coleção de programas que possibilitam aos usuários criar e manter um banco de dados. O principal objetivo de um SGBD é prover meios de se recuperar informações de banco de dados de maneira conveniente e eficiente.
  • 5. Abordagem Banco de Dados X Abordagem Processamento Tradicional de Arquivos Auto Informação Uma característica importante da abordagem Banco de Dados é que o SGBD mantém não somente os dados mas também a forma como os mesmos são armazenados, contendo uma descrição completa do banco de dados.
  • 6. Separação entre Programas e Dados Aplicação Camada de manipulação de dados Camada de acesso de dados SGBD Metadados Dados
  • 7. Abstração de Dados O SGBD deve fornecer ao usuário uma “representação conceitual” dos dados, sem fornecer muitos detalhes de como as informações são armazenadas. Um “modelo de dados” é uma abstração de dados que é utilizada para fornecer uma representação conceitual utilizando conceitos lógicos como objetos, suas propriedades e seus relacionamentos.
  • 8. Múltiplas Visões de Dados Como um conjunto de informações pode ser utilizada por um conjunto diferenciado de usuários, é importante que estes usuários possam ter “visões” diferentes da base de dados. Uma “visão” é definida como um subconjunto de uma base de dados, formando deste modo, um conjunto “virtual” de informações.
  • 9. Múltiplas Visões de Dados Administrador de Banco de Dados (DBA) Usuários Finais: Usuários Navegantes: são usuários que interagem com o sistema chamando um dos programas aplicativos já escritos. Acessam o banco de dados casualmente. Usuários Sofisticados: são usuários que estão familiarizados com o SGBD e realizam consultas complexas, interagem com o sistema sem escrever programas. Analistas de Sistemas e Programadores de Aplicações: analistas determinam os requisitos dos usuários finais e desenvolvem especificações para transações que atendam estes requisitos, e os programadores implementam estas especificações na forma de sistemas computacionais, testando, depurando, documentando e promovendo manutenção no mesmo.
  • 10. Vantagens do uso de um SGBD Controle de Redundância Compartilhamento de Dados Restrição a Acesso não Autorizado Representação de Relacionamentos Complexos entre os Dados Tolerância a Falhas
  • 11. Quando não utilizar um SGBD: Existe a necessidade de processamento em tempo real de certas aplicações, que são prejudicadas pela sobrecarga causada pelo uso de um SGBD; São necessários processamentos específicos, como por exemplo, recuperação de informação textual, dados geográficos ou espaciais, e dados biológicos (genéticos); Sistemas embarcados, com capacidade de armazenamento limitada;
  • 12. Visão de Dados Um SGBD é uma coleção de arquivos e programas inter-relacionados que permitem ao usuário o acesso para consultas e alterações desses dados. O maior benefício de um banco de dados é proporcionar ao usuário uma visão abstrata dos dados.
  • 13. Abstração de Dados Nível Físico: ou esquema interno, é o mais baixo nível de abstração que descreve como esses dados estão de fato armazenados. Nível Conceitual/Lógico: ou esquema conceitual/lógico, este nível médio de abstração descreve quais objetos, propriedades e inter-relacionamentos estão armazenados no banco de dados. Nível de Externo: ou visão, é o mais alto nível de abstração e descreve apenas parte do banco de dados.
  • 14. Os Três Níveis de Abstração de Dados .... Visão 1 Visão 1 Visão 1 Nível de Visão Nível Lógico Nível Físico
  • 15. Esquemas e Instâncias A descrição de um banco de dados é chamada de “esquema de um banco de dados” e é especificada durante o projeto do banco de dados. Os dados armazenados em um banco de dados em um determinado instante do tempo formam um conjunto chamado de “instância do banco de dados”.
  • 16. Independência de Dados A “independência de dados” pode ser definida como a capacidade de se alterar um esquema em um nível em um banco de dados sem ter que alterar um nível superior. Existem dois tipos de independência de dados: Independência de dados lógica Independência de dados física
  • 17. Independência de Dados Independência de dados lógica é a capacidade de alterar o esquema conceitual sem mudar o esquema externo ou programas (aplicações). Podemos modificar o esquema conceitual para expandir ou reduzir o banco de dados. Independência de dados física é a capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual. As mudanças no esquema interno podem ser necessárias para reorganização de arquivos físicos.
  • 18. Modelo de Dados Sob a estrutura do banco de dados está o modelo de dados; um conjunto de ferramentas conceituais usadas para a descrição de dados, relacionamentos entre dados, semântica de dados e regras de consistência. Os mais comuns são modelos lógicos com base em objetos e modelos lógicos com base em registros.
  • 19. Modelo Lógico com Base em Objetos Os modelos lógicos com base em objetos são usados na descrição de dados no nível lógico e de visões. São caracterizados por dispor de recursos de estruturação bem mais flexíveis e por viabilizar a especificação explícita das restrições dos dados. Modelo Entidade-Relacionamento Modelo Orientado a Objeto
  • 20. Modelo Lógico com Base em Registros Modelos lógicos com base em registros são usados para descrever os dados no nível lógico e de visão. Os três modelos de dados com base em registro mais comumente utilizados são: rede hierárquico relacional
  • 21. Modelo Relacional O modelo relacional usa 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. As tabelas a seguir apresentam um exemplo de banco de dados relacional: uma tabela apresenta os clientes de um banco e a outra tabela as contas relacionadas.
  • 22. Modelo Relacional Id_Cliente Nome_Cliente Cidade_Cliente Nro_Conta 1 Cliente 1 Florianópolis 10 2 Cliente 2 Blumenau 20 3 Cliente 3 Itajaí 30 4 Cliente 4 Tubarão 20 5 Cliente 5 Araranguá 40 5 Cliente 5 Araranguá 50 Nro_Conta Saldo 10 300 20 400 30 300 40 500 50 450
  • 23. Linguagem de Banco de Dados Um sistema de banco de dados proporciona dois tipos de linguagens: uma específica para os esquemas do banco de dados e outra para expressar consultas e atualizações.
  • 24. Linguagem de Definição de Dados Para a definição dos esquemas lógico ou físico pode-se utilizar uma linguagem chamada DDL (Data Definition Language - Linguagem de Definição de Dados). O SGBD possui um compilador DDL que permite a execução das declarações para identificar as descrições dos esquemas e para armazená-las em tabelas que constituem um arquivo especial chamado dicionário de dados ou diretório de dados.
  • 25. Linguagem de Manipulação de Dados Uma vez que o esquema esteja compilado e o banco de dados esteja populado, usa-se uma linguagem para fazer a manipulação dos dados, a DML (Data Manipulation Language - Linguagem de Manipulação de Dados). Por manipulação entendemos: A recuperação das informações armazenadas no banco de dados; A inserção de novas informações no banco de dados; A remoção das informações no banco de dados; A modificação das informações no banco de dados;
  • 26. Os Módulos Componentes de um SGBD Um sistema de banco dados está dividido em módulos específicos, de modo a atender a todas as funções do sistema. Algumas das funções do sistema de banco de dados podem ser fornecidas pelo sistema operacional. Na maioria das vezes, o sistema operacional do computador fornece apenas as funções essenciais, e o sistema de banco de dados deve ser construído nessa base.
  • 27. Os Módulos Componentes de um SGBD Os componentes de processamento de consultas incluem: Pré-compilador DML Compilador DML Interpretador DDL Componentes para o tratamento de consultas Os componentes de administração de armazenamento incluem: Gerenciamento de autorizações e integridade Gerenciamento de transações Administração de arquivos Administração de buffer Estruturas de dados Arquivo de dados Dicionário de dados Índices Estatísticas de dados
  • 29. Arquitetura de Banco de Dados A arquitetura no qual rodam os banco de dados, pode ser dividido em três categorias ou plataformas: Centralizada Cliente/Servidor Distribuída As três diferem, principalmente, no local onde realmente ocorre o processamento dos dados.
  • 30. Arquitetura Centralizada Em um sistema centralizado, todos os programas rodam em um computador servidor "hospedeiro" principal, incluindo o SGBD e os aplicativos que fazem acesso ao banco de dados.
  • 32. Arquitetura Cliente/Servidor Na sua forma mais simples, um banco de dados Cliente/Servidor divide o processamento de dados em dois sistemas: o cliente (front-end), que executa parte do processamento, como por exemplo, a formatação e apresentação dos dados na aplicação cliente, e o servidor (back-end), que roda totalmente ou parte do SGBD real.
  • 34. Arquitetura Distribuída O banco de dados é armazenado em vários servidores e os dados compartilhados entre estes através de atualizações enviadas por conexões diretas (na mesma rede) ou por conexões remotas, via telefone ou via linhas de dados dedicadas.
  • 36. Definição de modelo “ Modelo é a representação abstrata e simplificada de um sistema real, com o qual se pode explicar ou testar o seu comportamento, em seu todo ou em partes.” (Cougo, 1997)
  • 37. Exemplos Uma planta baixa de um imóvel Um aeromodelo sendo usado em testes de aerodinâmica O desenho em perspectiva de um novo móvel ou de uma nova roupa O memorial descritivo de um novo imóvel
  • 38. Objetivo Permitir através de algum meio, maquete, desenho, fotografia, etc, a antecipação ou substituição da existência de uma realidade qualquer.
  • 39. Objeto Um objeto é um elemento computacional que representa, no domínio da solução, alguma entidade (abstrata ou concreta) do domínio de interesse do problema sob análise; O termo “objeto” é usado, de maneira genérica, para caracterizar qualquer coisa, pessoa, ambiente, conceito, etc; Objetos servem de referência para a criação de modelos (uma maquete tem um apartamento como referência, um manequim tem um ser humano como referência), portanto, pode ser chamado de “objeto observado”; Desse modo, o objeto observado torna-se o ponto de partida para um processo de modelagem, seja de dados ou não. É necessário ter um objeto a reproduzir, seja ele concreto ou imaginário.
  • 40. Modelagem É o processo de representar o mundo observado, seja ele real ou imaginário; A modelagem pressupõem um processo de investigação e análise, o que podemos caracterizar como um processo de levantamento de requisitos e análise das relações entre os objetos, de modo que determinado domínio possa ser representado.
  • 41. O Processo de Modelagem Especificação dos requisitos Definição da abrangência (escopo) Nível de detalhamento Tempo para a produção do modelo Recursos disponíveis Execução da Modelagem de Dados O entendimento dos conceitos A representação dos objetos A verificação de fidelidade e coerência A validação do modelo
  • 42. Objetivos do Modelo de Dados Representar um ambiente observado Servir de instrumento para comunicação Favorecer o processo de verificação e validação Capturar aspectos de relacionamento entre os objetos observados Servir como referencial para a geração de estruturadas de dados
  • 43. Modelos de Banco de Dados Um modelo de (banco de) dados caracteriza-se como uma descrição dos tipos de informações que estão armazenadas em um banco de dados; Um modelo não descreve quais dados estão armazenados, mas sim como estes serão armazenados; Para se construir um modelo, usa-se uma linguagem de modelagem de dados, que pode ser textual ou gráfica; Existem três tipos distintos de modelos de dados: conceitual, lógico e físico.
  • 44. Modelo Conceitual É uma descrição do banco de dados independente de implementação de um SGBD; Registra que dados podem aparecer, mas não indica como estes dados serão armazenados no SGBD; A técnica de modelagem conceitual mais difundida é a abordagem entidade-relacionamento (ER); Nessa técnica, um modelo conceitual é representado através de um diagrama, chamado diagrama entidade-relacionamento (DER)
  • 46. Modelo Lógico É uma descrição do banco de dados no nível de abstração visto pelo usuário do SGBD; Desse modo, o modelo lógico é dependente do tipo de SGBD que está sendo usado.
  • 48. Modelo Físico É uma descrição do banco de dados no nível físico das ocorrências, ou instâncias das entidades e seus relacionamentos; Cada SGBD, em geral, define diferentes modos de implementação física das características e recursos necessários para o armazenamento das estruturas de dados; Isso pode inclusive variar em um mesmo SGBD rodando sobre diferentes ambientes de sistema operacional; Parâmetros sobre o espaço de alocação inicial e extensões de tamanho, e informações sobre o espaço ocupado e livre de uma tabela são características físicas.
  • 49. Projeto de Banco de Dados Modelagem Conceitual: é construído um modelo conceitual na forma de um diagrama entidade-relacionamento; Projeto Lógico: objetiva transformar o modelo conceitual obtido na primeira fase em um modelo lógico; Define como o banco de dados será implementado em um SGBD específico;
  • 50. Projeto de Banco de Dados Projeto Físico: nessa etapa o modelo do banco de dados é enriquecido com novas características que influenciam no desempenho, mas não em sua funcionalidade. Alterações nesse modelo não afetam as aplicações que usam o banco de dados. É um processo contínuo mesmo depois do banco de dados já estar implementado. Este processo é chamado de sintonia ( tuning ) de banco de dados.
  • 51. Problema/Requisitos Uma empresa vende produtos de limpeza, e deseja melhor controlar os produtos que vende, seus clientes e os pedidos. Cada produto é caracterizado por um código único, nome do produto, categoria (ex. detergente, sabão em pó, sabonete, etc), e seu preço. A categoria é uma classificação criada pela própria empresa. A empresa possui informações sobre todos seus clientes. Cada cliente é identificado por um código único (interno à firma), o nome do cliente, endereço (rua, nro, complemento, cidade, cep, UF), telefone, o status do cliente ("bom", "médio", "ruim"), e o seu limite de crédito. Guarda-se igualmente a informação dos pedidos feitos pelos clientes. Cada pedido possui um número (único), e guarda-se a data de elaboração do pedido. Cada pedido pode conter de 1 a vários produtos, e para cada produto, indica-se a quantidade deste pedida.
  • 54. Exemplo O acervo de uma biblioteca é composto por exemplares de livros. Cada livro é caracterizado por um ou mais autores, um título, uma editora, local de edição, um código ISBN e um conjunto de palavras-chave. A biblioteca possui pelo menos um exemplar de cada livro, numerados seqüencialmente (exemplares 1, 2, 3, etc). Os associados da biblioteca podem retirar exemplares dos livros. Cada associado pode retirar no máximo três exemplares. Para cada empréstimo é registrada a data em que este foi realizado. Cada associado possui um código, nome e endereço.