Escolar Documentos
Profissional Documentos
Cultura Documentos
Contedo
Banco de Dados BD Sistema de Gerenciamento de Bancos de Dados SGBD Sistema de Bancos de Dados SBD Arquitetura de um SBD Projeto de Bancos de Dados A Linguagem SQL Structured Query Language
Banco de Dados BD
Definio
Um Banco de Dados ou Base de Dados uma coleo de dados (fatos conhecidos) logicamente relacionados, com algum significado.
Propriedades
Associaes aleatrias de dados no podem ser chamadas de BD; Um BD projetado, construdo e preenchido com dados para um propsito especfico.
tem um grupo de usurios e algumas aplicaes para atender esses usurios;
Um BD representa algum aspecto do mundo real, conhecido como Mini-Mundo ou Universo de Discurso.
mudanas no Mini-Mundo provocam mudanas no BD.
...
Aplicativon
Arquivo
...
Aplicativon
Arquivo
Capacidades bsicas
Compartilhamento de Dados controle de concorrncia; Restries de Acesso Multiusurio; Reforo de Restries de Integridade tipos de dados, relacionamentos; Fornecimento de Backup e Recovery no caso de falhas de hardware e software.
SBD
Programas de Aplicao/Consultas
SGBD
Software para processo (Programas/Consultas)
Banco de Dados
Projetistas do BD:
identifica os dados a serem armazenados no BD; escolhe estruturas apropriadas para representar e armazenar os dados.
Usurios Finais:
acessam o BD para consultar, modificar dados e gerar relatrios.
Arquitetura de um SBD
Um SBD composto por trs partes:
Interface com o usurio:
valida as solicitaes dos usurios; inicia operaes em uma BD de acordo com as solicitaes.
Mecanismo de acesso:
manuteno das estruturas de dados das BDs; acesso aos dados; manuteno da integridade dos dados.
Armazenamento de dados:
arquivos que contm os dados em si (BDs).
De acordo com essas trs partes, duas arquiteturas so possveis para um SBD:
Desktop Cliente-Servidor
Arquitetura de um SBD
Arquitetura Desktop
Considerando um ambiente de rede (dados armazenados em um servidor na rede e podem ser compartilhados):
Aplicativo1
BD1
...
Aplicativon
...
BDm
Todos os dados sero trazidos pela rede, inclusive os que no sero utilizados
Armazenamento de Dados
Arquitetura de um SBD
Arquitetura Cliente-Servidor
Considerando um ambiente de rede (dados armazenados em um servidor na rede e podem ser compartilhados):
C++ Builder JAVA Delphi Visual Basic, etc Aplicativo1 SQL Server Sybase Oracle, etc
BD1
...
Aplicativon Interface com o Usurio
S G B D
...
BDm
Usurio
Servidor
Cliente (front-end)
Servidor (back-end)
Requisitos de Dados
Requisitos Funcionais
Projeto Conceitual
Projeto Lgico
Especfico do SGBD
CE
CR
Funcionrio
trabalha
Trabalhar
Departamento
tem
pr-requisito de
Disciplina
pr-requisita
Prrequisitar
Monitorar
monitorada por
Disciplina
supervisiona
compra
Professor
Empresa
assessora vendida
Promover venda
compra
Empresa
vende
Negociar
negociado
Produto
a2 a3 a4
Exemplo: Funcionrio 1
gerencia
Gerenciar
1
gerenciado por
Departamento
b5 b6
Exemplo: Funcionrio 1
possui
Possuir
N
depende de
Dependente
a5 a6
a2 a3 a4
b5 b6
Projeto
Monitorar
Disciplina
Professor
CE
CR
CE
Matricular
nota
Disciplina
sigla nome num_creditos
Chave composta:
Turma
sigla periodo sala
detalhar
abstrair
objeto detalhe
CEg
especializar
generalizar (-um)
Especfico
Propriedade: Herana
CEe1
...
CEen
Possuir
Pessoa
RG nome idade
Aluno
Professor
1
Funcionrio
nfuncional
Quando usar? 1o. Caso: quando certos atributos podem ser aplicados somente a algumas entidades da superclasse. 2o. Caso: quando algum CR pode estar relacionando apenas algumas entidades da superclasse.
ra N
Orientar
M
referncia rea_pesquisa
Ministrar
N
Disciplina
CEg
CEg
CEe1
...
CEen
CEe1
...
CEen
CEg
CEg
CEe1
...
CEen
CEe1
...
CEen
separar
CR AG
Parte
Propriedade: Identificao
Quando usar? 1o. Caso: quando necessita-se representar relacionamentos entre relacionamentos.
Usar
Mquina
Vendedor
Produto
Vender Venda
Chave Prpria
Cliente
Produto
Vendedor
Vender Venda
data+ valor
Vender Venda
Chave Adicional
Cliente
Cliente
Exemplo:
Empregado = {NomeEmp, NumEmp, Salario, Depto}
Informalmente: Relao -> Tabela; Atributos -> Colunas; Tuplas -> Linhas ou Registros.
Empregado
NomeEmp NumEmp Salario R$ 750.00 R$ 480.00 R$ 680.00 Josu Silva Reis 123.456.789 375.758.395 475.858.595 21 25 23
atributos
Depto
Nome da relao
tuplas
r(Departamento) = {<null, Pessoal, 142>, <23, Financeiro, 144>, <25, Compras, 156>}
r(Empregado) = {<1234, Josu, 750.00, 23>, <4567, Silva, 480.00, null>, <1234, Reis, 680.00, 21>, <1112, Santos, 250.00, 23>}
cliente = {login, senha, nome, rg, endereo} obras_literrias = {codobra, nome, editora, preo, tipo, login_vendedor, data} login_vendedor chave estrangeira referenciando cliente livro = {codobra, ISBN, autor} codobra chave estrangeira referenciando obras_literrias peridico = {codobra, nmero, volume} codobra chave estrangeira referenciando obras_literrias compra = {codcompra, data, comisso, login_comprador, codobra} login_comprador chave estrangeira referenciando cliente codobra chave estrangeira referenciando obras_literrias
Vender
data
Obras Literrias
1 Comprar Compra
codcompra data comisso
Livro
ISBN autor
Peridico
nmero volume
Query Language
Linguagem padro dos SGBDs Relacionais; Padronizada inicialmente pela ANSI (American National Standards Institute) e posteriormente tambm pela ISO (International Standards Organization):
Em 1986 primeiro padro ANSI SQL-86 (posteriormente adotado tambm pela ISO em 1987); SQL-89 e SQL-92 atualizaes da SQL-86; Em 1999 SQL:1999 ou SQL3 padro para os BDs Objeto-Relacionais; Em 2003 SQL:2003 introduz caractersticas relacionadas a linguagem XML (eXtensible Markup Language); Em 2006 SQL:2006 define meios de utilizao de SQL em conjunto com XML; mais recente verso SQL:2008.
Query Language
Divide-se em trs componentes principais:
Linguagem de Definio de Dados (Data Definition Language DDL): permite a definio da estrutura do BD e a criao, alterao e eliminao dos objetos do BD (tabelas, ndices, vises, regras, stored procedures, triggers); Linguagem de Manipulao de Dados (Data Manipulation Language DML): suporta a manipulao dos dados armazenados nas tabelas do BD insero, consulta, eliminao e alterao; Linguagem de Controle de Dados (Data Control Language DCL): envolve comandos para o controle de privilgios de acesso aos dados, segurana e administrao do BD (cadastramento de usurios/grupos, atribuio de permisses, backup e recovery, configuraes, etc).
Bibliografia
ELMASRI, R.; NAVATHE, S. B., Sistemas de banco de dados. 4 ed., Prentice-Hall, 2005. SILBERSCHATZ, A. KORTH, H. F. e SUDARSHAN, S.; Sistema de banco de dados. 5 ed., Campus Elsevier, 2006. DATE, C. J., Introduo a sistemas de bancos de dados. 8 ed., Campus - Elsevier, 2005.