3. 1. BANCO DE DADOS
• Dado: em informática é tudo que pode ser
armazenado em dispositivos de memória. O
dado é bruto e armazenado como é. Ex: Sexo
• Informação: é o que podemos obter da
interpretação dos dados. Ex: Mulheres
cadastradas e menores de idade.
• BD: É um conjunto de dados armazenados de
forma lógica e correlacionados entre si e que
podem ser incluídos, alterados, excluídos e
consultados de forma a produzir informações
4. 2. GA – Gerenciados de Arquivos
• É um tipo de Banco Dados mais antigo e
básico, nele os dados ficam em arquivos e
esses são relacionados entre si por meio de
aplicativos escritos em diversas linguagens
como: Delphi, Cobol, Java, Clipper, PHP
• Alguns exemplos de bancos de dados GA são:
Dbase, Clipper, FoxPro, Microsoft Access
• Os GA não tem software internos para
controle dos dados tais como consultar, incluir,
alterar, excluir. Somente podemos fazer isso
mediante linguagens de programação
5. 3. SGBS – Sistema Gerenciados de Banco
de Dados
• É o mais moderno e melhor sistema para
controle de banco de dados disponível.
• Exemplos de SGBD´s são:
Firebird, MySQL, Oracle, Microsoft SQL
Server, PostGre
• Os SGBD´s tem como principal característica
conter em si mesmos tanto os dados e
relacionamentos quanto a parte de software
responsável pela definição e manipulação
desses. Ficando ainda encarregado da
segurança de acesso aos dados
6. 4. GA x SGBD
• Os SGBD apresentam as seguintes características principais. Caso alguma
delas não esteja presente o candidato será um GA
• 1) Auto-contenção: o SGBD obrigatoriamente tem em sim mesmos tanto
dados, relacionamentos como aplicativos para manipular aqueles
• 2) Independência dos dados: a mudança nos dados ou em seus esquemas
não deve influir nos aplicativos que usam esses dados
• 3) Abstração dos dados: o programador não precisa saber o modo de
operação interna do SGBD, se precisar controlar uma duplicidade de
dados na aplicação então não é um SGBD e sim um GA
• 4) Visões: um SGBD deve permitir que visualizações de partes do banco
de dados sejam possíveis sem ter que usar de artifícios de programação
como cópias de tabelas
• 5) Transações: todo SGBD deve permitir confirmar ou cancelar grupo de
operações realizadas em bloco no banco sem a necessidade de
intervenção do programador do aplicativo
• 6) Acesso Automático: é a capacidade de evitar Dead-Lock
• Para ser considerado um SGBD ele deve ter “todas” as características
acima presentes ao mesmo tempo, caso contrário será um GA.
7. 5. Características Operacionais SGBD
• Características operacionais desejáveis dos SGBD:
• 1) Controle de Redundância: redundância é a repetição do
mesmo dado em locais diferentes que poderão ficar
inconsistentes e devem ser evitadas, os SGBD têm em si
recursos para isso.
• 2) Controle de Acesso: o SGBD deve manter os dados
protegidos e usar níveis de acesso com autoridades
diferenciadas às informações
• 3) Interfaceamento: o SGBD deve fornecer ferramentas para
acesso aos dados de preferência de forma gráfica e por
linguagem SQL
• 4) Esquematização: Fornecer a compreensão dos dados e
seus relacionamentos se possível de forma gráfica
• 5) Controle de Integridade: os dados devem estar íntegros
sempre, apesar de múltiplos acessos e concorrência a eles
• 6) Backup: Apresentar facilidade de recuperação de falha
8. 6. Usando Banco de Dados - GA
• Os Bancos de Dados do tipo Gerenciadores de Arquivos não
podem ser desconsiderados uma vez que são úteis para
pequenas aplicações de BD.
• Apesar dos GA possuírem menos recursos que os SGBD eles
são amplamente usados em softwares que necessitam de
boa performance e aplicativos desktop ou para pequenas
redes
• Todo GA precisa das seguintes três definições:
Tabelas, Estrutura das tabelas e Índices.
• Tabela: de acordo com o projeto do BD são as Entidades e
os Relacionamentos no DER da Análise de Sistemas
• Estrutura das Tabelas: são as colunas de cada tabela, bem
como os seus tipos, tamanhos e sua ordem
• Índices: são arquivos que servem para ordenar os dados nas
tabelas e auxiliar o programador na manutenção da
integridade das mesmas pelo controle das chaves
9. 9. Componentes de um BD
• Gerenciador de Acesso ao Disco: utiliza-se o próprio
Sistema Operacional para acessar arquivos onde os dados e
regras estão guardados
• Compilador DDL: (Data Definition Language) linguagem de
definição dos dados que processa as definições do esquema
do banco de dados
• Dicionário de Dados: Contem detalhes do esquema, as
definições das tabelas, relacionamentos, índices, regras
• Processador do BD: responsável por fazer as atualizações no
BD: inclui, altera e exclui
• Processador de Pesquisa: responsável por fazer as consultas
aos dados do BD (comando select)
• Compilador DML: (Data Manipulating Language)
Linguagem de Manipulação de Dados. É a parte que
processa os comandos para incluir, alterar, excluir, consultar
e executar procedimentos e funções sobre os dados.
10. 10. Abstração de Dados
• Um SGBD deve prover uma “visão abstrata” dos seus dados para
os usuários, isolando, desta forma detalhes internos da
arquitetura do BD.
• Existem três níveis de abstração: Nível de
armazenamento(Físico), Nível do conjunto do
usuário(Conceitual/Lógico) e Nível de visão do usuário
• Objetivo: obter independência física e lógica dos dados. Física:
pode-se mudar o esquema físico sem necessidade de alterar o
esquema conceitual. Lógica: pode-se mudar o esquema
conceitual sem a necessidade de modificar os programas
externos que usam o BD
11. 11. Níveis de Abstração dos SGBD
• Físico: também chamado de “Esquema interno”, é o
nível mais baixo de abstração. Descreve como os
dados estão realmente armazenados, englobando
estruturas complexas de baixo nível.
• Conceitual (Lógico): descreve quais os dados estão
armazenados e seus relacionamentos. Neste nível, o
BD é descrito através de estruturas relativamente
simples, que podem envolver estruturas complexas no
nível físico.
• Visões do Usuário: é o nível externo, descrevendo
partes do BD que serão visualizadas pelos usuários de
acordo com suas necessidades. Uma visão é um
subconjunto de dados do BD, sem que exista a
necessidade de estarem armazenados no BD.
12. 12. Modelos de SGBD
• Banco de Dados Relacionais
• Banco de Dados Hierárquicos
• Banco de Dados em Rede
• Banco de Dados Semânticos
• Banco de Dados Orientados a Objetos
• Banco de Dados Universais
• No curso estudaremos os do tipo “Relacionais” por
serem os mais usados atualmente no mercado
13. 13. SGBD Hierárquicos
• Apresenta-se como uma árvore de cabeça para baixo
onde a raiz é o topo e desce abrindo os galhos em
níveis hierárquicos; Ex: Pastas do SO
• Tem a desvantagem de nem todos os problemas são
adaptáveis à estrutura hierárquica
14. 14. SGBD em Rede
• Apresenta como características os dados
organizados em vários tipos de registros e tipos de
sets (estabelecem os relacionamentos) e um
problema de estratégia de acesso aos registros
“filhos”.
15. 15. SGBD Relacional
• Baseado na teoria universal dos conjuntos. O BD é visualizado
como um conjunto de tabelas, cada uma representando uma
entidade ou um relacionamento.
• Os relacionamentos representados por valores de dados;
simetria nas consultas; várias linguagens definidas (álgebra
relacional, DDL e DML em SQL). É uma desvantagem do modelo
relacional a representação não natural de objetos complexos.
16. 16. DDL e DML
• O esquema de um banco de dados é a estrutura geral
do BD. Sua estrutura não muda com freqüência e há
um esquema para cada nível de abstração e um
subesquema a cada visão do usuário. Um esquema
pode ser representado de uma forma textual ou
gráfica. Normalmente, utiliza-se o DER (Diagrama de
Entidade
• Relacionamento) para a representação gráfica do
esquema de um BD.
• Exemplo de esquema na forma textual:
Medico (Cod_med, Nnome_med, Especialidade)
Paciente (Cod_pac, Nome_pac)
Consulta (Cod_med, Cod_pac, Dia, Hora)
• Para definirmos os esquemas usamos as linguagens
do banco de dados para isso, que são: DDL e DML
17. 17. DDL
• Data Definition LanguageI: Linguagem de
Definição de Dados, Permite especificar o
esquema do BD, através de um conjunto de
definições de dados.
• O esquema do BD fica armazenado numa área do
SGBD chamada de Dicionário de Dados. Na
maioria das vezes, uma DDL atua nos esquemas
conceitual e interno
18. 18. DML
• Data Manipulation Language: Linguagem de
Manipulação de Dados, Permite:
recuperar, incluir, alterar e excluir dados no BD.
• O esquema do BD fica armazenado numa área do
SGBD chamada de Dicionário de Dados. Na
maioria das vezes, uma DDL atua nos esquemas
conceitual e interno
• Tanto a DDL quanto a DML estão contidas na
linguagem principal dos SGBD que é a SQL –
Structured Query Language = Linguagem
Estruturada para Consultas, com ela podemos
fazer uso da DDL e da DML ao mesmo tempo
20. 20. Classificação dos SGBD
• Monousuário: somente um usuário acessa por vez
• Multiusuário: vários usuários podem ter acesso ao
mesmo tempo, na internet por exemplo
• Centralizado: os dados ficam em um único
servidor de banco de dados
• Distribuído: os dados ficam em diversos servidores
de banco de dados ligados em rede
22. 22. Conceitos para BD Relacional
• Tabela: pode representar uma Entidade ou um
Relacionamento do diagrama DER da Análise
• Tupla: linha completa em uma tabela
• Atributo: uma coluna em uma tabela
• Domínio: conjunto de valores possíveis para um
determinado atributo, Ex: sexo=[Macho|Fêmea]
• Chave primária: atributo ou atributos de uma tabela
que identificam uma única linha da tabela
• Chave secundária: atributo ou atributos escolhidos
para dar uma ordem nas tuplas da tabela
• Chave estrangeira: atributo que liga uma tabela a
outra sendo chave primária na outra tabela
• Chave simples: formada por um único atributo
• Chave composta: formada por dois ou mais atributos