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 SDL Storage Definition Language Linguagem de definição de dados 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 SDL Storage Definition Language Linguagem de definição de armazenamento VDL View Definition Language Linguagem de definição de dados 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