INTRODUÇÃO AO
INTRODUÇÃO AO
MODELO RELACIONAL
Sumário
Sumário
Modelo de Dados
História dos Modelos de Dados
Conceitos Básicos do Modelo Relacional
Relação
Esquema de Relação
Estado de Banco de Dados Relacional
Arquitetura de Esquemas
Modelo de Dados
É um conjunto de convenções para descrever a
estrutura de um banco de dados e certas restrições
que o banco de dados deve obedecer
Um SGBD permite um usuário definir os dados a
serem armazenados em termos de um modelo de dados
A maioria dos SGBDs atuais são baseados no Modelo
Categorias de Modelos de
Dados
Modelo de Dados Conceitual (semântico)
alto nível de abstração. Modelo baseado em
entidade ou baseado em objeto.
Modelo de Dados Físico (baixo-nível, interno)
Provê conceitos para descrever detalhes de
como os dados estão armazenados no
computador
Modelo de Dados de Implementação (lógico)
História dos Modelos de Dados
Modelo de Redes
Foi primeiro implementado por Honeywell in 1964-65 (IDS
System).
Depois implementado em vários DBMS: IDMS (Cullinet - now CA),
DMS 1100 (Unisys), IMAGE (H.P.), VAX -DBMS (Digital).
Modelo Hierárquico
Implementado em um esforço conjunto da IBM e North American
Rockwell em 1965.
Modelo Relacional
Proposto em 1970 por E.F. Codd (IBM). Primeiro sistema comercial
em 1981-82.
Atualmente, vários produtos comerciais (ORACLE, SYBASE,
História dos Modelos de Dados
Modelo de Redes
Foi primeiro implementado por Honeywell in 1964-65 (IDS
System).
Depois implementado em vários DBMS: IDMS (Cullinet - now CA),
DMS 1100 (Unisys), IMAGE (H.P.), VAX -DBMS (Digital).
Modelo Hierárquico
Implementado em um esforço conjunto da IBM e North American
Rockwell em 1965.
Modelo Relacional
Proposto em 1970 por E.F. Codd (IBM). Primeiro sistema comercial
em 1981-82.
Atualmente, vários produtos comerciais (ORACLE, SYBASE,
Modelo Orientado a Objetos
Vários modelos propostos
OBJECTSTORE e VERSANT: Adiciona persistência a
C++
GEMSTONE : Adiciona persistência a Smalltalk O2, , ORION, IRIS .
Modelo Objeto-Relacional:
Tendência mais recente.
Informix, ORACLE 8, ILLUSTRA e UNiSQL,
Modelo Relacional
Introduzido pelo pesquisador da IBM E. Codd [1970]
Razões do sucesso
Estrutura de dados simples e uniforme
Um banco de dados relacional é um conjunto de Relações Cada relação é um conjunto de linhas ou tuplas
Cada tupla é uma lista de valores de atributos Cada valor de atributo é retirado de um domínio
Um Exemplo de Relação
Relação
Empregado
Nome Marta Souza José Oliveira Ana Alves DataNasc. 05/12/75 09/07/70 23/08/65 Telefone 278.90.76 241.80.76 261.65.94Empregado = {< Marta Souza, 05/12/75, 278.90.76>,
< José Oliveira, 09/07/70, 241.80.76>, < Ana Alves, 23/08/65, 261.65.94>}
Coluna ou Atributo
Linha ou Tupla
Esquema Relacional
Esquema
é a descrição dos dados em termos de um
modelo de dados. O esquema não muda com o tempo.
conjunto de Esquemas de Relação
E = ({R1, R2, ..., Rn}, I)
Esquemas de Relação Restrições de Integridade
+
conjunto de Restrições de Integridade
Esquema de Relação
Empregado
(
nome
: string,
dataNasc
.:Date,
telefone
:Integer )
Nome da Relação
Nome de Atributo
Domínio do Atributo
Esquema x Instância
Esquema de um Banco de Dados
É a descrição de um banco de dados. Inclui a
descrição da estrutura dos dados e as restrições que precisam ser obedecidas.
Instância de um Banco de Dados
Os dados armazenados no BD em um dado
instante.
Também chamado de Estado ou Ocorrência do
Banco de Dados.
Esquema é chamado intenção Esquema muda raramente
Estado é chamado extensão Estado muda freqüentemente
Instância de Relação
Instância de uma relação = Conjunto de Tuplas
Tupla = Lista de valores de Atributo
Nome Marta Souza José Oliveira Ana Alves DataNasc. 05/12/75 09/07/70 23/08/65 Telefone 278.90.76 241.80.76 261.65.94 Tuplas
Instância ou Estado de BD
Relacional
Uma Instância de um BD são os dados no BD
em um determinado instante.
BD é um estado consistente do esquema S se satisfaz a
todas as Restrições de Integridade de
S
BD = {r
1, r
2, ..., r
n}
Instâncias de Esquemas de Relação
Instância de um BD relacional = Conjunto de Instâncias de
Relações
Restrições de Integridade
Um Banco de Dados armazena informação sobre parte de um
mundo real que chamamos de mini-mundo.
Certas regras, denominadas de Restrições de Integridade,
governam este mini-mundo.
As restrições de Integridade especificam os estados do BD que
são considerados consistente.
O Estado de um Banco de Dados é dito consistente ou válido
Terminologia de Conceitos
Básicos do Modelo Relacional
Modelo Relacional
(Formal) Relação Tupla Atributo
Linha Coluna Tabela
Conjunto estruturado (lista)Elemento Componentede lista
Teoria de conjuntos e Estrutura de dados Modelo Relacional (informal) e SQL Análise estruturada moderna Processamento de dados Depósito de dados Arquivo Registro Registro Campo Campo
ARQUITETURA DE ESQUEMAS
PARA SISTEMAS DE BANCO DE
DADOS
Arquitetura de 3-esquemas
Proposta em 1978 pela ANSI/SPARC
Proposta para suportar as características dos
sistemas de BDs de
Suporte para múltiplas visões de usuários
Independência entre programas e dados
Arquitetura de 3 esquemas
NÍVEL
EXTERNO VISÃO ... VISÃO
NÍVEL
CONCEITUAL ESQUEMA CONCEITUAL
NÍVEL
INTERNO ESQUEMA INTERNO
BANCO DE DADOS ARMAZENADO
Mapeamento Externo/Conceitual
Mapeamento Conceitual/Interno
Arquitetura de 3 esquemas
ESQUEMA EXTERNO:
EMP (Nome: STRING, DataNasc.: Date, Local: STRING)
ESQUEMA CONCEITUAL:
EMP-RIO (Nome: STRING, DataNasc.: Date)
ESQUEMA INTERNO:
Formato do Registro EMP
4 bytes ponteiro 2 bytes Inteiro 4 bytes ponteiro Cadeira de caracter ...
Independência de Dados
É a capacidade de modificar uma definição
de esquema em um nível, sem afetar as
definições de esquema nos níveis mais
acima.
* Sistemas de arquivos não têm independência física nem lógica.
Independência Física
Independência Lógica
Independência Física
Exemplo: Você decide modificar o layout do Registro físico da tabela Estudante. O esquema conceitual permanece
inalterado e todos os programas de aplicações continuarão funcionando.
É a capacidade de se modificar o
esquema Interno sem ter que
modificar o esquema conceitual ou
externo.
Independência Lógica
EX: Você decide adicionar uma nova coluna na
tabela Estudante do esquema conceitual. Todos os programas continuarão funcionando. Porém se uma coluna for removida, os programas que fazem uso desta coluna não funcionarão mais.
A capacidade de se modificar o
esquema
conceitual sem ter que modificar o
esquema externo ou programas de
aplicação
Linguagens dos SGBDs
Linguagem de Definição de dados (DDL)
Usada pelo DBA e projetistas do BD para especificar o
esquema conceitual. Em alguns SGBDs a DDL é também usada para definir os esquemas interno e externos (visões).
Linguagem de Manipulação de Dados (DML)
Usada para especificar consultas e atualizações
Os comandos DML podem ser usados diretamente ou
embutido (embedded) em uma linguagem de programação com COBOL, JAVA