Capítulo I -Introdução a Banco de Dados



Documentos relacionados
Universidade Federal de Santa Maria Curso de Arquivologia. Disciplina de Banco de Dados Aplicados à Arquivística. Versao 1.

Banco de Dados Aula 1 Introdução a Banco de Dados Introdução Sistema Gerenciador de Banco de Dados

Banco de Dados. Uma coleção de dados relacionados [ELMASRI/NAVATHE]

Introdução Banco de Dados

Introdução. Banco de dados. Por que usar BD? Por que estudar BD? Exemplo de um BD. Conceitos básicos

Evolução. Tópicos. Bancos de Dados - Introdução. Melissa Lemos. Evolução dos Sistemas de Informação Esquemas Modelos. Características de SGBDs

Bancos de Dados. Conceitos F undamentais em S is temas de B ancos de Dados e s uas Aplicações

Banco de Dados I. Apresentação (mini-currículo) Conceitos. Disciplina Banco de Dados. Cont... Cont... Edson Thizon

Prof. Marcelo Machado Cunha

FACULDADE INTEGRADAS DE PARANAÍBA ADMINISTRAÇÃO DE EMPRESAS. Bancos de Dados Conceitos Fundamentais

BANCO DE DADOS. Introdução a Banco de Dados. Conceitos BásicosB. Engenharia da Computação UNIVASF. Aula 1. Breve Histórico

Sistemas de Banco de Dados Aspectos Gerais de Banco de Dados

Para construção dos modelos físicos, será estudado o modelo Relacional como originalmente proposto por Codd.

Prof.: Clayton Maciel Costa

Revisão de Banco de Dados

Banco de Dados 1 Prof. MSc Wagner Siqueira Cavalcante

GBC043 Sistemas de Banco de Dados. Introdução. Ilmério Reis da Silva UFU/FACOM

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 2. Prof. Rafael Dias Ribeiro. M.Sc.

Banco de Dados I. Introdução. Fabricio Breve

Conceitos de Banco de Dados

Dado: Fatos conhecidos que podem ser registrados e têm um significado implícito. Banco de Dados:

Introdução. Conceitos Básicos. Conceitos Básicos. Conceitos Básicos

Prof. Antonio Almeida de Barros Jr. Prof. Antonio Almeida de Barros Junior

Programação com acesso a BD. Prof.: Clayton Maciel Costa clayton.maciel@ifrn.edu.br

Roteiro. BCC321 - Banco de Dados I. Conceitos Básicos. Conceitos Básicos. O que é um banco de dados (BD)?

Dados. Qualquer elemento (aspecto, fato, medida etc.) representativo, disponível e coletável na realidade. fatos no estado bruto, conforme Platão;

Roteiro 2 Conceitos Gerais

As principais características da abordagem de um banco de dados versus a abordagem de processamento de arquivos são as seguintes:

Modelos de Dados e Arquitetura de um SGBD. Introdução 1º Bimestre Prof. Patrícia Lucas

Banco de Dados. Introdução. João Eduardo Ferreira Osvaldo Kotaro Takai. DCC-IME-USP

20/05/2013. Sistemas de Arquivos Sistemas de arquivos. Sistemas de Gerenciamento de Banco de Dados (SGBD) Banco de Dados. Estrutura de um BD SGBD

04/08/2012 MODELAGEM DE DADOS. PROF. RAFAEL DIAS RIBEIRO, MODELAGEM DE DADOS. Aula 1. Prof. Rafael Dias Ribeiro. M.Sc.

Introdução e conceitos. Capítulo 1

BANCO DE DADOS E BUSINESS INTELIGENCE. C/H: 20 horas (20/02, 25/02, 27/02, 04/03, 06/03)

INTRODUÇÃO. Diferente de Bando de Dados

Projeto de Banco de Dados. Disciplina: Banco de Dados I José Antônio da Cunha

Disciplina de Banco de Dados Introdução

GBD PROF. ANDREZA S. AREÃO

SISTEMA GERENCIADOR DE BANCO DE DADOS

