Buscar

BancosDeDadosModelagemdeDados-1

Prévia do material em texto

1
BANCO DE DADOS – 
INTRODUÇÃO
Prof. Dr. José P. Alcázar
jperez@usp.br
2
• Conceitos de Bancos de Dados
• Modelos de Dados
3
DADO X INFORMAÇÃODADO X INFORMAÇÃO
Uma percepção do mundo real pode ser vista como uma Uma percepção do mundo real pode ser vista como uma 
série de fenômenos diferentes que algumas vezes têm série de fenômenos diferentes que algumas vezes têm 
alguma relação entre si.alguma relação entre si.
““Dado” Dado” A descrição destes fenômenos.A descrição destes fenômenos.
A través deles obtemos informação do A través deles obtemos informação do 
mundo realmundo real
Informação Informação Qualquer aumento do conhecimento Qualquer aumento do conhecimento 
 obtido a través da interpretação obtido a través da interpretação 
e e uso de dados.uso de dados.
INTERPRETAÇÃO E INTERPRETAÇÃO E 
USOUSO INFORMAÇÃOINFORMAÇÃODADODADO
4
Dados e informações
5
Conhecimento.
– Capacidade de resolver problemas, inovar e aprender baseando-
se em experiências prévias; Tomar decisões, atuar.
– Esforço de investigação para descobrir aquilo que esta oculto, 
que não esta compreendido ainda.
» Adquirir conhecimento não é reter informação, mas utilizar estas 
para desvendar o novo e avançar.
6
• Portanto, dado não é informação e informação não é 
conhecimento.
• Hoje em dia, organizações competem pelo domínio do 
conhecimento científico e tecnológico; 
• COMO ?
»Armazenando, processando, acessando e 
disponibilizando informações por meio de 
redes de comunicação.
Conceitos de Bancos de Dados
7
Conceitos
Sistema
– Arranjo de componentes que trabalham juntos para alcançar uma meta 
comum, ou múltiplas metas, aceitando entradas, processando elas, e 
produzindo saídas de forma organizada. 
– Ex.: automóvel (objetivo: transportar passageiros e carga - 
subsistemas: motor, caixa de marchas, suspensão); computador 
(armazenar e processar dados – subsistemas: teclado, vídeo, CPU, ...) 
– Um sistema é formado por sub-sistemas, que por sua vez são sistemas 
 Simples e Complexos.
Conceitos de Bancos de Dados
8
Conceitos
Modelo Geral de um sistema:
Conceitos de Bancos de Dados
9
Conceitos
• Sistema de informação (SI)  consiste de todos os componentes 
que trabalham juntos para processar dados e produzir informação.
• Um Sistema de Informação é um conjunto de elementos que Um Sistema de Informação é um conjunto de elementos que 
interagem entre si. Estes elementos são de natureza diversa e interagem entre si. Estes elementos são de natureza diversa e 
normalmente incluem:normalmente incluem:
 O equipo computacional O equipo computacional 
 O recurso humano que interage com o Sistema de InformaçãoO recurso humano que interage com o Sistema de Informação
 Os dados ou informação fonte que são introduzidos no sistemaOs dados ou informação fonte que são introduzidos no sistema
 Os programas (processos) que produzem diferentes tipos de Os programas (processos) que produzem diferentes tipos de 
