16
Banco de Dados - Conceitos Iniciais Prof. Msc. Flávio Henrique Fernandes Volpon Material de apoio ao curso de Banco de Dados – UNORP

Apostila 2 - Banco de Dados - Introdução.pdf

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.