52
Conceitos e arquitetura do banco de dados Andre Noel

Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Conceitos e arquitetura do banco de dados

Andre Noel

Page 2: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

SGBD

● SGBD cliente/servidor

Page 3: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

SGBD

● SGBD cliente/servidor● Módulo cliente

Page 4: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

SGBD

● SGBD cliente/servidor● Módulo cliente● Módulo servidor

Page 5: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Abstração de dados

● Quais dados realmente importam para a minha modelagem?

Page 6: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Modelo de dados

Page 7: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Estrutura de Banco de Dados

● Tipos● Relacionamentos● Restrições

Page 8: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Estrutura de Banco de Dados

● Operações básicas

Page 9: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Estrutura de Banco de Dados

● Operações básicas● Operações definidas pelo usuário

● Aspecto dinâmico/comportamento

Page 10: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Categorias de modelos de dados

● Alto nível (ou conceitual)● Baixo nível (ou físico)

Page 11: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Categorias de modelos de dados

● Alto nível (ou conceitual)● Modelos de dados representativos● Baixo nível (ou físico)

Page 12: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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)

Page 13: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Descrição do Banco de Dados

Page 14: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Descrição do Banco de Dados

● Descrição do banco de dados ≠ banco de dados● Descrição → Esquema do banco de dados

Page 15: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Esquema do banco de dados

Page 16: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Esquema do banco de dados

● Ao criar um BD novo, definimos o esquema para o SGBD

Page 17: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Esquema do banco de dados

● Ao criar um BD novo, definimos o esquema para o SGBD

● Estado inicial → vazio

Page 18: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Esquema do banco de dados

● Ao criar um BD novo, definimos o esquema para o SGBD

● Estado inicial → vazio● Estado atual do banco

Page 19: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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

Page 20: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Esquema do banco de dados

● Metadados● Descrições das construções e restrições do esquema

Page 21: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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

Page 22: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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

Page 23: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Arquitetura de três esquemas

● Objetivo: separar as aplicações do usuário do banco de dados físico

Page 24: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Arquitetura de três esquemas

● Nível interno● Esquema interno● Descreve a estrutura do armazenamento físico do BD

Page 25: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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

Page 26: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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

Page 27: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Arquitetura de três esquemas

Page 28: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Independência de dados

Page 29: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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”

Page 30: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Independência de dados

● Independência lógica de dados

Page 31: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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

Page 32: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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

Page 33: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Linguagens do banco de dados

Page 34: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Linguagens do banco de dados

● DDL – Data Definition Language● Linguagem de definição de dados

Page 35: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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

Page 36: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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

Page 37: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

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

Page 38: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Linguagens do banco de dados

● SQL (Structured Query Language)● Uma combinação de DDL, VDL e DML

Page 39: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Ambiente do sistema de banco de dados

Page 40: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Ambiente do sistema de banco de dados

Page 41: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Utilitários do sistema de banco de dados

Page 42: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Utilitários do sistema de banco de dados

● Carga

Page 43: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Utilitários do sistema de banco de dados

● Carga● Backup

Page 44: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Utilitários do sistema de banco de dados

● Carga● Backup● Reorganização do armazenamento

Page 45: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Utilitários do sistema de banco de dados

● Carga● Backup● Reorganização do armazenamento● Monitoração de desempenho

Page 46: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Arquitetura de SGBD centralizada

Page 47: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Arquitetura de SGBD cliente/servidor

Page 48: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Arquitetura de SGBD cliente/servidor

Page 49: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Arquitetura de SGBD cliente/servidor

Page 50: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Classificação dos SGBDs

Page 51: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Exercícios

Page 52: Andre Noelandrenoel.com.br/bd1/aula-bd-06.pdf · 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

Exercícios