Aula 01 de Banco de Dados - Engenharia de Software

39
Conceitos Básicos Disciplina: Banco de Dados Profª: Kelen Acquati Vieira, M.Sc Manaus - AM Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI

description

Fundação Centrode Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior -FUCAPI Manaus -AM Disciplina:Banco de Dados Profª: KelenAcquatiVieira, M.Sc • Sistema de Banco de Dados • Banco de Dados • Dados e Informações 10/01/2011 Conceitos Básicos 2 • Referência • Introdução

Transcript of Aula 01 de Banco de Dados - Engenharia de Software

Page 1: Aula 01 de Banco de Dados - Engenharia de Software

Conceitos Básicos

Disciplina: Banco de Dados

Profª: Kelen Acquati Vieira, M.Sc

Manaus - AM

Fundação Centro de Análise, Pesquisa e Inovação Tecnológica

Instituto de Ensino Superior - FUCAPI

Page 2: Aula 01 de Banco de Dados - Engenharia de Software

ROTEIRO

• Introdução

• Dados e Informações

• Banco de Dados

• Sistema de Banco de Dados

• Sistema de Gerenciamento de Banco de Dados

• Referência

10/01/2011 Conceitos Básicos 2

Page 3: Aula 01 de Banco de Dados - Engenharia de Software

INTRODUÇÃO

• Os bancos de dados e os sistemas de bancos de dados se

tornaram componentes essenciais no cotidiano da sociedade

moderna

• Eles estão inseridos em bancos, hotéis, agências aéreas, lojas,

supermercados, bibliotecas, escolas, clínicas, hospitais, etc.

10/01/2011 Conceitos Básicos 3

Page 4: Aula 01 de Banco de Dados - Engenharia de Software

INTRODUÇÃO

• A maioria das informações que são armazenadas e acessadas

estão em formato textual ou numérico

• A esse tipo de interação denominamos de aplicações tradicionais

de banco de dados

• Ultimamente tem-se gerado aplicações inovadoras e

interessantes de sistemas de banco de dados, tais como:

– Banco de dados de multimídia

– Tecnologia de banco de dados ativos e de Tempo Real

10/01/2011 Conceitos Básicos 4

Page 5: Aula 01 de Banco de Dados - Engenharia de Software

INTRODUÇÃO

• Banco de dados de multimídia

– Armazenar figuras, videoclipes e mensagens sonoras

• Exemplo 1:

– Os Sistemas de Informações Geográficas (geographic

information systems — GIS)

• são capazes de armazenar e analisar mapas, dados do

tempo e imagens de satélite

10/01/2011 Conceitos Básicos 5

Page 6: Aula 01 de Banco de Dados - Engenharia de Software

INTRODUÇÃO

• Exemplo 2

– Os data warehouses e os online analytical processing

(OLAP) – Processo Analítico On-line

• são utilizados em muitas empresas para extrair e analisar

as informações úteis dos bancos de dados para a tomada

de decisões

10/01/2011 Conceitos Básicos 6

Page 7: Aula 01 de Banco de Dados - Engenharia de Software

INTRODUÇÃO

• Tecnologia de banco de dados ativos (active database

technology) e de tempo real (real time)

– são usados no controle de processos industriais e de

produção (indústria)

– As técnicas de pesquisa em banco de dados estão sendo

aplicadas na World Wide Web para aprimorar a recuperação

de informações necessárias pelos usuários da Internet

10/01/2011 Conceitos Básicos 7

Page 8: Aula 01 de Banco de Dados - Engenharia de Software

INTRODUÇÃO

• Entretanto, para entendermos os fundamentos da tecnologia de

banco de dados, devemos começar pelas aplicações tradicionais

de bancos de dados

10/01/2011 Conceitos Básicos 8

Page 9: Aula 01 de Banco de Dados - Engenharia de Software

DADOS E INFORMAÇÕES

Page 10: Aula 01 de Banco de Dados - Engenharia de Software

DADOS E INFORMAÇÕES

• Dados são códigos que constituem a matéria prima da

informação, ou seja, é a informação não tratada

• Os dados não podem transmitir uma mensagem ou representar

algum conhecimento

• Informações são dados tratados ou seja, é o resultado do

processamento de dados, o qual gera um significado (semântica)

10/01/2011 10Conceitos Básicos

Page 11: Aula 01 de Banco de Dados - Engenharia de Software

DADOS E INFORMAÇÕES

• Exemplo:

– Dados de uma padaria

Razão Social

Produto

Validade

Valor

Quantidade

outros

10/01/2011

Esses dados podem

ser relacionados?

11Conceitos Básicos

Page 12: Aula 01 de Banco de Dados - Engenharia de Software

DADOS E INFORMAÇÕES

• Os dados são fatos que podem ser gravados e que possuem

um significado implícito

– Exemplo:

• 25/12/2010

• 12:00:00

• 205,50

• Ana Paula

• (92)8888-8888

10/01/2011

Há algum significado implícito?

