Upload
bruno-antunes
View
21
Download
0
Embed Size (px)
Citation preview
Banco de Dados - Conceitos Iniciais
Prof. Msc. Flvio Henrique Fernandes Volpon
Material de apoio ao curso de Banco de Dados UNORP
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
2 Material de apoio ao curso de Banco de Dados UNORP
1. Bancos de Dados - Introduo
O que um Banco de Dados?
Um banco de dados (sua abreviatura BD, em ingls DB, database)
uma entidade na qual possvel armazenar dados de maneira estruturada e
com a menor redundncia possvel. Estes dados devem poder ser utilizadas
por programas, por usurios diferentes. Assim, a noo bsica de dados
acoplada geralmente a uma rede, a fim de poder pr, conjuntamente, estas
informaes, da o nome banco. Fala-se, geralmente, de sistema de
informao para designar toda a estrutura que rene os meios organizados
para poder compartilhar dados.
Utilidade de um Banco de Dados?
Um banco de dados permite pr dados disposio de usurios para
uma consulta, uma introduo ou uma atualizao, assegurando-se dos
direitos atribudos a estes ltimos. Isso ainda mais til quando os dados
informticos so cada vez mais numerosos. Um banco de dados pode ser
local, quer dizer utilizvel em uma mquina por um usurio, ou repartida,
quer dizer que as informaes so armazenadas em mquinas distantes e
acessveis por rede.
A vantagem essencial da utilizao dos bancos de dados a
possibilidade de poder ser acessada por vrios usurios, simultaneamente.
A gesto dos Bancos de Dados
A fim de poder controlar os dados bem como os usurios, a
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
3 Material de apoio ao curso de Banco de Dados UNORP
necessidade de um sistema de gesto fez-se sentir rapidamente. A gesto
do banco de dados faz-se graas a um sistema chamado SGBD (sistema de
gesto de bancos de dados) ou em ingls DBMS (Database managment
system). O SGBD um conjunto de servios (aplicaes software) que
permitem gerenciar os bancos de dados, quer dizer:
Permitir o acesso aos dados de maneira simples
Autorizar um acesso s informaes a mltiplos usurios
Manipular os dados presentes no banco de dados (insero,
supresso, modificao)
O SGBD pode decompor-se em trs subsistemas:
Sistema de gesto de arquivos: permite o armazenamento das
informaes num suporte fsico;
SGBD interno: gerencia a emisso das informaes;
SGBD externo: representa a interface com o usurio;
Os principais SGBDOs principais sistemas de gesto de bancos de
dados so os seguintes:
Borland Paradox
IBM DB2
Interbase
Microsoft SQL server
Microsoft Access
Microsoft FoxPro
Oracle
Sybase
MySQL
PostgreSQL
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
4 Material de apoio ao curso de Banco de Dados UNORP
2. Modelagem de Dados
A modelagem de dados uma tcnica usada para a especificao
das regras de negcios e as estruturas de dados de um banco de dados. Ela
faz parte do ciclo de desenvolvimento de um sistema de informao e de
vital importncia para o bom resultado do projeto. Modelar dados consiste
em desenhar o sistema de informaes, concentrando-se nas entidades
lgicas e nas dependncias lgicas entre essas entidades.
Modelagem de dados ou modelagem de banco de dados envolve
uma srie de aplicaes tericas e prticas, visando construir um modelo de
dados consistente, no redundante e perfeitamente aplicvel em
qualquer SGBD moderno.
A modelagem de dados est dividida em:
Modelo Conceitual
A modelagem conceitual baseia-se no mais alto nvel e deve ser
usada para envolver o cliente, pois o foco aqui discutir os aspectos do
negcio do cliente e no da tecnologia. Os exemplos de modelagem de
dados vistos pelo modelo conceitual so mais fceis de compreender, j
que no h limitaes ou aplicao de tecnologia especfica. O diagrama de
dados que deve ser construdo aqui o Diagrama de Entidade e
Relacionamento, onde devero ser identificados todas as entidades e os
relacionamentos entre elas. Este diagrama a chave para a compreenso
do modelo conceitual de dados.
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
5 Material de apoio ao curso de Banco de Dados UNORP
Figura 1 - Exemplo simples de Diagrama de Entidade e Relacionamento
Modelo Lgico
O modelo lgico j leva em conta algumas limitaes e implementa
recursos como adequao de padro e nomenclatura, define as chaves
primrias e estrangeiras, normalizao, integridade referencial,
entre outras. Para o modelo lgico deve ser criado levando em conta os
exemplos de modelagem de dados criados no modelo conceitual.
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
6 Material de apoio ao curso de Banco de Dados UNORP
Figura 2 - Exemplo do diagrama de banco de dados gerado no Microsoft Visio.
Modelo fsico
No modelo fsico fazemos a modelagem fsica do modelo de banco
de dados. Neste caso levam-se em conta as limitaes impostas pelo SGBD
escolhido e deve ser criado sempre com base nos exemplos de modelagem
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
7 Material de apoio ao curso de Banco de Dados UNORP
de dados produzidos no item anterior, modelo lgico.
uma descrio de um banco de dados no nvel de abstrao visto
pelo usurio do SGBD. Assim, esse modelo depende do SGBD que est
sendo usado.
Aqui so detalhados os componentes da estrutura fsica do banco,
como tabelas, campos, tipos de valores, ndices, etc.
Nesse estgio estamos prontos para criar o banco de dados
propriamente dito, usando o SGBD preferido.
Figura 3 - Exemplo de tabelas em um BD Relacional
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
8 Material de apoio ao curso de Banco de Dados UNORP
Figura 4 - Detalhamento de uma tabela
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
9 Material de apoio ao curso de Banco de Dados UNORP
3. Modelo Entidade Relacionamento (MER)
O Modelo Entidade-Relacionamento tem o objetivo de representar as
estruturas de dados da forma mais prxima do mundo real dos negcios.
Existem trs conceitos no Modelo Entidade Relacionamento:
Entidade;
Atributo e
Relacionamento.
Entende-se que Entidade so objetos, as caractersticas dos objetos
so os Atributos, e a relao entre os objetos so os relacionamentos.
Entidade
Uma entidade serve tanto para depsito quanto para recuperao
de dados. Ela representa substantivos, concretos ou abstratos.
Exemplo: todos os Inquilinos de uma imobiliria podem ser
armazenados em uma entidade chamada Inquilino.
Todos os Inquilinos da Entidade Inquilino podem ter um identificador
nico.
Assim como a Entidade conhecida por Tabela, o identificador seria a
chave primria.
Atributo
Toda entidade possui atributos, ou seja, caractersticas que
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
10 Material de apoio ao curso de Banco de Dados UNORP
informam sobre a entidade.
A entidade Inquilino contm informaes sobre Nome, Endereo,
Cidade, Data de Nascimento de cada Inquilino, identificado entre os
outros por uma chave primria, no caso pode ser um atributo Cdigo.
Tipos de atributos
Atributo Simples Atributo
Concatenado Chave Primria Chave Estrangeira
Um nico atributo representa uma
caracterstica
Mais de um atributo representam uma
caracterstica
Um atributo que sempre nico dentro de uma
Entidade
Atributo que se identifica com a
chave primria em outra Entidade
Exemplo: RG do Inquilino
Exemplo: Endereo (Logradouro,
Nmero, Cidade, Cep, UF)
Exemplo: Id ou CPF atributo
que no se repete entre os
Inquilinos
Exemplo: Cdigo do Inquilino na
Entidade Aluguel.
Relacionamento
Relacionamento a interao entre os objetos que indicam a
dinmica dos negcios.
Os Relacionamentos so identificados por verbos porque representam
as aes que uma entidade exerce sobre outra.
Exemplo: O Inquilino aluga imvel.
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
11 Material de apoio ao curso de Banco de Dados UNORP
Figura 1 MER Sistema de Imobiliria
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
12 Material de apoio ao curso de Banco de Dados UNORP
4. Diagrama Entidade-Relacionamento (DER)
O Diagrama Entidade-Relacionamento descreve toda estrutura
lgica do banco de dados. possvel constru-lo a partir de um MER,
identificando assim a partir de um conceito do mundo real como os dados
sero armazenados de fato.
O DER tem como nfase os dados e os relacionamentos. Sua
representao utiliza os smbolos:
Retngulos: representam as entidades;
Elipses: representam os atributos;
Losangos: representam os relacionamentos entre as entidades;
Linhas: unem os atributos aos conjuntos de entidades e os
conjuntos de entidades aos conjuntos de relacionamentos;
Na construo de um projeto de banco de dados necessrio saber
quais so os objetos e os relacionamentos para elaborar o DER, ou seja,
descobrir quais os atributos que compem as tabelas (objetos).
Figura 2 DER Sistema de Imobiliria
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
13 Material de apoio ao curso de Banco de Dados UNORP
5. Normalizao em Banco de Dados
O que Normalizao em banco de dados?
um processo onde se aplica regras a todas as entidades (tabelas) do
banco de dados, a fim de evitar falhas no projeto, como redundncia de
dados, mistura de diferentes assuntos numa mesma entidade, entre outros
problemas.
As formas normais mais conhecidas so a primeira, segunda e
terceira formas normais. Basicamente, aplicando e respeitando as regras
de cada uma dessas formas normais, pode-se garantir um banco de dados
mais ntegro, com uma grande possibilidade de sucesso no seu projeto.
1FN Primeira Forma Normal
Uma entidade estar na 1FN, se e somente se, todos seus atributos
(colunas) forem atmicos, ou seja, no conter grupos repetitivos ou
colunas que tenham mais de um valor.
Passos a serem aplicados para consolidao da 1FN:
Identificao da chave primria da tabela;
Identificao da coluna que contem dados repetidos e remov-las;
Criao de uma nova tabela com chave primria para
armazenamento do dado repetido;
Criar uma relao entre a tabela principal e a tabela secundria.
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
14 Material de apoio ao curso de Banco de Dados UNORP
Exemplo:
Figura 3 Tabela sem Normalizao
Na tabela acima, pode-se identificar que o campo Telefones, contm
informaes de mais de 1 telefone do cliente. Nesse caso, teremos que
criar uma outra tabela, para que possamos armazenar corretamente os
telefones dos clientes.
Abaixo como as tabelas devem ficar aps a normalizao.
Figura 4 Tabela aps a 1FN
2FN Segunda Forma Normal
Uma entidade est na 2FN, se e somente se, estiver na 1FN e todos
seus atributos (colunas) no chaves, dependam unicamente da chave
primria. Se algum atributo depende de apenas uma parte da chave
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
15 Material de apoio ao curso de Banco de Dados UNORP
primria, isso considerada uma violao da 2FN.
Passos a serem aplicados para consolidao da 2FN:
Identificar colunas que no so funcionalmente dependentes da
chave primria da tabela;
Remover a coluna da tabela e criar uma nova tabela com esses
dados.
Exemplo:
Figura 5 Tabela sem Normalizao 2FN
Nesse exemplo, temos uma tabela que armazena dados de vendas
de produtos. Para aplicar a 2FN, temos que separar os dados dos produtos,
em uma entidade que contenham somente dados dos produtos, e nessa
tabela de pedidos apenas dados referentes aos pedidos. Segue exemplo
abaixo aps aplicao da 2FN.
Figura 6 Tabela aps a 2FN
Autor: Prof. Msc. Flavio Henrique Fernandes Volpon
16 Material de apoio ao curso de Banco de Dados UNORP
3FN Terceira Forma Normal
Uma entidade est na 3FN, se e somente se, estiver na 2FN e todos os
atributos (colunas) no chave, forem mutuamente independentes, isto
, no h dependncia funcional entre elas, e todas dependem nica
e exclusivamente da chave primria de forma irredutvel.
Passos a serem aplicados para consolidao da 3FN:
Identificar as colunas que so funcionalmente dependentes das
outras colunas no chave;
Remover essas colunas.
Exemplo:
Figura 7 Tabela sem Normalizao 3FN
Como podemos ver no exemplo acima, temos duas colunas indicando os
valores do produto. A coluna ValorTotal, depende de uma outra coluna no
chave. Isso um exemplo de informao redundante, ou seja, temos como
saber o valor total dos produtos, sem a necessidade de armazen-lo. Nesse
caso, vamos remover a coluna ValorTotal. Aps aplicar a 3FN a tabela
ficar assim:
Figura 8 Tabela aps a 3FN
Existem outras formas normais, como a quarta e a quinta, porm, com
a aplicao destas trs formas normais, j poderemos garantir um banco de
dados mais saudvel e assim evitar possveis problemas no futuro.