banco de dados - unisulpaginas.unisul.br/edson.thizon/pdf/bdi_aula_1.pdfconceitos • dados fatos...

38
Banco de Dados I Prof. Edson Thizon [email protected]

Upload: others

Post on 08-Jun-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Banco de Dados I

Prof. Edson [email protected]

Page 2: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Conceitos• Dados

Fatos conhecidos que podem ser registrados e que

possuem significado implícito

• Banco de dados (BD)Conjunto de dados interrelacionados que objetivam

atender as necessidades de um conjunto de

usuários.

Sinônimo: base de dados ("database")

Page 3: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Motivação

• Necessidade de armazenar grandes

quantidades de dados;

• Necessidade de acessar as informações

armazenadas de maneira eficiente;

Page 4: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

SGBD• Um SGBD, Sistema Gerenciador de

Banco de Dados, é constituído por um conjunto de programas que possibilita que usuários criem e mantenham um banco de dados.

Inglês: "database management system" (DBMS)

Page 5: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Objetivo de um SGBD

Proporcionar um ambiente tanto conveniente quanto eficiente para a recuperação e armazenamento das

informações do banco de dados.

Page 6: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Porque utilizar SGBD?

Page 7: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco
Page 8: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Processamento de dados sem Banco de Dados• Dados de diferentes aplicações não estão

integrados• Dados estão projetados para atender uma

aplicação específica

Page 9: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Problemas da falta de integração de dados

• Mesmo objeto da realidade é múltiplas vezes representado na base de dados

Exemplo - dados de um produto em uma indústria

• Redundância não controlada de dados– Não há gerência automática da redundância

Page 10: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Problemas da falta de integração de dados• Redundância leva a: – inconsistência dos dados

• Dados não representam corretamente a realidade– redigitação de informações

• trabalho repetitivo que pode levar a erros– dificuldade de extração de informações

• dados projetados para atender aplicações específicas geram

• dificuldades para o cruzamento de informações

• Dados pouco confiáveis e de baixa disponibilidade

Page 11: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Exemplo1. Considere um sistema de poupança bancária

sem Banco de Dados...

2. Informações sobre clientes e contas em arquivos permanentes;

3. Programas de aplicações para manipular os arquivos:

debitar ou creditar numa conta;adicionar uma nova conta;fazer o balanço de uma conta e gerar extratos mensais.

4. Atualizações no sistema implicam em novos arquivos e novos programas.

Page 12: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Problemas utilizando sistema de processamento de arquivos?

• Registros são armazenados em diversos arquivos

• Diversos Programas de aplicação são escritos para extrair e gravar dados

Page 13: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Desvantagens do Processamento de arquivos

• Inconsistência e redundância de dados

• Dificuldade de acesso aos dados

• Isolamento de dados

• Problema de integridade

• Problema de atomicidade

• Anomalias no acesso concorrente

• Problemas de segurança

Page 14: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Processamento de dados com Banco de Dados

• Cada informação armazenada uma única vez• eventual redundância controlada pelo sistema

em computador e invisível

Page 15: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Problemas no desenvolvimento de aplicações de Banco de Dados (1)

• Arquivos devem ser projetados para atender diferentes necessidades– Estruturas de dados complexas

• Banco de dados é acessado por múltiplos programas– Múltiplas equipes de desenvolvimento podem estar

envolvidas– Definição da estrutura da base de dados

• deve ser mantida de forma centralizada• deve estar disponível para múltiplos usuários

Page 16: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Problemas no desenvolvimento de aplicações de Banco de Dados (2)

• Dados deve estar corretos– Programas devem garantir a manutenção de restrições

de integridade– Restrição de Integridade: regras que estabelece

quando uma base de dados está correta• Exemplo: um aluno não pode possuir duas aprovações da

mesma disciplina em seu histórico 01/6

• Banco de dados é acessado concorrentemente por múltiplos usuários– Programas devem implementar controle de acesso

concorrente(programação complexa e de difícil depuração)

Page 17: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Problemas no desenvolvimento de aplicações de Banco de Dados (3)

• Nem todo usuário pode acessar qualquer informação– Programas devem implementar controle de acesso

• Dados são de importância vital e não podem ser perdidos– Mecanismos simples como cópias de “backup” não

são suficientes• Após falha BD deve ser recuperado rapidamente• Transações confirmadas ao usuário não podem ser

reprocessadas– Programas devem implementar mecanismos de

tolerância a falhas

Page 18: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Sistema Gerenciador de Banco de Dados (SGBD)

Page 19: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Dados e Modelo de Dados

• SGBD oferece um ambiente auto-contido• Banco de dados = dados + descrição

dos dados– Modelo de dados = descrição dos dados– Esquema da base de dados = texto ou gráfico

que especifica o modelo de dados– Dicionário de dados = conjunto de arquivos

que armazena o modelo de dados

Page 20: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

SGBD – Independência de Dados

• SGBD oferece isolamento das aplicações em relação aos dados– Independência de dados– Independência de (aplicações em relação aos) dados

significa que uma alteração no modelo de dados afeta “pouco” as aplicações

– Exemplo de sistema com pouca independência:• Modificação no esquema exige recompilação de todos

programas