resultados.resultados.
• Implantando a través de um Sistema Manual o um Sistema Implantando a través de um Sistema Manual o um Sistema 
ComputacionalComputacional
Conceitos de Bancos de Dados
10
ConceitosConceitos
• Um sistema de informação é um méio de Um sistema de informação é um méio de 
oferecer a informação necessária para uma oferecer a informação necessária para uma 
organização. Um sistema de informação organização. Um sistema de informação 
recebe a informação, armazena esta, a recebe a informação, armazena esta, a 
processa, e oferece o acesso de esta, aos processa, e oferece o acesso de esta, aos 
usuários da forma que eles desejam.usuários da forma que eles desejam.
• Um sistema de informação computacional Um sistema de informação computacional 
é construído principalmente a partir de é construído principalmente a partir de 
SGBD´s.SGBD´s.
Conceitos de Bancos de Dados
11
Conceitos
Funções de um SI
Conceitos de Bancos de Dados
12
ConceitosConceitos
Dados “úteis”Dados “úteis”
para geraçãopara geração
de informaçãode informação
COLECTADOS E COLECTADOS E 
ARMAZENADOSARMAZENADOS
BANCO DEBANCO DE
DADOSDADOS
A informação contida no BD deve representar um instante (estado) de A informação contida no BD deve representar um instante (estado) de 
uma aplicação determinada. Cada mudança no BD é um reflexo dum uma aplicação determinada. Cada mudança no BD é um reflexo dum 
evento (ou seqüência) que ocorre neste ambiente. evento (ou seqüência) que ocorre neste ambiente. 
Modelo de uma parte do Mundo RealModelo de uma parte do Mundo Real
(Universo do discurso)(Universo do discurso)
Sistema de Banco Sistema de Banco 
de Dadosde Dados
Sistema de informação Sistema de informação 
computacional, cujo objetivo computacional, cujo objetivo 
principal é registrar e manter dados.principal é registrar e manter dados.
Trata com BD´sTrata com BD´s
Um Sistema de Banco de Dados (SBD) tem 4 componentes:Um Sistema de Banco de Dados (SBD) tem 4 componentes:
““Software”Software”
UsuáriosUsuários
DadosDados
““Hardware”Hardware”
13
HARDWARE Áreas de memória secundária nas quais está HARDWARE Áreas de memória secundária nas quais está 
localizada o BD (discos, fitas, etc.), junto com os localizada o BD (discos, fitas, etc.), junto com os 
dispositivos associados (controladores, canais, etc.)dispositivos associados (controladores, canais, etc.)
SOFTWARE SGBD. Todo acesso é feito a través do SGBD.SOFTWARE SGBD. Todo acesso é feito a través do SGBD.
Facilita EstruturaçãoFacilita Estruturação
 ArmazenamentoArmazenamento
 RecuperaçãoRecuperação
 ManipulaçãoManipulação
 Controle de DadosControle de Dados
Promove Promove Independência de Dados Independência de Dados 
 Dados compartilhadosDados compartilhados 
Conceitos
14
CLASSES DE USUÁRIOS:CLASSES DE USUÁRIOS:
Programador de aplicaçõesProgramador de aplicações
Usuário finalUsuário final
 Administrador do BD e/ou Projetista de Bancos de DadosAdministrador do BD e/ou Projetista de Bancos de Dados
conceitos
Programador daProgramador da
aplicaçãoaplicação
Escreve programas que utilizam o BD Escreve programas que utilizam o BD 
em C, C++, Java, PASCAL, etc.em C, C++, Java, PASCAL, etc.
Acessa o BD a través de um linguagem Acessa o BD a través de um linguagem 
de consulta (parte integrante do de consulta (parte integrante do 
sistema) ou a través de um programa sistema) ou a través de um programa 
interativo. Ação comum a interativo. Ação comum a 
recuperaçãorecuperação
 
