Sei sulla pagina 1di 9

BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof.

Guilherme Tavares de Assis

Conceitos Básicos
• Dados são fatos conhecidos que podem ser armazenados e
que têm algum significado implícito.
Exemplo: Uma coleção de nomes, endereços e telefones das
pessoas que você conhece.

Banco de Dados I • Banco de Dados é uma coleção de dados relacionados com


as seguintes propriedades implícitas:
– Representa algum aspecto do mundo real (Mini-Mundo ou
Universo de Discurso).
– É uma coleção coerente de dados com algum significado
inerente.
UNI-BH - Centro Universitário de Belo Horizonte – É projetado, construído e ‘povoado’ com dados para um
Departamento de Ciências Exatas e Tecnologia propósito específico.

Curso de Ciência da Computação


2

BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Conceitos Básicos Conceitos Básicos


• Um banco de dados pode ser criado e mantido • Um SGBD é um software de propósito geral que facilita os
manualmente ou por máquina. seguintes processos envolvendo bancos de dados de várias
• Um banco de dados computadorizado pode ser criado e aplicações:
mantido por um grupo de programas de uma aplicação – Definir - envolve especificar os tipos de dados, as estruturas
feitos especificamente para aquela tarefa ou por um e as restrições para os dados que serão armazenados.
sistema de gerência de banco de dados. – Construir - é o processo de armazenamento dos dados em
• Sistema de Gerência de Banco de Dados (SGBD ou alguma mídia controlada pelo SGBD.
DBMS) é uma coleção de programas que permitem ao – Manipular - envolve a aplicação de funções para recuperar
usuário criar e manter um banco de dados. informações específicas, modificar o banco de dados e gerar
relatórios sobre os dados.
• Sistema de Banco de Dados é o conjunto de software para
manipular um banco de dados juntamente com o banco de
dados.
3 4
BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Ambiente do Sistema de Banco de Dados Exemplo

Usuários / Programadores Estudante Nome


João
CódigoEstudante
17
Classe
1
DepartamentoPrincipal
DCC
José 8 2 DCC
Sistema de Programas da Aplicação / Consultas Disciplina Nome CódigoDisciplina Créditos Departamento
Banco de Introducão à Ciência da Computação DCC1310 4 DCC
Dados Estrutura de Dados
Matemática Discreta
DCC3320
MAT2410
4
3
DCC
MAT
Software Software para Processar Banco de Dados DCC3380 3 DCC
do Consultas / Programas
SGBD Turma CódigoTurma
85
CódigoDisciplina
MAT2410
Semestre
II
Ano
91
Professor
King
92 DCC1310 II 91 Anderson
Software para Acessar 102 DCC3320 I 92 Knuth
112 MAT2410 II 92 Chang
os Dados Armazenados 119 DCC1310 II 92 Anderson
135 DCC3380 II 92 Stone

Histórico CódigoEstudante CódigoTurma Nota


17 112 B
17 119 C
Definição do 8 85 A
Banco de Dados Banco de Dados 8 92 A

(Meta-Dado) 8
8
102
135
B
A

PréRequisito CódigoDisciplina CódigoPréRequisito


DCC3380 DCC3320
DCC3380 MAT2410
DCC3320 DCC1310

5 6

BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Banco de Dados X Sistema de Arquivos Tradicional Banco de Dados X Sistema de Arquivos Tradicional
• Independência entre programas e dados e abstração de
• Sistema de Arquivos - cada usuário define e implementa os dados:
arquivos necessários para uma aplicação específica.
– Arquivos - a estrutura do arquivo de dados está embutida
• Banco de Dados - uma única base de dados é definida e nos programas que realizam o acesso aos dados.
mantida para ser usada por vários usuários. – Banco de Dados - os programas de acesso aos dados são
• Em um sistema de banco de dados: independentes da estrutura de armazenamento dos dados.
– As informações são armazenadas no Catálogo e são – Com o uso da orientação por objetos, as operações sobre os
chamadas de meta-dados. dados são definidas como parte do banco de dados,
– O catálogo é usado pelo SGBD e pode vir a ser consultado permitindo a independência entre programa e operações.
pelo usuário do banco de dados. – Abstração de dados é a característica que permite a
• Em processamento de arquivos tradicional: independência entre programa e dados e a independência
entre programa e operações.
– A definição de dados faz parte do programa da aplicação.

