Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · Natureza de autodescrição de um sistema de banco...

Post on 11-Oct-2020

1 views 0 download

Transcript of Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · Natureza de autodescrição de um sistema de banco...

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