Вы находитесь на странице: 1из 41

SBD

Gerenciamento de um Sistema de
Banco de Dados

Prof. Michel Nobre Muza


michel.muza@ifsc.edu.br

Agradecimentos ao Prof. Marcos Antonio Viana Nascimento

Motivao
Por que importante:
Participar na organizao e no acesso aos
bancos de dados meteorolgicos.

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 Informao

Dado
Fato do mundo real que est registrado e possui um significado
implcito no contexto de um domnio de aplicao.

Informao

Fato til que pode ser extrado diretamente ou indiretamente a


partir dos dados.

Ferramentas para Processamento de Dados


Processadores de texto, Planilhas Eletrnicas, SGBD.

Banco de Dados

Banco de Dados
Coleo de dados inter-relacionados, representando
informaes sobre um domnio especfico.

Sistema de Banco de Dados


Dados, Hardware, Software, Usurios.

SGBD - Sistema Gerenciador de Banco de Dados


Software com recursos especficos para facilitar a manipulao
das informaes dos bancos de dados e o desenvolvimento de
programas aplicativos.

Gerenciamento dos dados

Considere um simples Sistema para Controle de


Vendas

Persistncia
Integridade
Concorrncia
Segurana
Compartilhamento
...

SGBD - Sistema de Gerenciamento


de Banco de Dados
Objetivos
Fornece a interface entre os dados de baixo nvel armazenados
num banco de dados e os programas aplicativos ou as
solicitaes submetidas ao sistema.
Isolar os usurios dos detalhes mais internos do banco de
dados.
Reduo no esforo de desenvolvimento.

SGBD - Sistema de Gerenciamento


de Banco de Dados
Caractersticas Principais
Controle de integridade: tanto de tipo de dado como de relao
entre tabelas;
Concorrncia: deve permitir a manipulao simultnea dos
dados do banco por diversos usurios;
Controle de acesso: definio de permisses por usurio;
Controle transacional: conjunto de operaes que devem ser
executadas completamente;
Mltiplas interfaces: deve disponibilizar interface para acesso
por diferentes tecnologias;
Administrao: Backup, Recuperao, etc;

SGBD - Sistema de Gerenciamento


de Banco de Dados
Acesso ao BD Atravs do SGBD

Definio e Manipulao de
Dados
Esquema do Banco de Dados
um projeto geral do banco de dados.

Linguagem de Definio de Dados (DDL)


Permite especificar o esquema do banco de dados, atravs de
um conjunto de definies de dados.

Linguagem de Manipulao de Dados (DML)


Permite manipular os dados, acessando-os pelo nvel de
abstrao mais alto do modelo de dados utilizado.

Modelo de Dados
Definio
Mtodo de descrio dos dados, dos relacionamento entre os
mesmos e das restries de consistncia e integridade, de
maneira a permitir a compreenso da estrutura dos dados
armazenados e a sua manipulao.

Tipos

Relacional
Objeto-relacional
Hierrquico
Outros

Modelo de Dados Relacional


Tabelas ou entidades
Conjunto no ordenado de
linhas
Cada linha composta por
uma srie de campos
Cada campo identificado
por um nome

Modelo de Dados Relacional


Chaves
Conceito bsico para identificar linhas e estabelecer relaes
entre linhas de diferentes tabelas
Chave Primria: coluna cujos valores distinguem uma linha das
demais dentro de uma tabela
Chave Estrangeira: mecanismo que permite a implementao
de relacionamentos em um Banco de Dados Relacional

Modelo de Dados Relacional


Restries de integridade
Restries de domnio (UR entre 0 e 100 %)
Integridade de vazio (null, not null)
Integridade de chave ou entidades (primria, estrangeira, nica)
Integridade referencial (no registra dados met., se no registrar a
estao meteorolgica)

Projeto de Banco de Dados


Fases do projeto
Modelagem Conceitual
Construo de um modelo conceitual, na forma de um
diagrama entidade-relacionamento. Este modelo captura as
necessidades da organizao em termos de
armazenamento de dados de forma independente de
implementao.
Modelagem Lgica
Construo de um modelo lgico pela transformao do
modelo conceitual construdo na primeira fase. O modelo
lgico define como o banco de dados ser implementado em
um SGBD especfico.

Modelos de Banco de Dados


Modelo Conceitual: no contm detalhes sobre a
representao em meio fsico das informaes;
Modelo Lgico: descrio de como as
informaes esto organizadas internamente,
viso do usurio do SGBD; e
Modelo Fsico: descreve os dados no nvel mais
baixo (interno); trata dos aspectos de
implementao do SGBD.

MODELO CONCEITUAL

Dados Meteorolgicos

LOTADO

Rede de Estaes
Meteorolgicas
Automticas

MODELO LGICO (RELACIONAL)

MODELO FSICA RELACIONAL

ENTIDADE
(TABELA)
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 trs modelos lgicos mais conhecido


so:
Modelo de Rede: representado por um conjunto de
registros; sendo as relaes atravs de ponteiros;
Modelo Hierrquico: similar ao modelo de rede; a
diferena grfica, sendo os registros organizados
em rvores;
Modelo Relacional: usa um conjunto de tabelas
para representar os dados, compostas por linhas e
colunas.

O que so Metadados?

So dados que descrevem


completamente os dados (bases) que
representam, permitindo ao usurio
decidir sobre a utilizao desses dados
da melhor forma possvel.
So dados que permitem informar as
pessoas sobre a existncia de um
conjunto de dados ligados s suas
necessidades especficas.
(ALMEIDA, 1998)

Esquemas de Metadados

1. Dado
2. Dado trabalhado
3. Coleo de dados
4. Software-dadosusuarios
5. Descrico dos dados
6. Tabelas
7. Colunas
8. Linhas
9. Identificao
10.Ligao entre
entidades
11.Consistencias nos
dados
12.Pesquisar

A. Chave estrangeira
B. Registros
C. Metadado
D. Campos
E. Banco de dados
F. Integridade
G. Consultas
H. SGBD
I. Informacao
J. Entidades
K. Registros
L. Chave primaria

1. Dado
2. Dado trabalhado
3. Coleo de dados
4. Software-dadosusuarios
5. Descrico dos dados
6. Tabelas
7. Colunas
8. Linhas
9. Identificao
10.Ligao entre
entidades
11.Consistencias nos
dados
12.Pesquisar

Registros
Informacao
Banco de dados
SGBD
Metadado
Entidades
Campos
Registros
Chave primaria
Chave estrangeira
Integridade
Consultas

Structured Query Language


SQL
Linguagem padro para Acesso a SGBD Relacionais

Recursos
Manipulao de dados
Definio de bases de dados

Formas de uso
Interativamente
Embutida em linguagens de programao

Vantagens
Utilizao padronizada para diferentes SGBD
Processamento no lado do Servidor

Structured Query Language


Definio de Esquema de BD
CREATE TABLE criao de tabela
DROP TABLE excluso de tabela
ALTER TABLE alterao de tabela
CREATE INDEX criao de ndice

Structured Query Language


Criao de tabela
CREATE TABLE meteoro_pcd
(
cod_pcd INT NOT NULL,
descricao VARCHAR(32),
PRIMARY KEY (cod_pcd)
);

Excluso de tabela
DROP TABLE meteoro_pcd;

Structured Query Language


Alterao de tabela
ALTER TABLE meteoro_pcd
DROP COLUMN descricao;
ALTER TABLE meteoro_pcd
ADD COLUMN num_pcd INT;
ALTER TABLE meteoro_pcd
MODIFY num_pcd BIGINT NOT NULL;

Structured Query Language


Manipulao de Dados

INSERT insero de registros


UPDATE atualizao de registros
DELETE excluso de registros
SELECT consulta tabela
TRANSACTION - transaes

Structured Query Language


