Академический Документы
Профессиональный Документы
Культура Документы
Conceitos Bsicos
Dados x Informao
Dados
Um fato qualquer armazenado
Exemplo:
3
Pedro
R$ 75,00
Mucuripe
Informao
D sentido ao dado. Contexto (domnio) determinado.
Exemplo:
estoque: 3 unidades
supervisor: Pedro
saldo: R$ 75,00
estao: Mucuripe
2
Conceitos Bsicos
Informtica adotada nas organizaes
Informtica implementada gradativamente
Exemplo: uma empresa
Implementa gradativamente sistemas para:
Vendas
Produo
Engenharia
Onde ficam os dados dos produtos?
Usados em vrias funes
Pode ocorrer que, para cada uma das funes, seja criado um
arquivo separado de produtos
Conceitos Bsicos
Sistemas isolados dados no compartilhados
Conceitos Bsicos
Sistemas isolados dados no compartilhados
Redundncia no controlada de dados
O usurio gerencia a redundncia
Deve ser evitado
Problemas:
Entrada repetida da mesma informao
Inconsistncia dos dados
Como evitar:
Compartilhamento dos dados
Cada informao armazenada uma nica vez
Usar o conceito de banco de dados
Conceitos Bsicos
Banco de Dados
Conceitos Bsicos
Banco de Dados
Conjunto de arquivos integrados que atendem a um conjunto de
sistema
Produo
Vendas
Engenharia
Banco de Dados
Produtos
Compartilhamento de dados tem reflexos na estrutura do software:
A estrutura interna dos arquivos passa a ser mais complexa
Devem atender as necessidades dos diferentes sistemas
Soluo:
Usar Sistema de Gerenciamento de Banco de Dados (SGBD)
7
Conceitos Bsicos
Banco de Dados
Exemplo de Banco de Dados
Passageiros
Nome
Cia
Telefone
Nome
Sede
Carlos Eduardo
3221-8989
Tam
So Paulo
Maria Clementina
9987-7654
Azul
Rio de Janeiro
Ftima da Silva
8988-9090
Gol
So Paulo
Vos
Reservas
Vo
Tarifa
Cia
Vo
Passageiro
1207
1.000,00 Azul
1207
Carlos Eduardo
1376
830,00 Gol
1376
Maria Clementina
1823
1.230,00 Tam
1376
Ftima da Silva
8
Conceitos Bsicos
Banco de Dados
Exemplo de Banco de Dados
Linhas
ou
Registros:
representam
cada
elemento (instncia) que
esta
armazenado
na
tabela.
Vos
Vo
Tarifa
Cia
1207
1.000,00 Azul
1376
830,00 Gol
1823
1.230,00 Tam
Conceitos Bsicos
Banco de Dados
Principais operaes realizadas em Banco de Dados
Adio de novos arquivos ao banco de dados
Insero de dados
Atualizao/Alterao de dados
Eliminao de dados
Consulta de dados
Recuperao de informao
Remoo de arquivos existentes
Renovao permanente de arquivos
10
Conceitos Bsicos
Sistema de Arquivo x Banco de Dados
11
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Incio da programao de aplicaes
Programa continha todas as operaes
Interface de usurio Transformao de dados e clculos
Operaes de armazenamento de dados
Transformao de dados e clculos
Tarefas de comunicao com outros sistemas e programas
Evoluo da programao
Foram identificadas funcionalidades comuns a muitos programas
Exibio dos dados na interface
Gerenciadores de interface do usurio
Comunicao com processos remotos
Gerenciadores de comunicao
Manuteno de grandes repositrios compartilhados de
dados
Sistemas de Gerenciamento de Banco de Dados
12
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Software que incorpora as funes de definio, recuperao e alterao
de dados em um banco de dados
Facilita o desenvolvimento de aplicaes de BD
Manuteno de programas torna-se mais simples
Produtividade dos programadores aumenta
Exemplo de SGBD
Microsoft Sql Server
PostgreSql
MySql
Firebird
Oracle
13
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Objetivos do SGBD
Evitar redundncia de dados e garantir a consistncia;
Facilitar o acesso a dados;
Evitar anomalias de acesso concorrente;
Garantir a segurana de acesso;
Evitar problemas de integridade;
Garantir a independncia de dados.
Observao: No recomenda-se o uso de SGBD nas seguintes situaes:
bancos de dados e aplicaes simples, bem definidas sem expectativa
de mudanas
existem restries de tempo que no podem ser satisfeitas em SGBDs;
no h necessidade de acesso multiusurio.
14
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Propriedades
Consistncia de dados:
Avalia os dados recebidos atravs de regras de integridade,
garantindo que sempre estejam corretos;
Sempre que a mesma informao gravada, mesmo que em
locais diferentes ela tem o mesmo valor
Validade
Os dados so vlidos quando pertencem ao domnio de
valores possveis naquele caso
Completeza
Todos os dados
disponveis.
que
precisam
ser
conhecidos
esto
15
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Propriedades
16
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Caractersticas de um sistema de SGBD
Controle de Redundncia: no processamento tradicional de arquivos,
muitos grupos de usurios mantm seus prprios arquivos para manipular
suas aplicaes de processamento, podendo ocasionar o armazenamento
de informaes redundantes.
Problemas:
Duplicao de esforos;
Desperdcio de espao;
Inconsistncia: alterao em uns arquivos e em outros no
ou em todos os arquivos, porm, de maneira independente.
17
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Caractersticas de um sistema de SGBD
Compartilhamento de Dados: SGBDs multiusurios devem fornecer
controle de concorrncia para assegurar que atualizaes simultneas
resultem em modificaes corretas. Um outro mecanismo que permite a
noo de compartilhamento de dados em um SGBD multiusurio a
facilidade de definir vises de usurio, usada para especificar a poro
do banco de dados que de interesse para um grupo particular de
usurios;
18
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Caractersticas de um sistema de SGBD
Restries de Acesso Multiusurio: quando mltiplos usurios
compartilham um banco de dados, comum que alguns usurios no
autorizados no tenham acesso a todas as informaes do BD. Por exemplo,
os dados financeiros so frequentemente considerados confidenciais e,
desse modo, somente pessoas autorizadas devem ter acesso. Alm disso,
pode ser permitido a alguns usurios, apenas a recuperao dos dados. J,
para outros, so permitidas a recuperao e a modificao. Assim, o tipo de
operao de acesso - recuperao ou modificao - pode tambm ser
controlado. Tipicamente, usurios e grupos de usurios recebem uma conta
protegida por palavras chaves, que usada para se obter acesso ao banco
de dados, significando que contas diferentes possuem restries de acesso
diferentes. Um SGBD deve fornecer um subsistema de autorizao e
segurana, que usado pelo Administrador do Bando de Dados - ABD para
criar contas e especificar as restries destas. Portanto, o SGBD deve
obrigar estas restries automaticamente. Note que um controle similar
pode ser aplicado ao software do SGBD;
19
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Caractersticas de um sistema de SGBD
Disponibilidade de Mltiplas Interfaces: em funo dos vrios tipos
de usurios, com diferentes nveis de conhecimento tcnico, um SGBD
deve fornecer uma variedade de interfaces atend-los. Os tipos de
interfaces incluem linguagens de consulta para usurios ocasionais,
interfaces de linguagem de programao para programadores de
aplicaes, formulrios e interfaces dirigidas por menus para usurios
comuns;
Representao de Relacionamento Complexo entre Dados: um
banco de dados pode ter uma variedade de dados inter-relacionados de
diversas formas. Portanto, o SGBD deve ser capaz de representar uma
variedade de relacionamentos complexos entre dados, alm de
recuperar e modificar tais dados de maneira fcil e eficiente;
20
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Caractersticas de um sistema de SGBD
Reforo das Restries de Integridade: muitas aplicaes de banco
de dados tm certas restries de integridade de dados. A forma mais
elementar de restrio de integridade a especificao do tipo de dado
de cada item. Existem tipos de restries mais complexas. Um tipo de
restrio que ocorre frequentemente a especificao de que um
registro de um arquivo deve estar relacionado a registros de outros
arquivos. Um outro tipo de restrio especifica a unicidade sobre itens
de dados. Estas restries so derivadas da semntica dos dados e do
mini-mundo que eles representam. Algumas restries podem ser
especificadas ao SGBD e automaticamente executadas. Outras
restries podem ser verificadas pelos programas de atualizao ou no
tempo da entrada de dados. Note que um item de dados pode ser
inserido erroneamente, mas assim ainda atender as restries de
integridade;
21
Conceitos Bsicos
Sistemas de Gerenciamento de Banco de Dados
Caractersticas de um sistema de SGBD
Realizao de Backup e Restaurao: um SGBD deve possuir um
subsistema de backup e restaurao que fornece recursos para
restaurao, caso ocorram falhas de hardware ou software. Por
exemplo, se o sistema de computador falhar no meio da execuo de
um programa que esteja realizando uma alterao complexa no banco
de dados, o subsistema de restaurao responsvel por assegurar que
o BD seja restaurado ao estado anterior ao incio da execuo do
programa. Alternativamente, o subsistema de restaurao poderia
assegurar que o programa seja re-executado a partir do ponto em que
houve a interrupo.
22
Conceitos Bsicos
Sistemas de Banco de Dados
Sistema computadorizado cuja finalidade geral armazenar informaes e
permitir que os usurios busquem e atualizem essas informaes quando
as solicitar.
Tal sistema
1.
2.
3.
4.
23
Conceitos Bsicos
Sistemas de Banco de Dados
Dados
Sistema Monousurio: sistema em que no mximo um usurio pode
acessar o banco de dados em determinado momento
Sistema Multiusurio: aquele em que muitos usurios podem acessar
o banco de dados ao mesmo tempo
Dados Integrados: banco de dados pode ser considerado como uma
unificao de vrios arquivos que, de outro modo, seriam distintos, com a
eliminao de qualquer redundncia parcial ou total entre esses arquivos
Dados compartilhados: banco de dados pode ser compartilhado entre
diferentes usurios, no sentido de que diferentes usurios podem ter
acesso aos mesmos dados, possivelmente ao mesmo tempo
24
Conceitos Bsicos
Sistemas de Banco de Dados
Hardware: Volumes de armazenamento, processadores de hardware e
memria
Software (SGBD): Trata todas as requisies de acesso ao banco de
dados (acrescentar novos arquivos, inserir, buscar, excluir, alterar dados
em arquivos existentes e remover arquivos existentes do banco de dados)
Usurios
Programadores de aplicaes: responsveis pela escrita de
programas de aplicaes de banco de dados em alguma linguagem de
programao
Usurios finais: que acessam o banco de dados atravs de uma
aplicao
Administrador de banco de dados (DBA)
25
Conceitos Bsicos
Sistemas de Banco de Dados
Esquema de um sistema de banco de dados
26
Modelo de Dados
27
Modelo de Dados
Conceitual Lgico - Fsico
Modelo Conceitual
Independe do tipo de SGBD
Registra:
Que dados podem aparecer no banco de dados
No registra:
Como estes dados esto armazenados a nvel de SGBD
Tcnicas utilizadas na modelagem conceitual
Entidade-relacionamento (ER)
Orientado a objetos
Modelo conceitual representado atravs de diagrama
28
Modelo de Dados
Conceitual Lgico - Fsico
Modelo Lgico
Nvel de abstrao visto pelo usurio do SGBD
Depende do tipo particular de SGBD que est sendo usado
Rede
Hierrquico
Relacional
OO
Modelo de Dados
Conceitual Lgico - Fsico
Modelo Lgico
Rede
Os dados so representados por colees de registros e os
relacionamentos por elos (ponteiros).
30
Modelo de Dados
Conceitual Lgico - Fsico
Modelo Lgico
Hierrquico
Os dados e relacionamentos so representados por registros e
ligaes, respectivamente.
Os registros so organizados como colees arbitrrias de
rvores.
31
Modelo de Dados
Conceitual Lgico - Fsico
Modelo Lgico
Relacional
Utiliza-se de um conjunto de tabelas para representar tanto
os dados como a relao entre eles.
32
Modelo de Dados
Conceitual Lgico - Fsico
Modelo Lgico
Orientado a objetos
Dados e relacionamentos so contidos em uma nica
estrutura conhecida como objeto
Modelo de dados orientado a objetos (MDOO), a base para
o sistema de gerenciamento de banco de dados orientados a
objetos (SGBDOO)
Objetos contm operaes
Objetos so autossuficientes: um bloco bsico de construo
de estruturas autnomas
Um objeto uma abstrao de uma entidade real
33
Modelo de Dados
Conceitual Lgico - Fsico
Modelo Lgico
Orientado a objetos (cont.)
Os atributos descrevem as propriedades de um objeto
Os objetos que compartilham caractersticas similares so
agrupados em classes
As classes organizam-se em uma hierarquia de classes
Herana a capacidade de um objeto, no interior da
hierarquia de classe, herdar os atributos e mtodos das
classes superiores
A UML (Unified Modeling Language, ou seja, Linguagem de
Modelagem Unificada) tem sua base em conceitos de OO que
descreve um conjunto de diagramas e smbolos
Podem ser utilizados para modelar graficamente um
sistema
34
Modelo de Dados
Conceitual Lgico - Fsico
Modelo Lgico
Orientado a objetos (cont.)
35
Modelo de Dados
Conceitual Lgico - Fsico
Modelo Fsico
Contm detalhes de armazenamento interno de informaes
Detalhes que:
No tm influncia a programao de aplicaes no SGBD
Influenciam na performance das aplicaes
Usados por profissionais que faze sintonia de performance em
banco de dados, procurando otimizar o desempenho
36
Modelo de Dados
Conceitual Lgico - Fsico
Abstrao de dados
37
38
Modelo Entidade-Relacionamento
Tcnica para construir modelos conceituais de bases de dados
Tcnica de modelagem de dados mais difundida e utilizada
Criada em 1976 por Peter Chen
Padro de fato para modelagem conceitual
Conjunto de objetos bsicos Entidades e seus Relacionamentos
Tem por base a percepo do mundo real
Boa capacidade semntica (representar os significados)
Dele derivaram outros modelos surgidos nos ltimos anos, como a
modelagem orientada a objetos
39
Modelo Entidade-Relacionamento
Entidade
Conjunto de objetos da realidade modelada sobre os quais desejase manter informaes no banco de dados
Exemplos:
Sistema Escolar
Professor
Aluno
Avaliaes
Controle de presena
Matrcula
Sistemas de Conta Corrente
Clientes
Contas Correntes
Cheques
Agncias
40
Modelo Entidade-Relacionamento
Entidade
As entidades so representadas graficamente atravs de retngulo
contendo seu nome dentro
41
Modelo Entidade-Relacionamento
Entidade
Entidade = conjunto de objetos
Para se referir a um objetos em particular fala-se em instncia ou
ocorrncia da entidade
Entidade isoladamente no informa nada, necessrio saber quais
as informaes que devem ser mantidas para cada objeto, ou seja,
atribuir propriedades s entidades
Propriedades so especificadas na forma de: relacionamentos,
atributos e generalizaes/especializaes
42
Modelo Entidade-Relacionamento
Relacionamento
Representado graficamente atravs de um losango, ligado por
linhas
43
Modelo Entidade-Relacionamento
Relacionamento Diagrama de Ocorrncias
Entidade Empregado
Relacionamento Lotao
Entidade Departamento
44
Modelo Entidade-Relacionamento
Auto-Relacionamento
Relacionamento entre ocorrncias de uma mesma entidade
Exemplo: Relacionamento de casamento
Uma ocorrncia de pessoa exerce o papel de marido
Uma ocorrncia de pessoa exerce o papel de esposa
p3
p1
PESSOA
p7
p2
p4
esposa
marido
CASAMENTO
marido
p8
p5
p6
esposa
marido
esposa
p1,p3
p5,p8
45
Modelo Entidade-Relacionamento
Cardinalidade mxima
Quantas ocorrncias de uma entidade podem estar associadas a
uma
determinada
ocorrncia
de
entidade
atravs
do
relacionamento
1
Expressa que uma ocorrncia
de PESSOA (entidade do lado
oposto da anotao) pode
estar associada ao mximo
uma
(1)
ocorrncia
de
DEPARTAMENTO
n
Expressa que uma ocorrncia
de DEPARTAMENTO (entidade
do lado oposto da anotao)
podem
estar
associadas
muitas (n) ocorrncias de
PESSOA
46
Modelo Entidade-Relacionamento
Cardinalidade mxima
Relacionamento de 1:1
EMPREGADO
1
PESSOA
1
ALOCAO
esposa
marido
CASAMENTO
MESA
47
Modelo Entidade-Relacionamento
Cardinalidade mxima
Relacionamento de 1:n
ALUNO
n
EMPREGADO
1
supervisor
INSCRIO
supervisionado
SUPERVISO
CURSO
48
Modelo Entidade-Relacionamento
Cardinalidade mxima
Relacionamento de n:n
MDICO
n
PRODUTO
n
composto
CONSULTA
componente
COMPOSIO
PACIENTE
49
Modelo Entidade-Relacionamento
Exemplo de ER - Cardinalidade mxima
PR
REQUISITO
liberadora
liberada
DISCIPLINA
RESPONSVEL
INSCRIO
DEPARTAMENTO
DISC
CURSO
CURSO
ALUNO
50
Modelo Entidade-Relacionamento
Exerccio
Construa um Diagrama Entidade-Relacionamento para as situaes abaixo.
Indique as cardinalidades mximas.
51