SBD Gerenciamento de um Sistema de Banco de Dados

Propaganda
SBD
Gerenciamento de um Sistema de
Banco de Dados
Prof.
o Michel
c e Nobre
ob e Muza
u a
[email protected]
Prof. Marcos Antonio Viana Nascimento
Motivação
Por que é importante:
– Participar na organização e no acesso aos
bancos de dados meteorológicos.
• Você pode!
– Conhecer os fundamentos de estrutura de
banco de dados;
– Saber elaborar projetos de bancos de dados
de pequeno porte;
– Saber realizar consultas em banco de dados
utilizando a linguagem Sequency Quere
Language.
Dado e Informação
• Dado
– Fato do mundo real que está registrado e possui um significado
implícito no contexto de um domínio de aplicação
aplicação.
• Informação
–
Fato útil que pode ser extraído diretamente ou indiretamente a
partir dos dados.
• Ferramentas para Processamento de Dados
– Processadores de texto, Planilhas Eletrônicas, SGBD.
Banco de Dados
• Banco de Dados
– Coleção de dados inter-relacionados, representando
informações sobre um domínio específico.
específico
• Sistema de Banco de Dados
– Dados, Hardware, Software, Usuários.
• SGBD - Sistema Gerenciador de Banco de Dados
– Software com recursos específicos para facilitar a manipulação
das informações dos bancos de dados e o desenvolvimento de
programas aplicativos.
aplicativos
Gerenciamento dos dados
• Considere um simples Sistema para Controle de
Vendas
–
–
–
–
–
–
Persistência
Integridade
Concorrência
Segurança
Co pa t a e to
Compartilhamento
...
SGBD - Sistema de Gerenciamento
de Banco de Dados
• Objetivos
– Fornece a interface entre os dados de baixo nível armazenados
num banco de dados e os programas aplicativos ou as
solicitações submetidas ao sistema.
– Isolar os usuários dos detalhes mais internos do banco de
dados.
– Redução no esforço
f
de desenvolvimento.
SGBD - Sistema de Gerenciamento
de Banco de Dados
• Características Principais
– Controle de integridade: tanto de tipo de dado como de relação
entre tabelas;
– Concorrência: deve permitir a manipulação simultânea dos
dados do banco por diversos usuários;
– Controle de acesso: definição de permissões por usuário;
– Controle transacional: conjunto de operações que devem ser
executadas completamente;
– Múltiplas
ú
interfaces:
f
deve disponibilizar interface
f
para acesso
por diferentes tecnologias;
– Administração: Backup, Recuperação, etc;
SGBD - Sistema de Gerenciamento
de Banco de Dados
• Acesso ao BD Através do SGBD
Definição e Manipulação de
Dados
• Esquema do Banco de Dados
– É um projeto geral do banco de dados.
• Linguagem de Definição de Dados (DDL)
– Permite especificar
p
o esquema
q
do banco de dados, através de
um conjunto de definições de dados.
• Linguagem de Manipulação de Dados (DML)
– Permite manipular os dados, acessando-os pelo nível de
abstração mais alto do modelo de dados utilizado.
Modelo de Dados
• Definição
– Método de descrição dos dados, dos relacionamento entre os
mesmos e das restrições de consistência e integridade
integridade, de
maneira a permitir a compreensão da estrutura dos dados
armazenados e a sua manipulação.
• Tipos
–
–
–
–
Relacional
Objeto-relacional
Hierárquico
Outros
Modelo de Dados Relacional
• Tabelas
– Conjunto não ordenado de
linhas
– Cada linha é composta por
uma série de campos
– Cada campo é identificado
por um nome
Modelo
M d l de
d Dados
D d Relacional
R l i
l
• Chaves
– Conceito básico para identificar linhas e estabelecer relações
entre linhas de diferentes tabelas
– Chave Primária: coluna cujos valores distinguem uma linha das
demais dentro de uma tabela
– Chave Estrangeira: mecanismo que permite a implementação
de relacionamentos em um BDR
Modelo
M d l de
d Dados
D d Relacional
R l i
l
• Restrições de integridade
– Restrições de domínio
– Integridade de vazio
– Integridade de chave
– Integridade referencial
Projeto de Banco de Dados
• Fases do projeto
– Modelagem Conceitual
• Construção de um modelo conceitual
conceitual, na forma de um
diagrama entidade-relacionamento. Este modelo captura as
necessidades da organização em termos de armazenamento
de dados de forma independente de implementação
implementação.
– Modelagem Lógica
• Construção
C
de um modelo lógico
ó
pela transformação
f
do
modelo conceitual construído na primeira fase. O modelo
lógico define como o banco de dados será implementado em
um SGBD específico.
específico
Modelos de Banco de Dados
 Modelo Conceitual: não contém detalhes sobre a
representação em meio físico das informações;
 Modelo Lógico: descrição de como as
