bd e sgbd-conceito
TRANSCRIPT
15/04/2010 1
Conceitos de Bancos de Dados
André Luiz do Vale Soares
15/04/2010 2
Roteiro� Conceitos de BD e SGBD� Características do Uso de BDs� Papéis em um ambiente de BDs� Vantagem da Utilização de SGBDs� Esquemas, Instâncias e Estado de um Banco de Dados
� Arquitetura Três Esquemas para Bancos de Dados� Linguagens de Bancos de Dados� Arquiteturas de SGBDs� Classificação de SGBDs
15/04/2010 3
Conceitos Fundamentais� Dado
� fato do mundo real que está registrado e possuium significado implícito no contexto de um domínio de aplicação
� Exemplos: endereço, data de nascimento, nome
� Informação� fato útil que pode ser extraído direta ouindiretamente a partir dos dados
� Exemplos: Qual a idade da pessoa ? Ela morapróximo à instituição ?
15/04/2010 4
Banco de Dados� Coleção de dados inter-relacionados:
� Persistentes� Possuem significado implícito� Representam algum aspecto do mundoreal
� Possuem usuários com interesse nosdados, para geração de informação
15/04/2010 5
Sistema Gerenciador de Bancos de Dados� Conjunto de programas que permite a criação e manutenção de um ou maisbancos de dados
� Exemplos:� Oracle 10G, SqlServer 2005, MySql, etc.
� Sistema de Banco de Dados: Banco de Dados + SGBD
15/04/2010 6
Características do Uso de Bancos de Dados� Natureza Autodescritiva do Sistema de Banco de Dados: Metadados
� Isolamento entre Programas e Dados e Abstração de Dados: Independência
� Suporte para múltiplas visões dos dados� Compartilhamento de dados� Processamento de Transações
� Atomicidade� Isolamento� Persistência
15/04/2010 7
Vantagens do Uso de SGBDs� Controle de Redundância� Restrição de Acesso� Armazenamento de Estruturas para o processamento eficiente de consultas
� Cópia e Restauração� Representação de RelacionamentosComplexos entre os dados
� Restrições de Integridade
15/04/2010 8
Quando não usar um SGBD ?� Aplicações Simples
� Lidam com poucos dados operacionais, quepodem ser mantidos em arquivos
� Aplicações que fazem processamento“pesado”, mas não requerem gerenciamentodos dados operacionais� Exemplo: Aplicações científicas
� Quando o custo é alto e não compensa� Treinamento, aquisição de hardware e software
15/04/2010 9
Papéis em um ambiente de SBD� Administradores de Bancos de Dados (DBAs)
� Criam os bancos de dados nos SGBDs e mantêm o esquemainterno, além de controlar o acesso aos bancos de dados
� Projetistas de Bancos de Dados� Definem o esquema conceitual do banco de dados
� Analistas de Sistemas e Programadores de Aplicação� Identificam e implementam as regras de negócio paramanipulação dos dados no SBD
� Administrador do Dado� Usuários Finais
� Mantêm e utilizam os bancos de dados através de aplicativos
15/04/2010 10
Esquemas, Instâncias e Estado� Esquema: descrição do banco de dados, sob um determinado contexto� Pode ser apresentado sob a forma de um diagramaesquemático
� É formado por construtores� Instância: dados que cada um dos construtorespossui em um determinado instante
� Estado: Conjunto de todas as instâncias no banco de dados
� Define-se o Esquema de um banco de dados, paraque os usuários finais possam incluir instâncias paraseus contrutores, alterando assim o estado do bancode dados a cada momento
15/04/2010 11
Exemplo de Estado de um BD
BANCA Area Subarea Presidente
Computação 05.03.05 Joyce Martins Mendes Battaglia
Computação 05.03.06 Edjair de Souza Mota
Matemática 05.02.01 Denis Gabos
PROVAS_CANDIDATO Inscrição Area Subarea Tipo
EST-0040 Computação 05.03.05 Escrita
EST-0040 Computação 05.03.05 Didática
EST-0050 Computação 05.03.06 Escrita
EST-0060 Matemática 05.02.01 Escrita
EST-0060 Matemática 05.02.01 Didática
BANCA_MEMBROS Area Subarea Membro
Computação 05.03.05 Joyce Martins Mendes Battaglia
Computação 05.03.05 Ernande Ferreira de Melo
Computação 05.03.05 José Luiz de Souza Pio
Computação 05.03.06 Edjair de Souza Mota
Matemática 05.02.01 Denis Gabos
Matemática 05.02.01 Guiou Kobayashi
P R O V A A re a S u b a re a T ip o D a ta
C o m p u ta ç ã o 0 5 .0 3 .0 5 E s c rita 0 2 /1 2 /2 0 0 7
C o m p u ta ç ã o 0 5 .0 3 .0 5 D id á tic a 0 5 /1 2 /2 0 0 7
C o m p u ta ç ã o 0 5 .0 3 .0 6 E s c rita 0 2 /1 2 /2 0 0 7
C o m p u ta ç ã o 0 5 .0 3 .0 6 D id á tic a 0 6 /1 2 /2 0 0 7
M a te m á tic a 0 5 .0 2 .0 1 E s c rita 0 9 /1 2 /2 0 0 7
M a te m á tic a 0 5 .0 2 .0 1 D id á tic a 1 1 /1 2 /2 0 0 7
AVALIACAO Professor Area Subarea Inscrição Tipo Nota
José Luiz de Souza Pio Computaçao 05.03.05 EST-0040 Escrita 6,0
Edjair de Souza Mota Computaçao 05.03.06 EST-0050 Escrita 7,0
Edjair de Souza Mota Computaçao 05.03.06 EST-0050 Didática 8,5
Denis Gabos Matemática 05.02.01 EST-0060 Escrita 9,2
Guiou Kobayashi Matemática 05.02.01 EST-0060 Didática 8,4
PROVA_ESCRITA_QUESTOES Area Subarea Tipo Questao Enunciado
Computação 05.03.05 Escrita 1 Fale sobre Modelos
Computação 05.03.05 Escrita 2 Exemplifique modelos
Computação 05.03.06 Escrita 1 Fale sobre QuickSort
Matemática 05.02.01 Escrita 1 Prove que P = NP
CANDIDATO Inscrição Nome RG_numero RG_expedidor RG_UF
EST-0040 André Luiz do Vale Soares 0999717-2 SSP AM
EST-0050 Flávio José Mendes Coelho 1234567-8 SSP PA
EST-0060 Danielle Pompeu Noronha 1112223-3 SSP AM
Estado do banco de dados CONCURSO
PROFESSOR Nome Titulação Universidade
Joyce Martins Mendes Battaglia Doutora UNIP/SP
José Luiz de Souza Pio Doutor UFAM
Ernande Ferreira de Melo Mestre UEA
Edjair de Souza Mota Doutor UFAM
Denis Gabos Doutor USP
Guiou Kobayashi Doutor UF do ABC
15/04/2010 12
Arquitetura de Três Esquemas para SBDsUsuários Finais
Visão Externa
Visão Externa
Esquema Conceitual
Esquema Interno
Banco de Dados Armazenado
Nível Externo
Nível Conceitual
Nível Interno
Mapeamento externo/conceitual
Mapeamento conceitual/interno
15/04/2010 13
Independência de Dados
� Independência Lógica� Capacidade de alterar o esquemaconceitual sem mudar o esquema externoou os programas
� Independência Física� Capacidade de mudar o esquema internosem alterar esquema conceitual (nem o externo, consequentemente)
15/04/2010 14
Linguagens de SGBD:� DDL (Data Definition Language)
� Linguagem de Definição de Dados� Utilizada para definir o esquema conceitual
� VDL (View Definition Language)� Linguagem de Definição de Visões� Utilizada para definir o esquema externo
� SDL (Storage Definition Language)� Linguagem de Definição de Armazenamento� Utilizada para definir o esquema interno
� DML (Data Manipulation Language)� Linguagem de Manipulação de Dados
15/04/2010 15
Arquiteturas de SGBDs� Arquitetura SGBD Centralizada
15/04/2010 16
Arquiteturas de SGBDs� Arquitetura SGBD Centralizada
15/04/2010 17
Arquiteturas de SGBDs� Arquitetura SGBD Centralizada
� Funcionalidades do SGBD, Execuções dos programas e Processamento de interface com o usuário em uma mesma máquina
� Utilizada em computadores de grandepoder de processamento (mainframes)
15/04/2010 18
Arquiteturas de SGBDs� Arquitetura Cliente/Servidor de DuasCamadas para SGBDs
15/04/2010 19
Arquiteturas de SGBDs� Arquitetura Cliente/Servidor de DuasCamadas para SGBDs� Programas e interface com o usuárioprocessadas na máquina cliente
� Funcionalidades do SGBD processadas emuma máquina servidora (geralmentereferenciado como servidor de dados ouservidor SQL)
15/04/2010 20
Arquiteturas de SGBDs� Arquitetura Cliente/Servidor de TrêsCamadas para Aplicações Web
15/04/2010 21
Arquiteturas de SGBDs� Arquitetura Cliente/Servidor de Três Camadaspara Aplicações Web� Interface com o usuário (e algumas regras de negócio específicas) processadas na máquinacliente
� Regras de negócio (genéricas), conexão com o SGBD e verificação de credenciais do usuárioprocessadas em um servidor de aplicações
� Funcionalidades do SGBD processadas no servidorde dados
15/04/2010 22
Classificação dos SGBDs� Quanto ao modelo adotado
� Relacional, Orientado a Objeto, Objeto-Relacional, etc.� Quanto à distribuição dos dados
� Centralizados ou Distribuídos� Quanto à autonomia
� Homogêneos ou Heterogêneos� Quanto ao uso
� Propósito Geral ou Propósito Especial (Transacional, Analítico, etc.)
� Quanto ao Custo� Freeware (para uso particular), de baixo custo (para usorestrito), de alto custo (para uso corporativo ou parasistemas web)