Buscar

2. DB Arquitetura e modelo Relacional

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Gestão de Banco de Dados
1
Desenho de banco e Modelagem de dados
Uma Introdução
Roberto Harkovsky, MSc
2
Motivação....
Encomenda: O SENAC RIO deseja controlar a matrícula de seus alunos nas diversas UCs disponíveis para os períodos. 
O sistema será utilizado durante o semestre letivo ....
A secretaria deverá acessar....
Regras:
Um aluno pode se matricular em várias UCs 
Cada UC tem seu código, créditos e respectivo nome
As informações de aluno têm nome, matrícula, semestre matriculado e grau obtido em cada UC
Roberto Harkovsky, MSc
3
Processo de desenho do 
banco de dados
Análise de requisitos
O que vai ser armazenado?
Como é que vai ser utilizado?
O que vamos fazer com os dados?
Quem deve acessar os dados?
Pessoas técnicas e não técnicas estão envolvidas
Roberto Harkovsky, MSc
4
Encomenda: O SENAC RIO deseja controlar a matrícula de seus alunos nas diversas UCs disponíveis para os períodos. 
O sistema será utilizado durante o semestre letivo ....
A secretaria deverá acessar....
4
Processo de desenho do 
banco de dados
2. Modelo Conceitual
Uma descrição de alto nível da base de dados
Suficientemente precisa que as pessoas técnicas possam entendê-la
Mas, não tão precisa que pessoas não-técnicas não possam participar
Aqui entra a modelagem de dados.
Roberto Harkovsky, MSc
5
Regras:
1. Um aluno pode se matricular em várias UCs 
2. Cada UC tem seu código, créditos e respectivo nome
3. As informações de aluno têm nome, matrícula, semestre matriculado e grau obtido em cada UC
Processo de desenho do 
banco de dados
3. Modelagem do BD: 
Projeto lógico
Projeto Físico
Projeto de segurança
Roberto Harkovsky, MSc
6
Processo de desenho do 
banco de dados
Uma modelagem E/R é uma sintaxe visual para um projeto de BD, que é precisa o suficiente para os pontos técnicos, mas abstrato o suficiente para pessoas não-técnicas.
Ex: Modelo E/R & Diagramas usados
Roberto Harkovsky, MSc
7
Linguagens dos BDs
Linguagem DDL (Data Definition Language)
Utilizada para definir esquemas (Schema) conceitual e interno do SGBD
O SGBD tem um compilador para processar descrições em DDL e construir a descrição do esquema armazenado no catálogo;
Em alguns SGBD o DDL é usado para o esquema conceitual, enquanto uma linguagem interna (SDL – Storage definition Language)
Linguagem DML (Data Manipulation Language)
Uma vez que o esquema é compilado e a base de dados preenchida com dados, os usuários têm que ter algum modo de manipular os dados.
Operações de inclusão, alteração, remoção e recuperação dos dados
Roberto Harkovsky, MSc
8
8
O Modelo Relacional
9
O Modelo Relacional
Modelo de dados, que se baseia no princípio em que todos os dados estão guardados em tabelas
Baseado em lógica de predicados e na teoria de conjuntos. 
Sucessor do modelo hierárquico e do modelo em rede. 
Por quê o Modelo Relacional?
Simplicidade dos conceitos
Definição formal dos conceitos
Paradigma formal para linguagens de consulta
SGBDs com desempenho adequado, principalmente quanto à otimização de consultas
25 anos de desenvolvimento
Roberto Harkovsky, MSc
10
10
Modelo Relacional
Um modelo relacional representa o banco de dados como um conjunto de relações.
Uma relação pode ser pensada como uma tabela de valores, ou lista de tuplas.
Cada linha na tabela representa uma coleção de valores de dados relacionados.
Roberto Harkovsky, MSc
sid
Nome
CR
101
Bob
3.2
123
Mary
3.8
Estudantes
cid
cnome
credito
564
Redes4
4
308
BD
2
Cursos
sid
cid
Grau
123
564
A
Matricula
Relações
11
11
Modelo Relacional
dados
Um atributo (ou coluna) é uma entrada de dados tipado presente em cada tupla na relação
Roberto Harkovsky, MSc
sid
nome
CR
001
Bob
3.2
002
Joe
2.8
003
Mary
3.8
004
Alice
3.5
Estudante
12
12
Modelo Relacional
dados
sid
nome
CR
001
Bob
3.2
002
Joe
2.8
003
Mary
3.8
004
Alice
3.5
Uma tupla ou linha (ou registro) é uma única entrada na tabela tendo os atributos especificados pelo esquema
Roberto Harkovsky, MSc
Estudante
13
13
Modelo Relacional
dados
Uma Instância Relacional ou Relação é um conjunto de tuplas em conformidade com o mesmo esquema 
Roberto Harkovsky, MSc
sid
nome
CR
001
Bob
3.2
002
Joe
2.8
003
Mary
3.8
004
Alice
3.5
Estudante
14
14
Modelo Relacional
esquemas
Esquema relacional:
Estudante(sid: string, nome: string, CR: float)
Atributos
String, float, int, etc. são os domínios dos atributos
Nome da relação
Roberto Harkovsky, MSc
15
15
banco de dados relacional
Um esquema de banco de dados relacional é um conjunto de esquemas relacionais, uma para cada relação
Uma instância de banco de dados relacional é um conjunto de instâncias relacionais, uma para cada relação
Duas convenções: 
Chamamos as instâncias de banco de dados relacionais como simplesmente bancos de dados 
Assumimos que todas as instâncias são válidas, isto é, satisfazem as restrições de domínio
Roberto Harkovsky, MSc
16
16
Resumindo...
Tupla: uma linha
Atributo: é o cabeçalho da coluna 
Relação: é a tabela 
Domínio: são os valores aceitáveis para um atributo 
Exemplo: Seja o esquema
 Aluno(Nome, Mat, FoneRes, Endereco, FoneCom, Idade, CR)
