UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis 2015.2 Apresentação Objetivos da disciplina Apresentar os elementos gerais da tecnologia de banco de dados, desde os conceitos básicos até aspectos mais avançados, incluindo as tecnologias emergentes. Ao final do curso, o aluno estará apto a identificar os princípios teóricos de banco de dados presentes nos diversos produtos existentes modernamente. Apresentação Conteúdo estudado: Introdução a Sistemas de Banco de Dados; Arquitetura de Banco de Dados; Modelo Relacional; SGBD Relacional; Gerenciamento SGBD Relacional; Banco de Dados Distribuídos; Replicação de Banco de Dados. Apresentação Metodologia de avaliação Avaliações escritas / práticas Listas de exercícios Trabalhos Apresentação Datas das avaliações: Primeira unidade - 07/10 Segunda unidade – 02/12 Apresentação Bibliografia: COUGO, Paulo Sérgio. Modelagem conceitual e projeto de banco de dados. Rio de Janeiro: Campus, 1997. DATE, C. J. Introdução a sistemas de bancos de dados. 8. ed. Rio de Janeiro: Campus, 2003. KORTH, Henry F.; SUDARSHAN, S.; SILBERSCHATZ, Abraham. Sistema de bancos de dados. 3. ed. São Paulo: Pearson Makron Books, 2008. RUMBAUGH, James; BLAHA, Michael. Modelagem e projetos baseados em objetos. Rio de Janeiro: Campus, 2006. Histórico e Evolução Surgiu através de pesquisas nos laboratórios da IBM, décadas de 60/70 (System R). Primeiros sistemas baseados em SQL surgiram no início dos anos 80 com a Oracle (Oracle 2) e IBM (SQL/DS). Aumento incremental do volume de dados armazenados desde o início dos bancos de dados até hoje. Padrão SQL da IBM passou ara a ANSI e ISO, as quais criaram um padrão. Histórico e Evolução Bancos de dados orientados a objetos surgem em meados da década de 80, pois nem todas as situações e tipos de dados eram compatíveis com bancos relacionais (Ex: PostgreSql). Introdução SGBD (ou DBMS) – o que é? Sistema de Gerenciamento de Banco de Dados Objetiva gerenciar o acesso e a correta manutenção dos dados armazenados em um banco de dados. Conjunto de dados relacionados e conjunto de programas para acessá-los. Introdução SGBD deve interagir tanto com usuários finais como com programadores ou outros programas. Exemplos de SGBD’s: Oracle Sql Server DB2 My Sql Introdução Funções de um SGBD: Inserir e alterar registros Buscar e visualizar registros existentes Excluir registros existentes Ordenar registros Selecionar registros ou campos Juntar ou intercalar registros Inserir / remover / alterar tabelas Importar / exportar dados ... Introdução Características desejáveis para um Banco de Dados: Controle de redundância; Compartilhamento de dados; Controle de acesso aos dados; Múltiplas interfaces; Representação de associações complexas; Garantia de Restrições de Integridade; Recuperação de falhas. Introdução Dados X Informação Dados são todos os elementos que servem de base para formação de opinião ou tomada de decisão. Apenas um registro no banco, com pouco valor. Informação é o dado trabalhado, classificado, ordenado. Um conjunto de registros, com muito valor. Arquitetura de Banco de Dados A arquitetura ANSI/SPARC é dividida em três níveis: Nível interno (nível de armazenamento) – Mais perto do armazenamento físico, responsável pela forma como o dado é armazenado dentro do sistema; Nível externo (nível da lógica de usuário) – Mais perto do usuário, responsável pela forma como o dado é visto pelo usuário individual; Nível conceitual (nível lógico) – Nível intermediário entre os dois anteriores. Arquitetura de Banco de Dados Relacionamento entre os três níveis da Arquitetura. Arquitetura de Banco de Dados Exemplo prático das camadas da Arquitetura. Arquitetura de Banco de Dados Nível externo: Nível do usuário individual (programador ou usuário final); Linguagem de programação, PL/SQL ou outra linguagem proprietária, linguagem de scripts, etc (linguagem de alto nível); A linguagem utilizada possui uma sublinguagem específica para manipulação de objetos no banco de dados; Fortemente acoplada (tightly coupled) – Não é possível distinguir entre sublinguagem e linguagem host; Linguagem de programação para banco de dados; Fracamente acoplada (loosely coupled) – Linguagem e sublinguagem são facilmente separadas; Combinação entre linguagem DML e DDL. Arquitetura de Banco de Dados Nível Conceitual: Representação do conteúdo do banco de dados de forma abstrata em comparação com a forma como os dados são armazenados. Apresentam os dados como eles realmente são, definidos pelo esquema conceitual; Não envolve representação física, apenas conceitual; Não existe referência aos campos do banco de dados; Arquitetura de Banco de Dados Nível interno: Representação completa do banco de dados em baixo nível; Implementação do banco de dados em forma de esquemas: campos, tabelas, registros, índices, etc; Não lida com a representação interna dos dados (blocos e páginas, cilindros ou tamanhos de trilhas); Mapeamentos Envolvimento arquitetura: entre os três níveis da Mapeamento conceitual/interno – Correspondência entre a visualização conceitual e o banco de dados existente; Mapeamento externo/conceitual – Correspondência entre uma visualização externa particular e a conceitual. Monitoramento de performance e alteração de requisitos – Qualquer alteração em qualquer nível precisa refletir nos demais níveis. Dúvidas?