BANCO DE DADOS AULA 02 INTRODUÇÃO AOS BANCOS DE DADOS PROF. FELIPE TÚLIO DE CASTRO 2015

Fundamentos de Banco de Dados

Introdução e conceitos. Capítulo 1

Roteiro. Conceitos e Arquitetura de Sistemas de Banco de Dados. Conceitos e Arquiteturas de Sistemas de Banco de Dados. BCC321 - Banco de Dados I

Hoje é inegável que a sobrevivência das organizações depende de dados precisos e atualizados.

BANCO DE DADOS DISTRIBUÍDOS e DATAWAREHOUSING

Sistemas Gerenciadores de Bancos de Dados

Banco de Dados Conceito de Arquitetura

Banco de Dados. CursoTécnico em Informática Modalidade Integrado. Professora Michelle Nery. Instituto Federal do Sul de Minas, câmpus Pouso Alegre

INTRODUÇÃO E CONCEITOS BÁSICOS. Prof. Ronaldo R. Goldschmidt

Faculdade Lourenço Filho - ENADE

Sistema de Bancos de Dados. Conceitos Gerais Sistema Gerenciador de Bancos de Dados

Docente: Éberton da Silva Marinho

Softwares Aplicativos Banco de Dados

Banco de Dados I Ementa:

Banco de Dados. Aula 1 - Prof. Bruno Moreno 16/08/2011

Persistência e Banco de Dados em Jogos Digitais

Bancos de dados distribuídos Prof. Tiago Eugenio de Melo

Sistemas Gerenciadores de Bancos de Dados

Introdução à Banco de Dados. Definição

Conceitos básicos. Aplicações de banco de dados. Conceitos básicos (cont.) Dado: Um fato, alguma coisa sobre a qual uma inferência é baseada.

Administração de Banco de Dados

Sistemas Operacionais 3º bimestre. Dierone C.Foltran Jr.

Fundamentos dos Sistemas de Informação Organização de Dados e Informações

Disciplina: Tecnologias de Banco de Dados para SI s

Módulo 4: Gerenciamento de Dados

Banco de Dados Aula 02. Colégio Estadual Padre Carmelo Perrone Profº: Willian

Modelos. Comunicação com clientes

1. CONCEITOS BÁSICOS DE BD, SBD E SGBD

Banco de Dados Capítulo 1: Introdução. Especialização em Informática DEINF/UFMA Cláudio Baptista

Etapas da evolução rumo a tomada de decisão: Aplicações Isoladas: dados duplicados, dados inconsistentes, processos duplicados.

Banco de Dados I Introdução

SISTEMA DE BANCO DE DADOS. Banco e Modelagem de dados

Introdução a Banco de Dados. Adão de Melo Neto

Banco de Dados. Conceitos e Arquitetura de Sistemas de Banco de Dados. Profa. Flávia Cristina Bernardini

SGBD ITB 1.INTRODUÇÃO 1.INTRODUÇÃO Conceito SGBD: Sistema gerenciador de banco de dados Constituição SGBD

Arquitetura de Banco de Dados

1) O QUE NÃO É BANCO DE DADOS?

AULA SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS

Banco de Dados I. 1. Conceitos de Banco de Dados

CEFET.PHB - PI. Plano de Ensino. Banco de Dados. Plano de Ensino. Plano de Ensino. Plano de Ensino - Conteúdo. Plano de Ensino - Conteúdo

SISTEMAS DE BANCO DE DADOS. Prof. Adriano Pereira Maranhão

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

Banco de Dados I Módulo I: Introdução a Sistemas de Banco de Dados. (Aula 1) Clodis Boscarioli

SQL APOSTILA INTRODUÇÃO A LINGUAGEM SQL

Curso Superior de Tecnologia em BD Curso Superior de Tecnologia em DAI

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

CONCEITOS BÁSICOS. 1. Conceitos básicos de BD, SBD e SGBD BANCO DE DADOS I

Conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados

SGBD. Funções Básicas de um SGBD

BANCO DE DADOS I. Prof. Antonio Miguel Faustini Zarth