Os três exemplos ao

lado são dados?

12Conceitos Básicos

Page 13: Aula 01 de Banco de Dados - Engenharia de Software

BANCO DE DADOS

Page 14: Aula 01 de Banco de Dados - Engenharia de Software

BANCO DE DADOS

• Um banco de dados é uma coleção de dados relacionados

• Esses dados podem ter sido escritos em uma agenda de

telefones

• ou armazenados em um computador, por meio de programas

como o Microsoft Access ou Excel

• Essas informações são uma coleção de dados com um significado

implícito, consequentemente, um banco de dados

10/01/2011 14Conceitos Básicos

Page 15: Aula 01 de Banco de Dados - Engenharia de Software

BANCO DE DADOS

• A definição de banco de dados, mencionada anteriormente, é

muito genérica

• O uso do termo banco de dados é geralmente mais restrito e

possui as seguintes propriedades implícitas:

– Um banco de dados representa alguns aspectos do mundo

real, sendo chamado, às vezes, de minimundo ou de universo

de discurso (UoD). As mudanças no minimundo são

refletidas em um banco de dados

10/01/2011 15Conceitos Básicos

Page 16: Aula 01 de Banco de Dados - Engenharia de Software

BANCO DE DADOS

– Um banco de dados é uma coleção lógica e coerente de dados

com algum significado inerente. Uma organização de dados

ao acaso (randômica) não pode ser corretamente

interpretada como um banco de dados

– Um banco de dados é projetado, construído e povoado por

dados, atendendo a uma proposta específica. Possui um grupo

de usuários definido e algumas aplicações preconcebidas, de

acordo com o interesse desse grupo de usuários

10/01/2011 16Conceitos Básicos

Page 17: Aula 01 de Banco de Dados - Engenharia de Software

BANCO DE DADOS

– Um banco de dados é uma coleção lógica e coerente de dados

com algum significado inerente. Uma organização de dados

ao acaso (randômica) não pode ser corretamente

interpretada como um banco de dados

– Um banco de dados é projetado, construído e povoado por

dados, atendendo a uma proposta específica. Possui um grupo

de usuários definido e algumas aplicações preconcebidas, de

acordo com o interesse desse grupo de usuários

10/01/2011 17Conceitos Básicos

Page 18: Aula 01 de Banco de Dados - Engenharia de Software

BANCO DE DADOS

• um banco de dados possui algumas fontes das quais os dados são

derivados, alguns níveis de interação com os eventos do mundo

real e um público efetivamente interessado em seus conteúdos

10/01/2011 18Conceitos Básicos

Page 19: Aula 01 de Banco de Dados - Engenharia de Software

BANCO DE DADOS

• A definição de um banco de dados implica em:

Especificar os tipos de dados,

Especificar as estruturas,

Especificar as restrições

para que os dados possam ser armazenados

10/01/2011 19Conceitos Básicos

Page 20: Aula 01 de Banco de Dados - Engenharia de Software

BANCO DE DADOS

• Um banco de dados pode ser de qualquer tamanho e de

complexidade variável

– Limitação:

• MEMÓRIA DE ARMAZENAMENTO!

• Um banco de dados pode ser gerado e mantido manual ou

automaticamente (computadorizado)

10/01/2011 20Conceitos Básicos

Page 21: Aula 01 de Banco de Dados - Engenharia de Software

BANCO DE DADOS

• Um catálogo de cartões bibliotecários é um banco de dados que

oferece a possibilidade de ser criado e mantido manualmente

• Um banco de dados computadorizado pode ser criado e mantido

tanto por um grupo de aplicativos escritos especialmente para

essa tarefa como por um sistema gerenciador de banco de

dados – SGBD

10/01/2011 21Conceitos Básicos

Page 22: Aula 01 de Banco de Dados - Engenharia de Software

BANCO DE DADOS

• Uma planilha de dados em Excel pode ser considerada um banco

de dados?

• Um arquivo de registros sequênciais pode ser considerado um

banco de dados?

10/01/2011 22Conceitos Básicos

Page 23: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

Page 24: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

• Chama-se a união do banco de dados e o software de Sistema de

Gerenciamento de Banco de Dados (SGBD) de

– sistema de banco de dados

10/01/2011 Conceitos Básicos 24

Page 25: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMAS DE BANCO DE DADOS

10/01/2011

Definição dos Dados Armazenados(metadados)

Banco de DadosArmazenados

Programa para processamentode consultas / programas

Software para acesso aosDados Armazenados

SW SGBD

Programas de Aplicações / Consultas (Queries)

Usuários / Programadores / Programa

25Conceitos Básicos

Page 26: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

• Características de um sistema de BD

1. Natureza autodescritiva do sistema de banco de dados;

2. Isolamento entre os programas e os dados, e a abstração dos

dados;

3. Suporte para as múltiplas visões dos dados;

4. Compartilhamento dos dados e processamento de transações

de multiusuários;