Insero
INSERT INTO num_pcd VALUES (1, 832298');

Alterao
UPDATE rede_pcd SET cidade = Palhoa
WHERE id_met = 1

Excluso
DELETE FROM pcd_met
WHERE id_met = 1

Structured Query Language


Consulta
Bsica
SELECT *
FROM pcd_met

Condio
SELECT date, prec
FROM pcd_met
WHERE (prec >= 1.0)
and (date LIKE 2012%)

Structured Query Language


Consulta
Juno (INNER, LEFT, RIGHT)
SELECT p.descri Produto, i.qtde Quantidade
FROM itempedido i, produto p
WHERE (i.codpro = p.codpro) AND (i.codped = 2)
SELECT p.descri produto, i.qtde Quantidade
FROM itempedido i INNER JOIN produto p ON i.codpro = p.codpro
WHERE (i.codped = 2)

MODELO LGICO (RELACIONAL)

Structured Query Language


Consulta
Agrupamento e Agregao (COUNT, SUM, MIN, MAX,
AVG, GROUP BY...)
SELECT COUNT(cod) FROM pcd_met
GROUP BY datped
SELECT MAX(prec)
FROM pcd_met

Ordenao (ORDER BY, DESC)


SELECT prec
FROM pcd_met
ORDER BY prec

Structured Query Language


Consulta
Operadores Aritmticos (+, -, *,/,...)
SELECT CONCAT('Produto: ', descri) descrio, (preco * 0.9) Preo
FROM pcd_met
Ex: 100/10 5, 100/(10 5), 100/10*5, 100+10*5

Consultas Aninhadas
SELECT descri Descrio
FROM pcd_met (SELECT MAX(preco) preco
FROM produto) mp
WHERE p.preco = mp.preco

Structured Query Language


Transaes
Habilitar transaes
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;

Transao
SET AUTOCOMMIT=0

MySql MySql++

Viso Geral

Poderosa interface que permite acessar as diversas


funcionalidades do MySql.

A utilizao similar a maioria dos banco de dados:


1)
2)
3)
4)

Abrir a conexo;
Criar e executar uma consulta;
Iterar sobre o conjunto de resultados;
Retornar ao passo 2.

Para o passo 2, voc precisa decidir:


1)
2)
3)

Em quais entidades esto os dados requeridos, usar INNER


JOIN ou no;
necessrio usar as funes SUM ou AVG etc;
necessrio alguma condio depois do WHERE;

REFERNCIAS

ALMEIDA, Lus Fernando Barbosa. A Metodologia de


Disseminao da Informao Geogrfica e os Metadados.
Tese de Doutorado. Centro de Cincias Matemticas e da
Natureza UFRJ. Rio de Janeiro, 1999.
DAY, M. Issues and approaches to preservation metadata,
1998. Disponvel em: www.rlg.org/preserv/joint/day.html
DEMPSEY, L. and HEERY, R. Metada: A Current View of
Practice and Issues. Journal of Documentation, v. 54, n.2,
march 1998.
HOWE, D., 1996, Free on-line Dictionary of Computing
(FOLDOC), URL: http://wombat.doc.ic.ac.uk/
TAYLOR, Chris. An Introduction to Metadata. University of
Queensland Library. Australia, 1999. Disponvel em:
www.library.uq.edu.au/iad/cteta4.html

Referncias

Heuser, Carlos Alberto. Projeto de Banco de Dados,


4 ed., Livros Didticos, Porto Alegre, 2001.
MySql MySql Documentation, disponvel em
www.mysql.org, acessado em 10/2006.
TangentSoft Mysql++ Docs, disponvel em
http://tangentsoft.net/mysql++, acessado em 10/2006.

Bibliografia
SILBERSCHATZ, A; KORTH, H. Sistema de
banco de dados. So Paulo : Makron Books.
HEUSER, C. A. Projeto de Banco de Dados.
Porto Alegre : Saggra Luzzato.
DATE, C. J. Introduo a Sistemas de Bancos
de Dados. Rio de Janeiro : Campus.
SCHNEIDER, M.P., 2004: INTEGRAO DE
BANCO DE DADOS Um Estudo de Caso.
Trabalho de concluso de curso. UFL