Aula 02 Modelagem de Dados. Banco de Dados. Aula 02 Modelagem de Dados. Superior /2011 Redes Computadores - Disciplina: Banco de Dados -

MODELAGEM DE DADOS MODELAGEM DE DADOS. rafaeldiasribeiro.com.br. Aula 3. Prof. Rafael Dias Ribeiro.

17/10/2008. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet Redes de Computadores

Profº Aldo Rocha. Banco de Dados

Conhecendo os usuários de um Sistema de Banco de Dados

VISÃO GERAL DE BANCO DE DADOS

Modelos de Arquiteturas. Prof. Andrêza Leite

Sistemas Operacionais

Transcrição:

Capítulo I -Introdução a Banco de Dados Emerson Cordeiro Morais ( emersoncm@estacio.br) Doutorando em Bioinformática Mestre em Banco de Dados Agenda Dados, Banco de Dados e SGBD Evolução Histórica dos BDs Sistemas de Arquivos x Abordagem SGBD Visão dos Dados e Arquitetura ANSI/SPARC Modelos de Dados Linguagens de Banco de Dados Tipos de Usuários de Banco de Dados Estrutura Geral do SGBD 2

Introdução Banco de Dados tem se tornado um componente essencial de uma sociedade moderna (TOFFLER, 1980). A interação pode se dar por: Aplicações de BDs Tradicionais em aplicações comerciais; Banco de Dados Orientado a Objetos e Multimídia; Estruturas Espaciais e Sistemas de Informações Geográficas; Data Warehouse e Data Mining e Tomada de Decisão; Banco de Dados Fuzzy e Dedutivos; Integração Banco de Dados e WEB e Dados Semiestrutrados; Banco de Dados Móveis e Temporais; Banco de Dados Distribuídos e Paralelos,... 3 Dados, Informação e BD Dados são fatos, conceitos ou instruções que podem ser processados ou armazenados por seres humanos ou meios automatizados. Exemplos: nomes, telefones e endereços. Informação são os fatos organizados de maneira significativa. Exemplo: Lista de moradores da Rua XYZ que tem telefone começando por 2132 Banco de Dados ou Base de Dados (BD) é uma coleção de dados inter-relacionados logicamente. Um banco de dados está sempre associado à aplicações e a usuários que têm interesse nele. Exemplo: Agenda de telefones. 4

Exemplo de BD LIVRO ID_LIVRO TÍTULO ANO ID_EDITORA L1 Introdução aos SGBDs 1998 E2 L2 Redes 2000 E3 L3 Análise de Sistemas 1999 E2 AUTOR ID_AUTOR NOME PAÍS A1 Shildt EUA A2 Antero Brasil A3 Abdala Irã EDITORA ID_EDITORA NOME PAÍS E1 EdiPrata Brasil E2 Antiga Brasil E3 Norkam Albânia E4 Supmac Grécia AUTOR_LIVRO ID_AUTOR ID_LIVRO A1 L1 A2 L1 A2 L3 A3 L2 5 SGBD Sistema Gerenciador de Banco de Dados (SGBD) é um conjunto de dados associados a um conjunto de programas que servem para criação, acesso e manutenção desse conjunto de dados. Principal objetivo do SGBD: proporcionar um ambiente tanto conveniente quanto eficiente para a recuperação e armazenamento das informações. Também denominados Sistemas de Banco de Dados. 6

Sistema de BD Sistema de BD Usuário Final Programa de Aplicação / Consultas SGBD Software para processar consultas Software para acessar dados armazenados Meta Dados BD 7 Função de um SGDB Definir um banco de dados Consiste em especificar os tipos de dados, estruturas e restrições para os dados armazenados no banco de dados Construir um banco de dados Consiste no processo de armazenar os dados em algum meio de armazenamento manipulado pelo SGBD. Manipular um banco de dados Consiste em operações como busca de informações armazenadas no mesmo, modificações nos dados existentes e geração de relatórios baseados nos dados do BD 8