informações estão organizadas internamente
internamente,
visão do usuário do SGBD; e
 Modelo Físico: descreve os dados no nível mais
baixo (interno); trata dos aspectos de
implementação do SGBD.
MODELO CONCEITUAL
Dados Meteorológicos
N
LOTADO
1
Rede de Estações
Meteorológicas
Automáticas
MODELO LÓGICO (RELACIONAL)
MODELO FÍSICA RELACIONAL
ENTIDADE
(TABELA)
PCD MET
PCD_MET
ENTIDADE
REDE_PCD
codigo: INT(2), PRIMARY KEY, auto_increment, NOT NULL
pcd: VARCHAR(50), Foreign KEY, NOT NULL
data: INT(8) NULL
time: INT(2) NULL
prec: DECIMAL(5,1), NULL
temp: DECIMAL(4,1), NULL
ur: DECIMAL(4,1), NULL
rad: DECIMAL(6,2), NULL
... ...
Id rede: INT(2), PRIMARY KEY, auto_increment, NOT NULL
num_pcd: VARCHAR(40), NULL
Cidade: TEXT
Estado: TEXT
Lat: DECIMAL(4,1), NULL
Lon: DECIMAL(4,1), NULL
Tipo: TEXT
Descricao: TEXT
Status:: TEXT
Modelos de Banco de Dados
• Os três modelos lógicos mais conhecido
são:
M
Modelo
d l de
d Rede:
R d representado
t d por um conjunto
j t d
de
registros; sendo as relações através de ponteiros;
 Modelo Hierárquico: similar ao modelo de rede; a
diferença é gráfica, sendo os registros organizados
em árvores;
 Modelo Relacional: usa um conjunto de tabelas
para representar os dados, compostas por linhas e
colunas.
O que são Metadados?
S
d que d
São d
dados
descrevem
completamente os dados (bases) que
representam,
t
permitindo
iti d ao usuário
ái
decidir sobre a utilização desses dados
da melhor forma possí
possível.
el
São dados que permitem informar as
pessoas sobre
b a existência
i tê i d
de um
conjunto de dados ligados às suas
necessidades
id d específicas.
ífi
(ALMEIDA, 1998)
Esquemas de Metadados
1. Dado
2. Dado trabalhado
3 Coleção
3.
C l ã d
de d
dados
d
4. Software-dadosusuarios
5. Descricão dos dados
6 Tabelas
6.
7. Colunas
8. Linhas
9. Identificação
10.Ligação entre
entidades
11.Consistencias nos
dados
12.Pesquisar
Registros
Informacao
Banco de dados
SGBD
Metadado
Entidades
Campos
R i t
Registros
Chave primaria
Chave estrangeira
Integridade
Consultas
1. Dado
2. Dado trabalhado
3 Coleção
3.
C l ã d
de d
dados
d
4. Software-dadosusuarios
5. Descricão dos dados
6 Tabelas
6.
7. Colunas
8. Linhas
9. Identificação
10.Ligação entre
entidades
11.Consistencias nos
dados
12.Pesquisar
A. Chave estrangeira
B. Registros
g
C. Metadado
D Campos
D.
E. Banco de dados
F Integridade
F.
G. Consultas
H SGBD
H.
I. Informacao
J. Entidades
K. Registros
L. Chave primaria
Structured Query Language
• SQL
– Linguagem padrão para Acesso a SGBD Relacionais
• Recursos
R
– Manipulação de dados
– Definição
ç de bases de dados
• Formas de uso
– Interativamente
– Embutida
E b tid em lilinguagens d
de programação
ã
• Vantagens
– Utilização
ç padronizada
p
p
para diferentes SGBD
– Processamento no lado do Servidor
Structured Query Language
• Definição de Esquema de BD
– CREATE TABLE – criação de tabela
– DROP TABLE – exclusão de tabela
– ALTER TABLE – alteração de tabela
– CREATE INDEX – criação de índice
Structured Query Language
• Criação de tabela
CREATE TABLE meteoro
meteoro_pcd
pcd
(
cod_pcd INT NOT NULL,
descricao VARCHAR(32),
PRIMARY KEY (cod_pcd)
);

