2008.1 Introdução aos SGBDs Renata Viegas [email protected] 2008.1 Motivação • O que são Bancos de Dados? • Quais os programas de Bancos de Dados mais conhecidos no mercado? • Quais as vantagens do uso de Bancos de Dados nas empresas? Como eles podem facilitar o trabalho das pessoas? 2008.1 Introdução • O objetivo de um sistema de banco de dados é oferecer uma visão “abstrata” dos dados aos usuários. • Os detalhes referentes a forma como estes dados estão armazenados e mantidos não interessam aos usuários 2008.1 Introdução Mundo real modelo Representação em computadores 2008.1 Introdução • Seu principal propósito é armazenar informações e permitir ao usuário buscar e atualizar essas informações quando necessário • Um Sistema de Banco de Dados proporciona o controle centralizado dos dados – Mas, na prática, o que isso significa? 2008.1 Introdução • Banco de Dados - coleção de dados organizados para satisfazer às necessidades de informação dos usuários • Sistema Gerenciador de Banco de Dados SGBD – Conceito: organização de um conjunto de dados em tabelas, associadas aos programas que manipulam estes dados. – Objetivo: proporcionar um ambiente mais eficaz e mais eficiente para a recuperação e armazenamento das informações de um banco de dados 2008.1 Antes do SGBD... • Redundância e inconsistência de dados – Múltiplos formatos de arquivo, duplicação de informações em diferentes arquivos • Dificuldade de acessar os dados – Necessidade de escrever um novo programa para realizar cada nova tarefa • Inconsistências de dados – Inconsistência = incoerência 2008.1 Antes do SGBD... • Problemas de Integridade – Restrições de integridade (por exemplo, saldo da conta > 0) se tornam “enterrados” no código do programa em vez de serem declarados explicitamente • Anomalias no acesso concorrente • Problemas de segurança 2008.1 Como resolver os problemas ? • Um SGBD é uma coleção de arquivos e programas inter-relacionados – Permite ao usuário / programador o acesso para consulta e alteração dos dados – Oculta a complexidade das estruturas de níveis mais baixo por meio de visões dos dados com diversos níveis de abstração. 2008.1 SGBD • Um banco de dados pode ser considerado como uma coleção de dados relacionados. • Por dado entendem-se fatos conhecidos que podem ser armazenados e que possuem um significado implícito. 2008.1 SGBD – Arquitetura Simplificada 2008.1 SGBD • Níveis de Abstração para um Banco de Dados – Nível Interno ou Físico: o nível de abstração mais baixo e descreve como os dados estão de fato armazenados (endereços de memória, organização dos índices, etc) – Nível Conceitual ou Lógico: este é o nível de abstração médio, que descreve quais dados estão armazenados no banco de dados e quais são os inter-relacionamentos entre eles (Tabelas) – Nível Externo ou Visões: Este nível de abstração mais alto que representam as diferentes versões do BD vistas pelos usuários, de acordo com suas restrições de acesso 2008.1 Níveis de Abstração para um Banco de Dados Visão Externa 1 Visão Externa 2 Esquema Conceitual Esquema Interno BD Visão Externa n Nível Externo, Visão de cada usuário Nível Conceitual Nível Físico, Visão de armazenamento 2008.1 SGBD • Níveis de Abstração para um Banco de Dados – Muitas visões externas (representação mais ou menos abstrata de alguma porção do BD). – Uma única visão conceitual (representação abstrata do BD na sua totalidade). – Uma única visão interna (representando o total do BD como ele está realmente armazenado). 2008.1 SGBD • Um banco de dados muda ao longo do tempo por meio das informações que nele são inseridas ou excluídas. – O conjunto de informações contidas em determinado banco de dados em um dado momento é chamado Instância do banco de dados. – O projeto geral do banco de dados é chamado de Esquema. 2008.1 SGBD • Modelo – Um modelo de dados é um conjunto de conceitos para descrever um BD. – Os conceitos são classificados como: • estruturas de dados • regras de integridade de dados (RI) • operações sobre os dados. 2008.1 Exemplos de Modelos Lógicos • Modelo Entidade-Relacionamento – Define entidades (coisas ou objetos do mundo real), relacionamentos (associações entre entidades) e atributos (características de uma entidade ou relacionamento) • Modelo Relacional – Utiliza tabelas para representar entidades e relacionamentos do mundo real 2008.1 Atribuições de um DBA • • • • Definir o esquema conceitual Definir o esquema interno Definir restrições de segurança e integridade Monitorar o desempenho da aplicação (tempo gasto para a realização de consultas) 2008.1 Próximo Tópico... Modelo Entidade - Relacionamento