Características de um SGDB Persistência de objetos Controle de redundância Manutenção de restrições de integridade Representação de relacionamentos complexos entre os dados Restrições de acesso Múltiplas interfaces para o usuário Realização de inferências utilizando regras de dedução Rotinas para cópia (backup) e recuperação dos dados 9 Evolução Histórica de BDs 1ª Geração :... - 1900 Processamento manual de dados Uso do papel 2ª Geração: 1900-1955 Processamento mecânico de dados Cartões perfurados Programação pelo painel de controle da máquina 3ª Geração: 1955-1970 Processamento seqüencial de registros Fita magnética Programas batch Arquivos seqüenciais 10

Evolução Histórica de BDs 4ª Geração: 1965-1980 Processamento de grupos de registros Independência de dados Esquemas Banco de dados, transações e acesso a dados on-line BD Hierárquico da IBM e BD em Redes da General Electric 5ª Geração: 1980-1995 Processamento paralelo Banco de dados relacionais Aplicações cliente-servidor 6ª Geração: 1995 -... Novos tipos de dados: imagem, som, vídeo,... Banco de dados objeto-relacional Internet e novas aplicações 11 Sistemas de Arquivos (SA) São registros permanentes que são armazenados em vários arquivos São aceitos por sistemas operacionais tradicionais Diversos programas de aplicação são escritos para extrair e gravar registros nos arquivos apropriados Estes sistemas de processamento de arquivos eram utilizados pelas organizações antes do advento dos SGBDs. Estes sistemas apresentavam diversas desvantagens. 12

Sistemas de Arquivos (SA) Vendas Dados de entrada e relatórios Rotinas de armazenamento de arquivos Definição de arquivos Programas da aplicação de Vendas Arquivos de Vendas Contratos Dados de entrada e relatórios Rotinas de armazenamento de arquivos Definição de arquivos Programas da aplicação de Contratos Arquivos de Contratos 13 Problemas com SA Redundância de Dados Os arquivos são criados e mantidos por diferentes programadores; É comum que os arquivos possuam formatos diferentes; Aplicativos escritos em diversas linguagens de programação; A mesma informação pode ser repetida em diversos lugares; A redundância aumenta os custos de armazenamento e a dificuldade de acesso; Existem duas formas de redundância: Redundância Controlada: garantia de sincronia entre as diversas informações. Redundância Não Controlada: responsabilidade de sincronia entre as diversas representações é do usuário. Este tipo de redundância deve ser evitado, pois traz diversos problemas. 14

Problemas com SA Inconsistência de Dados A redundância pode gerar a inconsistência de dados, isto é, várias cópias de dados podem divergir ao longo do tempo. Exemplo: A mudança do endereço de um cliente pode refletir no arquivo de contas, mas não ser alterada no sistema como um todo. Funcionário Nome Depto Salar João 01 100 Pedro 02 230 Maria 01 370 Treinamento Nome Depto Curso João 01 Windows Pedro 02 Word Maria 01 AutoCAD 15 Problemas com SA Dificuldade de Acesso aos Dados Quando se faz necessário novas consultas e/ou novos relatórios, têm-se duas soluções: Manipular manualmente o resultado de alguma aplicação já existente que seja mais abrangente; Requisitar um programador para desenvolver a aplicação necessária; Ambas soluções não são satisfatórias, pois sistemas mais efetivos para recuperação da informação precisam ser desenvolvidos; Exemplo: aplicação para consultar todos os clientes com CEP 21061; 16

Problemas com SA Problemas de Integridade Os valores dos dados atribuídos e armazenados em um banco de dados devem satisfazer certas restrições para manutenção da consistência; Exemplo: Saldo de uma conta bancária não pode ficar abaixo de R$ 50,00. Em sistemas de arquivos, os programadores determinam o cumprimento das restrições por meio de adição de código; Quando aparecem novas restrições, é difícil alterar todos os programas, principalmente quando estas atingem diversos itens de dados em diferentes arquivos. 17 Problemas com SA Problemas de Atomicidade Um sistema computacional, como qualquer outro dispositivo mecânico ou elétrico, está sujeito à falhas; Em muitas aplicações é crucial assegurar que, uma vez detectada uma falha, os dados sejam salvos em seu último estado consistente, anterior a ela; Exemplo: transferência de R$ 50,00 de uma conta A para uma conta B É essencial para a consistência do banco de dados que na transferência de fundos, ocorra uma operação atômica, isto é, deve ocorrer por completo ou não ocorrer; É difícil garantir essa propriedade em um sistema convencional de processamento de arquivos. 18