Relação: Aluno
Atributo: (7 atributos) - Nome, Mat, FoneRes, Endereco, FoneCom, Idade, CR
Domínio: Dom(Nome)=nomes; Dom(Mat)= números
Tupla: <Roberto, 001,222-2222,rua ..., 98765432, 40, 9,1>
Roberto Harkovsky, MSc
17
17
Atributos chaves
Roberto Harkovsky, MSc
18
Chaves num Banco de Dados
As chaves são parte muito importante da base de dados relacional. 
Elas são usadas para estabelecer e identificar relação entre as tabelas. 
Elas também asseguram que cada registo dentro de uma tabela possa ser identificada de forma única por uma combinação de um ou mais campos dentro de uma tabela
Chaves são atributos que aparecem sublinhadas nos esquemas
Produto(Pnome: string, Preco: float, Categoria: string, Fabricante: string)
Roberto Harkovsky, MSc
19
Atributos Chaves
algumas definições...
Superchave
Conjunto de um ou mais atributos que nos permite identificar inequivocamente uma tupla
Duas tuplas não podem ter a mesma superchave
A superchave pode conter atributos desnecessários. 
Por exemplo: A relação Pessoa pode ter como superchave 
Pessoa(CPF, Nome, endereço,....)
Superchaves possíveis
{CPF}
{CPF, nome}
{CPF, nome, Endereco}
Etc...
Roberto Harkovsky, MSc
20
20
Atributos Chaves
Chave
Superchave mínima
Pode existir mais de uma chave nesta condição: Chave Candidata
Chave Candidata
são as menores superchaves possíveis (cujos subconjuntos não sejam superchaves), 
EMPREGADO(ENOME, CPF, MAT, NDATA, ENDERECO, DEPNUM*)
Chaves.
 {CPF} e {MAT}