Usuários finaisUsuários finais
15
ConceitosConceitos
Administrador do banco de dados Administrador do banco de dados ::
Pessoa com o controle do sistema.Pessoa com o controle do sistema.
Funções:Funções:
Mudanças na organização física e lógicaMudanças na organização física e lógica
Garante diferentes tipos de acesso por parte dos usuáriosGarante diferentes tipos de acesso por parte dos usuários
Define uma estratégia de “Backups” e recuperação, etc.Define uma estratégia de “Backups” e recuperação, etc.
Projetistas do Banco de Dados:Projetistas do Banco de Dados:
São responsáveis pela identificação dos dados que serão armazenados e São responsáveis pela identificação dos dados que serão armazenados e 
pela seleção das estruturas apropriadas para representar e armazenar pela seleção das estruturas apropriadas para representar e armazenar 
estes dados.estes dados.
16
Bancos de 
Dados
Programas Controle Centralizado Usuários
Sistemade Gestão de Banco de Dados (SGBD)
conceitos
17
18
19
20
21
22
23
24
Por que Bancos de Dados ?Por que Bancos de Dados ?
Resposta InicialResposta Inicial Um SBD proporciona à empresa um Um SBD proporciona à empresa um 
controle centralizado dos seus dadoscontrole centralizado dos seus dados
AArquivos dispersos Controle difícilControle difícil
VANTAGENS VANTAGENS ??
A redundância pode ser reduzidaA redundância pode ser reduzida
Inconsistência pode ser evitadaInconsistência pode ser evitada
Dados podem ser compartilhadosDados podem ser compartilhados
Padrões podem ser reforçadosPadrões podem ser reforçados
Podem ser aplicadas restrições de segurança
A integridade pode ser mantida
Necessidades conflitantes podem ser balanceadas
Independência de dados
25
Custos incrementais e vulnerabilidade do sistemaCustos incrementais e vulnerabilidade do sistema
 VulnerabilidadeVulnerabilidade Natureza centralizada Natureza centralizada
 Processo de recuperação de falhas mais custosoProcesso de recuperação de falhas mais custoso
 Generalidade que um SGBD oferece para definir e processar dados.Generalidade que um SGBD oferece para definir e processar dados.
 Os custos de hardware, software e programadores são mais altos.Os custos de hardware, software e programadores são mais altos.
Uso de arquivos quando:Uso de arquivos quando:
 O BD e aplicações são simples, bem definidas e não se espera que O BD e aplicações são simples, bem definidas e não se espera que 
mudemmudem
 Altos requerimentos de eficiência em tempo real.Altos requerimentos de eficiência em tempo real.
 Requerimentos de acesso mono-usuário.Requerimentos de acesso mono-usuário.
Desvantagens?Desvantagens?
26
Sistemas de Gestão de Bancos de Dados
•Um Sistema de Gestão de BD é uma coleção de Um Sistema de Gestão de BD é uma coleção de 
programas que facilita criar y manter um BD.programas que facilita criar y manter um BD.
•SGBD: SGBD: Ferramenta de propósito geral utilizada em Ferramenta de propósito geral utilizada em 
diferentes diferentes aplicações (Definição, Construção e aplicações (Definição, Construção e 
Manipulação)Manipulação)
•SGBD manipulam BD´s que contêm principalmente SGBD manipulam BD´s que contêm principalmente 
dados estruturados (formatados). Facilita a dados estruturados (formatados). Facilita a 
classificação dos dados em tipos. Separação entre classificação dos dados em tipos. Separação entre 
dados e descrição.dados e descrição.
27
Sistemas de Gestão de Bancos de Dados
Usuários/Programadores
Programas de Aplicação/Consultas
Software para Processar
consultas/programas
Software para Acessar
dados armazenados
Definição
de dados
Dados
(Metadados)
SBD
SGBD
28
Alguns Conceitos RelacionadosAlguns Conceitos Relacionados
28
a) Instâncias e Esquemasa) Instâncias e Esquemas
EsquemaEsquema: visão global do BD (≈ definição de tipos em LP): visão global do BD (≈ definição de tipos em LP)
InstânciasInstâncias: Coleção de dados armazenados no BD. : Coleção de dados armazenados no BD. 
 (valor de variáveis ≈ instância de esquema)(valor de variáveis ≈ instância de esquema)
Característica dos tipos de SGBD´s estudados: Característica dos tipos de SGBD´s estudados: 
Nro. tipos << Nro. instâncias de cada tipo.Nro. tipos << Nro. instâncias de cada tipo.
b) Abstração em Bancos de Dadosb) Abstração em Bancos de Dados
Nos primeiros SGBD´s, o usuario tinha que tratar com dados tal como Nos primeiros SGBD´s, o usuario tinha que tratar com dados tal como 
eram armazenadoseram armazenados manipular ponteiros, tabelas e índices. manipular ponteiros, tabelas e índices.
Abstração de DadosAbstração de Dados Independência da representação dos Independência da representação dos 
dados.dados.
Visão dos usuários de cada aplicaçãoVisão dos usuários de cada aplicação
Armazenamento FísicoArmazenamento Físico
Níveis deNíveis de
abstraçãoabstração
29
c) LDD (Linguagem de Definição de Dados)c) LDD (Linguagem de Definição de Dados)
Um esquema de um BD é especificado por um conjunto de Um esquema de um BD é especificado por um conjunto de 
definições que são expressadas numa linguagem (LDD) definições que são expressadas numa linguagem (LDD) 
Compilação da LDDCompilação da LDD Metadados Metadados
Alguns Conceitos RelacionadosAlguns Conceitos Relacionados
d) LMD (Linguagem de Manipulação de Dados)d) LMD (Linguagem de Manipulação de Dados)
Permite aos usuários acessar e manipular dados organizados de uma Permite aos usuários acessar e manipular dados organizados de uma 
forma definida.forma definida.
Dois tipos:Dois tipos:
ProcedimentalProcedimental
Não procedimental mais fáceis porém mais ineficientesNão procedimental mais fáceis porém mais ineficientes
A parte da LMD relacionada com a consulta de informação é chamada A parte da LMD relacionada com a consulta de informação é chamada 
de Linguagem de Consulta.de Linguagem de Consulta.
e) Independência de Dadose) Independência de Dados
Proposta, criação de níveis de abstração.Proposta, criação de níveis de abstração.
30
Alguns Conceitos RelacionadosAlguns Conceitos Relacionados
Arquitectura Arquitectura 
ANSI/SPARCANSI/SPARC
31
32
Independência física medida de isolamento de uma aplicação às 
modificações feitas na estrutura física dos dados.
Ex: Criação de um índice (semestre, ano) no arquivo DISCIPLINAS não 
muda a consulta “listar todas as disciplinas oferecidas no segundo 
semestre de 1998”
Independência lógica medida de isolamento duma vista de uma 
aplicação às modificações no esquema 
conceitual ou lógico do BD.
Ex: O esquema externo (visão) 1.4a não deveria ser afetado pela mudança 
do arquivo HISTORICO_ESCOLAR para o apresentado na Fig. 1.5a
Analogia com os tipos de dados em LP.
Alguns Conceitos RelacionadosAlguns Conceitos Relacionados
33 33
Um exemplo
Banco de dados de uma universidade (Fig. 1.2):
34
Figura 1.4 Duas visões derivadas de um banco de dados da Figura 1.2 
(a) Visão do HISTORICO ESCOLAR DO ALUNO. (b) Visão dos 
 PRÉ-REQUISITOS DO CURSO. 
35
Figura 1.5 Armazenamento redundante do NomedoAluno e 
NumerodoCurso no HISTORICO_ESCOLAR. (a) Dados consistentes. (b) 
Registro inconsistente.
36
f) As Interfaces do SGBD. 
Interfaces baseadas em menus para os clientes Web ou 
Navegação (Browsing). Os menus evitam a necessidade de 
memorizar comandos da linguagem de consulta; a consulta 
é composta passo a passo.
Interfaces baseadas em formulários. Os usuários podem 
preencher todos os campos do formulário de entrada para 
inserir um novo dado ou preencher só alguns campos – 
consulta dos dados faltantes.
Interfaces gráficas. Exibe esquemas para os usuários em um 
formulário diagramático.
Interfaces de Linguagem Natural (LN). Aceitam solicitações 
escritas em Português e em outros idiomas e tentam 
“entendê-las”
Alguns Conceitos RelacionadosAlguns Conceitos Relacionados
37
f) As Interfaces do SGBD (Cont.)
Interfaces para usuários parametrizáveis. Os usuários 
utilizam um pequeno conjunto de operações que são 
realizadas repetidamente.
Interfaces para o DBA. Os SBDs contem comandos 
privilegiados que podem ser usados somente pelos ABDs 
(Administradores de Bancos de Dados) ou DBAs.
Alguns Conceitos RelacionadosAlguns Conceitos Relacionados
38
39
O Ambiente de SBD´s – Utilitários do 
SBD´s
• Auxiliam o ABD. 
Funções:
– Carregamento (“loading”)
– Backup
– Reorganização de arquivos
– Monitoramento de desempenho
• Outras ferramentas: Ferramentas CASE 
(ambientes de desenvolvimento de aplicações)
40
Arquiteturas de SGBD´s
A arquitetura física centralizada.
41
Arquiteturas de SGBD´s
A arquitetura lógica de duas camadas cliente/servidor
42
Arquiteturas de SGBD´s
Arquitetura física cliente/servidor de duas camadas
43
Arquiteturas de SGBD´s
Arquitetura lógica cliente/servidor de três camadas
Administrador de Bancos de 
Dados
• As principais funçõesdo DBA são:
– Definir a estrutura de armazenamento e a 
estratégia de acesso;
– Servir de elo com os usuários;
– Definir controles de segurança e integridade;
– Definir a estratégia de backup e recuperação;
– Monitorar o desempenho.
Administrador de Bancos de Dados
▸ Mercado de Trabalho
▸ Qualquer organização ou empresa que tenha um sistema informa zado que u lize bancos de dados como parte de 
suas operações. Entre eles: lojas, empresas de vendas por catálogo, companhias de seguro, serviços de comunicação, 
ins tuições financeiras, hospitais, departamentos do governo, escolas, empresas de tecnologia, universidades, 
empresas na indústria de serviços etc.
▸ Experiência e treinamento necessários
▸ Os principais requisitos são ter os conhecimentos, as capacitações e a experiência certas para a função, além de ter a 
a tude e a ap dão adequadas. As qualificações são :
▸ Curso superior normalmente é exigido, 
▸ Cerificações geradas por empresas como a Microso , IBM, a Oracle e outras. Essas cer ficações técnicas estão se tornando uma 
forma comum de avaliar o grau de competência de candidatos à vagas em empresas.
▸ A profissão de DBA está cada vez mais valorizada no mercado de TI no Brasil  informa zação das empresas tem 
levado a necessidade de criação de ro nas de gerencias dos dados. Mas o caminho para se tornar um DBA não é tão 
fácil assim, já que envolve um skill (habilidades, talentos) amplo, exigindo um perfil especialista-generalista do 
profissional e principalmente entrega pessoal no trabalho, pois o DBA pode ser acionado a qualquer hora do dia ou da 
noite (24×7), dependendo do fator crí co do sistema envolvido. Considerar esse nível de comprome mento antes da 
escolha da carreira de TI a seguir, é primordial.
▸ Perfil comportamental
▸ Suportar pressão; (leia também: Profissional de TI sob pressão)
▸ Facilidade de comunicação com diferentes níveis da organização, desde funcionários do nível operacional até o gerencial e diretores;
▸ Facilidade de aprendizado e implementação de novas tecnologias.
 Fonte: http://dominioti.wordpress.com/2009/10/01/profissao-ti-administrador-de-banco-de-dados /