Problemas com SA Anomalias no Acesso Concorrente Muitos sistemas permitem atualizações simultâneas nos dados para aumento de desempenho do sistema. Nesses tipos de ambiente, a interação entre atualizações concorrentes pode resultar em inconsistência de dados; Exemplo: dois clientes retirando fundos de uma mesma conta Como os dados podem sofrer acesso de aplicações anteriormente não previstas, a supervisão é dificultada; SGBDs apresentam mecanismos próprios de controle de concorrência para resolver estes problemas: Protocolos de bloqueios (lock), de registro de tempo (timestamp), de validação, granularidade múltipla... 19 Problemas com SA Isolamento de Dados Como os dados estão dispersos em vários arquivos, e estes arquivos podem apresentar diferentes formatos, é difícil escrever novas aplicações para recuperação apropriada dos dados. Problemas de Segurança Nem todos os usuários de banco de dados estão autorizados ao acesso a todos os dados; Uma vez que os programas de aplicação são inseridos no sistema como um todo, é difícil garantir a efetividade das regras de segurança; SGBDs oferecem mecanismos de visões, descrevendo apenas a parte do banco de dados que interessa ao usuário. 20

Abordagem de BD Dados de entrada e relatórios Vendas Contratos Programas da aplicação de Vendas Dados de entrada e relatórios Programas da aplicação de Contratos SGBD Proprietário Propriedades Restrições Arquivos de definições Banco de dados 21 Abordagem de BD Sistemas de bancos de dados são auto-descritivos Dicionário de Dados ou Catálogo e Metadados Separação entre programas e dados Abstração de Dados Suporte a múltiplas visões dos dados Compartilhamento de dados Processamento de transações multiusuário Facilidade para imposição de padrões Tempo de desenvolvimento de aplicações reduzido Flexibilidade Disponibilidade de informações atualizadas 22

Visão dos Dados Um SGBD é uma coleção de arquivos e programas inter-relacionados que permitem ao usuário o acesso para consultas e alterações desses dados. O maior benefício de um banco de dados é proporcionar ao usuário uma visão abstrata dos dados. O sistema acaba por ocultar determinados detalhes sobre a forma de armazenamento e manutenção desses dados. 23 Abstração de Dados Nível de visão (externo) mais alto nível de abstração; visão de cada usuário; descreve apenas parte do banco de dados. Nível lógico (conceitual) nível médio de abstração; visão da comunidade de usuários; quais dados estão armazenados no banco de dados, e quais os inter-relacionamentos entre eles. Nível físico (interno) mais baixo nível de abstração; como os dados estão de fato armazenados 24

Arquitetura de Três Níveis Foi desenvolvida pela ANSI (American National Standards Institute) / SPARC (Standards Planning And Requirements Committee). O objetivo desta arquitetura é possibilitar a separação entre as aplicações dos usuários e o banco de dados físico. Os esquemas desta arquitetura podem pertencer a um dos três níveis de abstração: Nível físico Nível lógico Nível de visão 25 Arquitetura de Três Níveis Nível Físico Descreve com os dados estão de fato armazenados. Descreve a estrutura física de armazenamento do banco de dados representando todo o banco de dados em um esquema interno. Define os vários tipos de registros armazenados como também especifica os índices que existem, como os campos armazenados são representados, a seqüência física dos registros armazenados e assim por diante. 26