Exclusão de tabela
DROP TABLE meteoro_pcd;
Structured Query Language
• Alteração de tabela
ALTER TABLE meteoro_pcd
DROP COLUMN descricao;
ALTER TABLE meteoro_pcd
ADD COLUMN num_pcd
d INT
INT;
ALTER TABLE meteoro_pcd
meteoro pcd
MODIFY num_pcd BIGINT NOT NULL;
Structured Query Language
• Manipulação de Dados
–
–
–
–
–
INSERT – inserção de registros
UPDATE – atualização de registros
DELETE – exclusão de registros
SELECT – consulta tabela
TRANSACTION - transações
Structured Query Language
• Inserção
INSERT INTO num_pcd
num pcd VALUES (1,
(1 832298');

Alteração
UPDATE rede_pcd SET cidade = ‘Palhoça’
WHERE id_met = 1

Exclusão
DELETE FROM pcd_met
WHERE id_met = 1
Structured Query Language
• Consulta
– Básica
SELECT *
FROM pcd_met
– Condição
SELECT date
date, prec
FROM pcd_met
WHERE (prec >= 1.0)
and (date LIKE ‘2012%‘)
Structured Query Language
• Consulta
– Junção
ç ((INNER, LEFT, RIGHT))
SELECT p.descri Produto, i.qtde Quantidade
FROM itempedido
p
i,, p
produto p
WHERE (i.codpro = p.codpro) AND (i.codped = 2)
SELECT p.descri
p descri produto
produto, ii.qtde
qtde Quantidade
FROM itempedido i INNER JOIN produto p ON i.codpro = p.codpro
WHERE (i.codped = 2)
MODELO LÓGICO (RELACIONAL)
Structured Query Language
• Consulta
– Agrupamento
g p
e Agregação
g g ç ((COUNT, SUM, MIN, MAX,
AVG, GROUP BY...)
SELECT COUNT(cod) FROM pcd_met
p
GROUP BY datped
SELECT MAX(prec)
FROM pcd_met
– Ordenação (ORDER BY, DESC)
SELECT prec
p
FROM pcd_met
ORDER BY prec
Structured Query Language
• Consulta
– Operadores
p
Aritméticos ((+, -, *,/,...))
SELECT CONCAT('Produto: ', descri) descrição, (preco * 0.9) Preço
FROM pcd_met
– Consultas Aninhadas
SELECT descri Descrição
FROM pcd_met (SELECT MAX(preco) preco
FROM produto) mp
WHERE p.preco = mp.preco
Structured Query Language
• Transações
– Habilitar transações
START TRANSACTION;
INSERT INTO PEDIDO VALUES (1,1,'2006-10-20',NULL);
INSERT INTO ITEMPEDIDO VALUES (1,2,1);
INSERT INTO ITEMPEDIDO VALUES (1,4,1);
COMMIT;
– Transação
SET AUTOCOMMIT=0
MySql – MySql++
•
Visão Geral
–
Poderosa interface que permite acessar as diversas
funcionalidades do MySql
MySql.
–
A utilização é similar a maioria dos banco de dados:
1)
2)
3)
4)
–
Abrir
Ab
i a conexão;
ã
Criar e executar uma consulta;
Iterar sobre o conjunto de resultados;
R t
Retornar
ao passo 2
2.
Para o passo 2, você precisa decidir:
1)
2)
3)
Em quais entidades estão os dados requeridos, usar INNER
JOIN ou não;
É necessário usar as funções SUM ou AVG etc;
É necessário
á i alguma
l
condição
di ã d
depois
i d
do WHERE
WHERE;
REFERÊNCIAS
•
•
•
•
•
ALMEIDA, Luís Fernando Barbosa. A Metodologia de
Disseminação da Informação Geográfica e os
Metadados Tese de Doutorado.
Metadados.
Doutorado Centro de Ciências
Matemáticas e da Natureza – UFRJ. Rio de Janeiro,
1999.
DAY M
DAY,
M. Issues and approaches to preservation
metadata, 1998. Disponível em:
www.rlg.org/preserv/joint/day.html
DEMPSEY L
DEMPSEY,
L. and HEERY
HEERY, R
R. Metada: A Current View
of Practice and Issues. Journal of Documentation, v. 54,
n.2, march 1998.
HOWE, D., 1996, Free on-line
on line Dictionary of Computing
(FOLDOC), URL: http://wombat.doc.ic.ac.uk/
TAYLOR, Chris. An Introduction to Metadata. University
y Australia,, 1999. Disponível
p
em:
of Queensland Library.
www.library.uq.edu.au/iad/cteta4.html
Referências
•
•
•
Heuser, Carlos Alberto. Projeto de Banco de Dados,
4 ed., Livros Didáticos, Porto Alegre, 2001.
MySql – MySql Documentation, disponível em
www.mysql.org, acessado em 10/2006.
TangentSoft – Mysql++ Docs, disponível em
http://tangentsoft.net/mysql++, acessado em 10/2006.
Bibliografia
• SILBERSCHATZ, A; KORTH, H. Sistema de
banco de dados. São Paulo : Makron Books.
• HEUSER, C. A. Projeto de Banco de Dados.
Porto Alegre : Saggra Luzzato.
• DATE,
DATE C.
C JJ. Introdução
I t d ã a Sistemas
Si t
de
d Bancos
B
de Dados. Rio de Janeiro : Campus.
• SCHNEIDER,
SCHNEIDER M.P.,
M P 2004: INTEGRAÇÃO DE
BANCO DE DADOS Um Estudo de Caso.
Trabalho de conclusão de curso. UFL
Download