• As aplicações não contém descrições dos dados. Com isso a base de dados pode ser alterada sem que as aplicações sejam afetadas.

Page 21: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

SGBD – Independência de Dados

• Oferece abstração de dados– Aplicações "vêem" dados de forma abstrata,

independente de detalhes físicos de implementação (fatores de bloco, localização no meio de armazenamento, existência de índices e caminhos de acesso)

– Aumenta independência de dados

Page 22: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

SGBD – aspectos operacionais

• Oferece controle de segurança– Que usuário pode realizar que operação sobre que

dado• Implementa tolerância a falhas

– Recuperação em caso de falhas transparente ao usuários

• Oferece controle de acesso concorrente– Múltiplos usuários podem acessar e atualizar o banco

de dados simultaneamente

Page 23: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Níveis de Modelo de Dados (1)

• Modelo conceitual– Descrição mais abstrata da base de dados.– Não contém detalhes de implementação.– Independente de tipo de SGBD usado.– Ponto de partida do projeto da base de dados.

Page 24: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Níveis de Modelo de Dados (2)

• Modelo lógico– Descrição da base de dados como vista pelos

usuários do SGBD(programadores, usuários que tem acesso ao

BD diretamente).– Dependente de SGBD.– Não contém detalhes físicos de implementação

(índices, etc.): SGBD oferece abstração de dados, independência de dados.

Page 25: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Níveis de Modelo de Dados (3)

• Modelo físico (interno)– Descrição da base de dados como

armazenada internamente (ajuste de performance).

– Tendência em produtos modernos é cada vez mais esconder o modelo físico.

Page 26: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Níveis de independência de dados

• Independência a nível lógico– Modelo lógico pode ser modificado sem que os

programas tenham que ser modificados (oferecida atéum certo ponto nos produtos no mercado).

– Em alguns casos recompilação é requerida.• Independência a nível físico

– Parâmetros físicos podem ser alterados (p.ex.: existência de índice) sem que as aplicações tenham que ser modificadas.

– Oferecida pelos produtos modernos.

Page 27: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Modelo de Dados

Sob a estrutura do Banco de dados está o modelo de dados: Um conjunto de ferramentas conceituais usadas para descrição de dados, relacionamentos entre dados, semântica de dados e regras de consistência.

Page 28: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Alguns Modelos de Banco de Dados

• Modelo Relacional

• Modelo de Rede

• Modelo Hierárquico

Page 29: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Modelo Relacional

Page 30: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Modelo Rede

Page 31: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Modelo Hierárquico

Page 32: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Linguagens de BD

Um sistema de banco de dados proporciona dois tipos de linguagens: Uma específica para esquema e outra para expressar consultas e atualizações.

1. DDL - “data definition language”

2. DML - “data manipulation language”

Page 33: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Linguagens de Definição de Dados - DDL

• Definição de Dados e Armazenamento

O Resultado da compilação dos parâmetros DDL’s é armazenado em um conjunto de tabelas que constituem um arquivo especial, chamado dicionário de dados. Um dicionário de dados é um Metadado. Em um SGBD esse arquivo é consultado antes que o dado real.

Page 34: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Linguagem de Manipulação dos Dados - DML

• Recuperação das informações armazenadas no B.D

• Inserção de novas informações no Banco de Dados

• A remoção de informações do B.D

• A modificação das informações do B. D

Page 35: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Funções envolvidas em SGBD (1)

• DBA - “database administrator”– Responsável pelos modelos lógico e físico.– Coordena acesso (senhas, etc.).– Monitora performance e sintoniza base de dados

(modelo físico).• Projetista de base de dados

– Constrói modelo conceitual de uma parte da base de dados, com intervenção do usuário. Junto com o DBA integra novas partes a base de dados global

Page 36: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Funções envolvidas em SGBD (2)

• Analista– Define e projeta aplicações sobre a base de dados.

Usa modelo conceitual e lógico existentes, não define dados da base de dados.

• Programador– Constrói aplicações usando os modelos conceitual e

lógico existentes• Usuários finais (“end-user”)

– Usuários que acessam a base de dados diretamente através de linguagens especiais

Page 37: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

.

Disco de armazenamentoArquivo de

dadosDicionário de

Dados

Gerenciador deArquivos

Código objetode programas

aplicativos

Gerenciador debanco de dados

Pré-compilador dalinguagem de

manipulação de dados

Processador deconsultas Compilador de

DDL

Interface doaplicativo

Programasaplicativos

Consultas Esquema debanco de dados

Usuários Programador Programas aplicativos Usuários sofisticados Admnistrador debanco de dados

Sistemagerenciador debanco de dados

Sistema de Banco de Dados

Page 38: Banco de Dados - Unisulpaginas.unisul.br/edson.thizon/PDF/BDI_aula_1.pdfConceitos • Dados Fatos conhecidos que podem ser registrados e que possuem significado implícito • Banco

Referências Bibliográficas

• KORTH, Henry F. & SILBERSCHATZ, Abraham. Sistemas de Bancos de Dados, São Paulo. Ed. Makron Books, 1999.

• HEUSER, Carlos Alberto. Projeto de Banco de Dados. 4ª Edição. Ed. Sagra, 2001.