10/01/2011 26Conceitos Básicos

Page 27: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

Natureza autodescritiva do sistema de banco de dados

Uma característica fundamental entre banco de dados e

sistema de banco de dados é que o último

possui o banco de dados e uma completa definição deste

banco armazenado no catálogo (metadados)

O catálogo possui a informação da estrutura de cada arquivo,

o tipo e o formato armazenado de cada item e suas

restrições

10/01/2011 27Conceitos Básicos

Page 28: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

Isolamento entre Programas e Dados e Abstração de Dados

Ao contrário do processamento tradicional de arquivo, os

programas para acesso ao SGBD geralmente não exigem

alterações no código, pois a estrutura está armazenada no

catálogo do SGBD separado do programa de acesso

(aplicação)

Essa propriedade é chamada de independência programa-

dados

10/01/2011 28Conceitos Básicos

Page 29: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

Isolamento entre Programas e Dados e Abstração de Dados

Uma operação (método ou função) é especificada em duas partes:

– A interface e a implementação, a primeira inclui a assinatura

do método com seus parâmetros e a segunda são as linhas de

programação

– Os programas invocam essas operações sem ter que precisar

saber como estão implementadas

– Essa propriedade é chamada de independência programa-

operação

10/01/2011 29Conceitos Básicos

Page 30: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

Suporte para as múltiplas visões de dados

Uma visão de banco de dados pode ser um subconjunto de um

banco de dados, derivados dos arquivos de banco de dados,

mas não explicitamente armazenados. Exemplo:

A idade derivado do dado data_nascimento

Pode se restringir as visões conforme a permissão do usuário.

Exemplo:

Visão do Histórico Escolar ou dos Pré-requisitos do curso

Visão dos dados financeiros

10/01/2011 30Conceitos Básicos

Page 31: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

Compartilhamento de Dados e o Processamento de Transação

Multiusuário

Uma transação é um programa em execução ou processo que

inclui um ou mais acessos ao banco de dados, como leitura ou

atualização de registros

Cada transação deve executar um acesso logicamente correto

ao banco de dados, sem a interferência de outras transações

O SGBD deve garantir as propriedades de transações

10/01/2011 31Conceitos Básicos

Page 32: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

Compartilhamento de Dados e o Processamento de Transação

Multiusuário

Propriedades de transações:

– Isolamento

– Atomicidade

10/01/2011 32Conceitos Básicos

Page 33: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

Compartilhamento de Dados e o Processamento de Transação

Multiusuário

• Isolamento

Garante que cada transação possa ser efetuada de forma

isolada de outras transações (mesmo sendo centenas

simultaneamente)

• Atomicidade

Garante que todas as operações em BD, em uma transação,

sejam executadas ou que nenhuma delas o seja

10/01/2011 33Conceitos Básicos

Page 34: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE BANCO DE DADOS

• Um BD que armazena informações de ALUNOS e CURSOS

10/01/2011

ALUNO Nome Matricula Turma Curso_Hab

Bruno 17 1 CC3380

Daniel 8 2 CC3380

CURSO Nome NumCurso Créditos Departamento

Introdução a CC CC1310 4 CC

Estrutura de Dados CC3320 4 CC

Matemática Discreta MAT2410 3 MAT

Banco de Dados CC3380 3 CC

34Conceitos Básicos

Page 35: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMA DE GERENCIAMENTO DE BANCO DE DADOS

Page 36: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMAS DE GERENCIAMENTO DE BD

• Um Sistema Gerenciador de Banco de Dados (SGBD) é uma

coleção de programas que permitem aos usuários criar e manter

um banco de dados

• A construção de um banco de dados é o processo de armazenar

os dados em alguma mídia apropriada controlada pelo SGBD

10/01/2011 36Conceitos Básicos

Page 37: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMAS DE GERENCIAMENTO DE BD

• O compartilhamento permite aos múltiplos usuários e aos

programas acessar, de forma concorrente, o banco de dados

• A manipulação de um banco de dados consiste em pesquisar,

alterar, inserir e remover dados para refletir mudanças no

minimundo e também para gerar relatório

10/01/2011

O que é o minimundo?

37Conceitos Básicos

Page 38: Aula 01 de Banco de Dados - Engenharia de Software

SISTEMAS DE GERENCIAMENTO DE BD

• Duas funções importantes de um SGBD:

– proteção e manutenção

Proteger o sistema contra mau funcionamento ou falhas

(crashes) no HW / SW;

Proteger o sistema de acessos não autorizados ou

maliciosos;

Manter o sistema de banco de dados é permitir a

evolução dos requisitos que se alteram ao longo do tempo

10/01/2011 38Conceitos Básicos

Page 39: Aula 01 de Banco de Dados - Engenharia de Software

REFERÊNCIA

• ELMASRI, R., NAVATHE, S. B. Sistemas de Banco de Dados,

4ª Edição. Editora Pearson Addison Wesley. Ano 2005

10/01/2011 39Conceitos Básicos