Baixe o app para aproveitar ainda mais
Prévia do material em texto
Banco de Dados II INF8021 Aula 1 Apresentação do Plano de Ensino Conceitos Iniciais Professor: André Lucio Período: 2016/01 Apresentação do Plano de Ensino • O plano de ensino será apresentado nesta aula. • Avaliação – 3 provas escritas A1, A2 e A3 – 2 trabalhos – com peso de 20% das notas de A1 (trabalho1) e A2 (trabalho 2) – Aulas expositivas e práticas – Realização de estudos de caso – Enviar um e-mail para ser adicionado na lista da turma • andre.oliveira@uva.br • Colocar no assunto: UVA – BD2 – lista de e-mails Modelos de Dados • Modelos de dados de alto nível ou conceitual – Oferecem conceitos que são próximos ao modo como muitos usuários percebem os dados. [1] – Não se preocupam com o paradigma de banco de dados a ser utilizado: relacional, hierárquico, em redes, orientados a objetos. – Utilizam conceitos como entidades, atributos e relacionamentos. – Pode ser modelado através de um MER (modelo entidade-relacionamento) • Modelos de dados lógico, representativos[1] , de implementação [1] ou de registro [1] – Oferecem conceitos que podem ser facilmente entendidos pelos usuários finais, mas que não está muito longe de como os dados são organizados e armazenados no computador. – Mostram os dados usando estruturas de registro. – Já refletem o paradigma de banco de dados a ser utilizado: • Relacional (modelo de dados relacional) • Hierárquico (modelo de dados hierárquico) • Em redes (modelo de dados em redes) • Orientados a objetos (modelo de dados de objetos). Modelos de Dados • Modelos de dados de baixo nível ou físico – Oferecem conceitos que descrevem os detalhes de como os dados são armazenados no computador, em geral em discos magnéticos – Seus conceitos costumam ser voltados para especialistas de computadores, não para usuário finais. – Descrevem o armazenamento dos dados como arquivos no computador, com informações como formatos de registro, ordenações de registro e caminhos de acesso (com o objetivo de facilitar a busca no BD – exemplo: índices). Modelos de Dados Esquemas do Banco de Dados • Em qualquer modelos de dados é importante distinguir entre a descrição do BD e o próprio BD. • Esta descrição é denominada Esquema do banco de dados, que é especificada durante o projeto de banco de dados e não se espera que mude com frequência. • A representação de um esquema é chamada Diagrama de Esquema. • Um diagrama de esquema representa apenas alguns aspectos de um esquema, como os nomes de tipos de registro e itens de dados, e alguns tipos de restrições. • Não mostra nem o tipo de dados de cada item, nem os relacionamentos entre os diversos arquivos. Esquemas do Banco de Dados Esquemas do Banco de Dados Nome CPF Data-Nasc Endereço Sexo Salário Supervisor Dept Nome Número Num-Dept Localidade Nome Número Local Dept CPF-Emp Num-Proj Horas CPF-Emp Nome-Dep Sexo Data-Nasc Relacionamento EMPREGADO DEPARTAMENTO LOCALIZACAO PROJETO TRABALHO DEPENDENTE Gerente Num Dept Data-Inicio GERENCIA • Quando definimos um novo BD, especificamos seu esquema apenas para o SGBD. • Nesse ponto, o estado do BD correspondente é o estado vazio, sem dados. • Obtemos um estado inicial de um BD quando ele é populado ou carregado com os dados iniciais. • Em qualquer ponto do tempo, o BD tem um estado atual. • O SGBD é parcialmente responsável por garantir que todo estado do BD seja um estado válido, ou seja um estado que satisfaça a estrutura e as restrições especificadas no esquema. Esquemas x Instâncias • O SGBD é parcialmente responsável por garantir que todo estado do BD seja um estado válido, ou seja um estado que satisfaça a estrutura e as restrições especificadas no esquema. • O SGBD armazena as descrições das construções e restrições do esquema – também denominado metadados – no catálogo do SGBD, de modo que o mesmo possa recorrer ao esquema sempre que precisar. • A maioria dos SGBD modernos possui algumas operações para evolução de esquema que podem ser aplicadas enquanto o BD está em funcionamento. O SGBB e o estado de um BD • A arquitetura de 3 camadas (Navathe) Arquitetura de Três Esquemas • A arquitetura de 3 camadas (Date) Arquitetura de Três Esquemas • A arquitetura de 3 camadas (Date) Arquitetura de Três Esquemas • Objetivo: Separar as aplicações do usuário do banco de dados físico. • Nessa arquitetura, os esquemas podem ser definidos nos seguintes níveis: – Nível Interno (nível de armazenamento) - descreve a estrutura do armazenamento físico do BD – Nível Conceitual (nível lógico de comunidade) - descreve a estrutura do BD inteiro para uma comunidade de usuários (descrição de entidades, tipos de dados, relacionamentos, operações do usuário e restrições) – Nível externo ou de visão (nível lógico do usuário) - inclui uma série de esquemas externos ou visões do usuário. Arquitetura de Três Esquemas • Fonte: Date Arquitetura de Três Esquemas • Comentário adicional da figura anterior Arquitetura de Três Esquemas Sublinguagem de dados (data sublanguage) - isto é, um subconjunto da linguagem completa, relacionado de modo específico aos objetos e às operações do banco de dados. A sublinguagem de dados (abreviada como DSL - Data Sublanguage) é considerada embutida na linguagem hospedeira correspondente. A linguagem hospedeira (ou "host") é responsável pelo fornecimento de diversos recursos não relacionados com bancos de dados, como variáveis locais, operações de cálculo, lógica de desvios condicionais (branching logic), e assim por diante. • Independência de Dados, – A arquitetura de três camadas pode ser usada para explicar melhor a conceito de independência de dados, que pode ser definida como a capacidade de alterar o esquema em um nível do sistema de banco de dados sem ter de alterar o esquema no nível mais alto. – Independência lógica de dados - capacidade de alterar o esquema conceitual sem ter de alterar os esquemas externos ou os programas de aplicação (exemplo: adição/remoção de tipo registro ou item de dados). Mais difícil de se alcançar. – Independência física de dados - capacidade de alterar o esquema interno sem ter de alterar o esquema conceitual (ex: criação de índices de acesso) Arquitetura de Três Esquemas • Linguagem de Definição de Dados (DDL - Data Definition Language) – Usada pelo DBA e seus projetitas de BD para definir os esquemas. • Linguagem de Definição de Visão (VDL - View Definition Language) – Especificar visões do usuário e seus mapeamentos ao esquema conceitual. – Na maioria do SGBD, o esquema externo é definido pela DDL. • Linguagem de Manipulação de Dados (DML - Data Manipulation Language) – Recuperação, inserção, exclusão e modificação de dados no BD. • Linguagem de Controle de Dados (DCL - Data Control Language) – Utilizada para tratar as permissões do banco de dados como a concessão (GRANT) ou revogação (REVOKE) de privilégios no banco de dados. Linguagens do Banco de Dados • Nos BD atuais, esses tipos de linguagens normalmente não são considerados linguagens distintas, ao contrário, uma linguagem integrada e abrangente é usada na definição do esquema conceitual, definição de visão e manipulação de dados. – Exemplo: linguagem SQL - que representa uma combinação de DDL, VDL e DML Linguagens do Banco de Dados • Interfaces baseadas em menu para clientes Web ou de navegação • Interfaces baseadas em formulário • Interfaces gráficas com o usuário (apresenta um esquema em formato de diagrama) • Interface de linguagem natural (via terminal) • Entrada e saída de voz (centrais de atendimento ao cliente) • Interfacespara usuário paramétricos (exemplo: caixas eletrônicos - menor número de toques - “clicadas”) • Interfaces para o DBA Interfaces do Banco de Dados O ambiente do SGBD (Navathe) (*) usuários paramétricos : usuários de transações enlatadas, por exemplo, caixas de bancos, funcionários de reservas em companhias aéreas. O ambiente do SGBD (Date) • Controle de redundância • Compartilhamento de dados • Controle de acesso • Múltiplas interfaces • Representação de relacionamentos • Cumprimento das restrições de integridade • Capacidade de “backup” e restauração Funcionalidades de um SGBD Controle de Redundância Redundância de dados Problemas da redundância de dados: • duplicação de esforço para manter os dados atualizados; • desperdício de espaço de armazenamento; • possibilidade de inconsistência dos dados Armazenamento em um único local no banco de dados X Redundância para melhorar o desempenho das consultas. Funcionalidades de um SGBD Compartilhamento de Dados • Sistemas multiusuários • Controle de concorrência • Transações atômicas Funcionalidades de um SGBD Controle de Acesso Segurança e autorização • senhas para usuários e para grupos de usuários; • restrição de acesso a parte do banco de dados; • proibição de executar certas operações; • acesso de usuários paramétricos restrito apenas a transações “enlatadas”; • proibição de uso de software privilegiado, como o software de criação de contas. Funcionalidades de um SGBD Múltiplas Interfaces • Linguagens de consulta para usuários casuais; • Linguagens de programação para programadores de aplicações; • Interfaces gráficas com formulários (telas) e menus para usuários paramétricos; • Interfaces para administração do banco de dados; • Linguagem natural. Funcionalidades de um SGBD Cumprimento das Restrições de Integridade • Tipo de dado (domínio) • Unicidade de itens de dados (chave) • Integridade referencial • Restrições derivadas da semântica dos dados Cumprimento automático pelo SGBD ou Especificação em programas de aplicação Funcionalidades de um SGBD Capacidade de Backup e Restauração Casos de falha de hardware ou de software. Backup e restauração (“recovery”) : consistência de estado do banco de dados. Funcionalidades de um SGBD Pessoal envolvido em grandes sistemas de bancos de dados • Classe dos administradores – administrador de sistema – administrador de dados – administrador de BD (ABD) – pessoal de operação e suporte • Classe dos desenvolvedores – projetistas do BD – analistas de sistemas – programadores de aplicações • Classe dos usuários finais – usuários ocasionais – operadores de aplicações – usuários sofisticados Pessoal envolvido em grandes sistemas de bancos de dados Ambiente de BD - Papéis • Administrador do Sistema – instala e mantém o SGBD – necessário bom conhecimento do SO – tem os mais altos privilégios • Administrador do BD – responsável por criar e manter BDs – tem privilégios nos BDs que gerencia • Administrador de Dados – responsável pelo ambiente de dados da organização AD versus ABD • Administração de Dados está voltada para o planejamento conceitual e a organização dos recursos de dados – modelagem de dados, desenvolvimento de políticas e padrões para uso e gerência dos dados, treinamento de usuários, coordenação de atividades com projetistas de sistemas e usuários • Administração de Banco de Dados está voltada para aspectos técnicos associados a um ambiente específico de um sistema de gerenciamento de banco de dados, no que diz respeito à operação e manutenção física de um ou mais BDs. • Trabalho de Pesquisa – Entrega: 1 aula antes da A1 – Tema: Dissertar sobre os paradigmas de BD: Hierárquico, Redes, Relacional e Orientado a Objetos – Foco: conceitos de cada paradigma, exemplos de SGBD, comparação entre eles. – Recomendações: • Citações das fontes de pesquisa no meio do texto. • Listar referências no final. • Seguir o modelo de arquivo apresentado pelo professor Modelos de Bancos de Dados Referências Bibliográficas • [1] Pressman R. S. 2006 – Engenharia de Software – Sexta Edição – Editora McGraw-Hill • [2] Date, C. J 2004 – Introdução a Sistemas de Banco de Dados – Oitava Edição – Editora Campus • [3] Navathe. S e Elmasri 2005, E. – Sistemas de Banco de Dados - Quarta Edição – Editora Addison-Wesley • [4] http://ehgomes.com.br/disciplinas/bdd/sgbd.php - última consulta em 02/02/2016 • [5] Notas de aula - BANCO DE DADOS (Fundamentos e Projeto) – professor Asterio K. Tanaka - UniRio
Compartilhar