Teas 01 Banco de dados PORQUE USAR ARQUIVOS? • • • • • • • Redundância e inconsistência Problema de integração Associação a aplicações Dificuldade de acesso ( solicitações não usuais ) Isolamento dos dados Múltiplos usuários ( atualização simultâneas ) Segurança de acesso Organização de dados em um ambiente *Laudon , Jane P- Sistemas de Informações Gerenciais •Objetivos de um sistema eficiente : •Informações precisas •Oportunas •Exatas •Relevantes Organização de dados em um ambiente *Laudon , Jane P- Sistemas de Informações Gerenciais Objetivos de um sistema eficiente : •Falicitar o acesso das informações aos usuários •Somente facilitam o acesso quando estão: • bem organizados •Bem administradors •Bem mantidos Sistema Gerenciador Banco de dados • “ Basicamente o banco de dados deve oferecer serviços que garantam o acesso eficiente e concorrente às informações, permitam notificação e conhecimento das atividades de outros membros do grupo e realizem o acompanhamento da evolução das atividades e informações do grupo, dentre outros.” BANCO DE DADOS O QUE É? • Date : Sistemas de armazenamento de dados baseado em computador • Korth : Coleção de dados que contém informação sobre um empreendimento particular DADO : Valor fisicamente registrado INFORMAÇÃO : Significado de um valor para um usuário SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS ( SGBD ) DATA BASE MANAGEMENT SYSTEM ( DBMS ) • Coleção de arquivos inter-relacionados e um conjunto de programas, que permitem a diversos usuários acessar e modificar esses arquivos. Em resumo… um sgbd é… HIERARQUIA DOS DADOS • Um sistema de computador organiza os dados em sequencia de hierarquia que começa com o bit,agrupados em bytes, que representa o caractere (uma letra ou digito). • Estes bytes podem ser agrupados ate formar um campo (ex. Nome) , agrupando-se em campos correlacionados formamos um registro (uma ficha), que se relacionados pode se formar um arquivo e se relacionados fazem parte de um banco de dados. HIERARQUIA DOS DADOS Sistemas tradicionais • • • • • Causam a Redundancia de dados Dependencia de programas /dados Falta de flexibilidade Baixo nível de segurança Falta de compartilhamento e disponibilidade de dados Redundância e inconsistência • É a presença de dados duplicados em multiplos arquivos de dados. – Ocorre quando os dados são armazenados em locais diferentes na mesma organização. – Exemplo : • Folha de pagamento(controla funcionarios) • Outras areas usam o mesmo funcionario com numeros e nomes diferentes (cadastros duplicados) Dependencia programa/dados • Cada programa de computador descreve a localização dos dados , portanto qualquer alteração tem que modificar fisicamente o banco de dados e alterar lógicamente os programas para assim ter acesso a base de dados Programa Banco de dados Abstração de dados Abstração de dados Abstração de dados Um Modelos de dados “Coleção de ferramentas conceituais para descrição, relacionamento, semântica e restrições dos dados” Modelo de dados ? • Há três tipos de modelos de dados: – o conceitual, – o lógico – O físico “uma estrutura de dados com qualidade é imprescindível para garantir a legitimidade do banco de dados facilitando a manutenção do sistema de aplicação” Modelagem conceitual (projeto conceitual) – abstração de mais alto nível – objetivo: representação dos requisitos de dados do domínio • Vantagens – independente de detalhes de implementação em um SGBD – facilita a compreensão da semântica dos dados de um domínio • melhor compreendido por usuários leigos – pode ser mapeado para qualquer modelo lógico de BD – facilita a manutenção do modelo lógico e a migração para outro modelo lógico • processo de engenharia reversa Modelagem lógica (projeto lógico) • representação da modelagem conceitual em um modelo • de BD • – ênfase na eficiência de armazenamento • • evitar: muitas tabelas (e junções); tabelas sub-utilizadas, ... Modelagem física (implementação na linguagem) • • • • – esquema SQL para a modelagem lógica • dependente de SGBD – ênfase na eficiência de acesso • implementação de consultas, índices, ... GRUPOS DE MODELOS DE DADOS: • MODELOS LÓGICOS BASEADOS EM OBJETOS: – – – – – Modelo Entidade-Relacionamento Modelo Binário Modelo Semântico de Dados Modelo Infológico E vários outros. . . GRUPOS DE MODELOS DE DADOS: • MODELOS DE DADOS BASEADOS EM REGISTROS – Modelo Relacional – Modelo de Rede – Modelo Hierárquico GRUPOS DE MODELOS DE DADOS: • MODELOS DE DADOS FÍSICOS – Modelo unificador – Memória em "Frames" INDEPENDÊNCIA DE DADOS • INDEPENDÊNCIA FÍSICA: – Capacidade de se modificar o esquema físico sem alterar os programas de aplicação • INDEPENDÊNCIA LÓGICA: – Capacidade de se modificar o esquema conceitual sem alterar os programas de aplicação USUÁRIOS DO BANCO DE DADOS • • • • • Programadores de aplicação Usuários simples Usuários ocasionais Usuários especializados Data Base Administrador ( DBA ) SISTEMA GERENCIADOR DE BANCO DE DADOS OBJETIVO: • Proporcionar um ambiente que seja conveniente e eficiente na inserção e na recuparação de informações do banco de dados. TAREFAS EXECUTADAS: • Integração com o gerenciados de arquivos. • Garantia de integridade. • Garantia de segurança de acesso. • Garantia de recuperação. • Controle de concorrência. Modelos de banco de dados • Rede • Hierarquico • Relacional Modelo Hierarquico • Década de sessenta. • Organizava dados em uma estrutura hierárquica (uma estrutura em árvore) com sentido de acesso unidirecional, do pai para o filho sempre começando pela "Raiz". Ou seja, este tipo de banco de dados constitui-se de uma coleção de registros conectados uns aos outros por links. • Os SGBDs mais conhecidos foram o IMS e o System2000 [KORTH, 2001]. • O modelo hierárquico foi definido com base na observação de que muitas entidades do mundo real são organizadas hierarquicamente. Reitoria analise Professores Engenharia Informática básica Ciências computação alunos Modelo Hierarquico Modelo Hierarquico • Em resumo, pode-se dizer que este modelo segue o estilo de um organograma empresarial (Diretoria - Divisão - Seção - Setor) ou de biblioteca (Exata - Matemática - Álgebra Linear Vetores ). • Este modelo é capaz de representar este tipo de organização de forma direta, mas apresenta inconvenientes quando esta situação não aparece claramente com relações de hierarquia [HEUSER, 1998]. Modelo de Rede • utilizado principalmente no final da década de sessenta e durante a década de setenta. • Organizava dados em uma estrutura formada por várias listas, que definia uma intrincada rede de ligações (estrutura similar a um grafo direcionado). • O IDMS e o Total foram os SGBDs mais conhecidos [KORTH, 2001]. Modelo de Rede • Este modelo é muitas vezes denominado de modelo DBTG CODASYL (Data Base Task Group - subgrupo da Conference On DAta SYstems and Languages), uma organização (conferência) existente na década de setenta responsável pela padronização de linguagens de programação de sistemas. • Similar ao modelo hierárquico, os dados no modelo de redes são organizados em tipos de registro e ligações entre dois tipos de registro. • Não existe restrição hierárquica, ou seja, quaisquer dois tipos de registro podem se relacionar. Modelo de Rede • Assim, tanto o esquema quanto as ocorrências de dados são visualizados como um grafo direcionado. • Um esquema no modelo de redes é chamado de diagrama de estrutura de dados [KORTH, 2001] [HEUSER, 1998]. • Uma rede é, essencialmente um conjunto ilimitado de nós (tipos de registros neste caso) e de ramais de ligação. Modelo de Rede • Na verdade, uma hierarquia é apenas um tipo particular de rede. Uma rede não apresenta o conceito de nó “raiz” e os registros podem ter diversos tipos de registros-pais, assim como diversos tipos de registros-filhos [KORTH, 2001]. • Exemplo: um departamento possui diversos empregados e diversos escritórios e que, em cada escritório, há vários empregados lotados. • Fica claro que não há sentido de “raiz” embora se possa argumentar que o registro EMPREGADO tem dois “pais”. Modelo de Rede Modelo Relacional • E. Codd, (IBM ) Califórnia em 1970. • O projeto inicial foi denominado de Sistema R e definia a organização dos dados e linguagens formais para a sua manipulação. Com base nestas linguagens formais, a primeira versão da linguagem SQL (Structured Query Language) foi definida. • Esta linguagem é, atualmente, um padrão para gerenciamento de dados em SGBDs relacionais. Os SGBDs de grande porte mais famosos são: Oracle,SQL Server, Informix, Sybase e Ingres [FANDERUFF, 2000], [KORTH, 2001]. Modelo Relacional • O objeto básico tratado pelo modelo relacional é a “entidade” ou “relação”, que pode ser definida como um objeto do mundo real, concreto ou abstrato e que possui existência independente. • Uma entidades eqüivale ao conceito matemático de conjunto, ou seja, um agrupamento de elementos[SCHERER, 2000]. Modelo Relacional • Um banco de dados relacional visa manter os dados de forma não redundante (repetição de vários campos em várias tabelas), executar processamento integrado, lidar com relações múltiplas (relacionamentos) e fornecer certo grau de independência dos dados. • Diante de um processamento integrado, o banco de dados torna-se simplificado causando melhoria na independência dos dados e, consequentemente, obtendo maior desempenho [FANDERUFF, 2000]. Modelo Relacional • O modelo relacional é o modelo mais utilizado no momento, grandes empresas e instituições utilizam gigantes bases relacionais para gerenciar e manter seus dados [ABBEY, 2002][RAMALHO, 1999][SCHERER, 2000]. Modelo Relacional Linguagens Banco de dados Administração Banco de Dados Visão Geral Visão geral da estrutura Visão geral da estrutura