Roberto Harkovsky, MSc
21
21
Chave primária
Chave Primária -> Chave Candidata escolhida
Chave Primária é a chave que identificam exclusivamente cada registro em uma tabela 
é uma chave candidata que é mais apropriada para se tornar chave principal da tabela. 
Por convenção, ela aparece sublinhada num esquema
Roberto Harkovsky, MSc
sid
Nome
CR
101
Bob
7.2
123
Mary
8.8
Estudantes
cid
cnome
credito
564
Redes4
4
308
DB
2
Cursos
sid
cid
Grau
123
564
7,5
22
22
Chave Estrangeira
Uma chave estrangeira é um campo (ou conjunto de campos) em uma tabela que identifica unicamente uma linha de outra tabela ou na mesma mesa.
Roberto Harkovsky, MSc
sid
Nome
CR
101
Bob
7.2
123
Mary
8.8
Estudantes
cid
cnome
credito
564
Redes4
4
308
DB
2
Cursos
sid
cid
Grau
123
564
7,5
23
23
Suponha que temos o seguinte esquema:
Para estar matriculado em um curso (cid), um estudante (sid) deve aparecer na tabela matrícula;
Chave Estrangeira
exemplo
student_id por si só não é uma chave primaria – qual seria??
sid
nome
CR
101
Bob
3.2
123
Mary
9.8
student_id
cid
grau
123
564
9,0
123
537
7,5
Estudantes
Matricula
Dizemos que student_id é uma chave estrangeira que se refere a estudantes
(sid)
Estudante(sid: string, nome: string, CR: float)
Matricula(student_id: string, cid: string, grau: string)
Roberto Harkovsky, MSc
24
24
Chave Estrangeira
exemplos
PNome
Preco
Categoria
Fabricante
Gizmo
$19.99
Gadgets
GizmoWorks
Powergizmo
$29.99
Gadgets
GizmoWorks
SingleTouch
$149.99
Photography
Canon
MultiTouch
$203.99
Household
Hitachi
Produto
Companhia
CNome
PrecoAcao
Pais
GizmoWorks
25
USA
Canon
65
Japan
Hitachi
15
Japan
chave estrangeira vs. Chave Primaria?
Produto(PNome, Preco, Categoria, Fabricante)
Companhia(Cnome, PrecoAcao, Pais)
Roberto Harkovsky, MSc
25
25
Arquitetura funcional
Roberto Harkovsky, MSc
26
Arquitetura Funcional
A principal proposição do modelo relacional é que todos os dados são representados como relações matemáticas
um subconjunto do produto Cartesiano de n conjuntos. 
No modelo matemático (diferentemente do SQL), a análise dos dados é feita em uma lógica de predicados de dois valores (ou seja, sem o valor nulo); 
Existem apenas dois possíveis valores para uma proposição: verdadeira ou falsa. 
Os dados são tratados pelo cálculo relacional ou álgebra relacional. 
A linguagem padrão para os bancos de dados relacionais é o SQL (Structured Query Language)
Definição – DDL 
Manipulação – DML
Data Control Language – DCL
Transaçao – TCL
Roberto Harkovsky, MSc
27
27
Arquitetura Funcional 
Componentes
Roberto Harkovsky, MSc
28
28
Arquitetura Funcional 
Componentes
Roberto Harkovsky, MSc
A interação principal é através de comandos SQL
Armazena-se não somente dados, mas também índices, Logs, metadados
Processadores controladores internos fazem parte de um sistema chamado “Subsistema de armazenamento”
29
29
Arquitetura Funcional 
Componentes
Roberto Harkovsky, MSc
Base de dados do BD!
Contém informações sobre os BDs armazenados e sobre o ambiente
Utilizada pelo DBA para administração dos BDS e gerência do SGBD
Também conhecida como dicionário de dados ou catálogo
30
30
Arquitetura Funcional 
Componentes
Roberto Harkovsky, MSc
Otimização (heurística) de consultas
31
31
Arquitetura Funcional 
Componentes
Roberto Harkovsky, MSc
Tratamento da requisição da linguagem de alto nível, verificando a sintaxe e semântica com relação ao esquema estabelecido
Determinação do plano de acesso aos dados, indicando estruturas de armazenamentos e índices 
32
32
Arquitetura Funcional 
Componentes
Roberto Harkovsky, MSc
Controle de Transações
Tudo para o SGBD é uma transação
Uma consulta simples, uma atualização numa tupla são transações
Garante a consistência de dados com execução concorrente de múltipla transações
Simula multiprocessamento 
 Gerência de bloqueios
Responsáveis pelo Log do sistema e sua recuperação
33
33
Atividade 0
Instalação de um SGBD
Roberto Harkovsky, MSc
34
SQL
Otimizador
Processador de Consultas
Controlador de Concorrências
Controlador de Transação e Recuperação
SQL
Otimizador
Processador de Consultas
Controlador de Concorrências
Controlador de Transação e Recuperação
SQL
Otimizador
Processador de Consultas
Controlador de Concorrências
Controlador de Transação e Recuperação
SQL
Otimizador
Processador de Consultas
Controlador de Concorrências
Controlador de Transação e Recuperação
SQL
Otimizador
Processador de Consultas
Controlador de Concorrências
Controlador de Transação e Recuperação
SQL
Otimizador
Processador de Consultas
Controlador de Concorrências
Controlador de Transação e Recuperação

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais