Informática Banco de Dados Professor Julio Alves www.acasadoconcurseiro.com.br Informática 1. BANCOS DE DADOS Muitos autores definem Bancos de dados (BD) de forma diferente, porém em todas elas têmse uma ideia de coleção ou conjunto de dados armazenados que servem ou são usados por algumas situações específicas. A definição de banco de dados como ‘uma coleção de dados relacionados’ é muito geral. Por exemplo, considere a coleção de palavras deste texto como sendo dados relacionados e, portanto, constitui um banco de dados. Entretanto, o uso comum do termo ‘banco de dados’ é usualmente mais restrito. O conceito de banco de dados esta muito presente em nosso dia-a-dia e faz parte de nossa vida. Banco de dados (BD) desempenha um papel crítico em muitas áreas onde computadores são utilizados. O BD está presente em muitas áreas diferentes (negócios, engenharia, educação, medicina, etc.). Um arranjo aleatório de dados não pode ser considerado um banco de dados. 1.1 Definições comuns 1. Um banco de dados “é uma coleção de dados inter-relacionados, representando informações sobre um domínio específico”, ou seja, sempre que for possível agrupar informações que se relacionam e tratam de um mesmo assunto, posso dizer que tenho um banco de dados. 2. E uma coleção de dados logicamente coerente que possui um significado implícito cuja interpretação dada por uma determinada aplicação; 3. Representa abstratamente uma parte do mundo real, conhecida como Minimundo ou Universo de Discurso (UD), que é de interesse de certa aplicação; Podemos exemplificar situações clássicas como uma lista telefônica, um catálogo de CDs ou um sistema de controle de RH de uma empresa. Já um sistema de gerenciamento de banco de dados (SGBD) é um software que possui recursos capazes de manipular as informações do banco de dados e interagir com o usuário. Exemplos de SGBDs são: Oracle, SQL Server, DB2, PostgreSQL, MySQL, o próprio Access ou Paradox, entre outros. www.acasadoconcurseiro.com.br 3 Por último, temos que conceituar um sistema de banco de dados como o conjunto de quatro componentes básicos: dados, hardware, software e usuários. A Figura a seguir ilustra os componentes de um sistema de banco de dados. Os objetivos de um sistema de banco de dados são o de isolar o usuário dos detalhes internos do banco de dados (favorecer a abstração de dados) e promover a independência dos dados em relação às aplicações, ou seja, tornar independente da aplicação, a estratégia de acesso e a forma de armazenamento. 1.2 Abstração de dados O grande objetivo de um sistema de BD é oferecer uma visão “abstrata” dos dados aos usuários. Os detalhes referentes à forma como estes dados estão armazenados e mantidos não interessa aos usuários, mas a disponibilidade eficiente destes dados é que são fundamentais. Esta abstração se dá em três níveis de arquitetura: •• Nível de visão do usuário: as partes do banco de dados que o usuário tem acesso de acordo com a necessidade individual de cada usuário ou grupo de usuários; •• Nível conceitual: define quais os dados que estão armazenados e qual o relacionamento entre eles; •• Nível físico: é o nível mais baixo de abstração, em que define efetivamente de que maneira os dados estão armazenados. 4 www.acasadoconcurseiro.com.br Informática – Banco de Dados – Prof. Julio Alves 1.3 Framework de Zackman Camada Visão Dados Envolvido 1 Escopo/Contexto Lista de coisas importantes para o negócio Planejador 2 Modelo de Negócios / Conceitual Modelo Conceitual Proprietário 3 Modelo de Sistema / Lógico Modelo de dados lógico Projetista 4 Modelo Tecnológico / Físico Modelo de dados físico Projetista 5 Configuração de Componentes Definições de dados Desenvolvedor 6 Corporação Funcional Dados Empregado www.acasadoconcurseiro.com.br 5 1.4 Modelo conceitual É a descrição do BD de maneira independente ao SGBD, ou seja, define quais os dados que aparecerão no BD, mas sem se importar com a implementação que se dará ao BD. Desta forma, há uma abstração em nível de SGBD. Essa perspectiva destaca os elementos envolvidos nas relações negociais e não negociais da organização (entidades corporativas). Uma das técnicas mais utilizadas dentre os profissionais da área é a abordagem entidaderelacionamento (ER), onde o modelo é representado graficamente através do diagrama entidade-relacionamento (DER). Figura 1 - Exemplo de diagrama entidade-relacionamento O modelo acima, entre outras coisas, nos traz informações sobre Alunos e Turmas. Para cada Aluno, será armazenado seu número de matrícula, seu nome e endereço, enquanto para cada turma, teremos a informação de seu código, a sala utilizada e o período. 1.5 Modelo Lógico Descreve o BD no nível do SGBD, ou seja, depende do tipo particular de SGBD que será usado. Não podemos confundir com o Software que será usado. O tipo de SGBD que o modelo lógico trata é se o mesmo é relacional, orientado a objetos, hierárquico, etc. Abordaremos o SGBD relacional, por ser a exigência da grande maioria das provas. Nele, os dados são organizados em tabelas. Aluno 6 mat_aluno Nome Endereço 1 Cecília Ortiz Rezende Rua dos Ipês, 37 2 Abílio José Dias Avenida Presidente Jânio Quadros, 357 3 Renata Oliveira Franco Rua Nove de Julho, 45 www.acasadoconcurseiro.com.br Informática – Banco de Dados – Prof. Julio Alves Turma cod_turma sala Período 1 8 Manhã 2 5 Noite O modelo lógico do BD relacional deve definir quais as tabelas e o nome das colunas que compõem estas tabelas. Para o nosso exemplo, poderíamos definir nosso modelo lógico conforme o seguinte: Aluno(mat_aluno, nome, endereco) Turma (cod_turma, sala, periodo) É importante salientar que os detalhes internos de armazenamento, por exemplo, não são descritos no modelo lógico, pois estas informações fazem parte do modelo físico, que nada mais é que a tradução do modelo lógico para a linguagem do software escolhido para implementar o sistema. O conceito de abstração está associado à característica de se observar somente os aspectos de interesse, sem se preocupar com maiores detalhes envolvidos. No contexto de abstração de dados um banco de dados pode ser visto sem se considerar a forma como os dados estão armazenados fisicamente. Exemplo: Um programador de aplicação não precisa se importar com aspectos físicos de armazenamento dos dados. www.acasadoconcurseiro.com.br 7 1.6 Propriedades Implícitas De Banco De Dados •• Um banco de dados é uma coleção logicamente coerente de dados com algum significado inerente; •• Um banco de dados é projetado e construído com dados para um propósito específico; •• Ele possui um grupo de usuários e algumas aplicações pré-concebidas, as quais esses usuários estão interessados. 8 www.acasadoconcurseiro.com.br