Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008 Banco de Dados - Introdução Como as informações eram tratadas no passado? Como as informações atualmente interferem nas vidas? O que você pode (e poderá) oferecer, com BD, às instituições? – – – – – – – – – – Mercadológicas Financeiras Administrativas Médicas Científicas Acadêmicas Religiosas Sociais Esportivas Ambientalistas Como sobreviver no mundo atual sem os Bancos de Dados? Banco de Dados - Evolução O “por que???” O surgimento da tecnologia de Banco de Dados (BD) ocorreu no momento em que os especialistas no desenvolvimento de sistemas computacionais perceberam que para informatização de grandes organizações, várias questões relacionadas como o gerenciamento de dados necessitavam ser resolvidas de uma forma mais eficiente. O por que??? Sistemas de banco de dados são projetados para gerir grandes volumes de informações. O gerenciamento destas informações implica na definição de estruturas de armazenamento e de mecanismos de manipulação. Ainda um sistema de banco de dados deve garantir a segurança das informações armazenadas, além de evitar resultados anômalos quando os usuários concorrem por uma determinada informação armazenada no BD. Banco de Dados - Definição Banco de Dados é um conjunto de dados inter-relacionados, que refletem as necessidades de informações de um ambiente de trabalho (mini-mundo real). Tal conjunto é estruturado em arquivos distintos, porém relacionados, de acordo com o ambiente utilizado no seu desenvolvimento. Quais as características principais de um BD: Qualidade e Confiabilidade da informação Portabilidade Transportabilidade Confidenciabilidade Distribuição Segurança Velocidade Sistema Gerenciador de Banco de Dados Um Sistema Gerenciador de Banco de Dados (SGBD) é constituído por um conjunto de dados associados a um conjunto de programas para acesso a esses dados. O principal objetivo de um SGBD é proporcionar um ambiente tanto conveniente quanto eficiente para a recuperação e armazenamento das informações do banco de dados Solução Coorporativa Banco de Dados Centralizado (década de 70) Redes de Micros (década de 80) Arquitetura cliente/servidor com servidor de arquivos (décadas de 80 e 90). Arquitetura cliente/servidor com servidor de banco de dados (atual). Utilização Nas atividades diárias utilizamos aplicações baseadas em banco de dados: – Bancos; – Reservas em hotéis e companhias aéreas; – Catálogos informatizados em bibliotecas; – Assinatura de revistas; – Compras em supermercados; – Etc. Sistemas de informação geográficas O que é um Modelo Relacional Primeira visão - Os dados são percebidos pelo usuário como tabelas. - Os operadores a disposição do usuário sempre geram novas tabelas. - Exemplo : Modelo Ano Cor Palio Corsa Gol 02 05 02 Branco Verde Cinza Modelo Relacional... Continuação Modelo Ano Cor Restrição Palio 02 Branco Corsa 05 Verde Gol 02 Cinza Projeção Modelo Ano Palio 02 Corsa 05 Gol 02 Modelo Ano Cor Palio 02 Branco Gol 02 Cinza Perguntas... Quais as vantagens e desvantagens do uso de BD ? Modelo relacional ! O que você entende ? Visão do Banco de Dados Relacional 1 – Dada uma relação R o cabeçalho de R denota um predicado verdadeiro. Exemplo : O Empregado EMPNO chama-se ENAME, trabalha no departamento DEPTNO e tem o cargo JOB 2 – Cada linha no corpo de R denota uma posição verdadeira obtida através do predicado Exemplo : O Empregado 7839 chama-se KING, trabalha no departamento 10 e tem o cargo PRESIDENTE Sistema Gerenciador de Banco de Dados Componentes de um SGBD: Estrutura do SGBD Definições Métodos de acesso: – DML (Data Manipulation Language): informa novas linhas, altera linhas existentes e remove linhas indesejáveis de tabelas do banco de dados. – DDL (Data Definition Language): configura, altera e remove estruturas de dados de tabelas. – DCL (Data Control Language): fornece ou remove direitos de acesso ao banco de dados e as estruturas contidas nele. Métodos de Acesso Definições Assim, um SGBD lida com diversos níveis de visão de um mesmo dado, de maneira a abstrair (visualizar) detalhes da organização dos dados. Por exemplo, para um programa de aplicação não interessa saber que o dado de um empregado x apresenta y bytes e se encontra armazenado em um dispositivo t. Ele apenas deseja conhecer os seus atributos, informando, por exemplo, o seu nome, para efeitos de pesquisa. Banco de Dados - Abstração “Abstração” é a capacidade de omitir certos detalhes de como os dados são mantidos (atualizados) ou armazenados, a depender, inclusive, do nível do usuário. Três modelos: – Conceitual: – Representa e descreve a realidade do ambiente do problema, constituindo uma visão global dos principais dados e relacionamentos. – Lógico: – Descreve as estruturas que estarão contidas no banco de dados, de acordo com as possibilidades permitidas pela abordagem – Físico: – Descreve as estruturas físicas de armazenamento dos dados, tais como, tamanhos dos campos, índices, tipo de relacionamento, tipo de preenchimento, nomenclatura. Níveis de abstração: Visão 2 Lógicos Visão 1 Físico Conceitual Físico Visão n • Descrição de parte do BD • Descrição de QUAIS dados serão armazenados • Descreve as relações entre os dados Type Registro = record ... end; • Descreve COMO armazenam-se os dados (bits e bytes S.O.)