Centro Universitário
Anhanguera de Niterói
Modelagem de Dados
- Conceitos Fundamentais de SGBD
- Modelo de Dados
O que é um Banco de Dados
Uma coleção de dados organizados, estruturados e
interelacionados logicamente
Ex: Nome, CPF, Data de nascimento, Telefone...
Representa algum aspecto do mundo real, também
chamado de mini-mundo
Um BD pode ser gerado e mantido manualmente ou
pode ser informatizado; além disto pode ter tamanho e
complexidade variáveis
Agenda telefônica, Padaria, Companhia aérea.
O que é um Banco de Dados
Existe um conjunto de usuários e um conjunto de
aplicações utilizadas pelos usuários
Um BD é projetado, construído e manipulado com
dados para um propósito específico.
Projeto: representação do mini-mundo em vários níveis de
abstração
Construção: definição da estrutura do Banco de Dados
Manipulação: manipulação dos dados do Banco de Dados
usando operações de inserção, busca ou atualização
Dados x Informação
Dados: Unidade única de informação. Um fato que
pode ser armazenado
Ex: nome, endereço, e-mail...
Informação: Conjunto organizado de dados, que provê
algum significado para um usuário ou aplicação em
algum contexto
Ex: o contato de uma pessoa em uma agenda.
Antigamente...
Antigamente, as aplicações de banco de dados eram
construídas diretamente sobre os sistemas de arquivo.
Problemas do ambiente de arquivos tradicional
Redundância de dados
Dependência programa-dados
Dificuldade de acessar os dados
Falta de flexibilidade
Baixo nível de segurança
Falta de compartilhamento e disponibilidade dos dados (dados isolados e
separados em diferentes arquivos)
Acesso concorrente por vários usuários
Problemas com atualizações parciais
Vantagens de SGBD
Dados integrados e compartilhados
Menos duplicação de dados. Evita a redundância.
Acesso concorrente por vários usuários
Independência de dados (programa de aplicação-BD)
Facilidades para realizar consultas
Uma vez integrados e estruturados, o SGBD provê linguagens genéricas
de alto nível com flexibilidade para consultas
Ex: Que tipos de serviços foram realizados para um determinado cliente
e quem o recomendou ?
Representação simplificada
Podemos imaginar inicialmente um Banco de Dados como
uma coleção de linhas e colunas, onde são armazenados
os dados
Na primeira linha são representados os nomes das colunas
A partir da segunda linha os dados são apresentados
Representação simplificada
Em um Banco de Dados real, a primeira linha (contendo os
nomes da colunas) está em um arquivo separado dos
dados, chamado metadados, nele estão definidos o
identificados e o tipo de dado que será armazenado.
A tabela anterior pode ser dividida em duas outras tabelas.
A tabela já apresentada, que contém os dados ou registros.
E a tabela com os metadados, conforme abaixo.
Tipos básicos
Varchar(N): cadeia de caracteres
N varia de 1 a 255 caracteres
Char: caracter
Integer: números inteiros
Float: números reais
Bool/Boolean: boleanos
Também pode ser armazenado na forma de Bit(0/1)
Datetime: data e hora
Text: textos com ate 65365 caracteres
Blob: Binary Large Object. Normalmente utilizado para guardar
imagens
Definições Básicas
Alguns termos típicos:
* Dados - fatos que podem ser armazenados. Ex: nomes,
telefones, endereços
* Base de dados - coleção de dados interrelacionados
logicamente. Ex: pedido de serviço
* Sistema de Gerência de Bases de Dados (SGBD) - coleção
de programas que permite a criação e gerência de bases de
dados ou Sistema de Banco de Dados
* Banco de Dados – nome genérico para: o software SGBD, a
base de dados e às vezes os programas aplicativos, todos
combinados ou isolados.
SGBD - Sistema Gerência de Bases de Dados
Usuários
Programas de Aplicação/Consultas
SGBD
Software para
Software
processar consultas
Software para
acessar dados armaz.
Meta-Dados Base de Dados
Armazenado Armazenada
Função básica do SGBD
Simplificar o desenvolvimento de aplicações
caracterizadas por uso intensivo de DADOS
COMO?
Provendo serviços que diminuem o tempo de
desenvolvimento
Através de ferramentas o usuário pode:
realizar entrada de dados
examinar dados
manipular dados de acordo com a aplicação
Funções do SGBD
Construir ou Carregar a Base de Dados Processamento Concorrente
no armaz secundário e Compartilhamento
Gerência
Controles
de Operacionais
dados
Manipular a Base de Dados
SGBD
Modelagem
Usuários
de
Definir a Base de Dados dados
Funções Típicas do SGBD
Definir a Base de Dados: em termos de tipos de dados,
estruturas e restrições
Construir ou Carregar a Base de Dados num meio de
armazenamento secundário
Manipular da Base de Dados: consulta, geração de
relatórios, inserção, remoção e modificação do seu
conteúdo
Processamento Concorrente e Compartilhamento
por um conjunto de:
usuários e programas, porém mantendo todos os dados válidos e
consistentes
Funções Típicas do SGBD
Outras Características:
Medidas de Proteção e Segurança para prevenir acesso não
autorizado
Processamento “Ativo” para promover ações internas sobre
os dados
Apresentação e Visualização dos dados
Exemplos de SGBD
Microsoft SQL Server
MySQL
PostgreSQL
Oracle
Firebird
Operações básicas de um SGBD
Inserção (Insert): inserir novas linhas em uma tabela
Edição (Update): alterar uma ou mais informações
previamente armazenadas em uma tabela, dada
determinada condição
Exclusão (Delete): remoção de uma ou mais linhas de uma
tabela dada uma determinada condição
Busca (Query/Select): localização de uma ou mais linhas de
uma tabela, dada uma determinada condição
Profissionais envolvidos
Administrador do Banco de Dados (DBA)
Responsável por autorizar o acesso ao banco de dados, por
coordenar e monitorar sua utilização e pela segurança e
desempenho do sistema.
Projetista do Banco de Dados (DB Designer)
Identifica os dados a serem armazenados, escolhe estruturas
apropriadas para representar e armazenar tais dados.
Analista / Programador de Aplicação
Define e projeta a informatização da aplicação, incluindo seu
conjunto de programas. Utiliza os esquemas conceituais e lógicos
do BD
Usuários envolvidos
Usuário ocasional
Acessa ocasionalmente o SGBD, mas pode necessitar de
diferentes informações por vez. Escreve suas consultas
diretamente em linguagem de consulta.
Usuário comum
Acessa o SGBD para incluir novos dados e consultar dados
armazenados através de procedimentos padrão.
Ex: caixa de banco; atendentes de companhias aéreas
Programa de aplicação
Qual o papel da sua aplicação?
Realiza as funções da aplicação
Ex: Cálculo do consumo mensal de energia elétrica, a partir de
dados de leitura dos medidores
Garante as restrições de integridade (constraints) que não
podem ser controladas pelo SGBD
Implementa interface e relatórios específicos
Ex: Emissão de estoque de produtos
Acessa as informações através do SGBD para consulta e
atualização dos dados da aplicação
Modelo de Dados
Levantamento de Requisitos
Mini-Mundo
Modelo Conceitual Modelo Entidade-Relacionamento
Modelo Lógico Modelo Relacional
Modelo Físico Implementação específica para um SGBD
Modelo Conceitual de Dados
Modelo de mais alto nível que descreve as estruturas de
um BD, independente da tecnologia
Utiliza conceitos de entidades, atributos, relacionamentos
Entidade: objetos ou conceitos do mundo real. Ex: Funcionários,
produtos
Atributos: propriedade de interesse relacionada a entidade. Ex: nome e
salário do funcionário
Relacionamento: interação entre entidades. Ex: relacionamento entre
funcionários e projetos
Ex: Modelo Entidade-Relacionamento
Modelo Lógico de Dados
Provê conceitos que podem ser entendidos pelos usuários finais
do sistema
Estão próximos da forma como os dados são fisicamente
armazenados
Modelo Relacional
Criado na década de 70 e utilizado pela maioria dos SGBDs
Coleção de tabelas representando dados e relacionamentos
entre estes dados
Modelo Físico de Dados
Implementação para um SGBD específico
Levará em conta os tipos de dados, restrições, tipos de
objetos e outros objetos proprietários de cada SGBD