Arquitetura de Três Níveis Nível Lógico Descreve a estrutura do banco de dados para uma comunidade de usuários, de forma um tanto abstrata quando comparada à forma como os dados são fisicamente armazenados. Descreve os dados armazenados e quais são os interrelacionamentos entre eles: entidades, tipos de dados, relacionamentos e operações do usuário. Este nível é utilizado pelos administradores de banco de dados que precisam decidir quais as informações devem pertencer ao banco de dados. Um modelo conceitual ou de implementação pode ser utilizado neste nível. 27 Arquitetura de Três Níveis Nível de Visão Descreve apenas parte do banco de dados. O sistema pode proporcionar diversas visões do mesmo banco de dados, assim este nível é composto por vários esquemas externos ou visões do usuário. Cada um destes esquemas descreve uma parte do banco de dados de acordo com os interesses do grupo de usuários para o qual se destina Emprega sub-linguagens de dados para operar o banco de dados através de variáveis, operadores lógicos,.. linguagens hospedeiras. 28

Arquitetura de Três Níveis Nível de Visão Nível externo Visões do usuário Visão n... Visão 2 Visão 1 DCL Emp (PL/I) emp# char(6) salixed bin(31) Empc(cobol) empno pic x(6) deptno pic x(4) Nível Lógico Nível conceitual Visão do conjunto de usuários Empregado Numero character (6) Departamento character(4) Salario numeric(5) Nível Físico Nível interno visão do armazenamento Stored_emp length = 18 prefix type byte(6), offset=0 emp# type byte(6), offset=0,index=empx dept# type= byte(4), offset=0 pay type=fullword,offset=16 29 Instâncias e Esquemas 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 dados momento, é chamado instância. O projeto geral do projeto do banco de dados é chamado esquema (metadados). Os esquemas são alterados com pouca freqüência. 30

Instâncias e Esquemas Esquema Externo Esquema Externo 2... Esquema Nível Externo externo n Esquema Conceitual Nível Conceitual Esquema Interno Nível Físico ou Interno BD BD BD 31 Independência de Dados É a capacidade de modificar a definição dos esquemas em determinado nível, sem afetar o esquema do nível superior. A Arquitetura ANSI/SPARC facilita esta independência de dados. Tipos de independência de dados: Independência de Dados Lógica capacidade de se efetuarem mudanças no esquema conceitual sem a necessidade de se efetuarem mudanças nos esquemas externos nem nos programas de aplicação. Independência de Dados Física capacidade de se efetuarem mudanças no esquema interno sem a necessidade de se efetuarem mudanças nos esquemas conceitual e externos. 32

Modelos de Dados É o conjunto de ferramentas conceituais usadas para a descrição dos: dados, relacionamento entre dados, semântica de dados e regras de consistência. Tipos de modelos: Modelos conceituais ou de alto nível Modelos lógicos ou de implementação Modelos físicos ou de baixo nível 33 Modelos de Dados Modelos Conceituais: descreve a estrutura de um banco de dados de forma independente de um SGBD particular. Provêem conceitos próximos aos percebidos pelos usuários, tais como entidades, atributos e relacionamentos; É uma representação da realidade em um alto-nível de abstração. Alguns são amplamente conhecidos, como: Modelo entidade-relacionamento Modelo orientado a objetos Modelo semântico de dados Modelo funcional de dados 34

Modelos de Dados O modelo conceitual entidade-relacionamento é amplamente o mais utilizado. Preço Descrição Descrição Produto (1,1) (0,n) Tipo de Produto Código Código 35 Modelos de Dados Modelos Lógicos: é uma descrição de um Banco de Dados no nível de abstração visto pelo usuário do SGBD. Ou seja, o modelo lógico é dependente do tipo particular de SGBD em uso. É uma descrição de estruturas de dados em uma forma passível de ser processada pelo computador; Exemplos: modelo relacional, modelo hierárquico e modelo de rede. O modelo lógico relacional é amplamente o mais utilizado. 36

Modelos de Dados Exemplo: TipoDeProduto (CodTipoProd, DescrTipoProd) Produto (CodProd, DescrProd, PrecoProd, CodTipoProd) TipoDeProduto CodTipoProd DescrTipoProd 1 Computador Produto 2 Impressora CodProd DescrProd PrecoProd CodTipoProd 1 PC Modelo X 2.500 1 2 Notebook ABC 3.500 1 3 Impressora JT 600 2 4 Impressora Laser 800 2 37 Modelos de Dados Modelos Físicos: são usados para descrevê-los no mais baixo nível. Em contraste com os modelos conceituais e lógicos, há poucos modelos físicos de dados em uso. Dois deles são amplamente difundidos: o modelo unificado (unifying model) e o modelo de partição de memória (framememory model) 38

