a01 BD-I - Introdução a BD

download a01 BD-I - Introdução a BD

of 42

Transcript of a01 BD-I - Introdução a BD

  • 7/24/2019 a01 BD-I - Introduo a BD

    1/42

  • 7/24/2019 a01 BD-I - Introduo a BD

    2/42

    Tecnologias e Linguagens para Banc

    1

    modulo

    -

    Tcnico

    em

    Informtica

    Prof.:

    Evandro

    Nilson

    A

  • 7/24/2019 a01 BD-I - Introduo a BD

    3/42

    Tecnologias e Linguagens para B

    1

    modulo

    Tc

    .

    em

    Informtica

    Introduo...

    Neste mdulo, iremos conhecer os conceitos,metodologias e tcnicas para a elaborao de um Bancode Dados.

    Inicialmente, iremos abordar o conceito de Dados,Banco de Dados e SGBD Sistemas de Gerenciamentode Dados:

    Dados :

    Algo que faz parte da realidade; Fatos que podem ser gravados e que possuem um

    significado implcito; Informaes armazenadas de maneira que possam

    ser utilizadas posteriormente.

  • 7/24/2019 a01 BD-I - Introduo a BD

    4/42

    Banco de Dados :

    [Chu, 1985]Um banco de dados um conjunto de arquivos relacionad

    [Date, 2000]Um banco de dados uma coleo de dadosarmazenados usados pelas aplicaes de umaorganizao;

    Tecnologias e Linguagens para B

    1

    modulo

    Tc

    .

    em

    Informtica

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    5/42

    Banco de Dados :

    [Elmasri & Navathe, 2000]Banco de Dados (BD): uma coleo de dados relacionad

    Representa aspectos do mundo real (minimundo ou undiscurso) e mudanas no mundo real devem ser refleti

    uma coleo lgica e coerente de dados com algum inerente. Uma organizao randmica de dados no p

    considerada um BD. Um BD construdo em atendimento a uma proposta

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    6/42

    SGBD Sistema Gerenciador de Banco de Dados :

    Um Sistema Gerenciador de Banco de Dados (SGBD) um

    programas que permite criar e manter um banco de dado constitudo por um conjunto de dados associados a um

    programas para acesso e manutenabilidade desses dados

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    7/42

    Sistema de Banco de Dados

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Banco de dadosarmazenados

    Programas de Aplicaes / Consultas (Queries)

    Usurios/Programadores

    Programas para Processamento de consultas /gerenciamento de dados

    Software para Acesso aos Dados Armazenados

    Definio dos dados

    SGBD

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    8/42

    Interao

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    9/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Sistema de Processamento de Arquivos

    Os programas gravam seus dados em disco, seguindo estrutu

    Para acess-los necessrio conhecer sua estrutura; Se vrios programas compartilham seus dados, todos devem

    manipular as mesmas estruturas; Se algum programa precisar de alguma mudana de dados, t

    programas tero que ser alterados, mesmo que a alterao o

    dados que ele no utiliza.

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    10/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Sistema Gerenciamento de Banco de Dados

    Entre os programas e os dados colocado um sistema q

    formato em que os dados esto gravados para o formato especprograma precisa, ento cada programa: V apenas os dados que lhe interessa; No precisa entrar em detalhes de como seus dados est

    gravados;

    No precisa ser modificado se a estrutura de dados quefor mudada.

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    11/42

    Independncia dos Dados

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    O acesso/gerenciamento aos/dosdados feito diretamente pelosprogramas aplicativos.

    O acesso/gerenciamento aos/dos dados feito pelo SGBD. O SGBD funcionacomo uma interface entre o BD e osprogramas aplicativos.

    Dados(arquivos)

    Dados(arquivos)

    GBD

    Sistema de arquivos Sistema de Banco de Dados

    Aplicativos Aplicativos

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    12/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Funes bsicas do Sist. Gerenc. de Banco de Dados

    Simplificar o desenvolvimento de aplicaes caracteriza

    intensivo de DADOS: Provendo servios que diminuem o tempo de desenvolvim Utilizando ferramentas que possibitam ao usurio: Realizar entrada de dados; Examinar dados;

    Manipular dados de acordo com a aplicao.

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    13/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Funes bsicas do Sist. Gerenc. de Banco de Dados

    SGBD

    Modela-

    gem de

    Dados

    Gerncia

    de Dados

    Controle

    Operaci-

    onais

    Usurios

    Definir a Base de Dados

    Manipular a Base de Dados

    Construir ou carregar a

    Base de Dados

    Proc

    e co

    usu

    man

    lidos

    Administrado

    Analista

    Projet

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    14/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Caractersticas de um SGBD

    CONTROLE DE REDUNDNCIA: A redundncia, ou seja, a

    dados deve ser evitada para se minimizar possibilidade de inc COMPARTILHAMENTO DE DADOS: Em um ambiente multiuspossibilitar a manipulao simultnea de dados distintos oudados conforme regras abaixo;

    CONTROLE DE ACESSO: Verificao automtica do tipo de

    por cada usurio. Os nveis de segurana so estabelecidusurio independentemente, de acordo com suas necidentificao de cada usurio, por parte do SGBD, feitasenha cadastrados.

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    15/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Caractersticas de um SGBD

    CONTROLE DE TRANSAO: Transao o conjunto de o

    devem ser executadas completamente. So normalmentsituaes crticas (atualizaes ou incluses) de longa duraafetar a consistncia do BD (Banco de Dados);

    ACESSO EM MLTIPLAS INTERFACES: Possibilidade usar divemesmo se o SGBD estiver sendo utilizado;

    RESTRIES DE INTEGRIDADE: Estabelecimento de um fordados inseridos de modo a garantir integridade earmazenamento

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    16/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Caractersticas de um SGBD

    BACKUP E RECUPERAO: Estabelecer o backup automtic

    ou parcial em momentos estabelecidos pelo DBA. Proporcicontra a perda de informaes devido a falhas no darmazenamento (discos)

    INDEPENDNCIA DE DADOS: A descrio fsica dos arquivinternamente pelo SGBD e de sua inteira respo

    exclusividade INDEXAO AUTOMTICA: Com a indicao explcita dossero mais utilizados em consultas, o SGBD cria os arquivosque tornaro mais rpidas as pesquisas.

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    17/42

    Caractersticas de um SGBD

    Espelhamento Replicao

    Clusterizao

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    18/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Modelo de Dados

    Conjunto de conceitos usados para descrever a estrutura dedados

    Abstrao de dados; Estrutura = tipos de dados + relacionamentos + restries

    Introduo...

    d

  • 7/24/2019 a01 BD-I - Introduo a BD

    19/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Tipos de Modelo de Dados

    Modelos conceituais Utilizados para se descrever a estrutura de um banco de d

    forma mais prxima da percepo dos usurios (independaspectos de implementao);

    Conceitos: entidades, atributos, relacionamentoso Exemplos: Modelo entidade-relacionamento (ER)

    Modelo funcional Modelo orientado a objetos (OO)

    Introduo...

    I d

  • 7/24/2019 a01 BD-I - Introduo a BD

    20/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Tipos de Modelo de Dados

    Modelos representacionais (lgicos)

    Utilizados para se descrever a estrutura de um banco de dforma como ser manipulado atravs de SGBD (mais depeestruturas fsicas de armazenamento de dados)o Exemplos: Modelo relacional

    Modelo de rede (CODASYL) Modelo hierrquico

    Introduo...

    I t d

  • 7/24/2019 a01 BD-I - Introduo a BD

    21/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Tipos de Modelo de Dados

    Modelos fsicos

    Utilizados para descrever como os dados so fisicamente

    Introduo...

    I t d

  • 7/24/2019 a01 BD-I - Introduo a BD

    22/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Classificao dos SGBDs

    Quanto ao modelo de dados adotado: Relacionais

    De rede Hierrquicos Orientados a objetos Objeto-relacionais

    Quanto ao nmero de usurios suportados: Mono-usurios

    Multi-usurios Quanto localizao dos dados: Centralizados Distribudos

    Introduo...

    Introduo

  • 7/24/2019 a01 BD-I - Introduo a BD

    23/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Usurios em um Ambiente de Banco de Dados

    Podem ser divididos : entre aqueles que de fato usam e controlam o contedo (

    Atores em cena); aqueles que fazem com que a Base de Dados possa ser de

    o software SGBD possa ser projetado e implementado (chTrabalhadores por trs das cenas).

    Introduo...

    Introduo

  • 7/24/2019 a01 BD-I - Introduo a BD

    24/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Usurios em um Ambiente de Banco de Dados

    Atores em cena : Projetistas da aplicao: Administradores do Banco de Dados ; Projetista da Base de Dados; Usurio Final; Analistas de Sistemas e Programadores de Aplicaes.

    Introduo...

    Introduo

  • 7/24/2019 a01 BD-I - Introduo a BD

    25/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Usurios em um Ambiente de Banco de Dados

    Trabalhadores por trs da cena : Projetistas do Sistema de Gerenciamento de Banco de Da Projetistas e Implementadores do SGBDs; Desenvolvedores de Ferramentas para SGBDs; Pessoal de Suporte dos SGBDs.

    Introduo...

    Introduo

  • 7/24/2019 a01 BD-I - Introduo a BD

    26/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Usurios em um Ambiente de Banco de Dados

    Administrador do Banco de Dados DBA) : Autoriza o acesso Banco de Dados; Coordena e monitora o uso da Banco de Dados; Defini a aquisio de software e recursos de hardware; Controla o uso dos recursos; Monitora a eficincia das operaes.

    Introduo...

    Introduo

  • 7/24/2019 a01 BD-I - Introduo a BD

    27/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Usurios em um Ambiente de Banco de Dados

    Projetista do Banco de Dados : Define o contedo do Banco de Dados; Define a estrutura do Banco de Dados; Defini as restries do Banco de Dados; Define as transaes sobre o Banco de Dados; Interage com os usurios finais para fazer o levantamento

    do Banco de Dados.

    Introduo...

    Introduo

  • 7/24/2019 a01 BD-I - Introduo a BD

    28/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Usurios em um Ambiente de Banco de Dados

    Usurio Final : Utiliza o Banco de Dados para consultas e elaborao de r

    sendo que alguns chegam a modificar o contedo armazeBanco de Dados.

    Classificam-se em: Casuais => acessam o Banco de Dados eventualmente

    necessrio); Produtivos => utilizam funes pr-definidas como tra

    produo sobre o Banco de Dados. Exemplo : contadooperadores de reservas, etc.

    Introduo...

    Introduo

  • 7/24/2019 a01 BD-I - Introduo a BD

    29/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Usurios em um Ambiente de Banco de Dados

    Sofisticados => Analistas de Negcios, Cientistas, Engeusurios familiares com as capacidades do sistema. Noutilizam ferramentas que operam ligadas ao Banco de

    Independentes => mantm um Banco de Dados pessonormalmente utilizando aplicaes j prontas (tipo pac

    Introduo...

    Introduo

  • 7/24/2019 a01 BD-I - Introduo a BD

    30/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Arquitetura dos SGBDs

    Primeira arquitetura: Centralizada (uso de Mainframes) O processamento principal e de todas as funes

    (aplicativos, interface e SGBD) eram executados nosmainf Os usurios interagiam com o sistema via terminais sem pprocessamento, conectados ao mainframepor redes de c

    Com o barateamento do hardware, os terminais foram spor estaes de trabalho e naturalmente a tecnologiadados comeou a aproveitar esse potencial de processam

    do usurio.

    Introduo...

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    31/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Segunda arquitetura: Cliente-Servidor

    Dividiu as tarefas de processamento criando servidores

    como os servidores de arquivos; As mquinas clientes disponibilizavam as interfaces para oforma a capacit-lo ao uso de servidores. Tambm tinhapara executar aplicaes locais;

    No caso especfico de banco de dados, nesta arquitetucentralizado implantado no servidor, assim as consu

    SQL) e funcionalidades transacionais so executadas no se No lado do cliente possvel formular as consultas eprogramas aplicativos;

    O servidor SQL conhecido como Back-End Machine e oFront-End Machine.

    Arquitetura dos SGBDs

    Introduo...

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    32/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Quando as funcionalidades disponibilizadas por eles forem re Quando houver necessidade de recursos para se manter a co

    dos dados e oferecer apoio a aplicaes; Quando houver necessidade de padronizao; Quando houver necessidade de flexibilidade; Quando houver necessidade de reduo no tempo de desen

    uma aplicao; Quando houver necessidade de disponibilizao de informa

    atualizadas.

    Quando usar um dos SGBDs ?

    Introduo...

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    33/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    Quando as funcionalidades disponibilizadas por eles no forenecessrias;

    Quando a sobrecarga influir no desempenho; Quando o investimento inicial for alto (hardware extras); Quando o Banco de Dados e as aplicaes so simples, bem

    sem perspectivas de mudanas; Quando houver requisitos de tempo real;

    Devido complexidade de um SGBD, ele pode no atender uma aplicao de tem Quando no existe a necessidade de acessos concorrentes ao

    armazenados.

    Quando no usar um dos SGBDs ?

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    34/42

    Tecnologias e Linguagens para B

    1 modulo Tc. em Informtica

    dBASE: Lanado pela Ashton-Tate e posteriormente adquiridoBorland. Possua uma linguagem de programao prpria par

    desenvolvimento de aplicaes, teve verses para DOS e Wintrabalhava com gerenciamento de arquivos planos baseados invertidas. A partir da verso 7, os direitos foram vendidos pe

    Paradox: Possui ambiente integrado de desenvolvimento paraplicativos. Os direitos de produo foram vendido pela Borla

    Corel. Teve verses para DOS e hoje possui apenas verses p DataFlex: Popular para ambiente Unix, mas teve verses para

    Windows. Possui ambiente integrado para desenvolvimento e hoje comercializado com o nome de Visual Data Flex.

    Sistemas Comerciais de SGBDs

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    35/42

    1 modulo Tc. em Informtica

    FoxBase/FoxPro: Concorrente do dBase com total compatibitermos de arquivos e programas-fontes. Com recursos adicio

    capacidade de pr-compilao dos cdigos-fontes para melhperformance. Hoje, aps a aquisio pela Microsoft da Fox So(produtora original), se chama: Visual FoxPro.

    Access: padro em banco de dados para microcomputadorambiente Windows. Possui ambiente integrado que permite

    gerenciamento do banco de dados, desenvolvimento de aplicgerao de relatrios. A linguagem de programao usada nederiva do Visual Basic.

    Sistemas Comerciais de SGBDs

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    36/42

    1 modulo Tc. em Informtica

    Oracle: O primeiro em Banco de Dados Corporativos (cliente/possuindo grande variedade de distribuies (para Macintos

    Linux, FreeBSD, Unix) e para computadores de grande porte. com uma linguagem prpria para desenvolvimento de aplica

    Interbase: Foi includo, pela Borland, nas suas ferramentas dedesenvolvimento (Delphi, C++Builder, JBuider). Teve uma vercomo Open Source.

    MS-SQL Server: Produzido pela Microsoft, inicialmente era umespecial do Sybase. As verses atuais so independentes e oexclusivamente sobre Windows.

    Sistemas Comerciais de SGBDs

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    37/42

    1 modulo Tc. em Informtica

    Sybase SQL Anywhere: Concorre com o Oracle no mercado coAplicaes para este banco so desenvolvidas com o PowerB

    MySQL: Possui verses para Windows, Solaris, Unix, FreeBSDgratuito. Muito poderoso, usado principalmente para desenvWEB como servidor de dados para comrcio eletrnico.

    PostgreSQL: Gratuito e com boa aceitao. Originalmente co

    rodar em Linux. Possui verses para Windows. Principalmentcomrcio eletrnico juntamente com linguagem PHP.

    Informix: Boa escalabilidade e desempenho. Comercializado

    Sistemas Comerciais de SGBDs

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    38/42

    1 modulo Tc. em Informtica

    DB2: Produzido pela IBM, nasceu nos ambientes de grande pposteriormente portado para plataformas mais simples

    (microcomputadores). Firebird: Nascido de uma iniciativa da Borland em abrir o cd

    InterBase 6, este sistema open source e esbanja versatilidaPossui recursos de trigger, store procedures e transaes con

    Sistemas Comerciais de SGBDs

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    39/42

    1 modulo Tc. em Informtica

    Alm dos SGBDs, pode-se citar algumas linguagens/fedesenvolvimento, que manipulam os banco de dados desses ger

    Clipper: Comumente utilizado junto ao dBase. O Bramundial em vendas e uso dessa ferramenta.

    Joiner: Produto nacional concorrente do Clipper, produempresa paulista chamada Tuxon Software, com versUnix, e algum suporte para Windows.

    Sist. Comerciais Ferramentas Desenvolvimento

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    40/42

    1 modulo Tc. em Informtica

    Delphi/C++Builder/JBuilder: Ferramentas de desenvolvimeBorland que possuem suporte nativo aos bancos de dado

    MySQL. Delphi e C++Builder tambm podem acessar arquformato dBase, Paradox e Access nativamente, enquanto de dados podem ser maipuladas atravs da tecnologia OD

    Visual Basic/Visual C++: O programador pode criar aplicaacessam bancos de dados Access ou, por meio de ODBC, formatos.

    Sist. Comerciais Ferramentas Desenvolvimento

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    41/42

    1 modulo Tc. em Informtica

    So drivers que fornecem uma interface uniforme qinterao entre aplicativos e diferentes gerenciadores de ban

    Aplicativos que utilizam o API do ODBC so capazes de se coqualquer gerenciador relacional para o qual exista um driver OD

    ODBC Open Database Connectivity

    Programa

    aplicativo

    Driver

    Gerenciador

    ODBC

    Driver

    ODBC 1

    Driver

    ODBC 2

    Driver

    ODBC N

    SGBD 1

    SGBD 2

    SGBD N

    Introduo...

  • 7/24/2019 a01 BD-I - Introduo a BD

    42/42

    1 modulo Tc. em Informtica

    Exemplo

    Disciplinas

    cdigo

    professor

    nomeAlunos

    pronturio

    nome

    curso

    turma

    Cursos

    cdigo

    turma disciplina

    nome

    Professores

    cdigo

    nomeisciplinas

    cdigo

    professor

    nome

    Disciplinas

    cdigo

    professor

    nome

    Notas

    pronturio curso

    turma

    disciplina

    mdia

    ESCOLA