7 8
BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Banco de Dados X Sistema de Arquivos Tradicional Usuários de um SGBD


• Suporte a múltiplas visões dos dados: • Administradores do Banco de Dados - são os responsáveis
– Uma visão pode ser um subconjunto do banco de dados ou pela administração do banco de dados, do SGBD e de seu
pode ser composta por dados virtuais que são derivados dos software. Autorizam o acesso, coordenam e monitoram o
arquivos do banco de dados, mas não estão explicitamente uso e adquirem recursos de software e hardware quando
armazenados. necessário.
• Compartilhamento de dados e processamento de transações • Projetista do Banco de Dados - são os responsáveis pela
multi-usuário: identificação dos dados a serem armazenados no banco de
– Um SGBD multi-usuário deve permitir que vários usuários dados e pela escolha da estrutura apropriada para
acessem o banco de dados ao mesmo tempo. representar e armazenar esses dados.
– O acesso simultâneo é essencial se os dados de várias
aplicações são integrados e mantidos em um único banco de
dados.
– Um SGBD deve possuir software de controle de concorrência.
9 10

BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Usuários de um SGBD Usuários de um SGBD


• Usuários Finais - são as pessoas cujos trabalhos requerem • Analistas de Sistemas - determinam os requisitos dos
acessar o banco de dados para fazer consultas, modificações usuários finais e especificam o desenvolvimento de
e gerar relatórios. transações de acordo com os requisitos.
Tipos de usuário final: • Programadores de Aplicações - implementam as
– Casuais - raramente acessam o banco de dados, mas podem especificações como programas.
precisar de diferentes informações em cada acesso.
– Ingênuos ou parametrizados - seu trabalho envolve a
realização de consultas e modificação do banco de dados
constantemente. Eles usam consultas e modificações
programadas e testadas.
– Especializados - usuários completamente familiarizados com
as facilidades do SGBD e que realizam requisitos complexos.
– Stand-alone - mantém um banco de dados pessoal usando
pacotes prontos e fáceis de usar. 11 12
BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Trabalhadores por trás da cena O que deve fornecer um SGBD?


• Projetistas e Implementadores de SGBDs - são aqueles que • Controle de Redundância - problemas com dados
projetam e implementam módulos e interfaces do SGBD. redundantes: uma única alteração lógica deverá ser feita
• Desenvolvedores de Ferramentas - são aqueles que diversas vezes, espaço em disco desperdiçado e
desenvolvem pacotes de software que facilitam o projeto e inconsistência de dados.
o uso do sistema de banco de dados e que auxiliam no • Restrição de acesso - em um banco de dados utilizado por
aumento de performance. vários usuários, nem todos podem acessar todas as
• Operadores e responsáveis pela manutenção - são aqueles informações e nem todos podem realizar todas as
responsáveis pela execução e manutenção de software e operações sobre o banco de dados.
hardware para o sistema de banco de dados. • Armazenamento persistente para objetos e estruturas de
dados de programas - um objeto é persistente se ele
continua existindo após o término da execução de um
programa e pode ser acessado diretamente por um outro
programa.
13 14

BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

O que deve fornecer um SGBD? O que deve fornecer um SGBD?


• Inferência em banco de dados usando regras de dedução - • Garantia das restrições de integridade - as restrições
os sistemas de banco de dados que possuem essa podem ser simples como as relacionadas ao tipo de dado,
capacidade são chamados Sistemas de Bancos de Dados ou complexas como as que verificam se um registro em um
Dedutivos. arquivo está relacionado a registros em outros arquivos.
• Múltiplas interfaces de usuários - os usuários do banco de • Backup e Recuperação - um SGBD deve fornecer
dados possuem um variado nível de conhecimento técnico. facilidades para recuperar os dados se ocorrer uma falha de
• Representação de relacionamentos complexos entre os hardware ou de software.
dados - um SGBD deve representar os relacionamentos
entre os dados e também recuperar e modificar dados
relacionados de forma fácil e eficiente.

15 16
BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Quando não usar um SGBD Modelo de Dados


