banco de dados 1 - aula1.ppt

29
Banco de Dados 1 Remis Balaniuk

Upload: joaozinhocaralho

Post on 20-Oct-2015

26 views

Category:

Documents


1 download

TRANSCRIPT

  • Banco de Dados 1Remis Balaniuk

  • IntroduoPlano de ensinoMaterial:ftp://[email protected] BD1Contato:[email protected]

  • Objetivos da disciplinaConhecer conceitos relativos tecnologia de banco de dados, aos aspectos de projeto e implementao e aos sistemas de gerenciamento de bancos de dados (SGBDs)Entender modelos de dados utilizados na representao de banco de dadosUtilizar ferramentas CASE para projetar bancos de dadosIntroduo linguagem de definio e manipulao de bancos de dados (SQL)

  • Objetivos especficosDefinir bancos de dados, suas propriedades e seus usuriosEntender o funcionamento dos SGBDsDistinguir modelos utilizados em projeto de BDsUtilizar o modelo entidade-relacionamento para definir uma viso conceitual dos dadosEntender conceitos do modelo relacional bem como suas operaesTraduzir representao de banco de dados do modelo entidade relacionamento para o modelo relacional

  • Dados, informao, conhecimentoA matria-prima da computao so os dadosUm computador mastiga dados mas eles s fazem sentido para ns humanos quando sabemos do que aquele dado trata.Dado + contexto = informaoUma informao normalmente corresponde a um fatoO fato tambm precisa ser interpretado dentro do seu contextoInformaes quando so manipuladas podem gerar conhecimento

  • Dados e matemticaA noo de dado e informao tem origem nos conceitos matemticos de conjunto e relaoO matemtico George Cantor em 1895 props a teoria dos conjuntos, que deu incio a uma nova vertente dentro da matemtica que muito influenciou o nascimento e maturao da computao

  • Dados e matemticaNa teoria de Cantor a noo mais primria, que engloba todas as outras, o conjuntoUm conjunto contm elementosSua definio, que pode ser feita matematicamente ou de forma abstrata, deve permitir que se distingua quais elementos fazem parte deleO conjunto o conceito precursor do que hoje consideramos o tipo do dadoOs elementos de um conjunto correspondem ao que hoje tratamos como dadosOs dados possuem uma srie de propriedades do tipo ao qual pertencem, que correspondem s definies que devem ter um conjunto

  • Dados e matemticaExemplo:O que significa A enquanto dado?Se estivermos falando do tipo (conjunto) alfabeto se trata da sua primeira letra Se estivermos falando do conjunto de nmeros inteiros representados em hexadecimal se trata do nmero inteiro 10Se estivermos falando de um conjunto ordenado de notas (A-E) se trata da maior nota.

  • Dados e matemticaEnto o dado s faz sentido se soubermos a qual tipo (conjunto) ele pertence e conhecermos as propriedades desse tipo de dadoOs conjuntos e seus elementos introduziram na matemtica a possibilidade de se calcular em cima de dados no numricos (algebra dos conjuntos), que o que faz um computador

  • Dados e matemticaDa mesma teoria surgiu a noo de relaoUm relao uma ligao entre os elementos de conjuntos diferentes formando as tuplasExemplo:A={a,b,c,d,e}B={1,2,3,4,5}R={(a,2),(b,1),(d,5)}A tupla correspondem noo de informaoUma relao tambm um conjunto, logo ela precisa ser definida enquanto tal quais conjuntos ela liga e quais elementos se ligam a quais outrosA definio da relao nos permite interpretar a tupla como informao:Se A um conjunto de notas e B um conjunto de matrculas de alunos logo R pode ser as notas que cada aluno tirou em um prova

  • Dados e matemticaDas relaes n-rias surgiu a lgebra relacionalDas operaes de conjunto (pois relaes so conjuntos) surgiram as linguagens de bancos de dados

  • Exemplo Contexto (minimundo):UniversidadeConjuntos (tipos de dados)CursoAlunosProfessoresDisciplinasRelaes (relacionamentos)Aluno pertence a cursoProfessor ministra disciplinaAluno cursa disciplinaDisciplina prerequsito de disciplina

  • Exemplo elementos (fatos, dados):

  • Evoluo histricaArquivos Sistemas de arquivos Bancos de dados

  • Evoluo histrica

  • Evoluo histrica

  • Evoluo histrica

  • Sistema de arquivos X Sistemas de Banco de DadosO acesso/gerenciamento aos/dos dados feito diretamente pelos programas aplicativos.O acesso/gerenciamento aos/dos dados feito pelo SGBD. O SGBD funciona como uma interface entre o BD e os programas aplicativos.Dados(arquivos)Dados(arquivos)SGBDSistema de arquivosSistema de Banco de Dados AplicativosAplicativos

  • Sistema de ArquivosPrimeira arquitetura de sistemas para armazenamento e manipulao de dados e gerao de informao.

    Inconvenientes desta arquitetura:

    Definio das estruturas de arquivos inseridas no prprio cdigo do aplicativo (alta dependncia entre dados e aplicao) dificultando os trabalhos de manuteno;compartilhamento de um arquivo por vrios programas.definio das estruturas de arquivos duplicadas nos programas.

    Arquivos e programas de um mesmo sistema so desenvolvidos de forma isolada por diferentes programadores e at mesmo em linguagens diferentes.

    Inconsistncia, redundncia, dificuldade de acesso, isolamento de dados e problemas com segurana.

    Falta de gerenciamento para acessos concorrentes aos dados e recuperao de dados.

  • Sistemas de Arquivos - ProblemasInconsistncia e redundncia de dados:Se a mesma informao est repetida em diversos lugares (arquivos diferentes) ela:est redundante, aumentando os custos de armazenamento e;pode passar para um estado inconsistente, com valores divergentes nas diferentes rplicas.

    Dificuldade de acesso aos dados:A gerao de informao pode surgir, durante o tempo em que o sistema est em produo, sob diferentes aspectos. Cada requisio de informao diferente no sistema de arquivos, vai gerar a necessidade da criao de um programa aplicativo. A recuperao de informao no atendida de modo eficiente.

    Isolamento de dados:Os dados esto armazenados em arquivos distintos, que no possuem qualquer tipo de relacionamento direto, e ainda podem conter diferentes formatos para o mesmo dado.

  • Sistemas de Arquivos - ProblemasProblemas de integridade:

    difcil manter restries de integridade automaticamente, por exemplo:Num sistema de conta bancria, toda vez que um saque feito o saldo deve ser verificado e atualizado (informaes podem estar em arquivos diferentes)

    Problemas de atomicidade:

    Algumas operaes em um sistema devem ser atmicas (indivisveis). Ou essas operaes so, em seu conjunto, executadas at o fim, ou nenhuma delas deve ser executada.

    Problemas de segurana:

    Nem todos os usurios do sistema devem estar autorizados a ver/acessar todos os dados armazenados. Uma vez que os programas de aplicao so inseridos no sistema como um todo, difcil implementar e garantir a efetividade de regras de segurana.

  • Sistemas de Arquivos - Problemas

    Anomalias no acesso concorrente:

    A melhora de desempenho em um sistema pode ocorrer pela execuo simultnea de diversas operaes. Geralmente, nos sistemas de arquivos, esta melhoria seria difcil de ser implementada sem levar a danos na consistncia dos dados. Considere a seguinte situao num sistema bancrio: Suponha que o saldo de uma conta bancria A seja 500 reais. Se dois clientes retiram fundos desta conta A ao mesmo tempo (acesso concorrente conta A), um estado inconsistente pode ocorrer se na execuo das duas instncias do programa de dbito, ambos os clientes leiam o saldo antigo e retirem, cada um, seu valor correspondente, e seja ento armazenado o valor restante.

    Instanciando o problema ...Ambos lem o valor 500;Um tira 50 reais (resultando 450 reais) e o outro 100 reais (resultado 400 reais);Dependendo de qual execuo do programa de dbito registre o saldo restante primeiro, o valor do saldo da conta ser 450 ou 400 reais, quando deveria ser 350 reais.

  • Definies ...Dados: so fatos que podem ser gravados e que possuem um significado implcito.

    Banco de Dados (BD): uma coleo de dados relacionados:Representa aspectos do mundo real (minimundo ou universo de discurso) e mudanas no mundo real devem ser refletidas no BD. uma coleo lgica e coerente de dados com algum significado inerente. Uma organizao randmica de dados no pode ser considerada um BD.Um BD construdo em atendimento a uma proposta especfica.

  • Definies ....Um Sistema Gerenciador de Banco de Dados (SGBD) uma coleo de programas que permite aos usurios criar e manter um banco de dados. um sistema de software de propsito geral que facilita os processos de definio, construo, manipulao e compartilhamento de bancos de dados entre vrios usurios e aplicaes.Sistema de Banco de Dados (SBD): o banco de dados mais o software SGBD

  • Programas de Aplicaes / Consultas (Queries)Usurios/ProgramadoresSISTEMA DE BANCO DE DADOSProgramas para Processamento de consultas / gerenciamento de dadosSoftware para Acesso aos Dados ArmazenadosDefinio dos dados(metadados)Banco de dadosarmazenadosSGBD

  • Caractersticas do uso de um SBDNatureza autodescritiva do sistema de banco de dados;Catlogo: metadados

    Isolamento entre programas e os dados, e a abstrao de dados;

    Suporte para as mltiplas vises dos dados;

    Compatilhamento de dados e processamento de transaes de multiusurios.Concorrncia

  • Banco de dados X Abstrao de DadosUm dos maiores benefcios dos sistemas de banco de dados proporcionar aos usurios uma viso abstrata dos dados. O sistema capaz de ocultar alguns detalhes sobre a forma de armazenamento e a manuteno dos dados.

    A eficincia da recuperao de informaes est relacionada forma como as estruturas de representao so projetadas e, dado a complexidade e importncia destas representaes, elas devem ser protegidas em nveis de abstraes.

    Estes nveis facilitam a manuteno do sistema e a interao dos usurios com os sistemas. So eles:

    Nvel fsico: como os dados esto, de fato, armazenados (descrio em detalhes das estruturas de dados). Mais baixo nvel de abstrao. Administradores de banco de dados devem ter noes da organizao deste nvel.

    Nvel lgico: quais dados esto armazenados e quais so os inter-relacionamentos existentes entre eles. Usado pelos administradores de banco de dados e programadores.

    Nvel de viso: O mais alto nvel de abstrao. Proporciona uma viso parcial do banco de dados. Diferentes vises so usados por diferentes usurios.

  • Nveis de abstraoNvel fsico: um registro de dado pode ser descrito como um bloco consecutivo de memria (por exemplo, palavras ou bytes).

    Nvel lgico: um registro de dado descrito por um tipo definido (como um tipo em linguagem de programao) e as inter-relaes entre dados so definidas.

    Nvel de viso: sub-conjunto de dados que podem existir apenas durante a execuo de uma operao (uma consulta ao banco de dados, por exemplo).