Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Conceitos e arquitetura do banco de dados
Andre Noel
SGBD
● SGBD cliente/servidor
SGBD
● SGBD cliente/servidor● Módulo cliente
SGBD
● SGBD cliente/servidor● Módulo cliente● Módulo servidor
Abstração de dados
● Quais dados realmente importam para a minha modelagem?
Modelo de dados
Estrutura de Banco de Dados
● Tipos● Relacionamentos● Restrições
Estrutura de Banco de Dados
● Operações básicas
Estrutura de Banco de Dados
● Operações básicas● Operações definidas pelo usuário
● Aspecto dinâmico/comportamento
Categorias de modelos de dados
● Alto nível (ou conceitual)● Baixo nível (ou físico)
Categorias de modelos de dados
● Alto nível (ou conceitual)● Modelos de dados representativos● Baixo nível (ou físico)
Categorias de modelos de dados
● Alto nível (ou conceitual)● Modelos de dados representativos
● Ex: Modelo de dados relacional
● Baixo nível (ou físico)
Descrição do Banco de Dados
Descrição do Banco de Dados
● Descrição do banco de dados ≠ banco de dados● Descrição → Esquema do banco de dados
Esquema do banco de dados
Esquema do banco de dados
● Ao criar um BD novo, definimos o esquema para o SGBD
Esquema do banco de dados
● Ao criar um BD novo, definimos o esquema para o SGBD
● Estado inicial → vazio
Esquema do banco de dados
● Ao criar um BD novo, definimos o esquema para o SGBD
● Estado inicial → vazio● Estado atual do banco
Esquema do banco de dados
● Ao criar um BD novo, definimos o esquema para o SGBD
● Estado inicial → vazio● Estado atual do banco● Estado válido
● A cada alteração o SGBD é parcialmente responsável por manter um estado válido
Esquema do banco de dados
● Metadados● Descrições das construções e restrições do esquema
Arquitetura de três esquemas
● Principais características de um SGBD● Natureza de autodescrição de um sistema de banco de dados● Isolamento entre programas e dados, e abstração de dados● Suporte a múltiplas visões dos dados● Compartilhamento de dados e processamento de transação
multiusuário
Arquitetura de três esquemas
● Principais características de um SGBD● Natureza de autodescrição de um sistema de banco de dados● Isolamento entre programas e dados, e abstração de dados● Suporte a múltiplas visões dos dados● Compartilhamento de dados e processamento de transação
multiusuário
Arquitetura de três esquemas
● Objetivo: separar as aplicações do usuário do banco de dados físico
Arquitetura de três esquemas
● Nível interno● Esquema interno● Descreve a estrutura do armazenamento físico do BD
Arquitetura de três esquemas
● Nível interno● Nível conceitual
● Esquema conceitual● Descreve a estrutura do BD inteiro para uma comunidade de
usuários● Oculta detalhes de armazenamento físico● Se concentra na descrição de entidades, tipos de dados,
relacionamentos, operações do usuário e restrições
Arquitetura de três esquemas
● Nível interno● Nível conceitual● Nível externo
● Esquemas externos ou visões do usuário● Descreve a parte do BD em que um grupo de usuários está
interessado e oculta o restante
Arquitetura de três esquemas
Independência de dados
Independência de dados
“A capacidade de alterar o esquema em um nível do sistema de banco de dados sem ter de alterar o esquema no nível mais alto”
Independência de dados
● Independência lógica de dados
Independência de dados
● Independência lógica de dados● A capacidade de alterar o esquema conceitual sem ter de
alterar os esquemas externos ou as aplicações● Ex: expandir o banco (acrescentando tipo de registro ou item
de dado)● Ex: alterar o tipo de restrições ou reduzir o BD
Independência de dados
● Independência lógica de dados● Independência física de dados
● A capacidade de alterar o esquema interno sem alterar o esquema conceitual
● Mudanças no esquema interno podem ser necessárias porque alguns arquivos físicos foram reorganizados
Linguagens do banco de dados
Linguagens do banco de dados
● DDL – Data Definition Language● Linguagem de definição de dados
Linguagens do banco de dados
● DDL – Data Definition Language● Linguagem de definição de dados
● SDL – Storage Definition Language● Linguagem de definição de armazenamento
Linguagens do banco de dados
● DDL – Data Definition Language● Linguagem de definição de dados
● SDL – Storage Definition Language● Linguagem de definição de armazenamento
● VDL – View Definition Language● Linguagem de definição de visão
Linguagens do banco de dados
● DDL – Data Definition Language● Linguagem de definição de dados
● SDL – Storage Definition Language● Linguagem de definição de armazenamento
● VDL – View Definition Language● Linguagem de definição de visão
● DML – Data Manipulation Language● Linguagem de manipulação de dados
Linguagens do banco de dados
● SQL (Structured Query Language)● Uma combinação de DDL, VDL e DML
Ambiente do sistema de banco de dados
Ambiente do sistema de banco de dados
Utilitários do sistema de banco de dados
Utilitários do sistema de banco de dados
● Carga
Utilitários do sistema de banco de dados
● Carga● Backup
Utilitários do sistema de banco de dados
● Carga● Backup● Reorganização do armazenamento
Utilitários do sistema de banco de dados
● Carga● Backup● Reorganização do armazenamento● Monitoração de desempenho
Arquitetura de SGBD centralizada
Arquitetura de SGBD cliente/servidor
Arquitetura de SGBD cliente/servidor
Arquitetura de SGBD cliente/servidor
Classificação dos SGBDs
Exercícios
Exercícios