• Para se usar um SGBD existe um aumento de custo em • A abordagem de banco de dados esconde detalhes de
relação ao tradicional sistema de arquivos que se deve a: armazenamento dos dados que não são necessários para
– Investimento inicial em software, hardware e treinamento. muitos usuários. O principal meio para fornecer esta
– Generalidade que um SGBD fornece para definir e processar abstração é o modelo de dados.
os dados. • Um modelo de dados é um conjunto de conceitos que
– Fornecimento de segurança, controle de concorrência, podem ser usados para descrever as estruturas de um banco
recuperação e funções de integridade. de dados.
• Isso torna desejável o uso do sistema de arquivos nas • A estrutura de um banco de dados envolve os tipos de
seguintes situações: dados, os relacionamentos e as restrições sobre os dados.
– O banco de dados e as aplicações são simples, bem definidas
e a expectativa de mudança é pequena.
– Requisitos de tempo-real de alguns programas.
– Acesso de vários usuários aos dados não é requerido.
17 18

BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Categorias dos Modelos de Dados Categorias dos Modelos de Dados


• Pode-se categorizar um modelo de dados de acordo com o • Lógico (ou Representacional) - fornece conceitos que
tipo de conceitos que ele fornece para descrever a estrutura podem ser compreendidos pelos usuários finais, mas não
do banco de dados. está muito longe de como os dados são organizados no
• Conceitual (ou Alto-Nível) - fornece conceitos para computador. Representam os dados usando a estrutura dos
descrever os dados como a maioria dos usuários o registros.
percebem. Esses conceitos são como: Exemplos: Modelos Relacional, Rede e Hierárquico.
– Entidade - representa objetos e conceitos do mundo real. • Físico (ou Baixo-Nível) - fornece conceitos para descrever
Ex.: ‘empregado’ e ‘projeto’. os detalhes de como os dados estão armazenados no
– Atributo - representa alguma propriedade de uma entidade. computador. Esses conceitos são como:
Ex.: ‘nome’ e ‘salário’ do empregado. – formato dos registros.
– Relacionamento - representa a interação entre entidades. Ex.: – ordenação dos registros.
‘trabalha’ - um relacionamento entre empregado e projeto. – vias de acesso - são utilizadas para recuperar de forma
Exemplos de modelo conceitual: Modelo ER e Modelo OO. eficiente os registros do banco de dados.
19 20
BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Esquemas e Instâncias Esquemas e Instâncias


• Esquema é a descrição textual ou gráfica de um banco de • Cada objeto de um esquema é chamado de construção do
dados de acordo com um determinado modelo de dados. esquema.
• A representação como diagramas de um esquema de banco – Exemplo: Estudante, Disciplina.
de dados é chamado diagrama do esquema. • O diagrama mostra apenas alguns aspectos do esquema,
• Exemplo de diagrama do esquema: tais como, nome do tipo de registro e dos itens dos dados e
Estudante
alguns tipos de restrições.
• Os dados em um banco de dados podem mudar
Nome CódigoEstudante Classe DepartamentoPrincipal

Disciplina
Nome CódigoDisciplina Créditos Departamento freqüentemente.
• Instância é o conjunto de dados armazenado em um banco
Turma
CódigoTurma CódigoDisciplina Semestre Ano Professor

Histórico
CódigoEstudante IdentificadorTurma Nota
de dados em um determinado instante do tempo (descreve
PréRequisito
o estado do banco de dados).
CódigoDisciplina CódigoPréRequisito

21 22

BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Esquemas e Instâncias Arquitetura de Três Níveis (Três Esquemas)


• Cada construção de esquema tem seu próprio conjunto de • O objetivo da arquitetura de três níveis é separar as
instâncias em um estado do banco de dados. aplicações dos usuários e o banco de dados físico. Ela
– Exemplo: a construção Estudante contém um conjunto de possui os seguintes níveis:
registros de estudantes como suas instâncias. – Interno - tem um esquema interno que descreve a estrutura
• A definição de um novo banco de dados é apenas a física de armazenamento do banco de dados.
especificação do esquema do banco de dados. – Conceitual - tem um esquema conceitual que descreve a
• O estado inicial de um banco de dados é obtido quando os estrutura completa do banco de dados para os usuários.
primeiros dados são armazenados. – Externo ou de Visão - possui um conjunto de esquemas
externos ou visões de usuários que descreve partes do banco
• O SGBD deve garantir que todo estado do banco de dados de dados que um grupo particular de usuários pode estar
seja um estado válido. interessado.

23 24
BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Arquitetura de Três Níveis (Três Esquemas) Arquitetura de Três Níveis (Três Esquemas)
• Os três esquemas são apenas descrições de dados; o único
local onde os dados realmente existem é no nível físico.
• Mapeamento - o SGBD deve transformar as requisições
especificadas no esquema externo em requisições para o
esquema conceitual e as do esquema conceitual em
requisições para o esquema interno para ser processado
sobre o banco de dados armazenado .

