SGBD
Projeto BD MER
Profº MSc Paulo de Tarso
1
Roteiro
O que é um SGBD ? Para que serve?
Arquitetura Básica
Modelo de Dados
Projeto BD
MER
Entidades
Atributos
Relacionamentos
2
SGBD – o que é isso ?
SGBD = Sistema Gerenciador de Banco de Dados (Database Management System)
Um software sofisticado para:
Armazenar dados de forma eficiente
Consultar dados obtendo respostas rápidas
Modificar dados concorrentemente.
3
SGBDs – Para que servem?
Quantidades gigantescas de dados são coletados e armazenados em empresas, corporações, etc
Dados de comércio eletrônico,
Dados de navegação na internet
Dados de compras de clientes em grandes lojas de departamentos, supermercados,
Dados de transações bancárias, ou de cartão de crédito
4
SGBDs – Para que servem?
Dados coletados e armazenados a velocidades enormes (GB/hora)
Sensores remotos em satélites
Telescópios
Microarrays gerando dados de expressões de genes
Simulações científicas gerando terabytes de dados.
Ponto de Vista Cientifico : Medicina, Biologia, Engenharia
5
SGBD: Contextos em que são utilizados
SGBDs são utilizados para manipular grandes volumes de dados:
Dados sobre empregados – alunos – contas bancárias – dados climatológicos, dados geológicos, etc.
Atualmente, a área de Banco de Dados abrange todas os diversos tipos de dados em larga
escala, envolvendo tecnologia sofisticada:
Busca na internet
Mineração de Dados (Data Mining).
Banco de Dados Científicos e Medicais.
Integração de Informação.
6
Ainda mais …
Você pode não notar, mas Bancos de Dados estão por trás de tudo o que você faz na Internet:
Buscas no Google
Compras nos sites da Amazon, do Mercado Livre, etc
Um SGBD permite que consultas aos dados sejam respondidas de forma correta e rapidamente.
7
Mais ainda…
Os SGBDs permitem a realização no banco de dados de diversas atividades (transações) por diferentes usuários
“simultaneamente”
Possuem mecanismos que permitem não confundir as diferentes ações: por exemplo, duas reservas
simultâneas para o mesmo assento num determinado vôo.
8
Mais ainda...
Um SGBD tem mecanismos para “esconder” certas partes do banco de dados de certos usuários.
9
Arquitetura Básica
PROCESSADOR DE CONSULTAS
GERENCIADOR DE ARMAZENAMENTO
Disco de
Armazenagem
DADOS METADADOS
GERENCIADOR DE TRANSAÇÕES Usuário
consulta
10
O que é um Modelo de Dados
1. Uma representação matemática dos dados.
Exemplos de Modelos
Modelo Relacional: dados são reprentados por Relações (ou Tabelas)
Modelo Conceitual = registram os dados que podem aparecer no banco.
2. Operações permitindo manipular dados.
3. Restrições nos dados.
11
Esquemas
Esquema de Relação = nome da relação + lista de atributos.
Opcionalmente: tipos dos atributos.
Exemplo:
Cerveja(nome, fabr) ou
Cerveja(nome: string, fabr: string)
Banco de Dados = coleção de relações.
Esquema de Banco de Dados = conjunto de todos os esquemas de relação em um banco de dados.
12
Quem são as pessoas que lidam com SGBDs ?
Implementadores de SGBDs
Trabalham para companhias que fabricam os SGBDs – IBM, Oracle, etc
Programadores de Aplicativos
Escrevem pacores de programas que facilitam a vida dos usuários finais. Não interferem com a parte física dos dados. Utilizam apenas o esquema externo.
Administradores de Banco de Dados (DBA)
Projetam os esquemas conceituais e fisicos dos dados
Projetam grande parte do esquema externo.
Segurança e autorização
Usuários finais
Vem de diversas áreas- na maioria são leigos em tecnologia de BD
Utilizam aplicativos escritos por programadores de aplicativos de BD
Existem usuários mais sofisticados que escrevem suas próprias consultas em SQL.
13
Modelagem Conceitual
É uma descrição de banco de dados de forma independente de implementação num sistema de gerenciamento.
Registra QUE dados podem aparecer no banco, mas não registra COMO estes dados estão armazenados no SGBD.
14
Modelagem Conceitual
Exemplo de um modelo conceitual textual:
1. Cadastro de Clientes - Dados necessários: nome completo, tipo de pessoa (física ou jurídida), endereço, bairro, cidade, estado, telefone, email, nome de contato.
2. Pedido – Dados necessários: código do produto, quantidade, código do cliente, código do vendedor
15
Exercício
Descreva um modelo conceitual para armazenar os dados de livros.
16
Exercício
Descreva um modelo conceitual para armazenar os dados de livros.
Resposta (provável):
Cadastro de Livros: Titulo, subtítulo, autor, editora, número de páginas, preço de compra, já foi lido, ISBN, número de páginas, ano de publicação, número da edição...
17
Modelagem Lógica
Compreende uma descrição das estruturas que serão armazenadas no banco e que resulta numa representação gráfica dos dados de uma maneira lógica, inclusive nomeando os componentes e ações que exercem uns sobre os outros.
18
Modelagem Lógica
19
Modelagem Lógica
20
O modelo lógico também pode ser representado assim:
TipoDeProduto (CodTipoProd, DescrTipoProd)
Produto (CodProd, DescrProd, PrecoProd, CodTipoProd) CodTipoProd referencia TipoDeProduto
Modelo Entidade-Relacionamento
21
Entidade – é um objeto ou evento do mundo real sobre o qual desejamos manter um registro. Ex.: Aluno, Carro, Produto, Vendedor, etc.
Modelo Entidade-Relacionamento
22
Atributo – é uma propriedade ou característica que descreve uma entidade. Também é chamado de campo.
Ex.: Atributos da entidade ALUNO: nome, data de nascimento, telefone, endereço, etc.
Modelo Entidade-Relacionamento
23
Atributo Chave – é um atributo que deve possuir um valor único em todo o conjunto de entidades. Este atributo é usado para identificar unicamente um registro da tabela.
Ex.: Matrícula, CPF, código, Renavam, Chassi...
Diferenciamos um atributo chave dos demais atributos colocando um * (asterisco) antes do nome do atributo ou sublinhando este.
Modelo Entidade-Relacionamento
24
Representamos uma entidade nos diagramas E-R através de um retângulo.
Exercício
Escreva as Entidades e Atributos necessários para que se tenha um sistema de controle de matrícula.
25
Relacionamentos
No mundo real as entidades nunca estão sozinhas;
normalmente estão associadas entre si.
Reconhecer e registrar as associações entre entidades fornece uma descrição muito mais rica do ambiente.
26
Grau do Relacionamento
Grau do relacionamento – é a quantidade de entidades que estão ligadas ao relacionamento.
Relacionamento unário (grau 1) – uma entidade se relaciona com ela mesma.
27
Grau do Relacionamento
Relacionamento binário (grau 2) – é um relacionamento que liga dois tipos diferentes de entidades. É o mais comum dos tipos de relacionamentos.
28
Grau do Relacionamento
Relacionamento ternário (grau 3) – é um relacionamento em que três entidades estão interligadas por um mesmo relacionamento.
29
Referências Bibliográficas
Relacionamento – é uma relação entre uma, duas ou várias entidades. Geralmente associamos através da ação (verbo) entre as entidades.
Ex.:
Pai – possui – Filho
Cliente – realiza – Pedido
Vendedor – vende – Produto
30