46
CONCEITOCONCEITO
É um formalismo utilizado para descrever a organização É um formalismo utilizado para descrever a organização 
lógica dos dados correspondente a uma determinada lógica dos dados correspondente a uma determinada 
realidade (UNIVERSO DE DISCURSO)realidade (UNIVERSO DE DISCURSO)
A representação de uma determinada parte da realidade de A representação de uma determinada parte da realidade de 
acordo con um modelo de dados é chamado ESQUEMA.acordo con um modelo de dados é chamado ESQUEMA.
Modelo de DadosModelo de Dados
UNIVERSO UNIVERSO 
DEDE
DISCURSODISCURSO
ESQUEMAESQUEMA
Modelo de DadosModelo de Dados
(Abstração)(Abstração)
Un modelo de dados define as regras de acordo com as Un modelo de dados define as regras de acordo com as 
quais os dados são estruturados.quais os dados são estruturados.
Estruturas não são suficientes (propriedades estáticas)Estruturas não são suficientes (propriedades estáticas)
47
¿¿Propriedades dinâmicas?Propriedades dinâmicas?
Formalmente, um modelo de dados pode ser definido pelo Formalmente, um modelo de dados pode ser definido pelo 
par M = (G, O), onde:par M = (G, O), onde:
G = Conjunto de regras para definir a estrutura dos G = Conjunto de regras para definir a estrutura dos 
 dados dados LDDLDD
O = Conjunto de operações permitidas sobre os O = Conjunto de operações permitidas sobre os 
 dados dados LMDLMD
Modelo de DadosModelo de Dados
GG
Ge: Ge: Regras para definição da Regras para definição da 
 estrutura lógica dos dados.estrutura lógica dos dados.
Gr: Gr: Regras para definição das Regras para definição das 
 restrições lógicas sobre os dados.restrições lógicas sobre os dados. 
48
MODELOS DE DADOS CONCEITUAIS. (SEMÂNTICOS)MODELOS DE DADOS CONCEITUAIS. (SEMÂNTICOS)
Utilizados para descrever a estrutura de um banco de dados Utilizados para descrever a estrutura de um banco de dados 
num nível de abstração independente dos aspectos de num nível de abstração independente dos aspectos de 
implementação.implementação.
EXEMPLOSEXEMPLOS
•Modelo Entidade-Relacionamento.Modelo Entidade-Relacionamento.
•Modelo funcional.Modelo funcional.
•Modelos orientados a objetos.Modelos orientados a objetos.
MODELOS DE DADOS LÓGICOS (CLÁSSICOS)MODELOS DE DADOS LÓGICOS (CLÁSSICOS)
Utilizados para descrever a estrutura de um banco de dados Utilizados para descrever a estrutura de um banco de dados 
num nível de abstração mais próximo das estruturas físicas de num nível de abstração mais próximo das estruturas físicas de 
armazenamento de dados. armazenamento de dados. ExemploExemplo: Relacional, rede, : Relacional, rede, 
hierárquico.hierárquico.
Tipos de modelos de DadosTipos de modelos de Dados
49 49
 Conceito
 Projeto de Bancos de Dados dentro do ciclo de vida 
de um Sistema de Informação.
 Fases do projeto de Banco de Dados e de grandes 
BDs.
 Tipos de modelos de dados de acordo com as fases 
do projeto.
 Dependências das fases do projeto em relação ao 
SGBD utilizado.
Projeto de Bancos de DadosProjeto de Bancos de Dados 
50
Conceito
 Processo de desenvolvimento da estrutura de um 
banco de dados a partir das necessidades dos 
usuários. A estrutura deve satisfazer as 
necessidades de informação dos usuários de uma 
organização, tendo em vista um determinado 
conjunto de aplicações.
Características Gerais:
 Complexidade
Precisa da divisão do problema em sub-partes
 Multiplicidade de Tarefas
Requer a utilização de uma só metodologia.
Projeto de Bancos de DadosProjeto de Bancos de Dados 
51 51
Fases do projeto de Bancos de Dados (Grandes BDs)

Continue navegando