25 26

BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Independência de Dados Linguagens dos SGBDs


• Independência de dados é a capacidade de mudar o • Tipos de linguagens oferecidas por um SGBD:
esquema em um nível do sistema no banco de banco de – Linguagem de Definição de Dados (LDD) - Em SGBDs que não
dados sem ter que mudar o esquema do nível acima: possuem uma separação entre o nível conceitual e interno utiliza-
– Independência de dados lógica - é a capacidade de mudar o se a LDD para definir os esquemas conceitual e interno.
esquema conceitual sem ter que mudar o esquema externo Naqueles que possuem uma separação, a LDD é utilizada para
ou os programas da aplicação. definir somente o esquema conceitual.
– Independência de dados física - é a capacidade de mudar o – Linguagem de Definição de Armazenamento (LDA) - usada para
esquema interno ser ter que mudar o esquema conceitual ou especificar o esquema interno.
externo. – Linguagem de Definição de Visões (LDV) - especifica as visões
dos usuários e o mapeamento para o esquema conceitual.
– Linguagem de Manipulação de Dados (LMD) - usada para
consultar, inserir, remover e modificar dados do banco de dados.
A linguagem de banco de dados relacional SQL representa uma
combinação de LDD, LDA, LDV e LMD.
27 28
BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Linguagens dos SGBDs Interfaces de um SGBD


• Tipos de Linguagens de Manipulação de Dados (LMD):
– Não-procedural ou Alto-Nível - requer do usuário a • Interfaces Baseadas em Menus para Browsing
especificação de qual dado é necessário sem mostrar como
obtê-lo. • Interfaces Baseadas em Formulários
• As LMD não procedurais podem ser executadas de forma
interativa em um terminal ou podem ser embutidas em
• Interfaces Gráficas
uma linguagem de programação. • Interfaces de Linguagem Natural
– Procedural ou Baixo-Nível - requer do usuário a espe-
cificação de qual dado é necessário e como obtê-lo. • Interfaces para Usuários Leigos
• As LMD procedurais são embutidos em uma linguagem
de programação. • Interfaces para o Administrados de Banco de Dados

29 30

BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Módulos Componentes de um SGBD Módulos Componentes de um SGBD


• Gerenciador do banco de dados - Controla o acesso aos
dados armazenados no disco.
• Compilador da LDD - Processa as definições de esquemas
e armazena essas definições no catálogo do SGBD.
• Processador do banco de dados em tempo de execução -
recebe as operações de recuperação e modificação e as
executa sobre o banco de dados.
• Compilador de consultas - manuseia as consultas de alto
nível que são entradas interativamente.

31 32
BD-I - Prof. Guilherme Tavares de Assis BD-I - Prof. Guilherme Tavares de Assis

Módulos Componentes de um SGBD Utilitários


• Pré-compilador - extrai comandos LMD de um programa • Carregador - é utilizado para povoar o banco de dados
de aplicação escritos em uma linguagem de programação com arquivos de dados existentes.
hospedeira. • Backup - cria uma cópia de backup do banco de dados.
• Compilador da LMD - recebe os comandos extraídos pelo • Reorganizador de arquivos - é utilizado para reorganizar
pré-compilador e gera o código objeto para acessar o banco um arquivo do banco de dados para melhorar a
de dados. performance.
• O código objeto com o resto do programa compilado são • Monitor de performance - monitora o uso do banco de
unidos formando uma transação. dados e oferece estatísticas para o Administrador do banco
de dados (DBA).

33 34

BD-I - Prof. Guilherme Tavares de Assis

Critérios de Classificação dos SGBDs


• Modelo de dados - relacional, hierárquico, rede, orientado a
objeto e objeto-relacional.
• Número de usuários - mono-usuário e multi-usuário.
• Número de sites:
– Centralizado - os dados estão armazenados em um único site
de computador.
– Distribuídos (SGBDD) - o banco de dados e os softwares dos
SGBDs estão em vários sites conectados por uma rede de
computadores.
– SGBDD Homogêneos - usam o mesmo SGBD nos vários sites.
– SGBD Federados - os SGBDs participantes são heterogêneos e
possuem uma forma de ligação entre eles, e cada um tem um
grau de autonomia local.
35

Potrebbero piacerti anche