Linguagens de Banco de Dados Linguagens de Definição de Dados: Um esquema de dados é especificado por um conjunto de definições expressos em uma Linguagem de Definição de Dados (Data-Definition Language DDL). O resultado da compilação dos parâmetros DDLs é armazenado em um conjunto de tabelas que constituem um arquivo especial chamado Dicionário de Dados. Um Dicionário de Dados é um arquivo de Metadados. Esse arquivo é consultado antes que o dado real seja modificado. A estrutura de memória e o método de acesso usados pelo banco de dados são especificados por um tipo especial de DDL, chamado Linguagem de Definição e Armazenamento de Dados (Data Storage and Definition Language -DSDL). 39 Linguagens de Banco de Dados Linguagens de Manipulação de Dados: A Linguagem de Manipulação de Dados (Data Manipulation Language DML) viabiliza o acesso e a manipulação (recuperação, inserção, remoção, modificação) dos dados de forma compatível ao modelo de dados apropriado. DMLs Procedurais: exigem que o usuário especifique quais dados são necessários e como obtê-los. DMLs Não Procedurais: exigem que o usuário especifique quais dados são necessários, sem especificar como obtê-los. Linguagem de consultas Linguagem de manipulação 40

Administrador de BD Uma das principais razões que motivam o uso dos SGBDs é o controle centralizado tanto dos dados como dos programas de acesso a esses dados. A pessoa que centraliza esse controle do sistema é chamado Administrador de Banco de Dados (Data Base Administrator DBA) e têm como principais funções: Definição do esquema; Definição da estrutura de dados e método de acesso; Esquema e modificações na organização física; Fornecer autorização de acesso ao sistema; Especificação de regras de integridade,... 41 Usuários de BD Programadores de aplicações: interagem com o sistema através de chamadas DML, envolvidas por programas escritos na linguagem hospedeira (Exemplo: Pascal, C, Delphi, Java). Usuários sofisticados: interagem sem escrever programas. Formulam suas solicitações ao BD através de linguagens de consultas. Usuários especialistas: escrevem aplicações especializadas de BD que não podem ser classificadas como aplicações tradicionais em processamento de dados. Usuários navegantes: interagem chamando aplicativos permanentes já escritos. 42

Estrutura Geral do SGBD Um sistema de banco de dados está dividido em módulos específicos, de modo a atender todas as funções do sistema. Algumas das funções do SGBD podem ser fornecidas pelo Sistema Operacional. Os componentes funcionais do sistema de banco de dados podem ser divididos por: Componentes de Processamento de Consultas Componentes de Administração de Memória 43 Estrutura Geral do SGBD Componentes de Processamento de Consulta: Compilador DML que traduz comandos DML da linguagem de consulta para instruções de baixo nível; Pré-compilador para comandos DML inseridos na aplicação, convertem comandos DML em chamadas de procedimentos normais da linguagem hospedeira; Interpretador DDL, que interpreta os comandos DDL e registra-os num conjunto de tabelas que contêm metadados. Componentes para o tratamento de consultas, que executa instruções de baixo nível geradas pelo compilador DML. 44

Estrutura Geral do SGBD Componentes de Administração de Memória: Gerenciamento de autorizações e integridade, que testam o cumprimento de regras de integridade a permissão ao usuário no acesso ao dado; Gerenciamento de transações, que garante que o banco permanecerá em estado consistente a despeito de falhas e que transações concorrentes serão executadas sem conflitos Administração de arquivos, que gerencia a alocação de espaço no armazenamento de disco e as estruturas usadas; Administração de buffer, responsável pela intermediação de dados do disco para a memória principal e pela decisão de quais dados colocar na memória cache. 45