BASES DE DADOS I LTSI/2 Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2010/2011
Conceitos Introdutórios Dados versus Informação A informação é actualmente encarada como um dos mais importantes recursos de uma organização. A tomada de decisão tornou-se um processo cada vez mais complexo. Este dependerá em grande parte da quantidade e qualidade da informação disponível. Caminha-se para a sociedade do saber onde o valor da informação tende a suplantar a importância do capital.
Dados São elementos ou valores discretos que, isoladamente, não têm qualquer valor. B.I.: 1234567889 Nº Contribuinte: 526563728 Os dados só se transformam em informação quando relacionados ou interpretados de alguma forma.
Informação A informação será o resultado de alguma forma de relacionamento e contextualização dos dados. O cliente José Almeida tem o nº de BI 123456789. A empresa fornecedora com o nº de contribuinte 526563728 está em atraso no pagamento de impostos.
Informação Para que a informação possa ser utilizada como apoio eficaz aos processos de tomada de decisão, são necessárias garantias de: Correcção. Característica básica da informação. É crucial que a informação seja baseada em dados correctos, correspondentes à realidade. Actualidade. O valor da informação dependerá em grande parte da sua actualidade. O dinamismo das sociedades contemporânea induz ao cada vez menor período de validade da informação. É essencial garantir que esta permanece actual em cada momento. Disponibilidade. Uma informação correcta e actual de pouco valerá se não for garantida a sua disponibilidade. É necessário implementar mecanismos que garantam a disponibilização da informação às entidades (humanos ou aplicações) que em cada momento delas necessitarem. Legibilidade. É também factor imprescindível que a informação possa ser entendida pelas entidades que dela vão necessitar.
Base de Dados Uma Base de Dados consiste numa colecção de dados... Partilhados. Interrelacionados. Contextualizados. Usados para múltiplos objectivos. A partir da qual derivam diferentes visões para diferentes utilizadores.
Base de Dados Fonte de informação para múltiplos utilizadores (aplicações). Diferentes necessidades. Diferentes perspectivas. Diferentes formas de interacção. BD
Conceitos Introdutórios No contexto computacional podem-se identificar duas formas de guardar informação: Sistemas de Ficheiros. Cada cliente (aplicação) é responsável pela administração dos dados que necessita. Sistemas de Bases de Dados. A administração dos dados é da responsabilidade do Sistema Gestor de Bases de Dados. SQL Server Oracle PostgreSql...
Sistemas de Ficheiros Acesso Exclusivo: Cada aplicação cria e administra os ficheiros com todos os dados necessários para a sua execução. Gestão de acessos. Gestão de conteúdo. Aplicação 1 Ficheiro 1 Aplicação 2 Ficheiro 2 Ficheiro 3 Aplicação 3 Ficheiro 4
Sistemas de Ficheiros Acessos Concorrentes Existem diversas aplicações com previlégios para a criação e que partilham o acesso (leitura / escrita) aos ficheiros necessários para a sua execução. Aplicação 1 Aplicação 2 Ficheiro 1 Aplicação 3 Ficheiro 2 Aplicação 4 Ficheiro 3
Sistemas de Ficheiros Cada aplicação possui (e eventualmente partilha) um conjunto de ficheiros onde regista e acede a toda a informação necessária. A criação de novas aplicações pode, na maioria dos casos, implicar a criação de novos ficheiros. Usualmente esta informação já estará repetida noutro local. F1 F2 F3
Sistemas de Ficheiros (Inconvenientes) Alto nível de redundância O mesmo tipo de informação pode ser guardado simultaneamente em múltiplos locais. Caso duas aplicações necessitem de determinado item de informação e não souberem que este já está registado noutro local, é comum existir redundância de informação. Inconsistência da informação Diferentes versões de um item de informação podem conter valores diferentes. Inflexibilidade Um pedido de informação que necessite de dados provenientes de diferentes locais pode não ser atendido em tempo útil. A aplicação pode não controlar todos os recursos necessários.
Sistemas de Ficheiros (Inconvenientes) Acessos concorrentes A inibição de acessos concorrentes pode prejudicar bastante o desempenho das aplicações. Por outro lado, a sua permissão, pode originar inconsistência na informação disponibilizada. Caso as aplicações não contenham mecanismos de sincronização entre elas, pode ser disponibilizada informação errónea. A implementação de mecanismos de sincronização aumenta consideravelmente a complexidade e o custo das aplicações. Semáforos Sockets Blackboards
Sistemas de Ficheiros (Inconvenientes) Custos de manutenção Para aceder a qualquer recurso (ficheiro), cada aplicação deverá conter a especificação do respectivo modelo físico e do respectivo protocolo de acesso. Qualquer alteração nesse ficheiro propaga a necessidade de alteração das aplicações que a ele acedem ou nele registam informação. Elevados custos financeiros resultantes da afectação de pessoal para esse fim. Desperdício de tempo na realização de tarefas que não constituirão qualquer mais valia para o desempenho da aplicação.
Sistemas de Ficheiros (Inconvenientes) Isolamento e integridade dos dados Os dados encontram-se frequentemente organizados por tipo em diferentes ficheiros. Uma vez que o relacionamento entre dados é feito ao nível das aplicações, estes permanecem isolados em cada componente (ficheiro). A eliminação ou alteração de parte destes dados por alguma aplicação pode facilmente conduzir à perca de integridade da informação. Nomes.dat 1 Vitor Costa 2 Ana Mendes 3 Paula Andrade X BI.dat 1 123456789 2 456234897 3 627219892?
Sistemas de Bases de Dados Sistemas de Bases de Dados Base de Dados Aplicação 1 Ficheiro 1 Aplicação 2 Aplicação 3 S G B D Ficheiro 2... Aplicação 4 Ficheiro N
Sistemas de Bases de Dados Algumas características fundamentais na abordagem proposta pelos sistemas de bases de dados: Os dados estão organizados num único conjunto lógico (Base de Dados). Os dados passam a estar integrados num único conjunto, sendo este administrado por uma aplicação específica (Sistema Gestor de Bases de Dados - SGBD). Mesmo no caso das bases de dados distribuídas, existe uma integração lógica de toda a informação. O acesso aos dados implica obrigatoriamente a comunicação com a entidade (SGBD) que reserva para si os privilégios de acesso físico à base de dados e aos ficheiros que a compõem.
Sistemas de Bases de Dados (Características) Independência entre as aplicações e o formato em que é registada a informação. Uma vez que cada aplicação apenas tem que comunicar com o SGBD no processo de consulta e alteração de dados, pode abstrair-se da forma como estes são internamente mantidos. Ao contrário dos sistemas de ficheiros, è possível que: Uma aplicação seja modificada, alterando a forma de utilização ou acesso à informação, sem que isso implique alterações nos restantes programas que partilham a utilização da mesma informação Separação entre a forma como os dados são armazenados fisicamente e a forma como são percebidos por cada aplicação - cliente.
Sistema Gestor de Bases de Dados (SGBD) Conjunto de Software destinado a gerir todo o armazenamento e manipulação de dados de um sistema, executando o interface entre o nível aplicacional (conjunto de aplicações cliente) e a base de dados propriamente dita Proporciona aos utilizadores uma visão abstracta dos dados, escondendo os detalhes acerca da forma como são armazenados, manipulados e optimizados. A sua evolução aponta no sentido de permitir que o nível aplicacional se distancie cada vez mais da máquina, incrementando o nível de abstracção praticamente à linguagem humana.
Sistema Gestor de Bases de Dados (SGBD) Passado? (Nem sempre...) read( %s%d,&a, &b) (...) SELECT * FROM Utilizadores WHERE Idade < 18; Linguagens de baixo nível (Baixo nível de abstracção) Presente (...) SELECCIONA CLIENTES NOVOS Linguagens de alto nível (Alto nível de abstracção) Futuro
Sistema Gestor de Bases de Dados (SGBD) Com o objectivo de estabelecer padrões para a tecnologia de bases de dados, foi proposto pelo ANSI (American National Standards Institute, através do SPARC Standards Planning and Requirements Committee) uma arquitectura de três níveis independentes, consoante o nível de abstracção. Nível de Visualização > Abstracção Nível Conceptual Nível Físico < Abstracção
Sistema Gestor de Bases de Dados (SGBD) Nível Interno (Físico) Descrição do armazenamento físico da informação numa base de dados. Definição das estruturas físicas que permitam obter um nível de desempenho, segurança e consistência satisfatório. Definição das políticas de armazenamento de informação, de acordo com o número, exigência e necessidades de cada cliente específico. Colecção de ficheiros, índices e outras estruturas de armazenamento.
Sistema Gestor de Bases de Dados (SGBD) Nível Conceptual Neste nível representa-se o modelo conceptual (Esquemas da estrutura) da base de dados, independentemente das aplicações cliente. Descrição dos dados armazenados e do relacionamento existente entre eles. Permite esconder dos utilizadores os detalhes de implementação física dos ficheiros que armazenam os dados.
Sistema Gestor de Bases de Dados (SGBD) Nível de Visualização (Externo) Descrição parcial dos dados armazenados na base de dados, de acordo com as necessidades de cada utilizador (cliente). Para cada um destes é definida uma vista (janela) sobre o modelo conceptual, que lhe permite trabalhar apenas com os dados para si relevantes. Diferentes aplicações (clientes) são desenvolvidas com base em diferentes (mas não disjuntas) vistas (sub-esquemas). Torna completamente transparente para o cliente a forma como efectivamente os dados estão armazenados.
Sistema Gestor de Bases de Dados (SGBD) Pelas características atrás enunciadas a arquitectura ANSI / SPARC permite,, dois níveis de independência de dados: Independência física e Independência lógica. Independência Lógica Nível de Visualização Independência Física Nível Conceptual Nível Físico
Sistema Gestor de Bases de Dados (SGBD) Independência Física Devido a questões de optimização do desempenho ou de segurança, é possível alterar aspectos relativos à implementação física da base de dados, sem que se altere o seu esquema conceptual, isto é, manter os dados e o relacionamento entre eles inalterado. Qualquer alteração no modelo físico não implicará alterações ou ajustamentos no modelo conceptual. Exemplos: Alteração das estruturas de armazenamento de informação (ficheiros). Criação de índices para optimizar o acesso à informação.
Sistema Gestor de Bases de Dados (SGBD) Independência Lógica Durante o período de vida da base de dados, pode ser necessário alterar o seu modelo conceptual (adicionar ou eliminar itens de informação), sem que obrigatoriamente se tenha que alterar as vistas proporcionadas ao nível de visualização. Exemplo: Necessidade de registo de um novo atributo de uma qualquer entidade. ( Dentro de pouco tempo as empresas terão que passar a registar o número do cartão do cidadão de cada um dos seus empregados.
Sistema Gestor de Bases de Dados (SGBD) Resumo A associação dos efeitos entre a independência lógica e independência física da arquitectura ANSI / SPARC induz uma das características mais importantes dos sistemas de bases de dados: Independência Programas /Dados Alterações numa aplicação e na forma de manipular informação não obrigam a alterações na base de dados Alterações na base de dados não obrigam a alterações nas aplicações que a ela acedem.