Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados...

55
Banco de Dados Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira Violin – UFSCar e Lineu Mialaret

Transcript of Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados...

Page 1: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Banco de DadosBanco de DadosIntrodução aos Bancos de dados

Prof. Vicente Paulo de Camargo

Introdução aos Bancos de dados

Prof. Vicente Paulo de Camargo

Ref. Prof . Renato de Oliveira Violin – UFSCare Lineu Mialaret

Page 2: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Modelagem Conceitual e Projeto deBanco de Dados – Paulo Cougo –Ed.Campus

Sistemas de Banco de Dados – Elmari /Navathe – Ed. Pearson

Sistema de Banco de Dados – Silberschatze outros – Ed. Campus

Apostilas

Banco de DadosBanco de Dados BibliografiaBibliografia

2

Modelagem Conceitual e Projeto deBanco de Dados – Paulo Cougo –Ed.Campus

Sistemas de Banco de Dados – Elmari /Navathe – Ed. Pearson

Sistema de Banco de Dados – Silberschatze outros – Ed. Campus

Apostilas

Page 3: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

TópicosTópicos Introdução Banco de Dados - Fundamentos Dado e Informação Definição Algumas aplicações Um pouco de história Sistemas de Arquivos x Banco de Dados SGBD Características de banco de dados Profissionais em cena Profissionais nos bastidores Vantagens de usar a abordagem de SGBD Uma breve história das aplicações de banco de dados Arquiteturas de um SGBD Quando não usar um SGBD

Introdução Banco de Dados - Fundamentos Dado e Informação Definição Algumas aplicações Um pouco de história Sistemas de Arquivos x Banco de Dados SGBD Características de banco de dados Profissionais em cena Profissionais nos bastidores Vantagens de usar a abordagem de SGBD Uma breve história das aplicações de banco de dados Arquiteturas de um SGBD Quando não usar um SGBD

Page 4: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

AvançosAvanços nana micromicro--eletrônicaeletrônicaresultaramresultaram emem maioresmaiores poderespoderescomputacionais,computacionais, aa custoscustos cadacada vezvezmaismais reduzidosreduzidos..

AvançosAvanços nana micromicro--eletrônicaeletrônicaresultaramresultaram emem maioresmaiores poderespoderescomputacionais,computacionais, aa custoscustos cadacada vezvezmaismais reduzidosreduzidos..

Na décadade 80

Na décadade 80

Décadas50, 60 e 70Décadas

50, 60 e 70

O desafio foi desenvolvercomputadores (hardware) quereduzissem os custoscustos dedeprocessamentoprocessamento ee dedearmazenamentoarmazenamento dede dadosdados eeinformaçõesinformações..

O desafio foi desenvolvercomputadores (hardware) quereduzissem os custoscustos dedeprocessamentoprocessamento ee dedearmazenamentoarmazenamento dede dadosdados eeinformaçõesinformações..

IntroduçãoIntrodução

AvançosAvanços nana micromicro--eletrônicaeletrônicaresultaramresultaram emem maioresmaiores poderespoderescomputacionais,computacionais, aa custoscustos cadacada vezvezmaismais reduzidosreduzidos..

AvançosAvanços nana micromicro--eletrônicaeletrônicaresultaramresultaram emem maioresmaiores poderespoderescomputacionais,computacionais, aa custoscustos cadacada vezvezmaismais reduzidosreduzidos..

Na décadade 80

Na décadade 80

Últimasdécadas

OO desafiodesafio maiormaior passoupassou aa serser melhorarmelhoraraa qualidadequalidade ee reduzirreduzir osos custoscustos dedesoluçõessoluções computacionais,computacionais, asas quaisquaispodempodem serser implementadasimplementadas porpor meiomeio dedesistemassistemas dede softwaresoftware nosnos diasdias dede hojehoje..

Page 5: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

IntroduçãoIntrodução

•Inicialmente os sistemas de computaçãoacessavam informações em arquivosarquivos

•Posteriormente, surgiram os bancosbancos dededadosdados

•Inicialmente os sistemas de computaçãoacessavam informações em arquivosarquivos

•Posteriormente, surgiram os bancosbancos dededadosdados

Page 6: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

BANCO DE DADOS FundamentosBANCO DE DADOS Fundamentos•Mas o que é um arquivo?

•Existem diversos tipos de arquivos: dede textotexto, de imagem, desom e outros

•Um arquivo de texto é um conjunto de linhas, onde cada linhapossui um conjunto de caracteres, separados ou não.

•Em um arquivo texto tem-se as PALAVRAS que formam oscaracteres agrupados.

•Existem arquivos, cujas linhas possuem dados específicoscomo nomes, endereços, cpf e outros

•Esses dados são denominados de CAMPOS

•Mas o que é um arquivo?

•Existem diversos tipos de arquivos: dede textotexto, de imagem, desom e outros

•Um arquivo de texto é um conjunto de linhas, onde cada linhapossui um conjunto de caracteres, separados ou não.

•Em um arquivo texto tem-se as PALAVRAS que formam oscaracteres agrupados.

•Existem arquivos, cujas linhas possuem dados específicoscomo nomes, endereços, cpf e outros

•Esses dados são denominados de CAMPOS

Page 7: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

BANCO DE DADOS FundamentosBANCO DE DADOS Fundamentos

•Considere uma folha de pagamento, cujas filiais enviamseus dados para uma central de processamento. Essesdados são enviados via arquivos texto.Exemplo:

00112345601202000100000150000001002123456012020002000000000000030038199990120200010000120000000100489999901202000400000100000001Seq matr mês ano cod. valor qtde

•Considere uma folha de pagamento, cujas filiais enviamseus dados para uma central de processamento. Essesdados são enviados via arquivos texto.Exemplo:

00112345601202000100000150000001002123456012020002000000000000030038199990120200010000120000000100489999901202000400000100000001Seq matr mês ano cod. valor qtde

LINHASLINHASCada linha

representa oregistro de um

movimentofinanceiro

Page 8: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Dado e Informação (1)Dado e Informação (1) Dado: matéria prima dos Sistemas de Informação. Informação: dado agregado. Conhecimento: inferência realizada sobre a informação. Decisão: a operacionalização do conhecimento. Exemplo 1:

◦ 20 é um dado◦ 20 de janeiro é uma informação ( um dado agregado)◦ 20 de janeiro de 2020 é outra informação◦ em 20 de janeiro de 2020 será realizado um inventário

da empresa (que é um conhecimento, ou seja, umadedução de um dado agregado, que é uma informação)

◦ Resolveu-se aplicar uma parte dos lucros apósconhecimento da informação (decisão)

Dado: matéria prima dos Sistemas de Informação. Informação: dado agregado. Conhecimento: inferência realizada sobre a informação. Decisão: a operacionalização do conhecimento. Exemplo 1:

◦ 20 é um dado◦ 20 de janeiro é uma informação ( um dado agregado)◦ 20 de janeiro de 2020 é outra informação◦ em 20 de janeiro de 2020 será realizado um inventário

da empresa (que é um conhecimento, ou seja, umadedução de um dado agregado, que é uma informação)

◦ Resolveu-se aplicar uma parte dos lucros apósconhecimento da informação (decisão)

Page 9: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Exemplo 2:

Dado e Informação (2)Dado e Informação (2)

Page 10: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Dado e Informação (3)Dado e Informação (3)

HIERARQUIA DOS COMPONENTES DA INFORMAÇÃO TEXTUAL:

Caracteres = numéricos, alfanuméricos, lógicos e outros

Campos = são conjuntos de caracteres que identificam uma parteda informação. Ex. nome, cpf, telefone

Registros = são agrupamentos de campos.Ex. Registros de clientes, onde cada registro possuiNOME,FONE e CELULAR

10

HIERARQUIA DOS COMPONENTES DA INFORMAÇÃO TEXTUAL:

Caracteres = numéricos, alfanuméricos, lógicos e outros

Campos = são conjuntos de caracteres que identificam uma parteda informação. Ex. nome, cpf, telefone

Registros = são agrupamentos de campos.Ex. Registros de clientes, onde cada registro possuiNOME,FONE e CELULAR

Page 11: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Dado e Informação (4)Dado e Informação (4)

A INCONSISTÊNCIA e a INTEGRIDADE relativas aosdados devem ser observadas.

A INTEGRIDADE assegura que os dados no banco dedados estão realmente corretos.

A INCONSISTÊNCIA É UM EXEMPLO DE FALTA DEINTEGRIDADE . É o caso, por exemplo, de se ter um Xgravado em um dado no lugar de um F ou M querepresentam o código do sexo.

11

A INCONSISTÊNCIA e a INTEGRIDADE relativas aosdados devem ser observadas.

A INTEGRIDADE assegura que os dados no banco dedados estão realmente corretos.

A INCONSISTÊNCIA É UM EXEMPLO DE FALTA DEINTEGRIDADE . É o caso, por exemplo, de se ter um Xgravado em um dado no lugar de um F ou M querepresentam o código do sexo.

Page 12: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

DefiniçãoDefinição Banco de dados

◦ Coleção de dados relacionados.◦ Fatos conhecidos que podem ser registrados

e possuem significado implícito.◦ Representa algum aspecto do mundo real.◦ Coleção logicamente coerente de dados

com algum significado inerente.◦ Construído para uma finalidade específica.◦ Um Banco de dados é controlado por um

SGBD

Banco de dados◦ Coleção de dados relacionados.◦ Fatos conhecidos que podem ser registrados

e possuem significado implícito.◦ Representa algum aspecto do mundo real.◦ Coleção logicamente coerente de dados

com algum significado inerente.◦ Construído para uma finalidade específica.◦ Um Banco de dados é controlado por um

SGBD

Page 13: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

O que é um SGBD?O que é um SGBD? Sistema Gerenciador de Banco de Dados é um conjunto de programas e ferramentas

utilizadas para configurar, atualizar e manterum banco de dados.◦ Recursos para administrar usuários/permissões.◦ Recursos para criar/alterar tabelas e banco de

dados.◦ Recursos para backup e restauração de dados.◦ Recursos para otimizar a performance do

banco.

Sistema Gerenciador de Banco de Dados é um conjunto de programas e ferramentas

utilizadas para configurar, atualizar e manterum banco de dados.◦ Recursos para administrar usuários/permissões.◦ Recursos para criar/alterar tabelas e banco de

dados.◦ Recursos para backup e restauração de dados.◦ Recursos para otimizar a performance do

banco.

Page 14: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Algumas aplicaçõesAlgumas aplicações Aplicações de banco de dados

tradicionais◦ Armazena informações textuais ou

numéricas. Bancos de dados de multimídia

◦ Armazena imagens, áudios e vídeos Sistemas de informações geográficas

(GIS)◦ Armazena e analisa mapas, dados sobre o

clima e imagens de satélite.

Aplicações de banco de dadostradicionais◦ Armazena informações textuais ou

numéricas. Bancos de dados de multimídia

◦ Armazena imagens, áudios e vídeos Sistemas de informações geográficas

(GIS)◦ Armazena e analisa mapas, dados sobre o

clima e imagens de satélite.

Page 15: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Algumas aplicações (cont.)Algumas aplicações (cont.) Sistemas de data warehouse e de

processamento analítico on-line (OLAP)◦ Extrair e analisar informações comerciais

úteis de bancos de dados muito grandes.◦ Ajuda na tomada de decisão.◦ Business Inteligence (BI)

Tecnologia de tempo real e banco dedados ativo◦ Controla processos industriais e de

manufatura.

Sistemas de data warehouse e deprocessamento analítico on-line (OLAP)◦ Extrair e analisar informações comerciais

úteis de bancos de dados muito grandes.◦ Ajuda na tomada de decisão.◦ Business Inteligence (BI)

Tecnologia de tempo real e banco dedados ativo◦ Controla processos industriais e de

manufatura.

Page 16: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Um pouco de históriaUm pouco de história O primeiro banco de dados teve início nas

décadas de 60 e 70 na IBM, com pesquisasem automação de tarefas de escritório.◦ Naquela época, tinha-se que ter muita gente

($$$) para armazenar e indexar os arquivos.

Em 1970 um pesquisador da IBM - Ted Coddpublicou o primeiro artigo sobre bancos dedados relacionais. Este artigo tratava sobreuma forma de consultar os dados (emtabelas) por meio de comandos.

O primeiro banco de dados teve início nasdécadas de 60 e 70 na IBM, com pesquisasem automação de tarefas de escritório.◦ Naquela época, tinha-se que ter muita gente

($$$) para armazenar e indexar os arquivos.

Em 1970 um pesquisador da IBM - Ted Coddpublicou o primeiro artigo sobre bancos dedados relacionais. Este artigo tratava sobreuma forma de consultar os dados (emtabelas) por meio de comandos.

Page 17: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Um pouco de históriaUm pouco de história

Inicialmente, por ser muito complexo,não foi aceito nem implantado.

A IBM criou um grupo de pesquisachamado System R, com o objetivo dedesenvolver um sistema de BD para sercomercializado.

System R introduziu uma linguagemchamada Structured Query Language(SQL).

Inicialmente, por ser muito complexo,não foi aceito nem implantado.

A IBM criou um grupo de pesquisachamado System R, com o objetivo dedesenvolver um sistema de BD para sercomercializado.

System R introduziu uma linguagemchamada Structured Query Language(SQL).

Page 18: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Um pouco de históriaUm pouco de história

Essa linguagem tornou-se padrãointernacional para BD relacional.

O System R passou a se chamar SQL/DS. SQL/DS evoluiu para DB2, que é o banco

de dados comercial da IBM.

Essa linguagem tornou-se padrãointernacional para BD relacional.

O System R passou a se chamar SQL/DS. SQL/DS evoluiu para DB2, que é o banco

de dados comercial da IBM.

Page 19: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Sistema de Arquivos vs. Banco de DadosSistema de Arquivos vs. Banco de Dados

Alguns Sistemas de Arquivos:◦ FAT32, NTFS, Ext2, Ext3, ReiserFS....

Alguns Bancos de Dados:◦ MySQL, SQL Server, Firebird, PostgreSQL,

DB2, Oracle...

Ambos tem um objetivo em comum:◦ Armazenar dados em sistemas de

computação.

Alguns Sistemas de Arquivos:◦ FAT32, NTFS, Ext2, Ext3, ReiserFS....

Alguns Bancos de Dados:◦ MySQL, SQL Server, Firebird, PostgreSQL,

DB2, Oracle...

Ambos tem um objetivo em comum:◦ Armazenar dados em sistemas de

computação.

Page 20: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Sistema de Arquivos vs. Banco de DadosSistema de Arquivos vs. Banco de Dados

Sistema de Arquivos

Page 21: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Sistema de Arquivos vs. Banco de DadosSistema de Arquivos vs. Banco de Dados

Sistema de Arquivos◦ A manutenção é prejudicada pois a estrutura de

arquivos é definida e padronizada no própriocódigo do aplicativo (Cobol);

◦ O compartilhamento de um arquivo por váriosprogramas apresenta dificuldades para gerenciaro acesso a esses arquivos e seu controle;

◦ O desenvolvimento de arquivos e programas deum mesmo SO é realizado isoladamente porprogramadores e linguagens diferentes, causandoincompatibilidades no sistema;

◦ A falta de gerenciamento de acessosconcorrentes aos dados e recuperação de dados.

Sistema de Arquivos◦ A manutenção é prejudicada pois a estrutura de

arquivos é definida e padronizada no própriocódigo do aplicativo (Cobol);

◦ O compartilhamento de um arquivo por váriosprogramas apresenta dificuldades para gerenciaro acesso a esses arquivos e seu controle;

◦ O desenvolvimento de arquivos e programas deum mesmo SO é realizado isoladamente porprogramadores e linguagens diferentes, causandoincompatibilidades no sistema;

◦ A falta de gerenciamento de acessosconcorrentes aos dados e recuperação de dados.

Page 22: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Sistema de Arquivos vs. Banco de DadosSistema de Arquivos vs. Banco de Dados

Banco de Dados

Page 23: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira
Page 24: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Sistema de Arquivos vs. Banco de DadosSistema de Arquivos vs. Banco de Dados

Banco de Dados◦ Rapidez no acesso às informações presentes no

Banco de Dados;◦ Redução de problemas de integridade e

redundância;◦ Diminuição do esforço humano no

desenvolvimento;◦ Utilização dos dados e controle integrado de

informações distribuídas fisicamente.◦ Descreve uma coleção lógica e coerente de

dados com algum significado inerente. Umaorganização randômica de dados não pode serconsiderada um Banco de Dados;

Banco de Dados◦ Rapidez no acesso às informações presentes no

Banco de Dados;◦ Redução de problemas de integridade e

redundância;◦ Diminuição do esforço humano no

desenvolvimento;◦ Utilização dos dados e controle integrado de

informações distribuídas fisicamente.◦ Descreve uma coleção lógica e coerente de

dados com algum significado inerente. Umaorganização randômica de dados não pode serconsiderada um Banco de Dados;

Page 25: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Processamento de arquivo tradicional◦ Cada usuário define e implementa os

arquivos necessários para uma aplicação desoftware específica.

Abordagem de Banco de Dados◦ Um único repositório mantém dados que

são definidos uma vez e depois acessadospor vários usuários.

Sistema de Arquivos vs. Banco de DadosSistema de Arquivos vs. Banco de Dados

Processamento de arquivo tradicional◦ Cada usuário define e implementa os

arquivos necessários para uma aplicação desoftware específica.

Abordagem de Banco de Dados◦ Um único repositório mantém dados que

são definidos uma vez e depois acessadospor vários usuários.

Page 26: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Alguns SGBDsAlguns SGBDs

www.oracle.comwww-01.ibm.com/software/data/db2/

www.sybase.com.br/www.firebirdsql.org/

www.postgresql.org/www.microsoft.com/sqlserver/en/us/default.aspx

www.mysql.com/

Page 27: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Principais característicasPrincipais característicasde banco de dadosde banco de dados1. Natureza de autodescrição de um

sistema de banco de dados.2. Isolamento entre programas e dados, e

abstração de dados.3. Suporte de múltiplas visões dos dados.4. Compartilhamento de dados e

processamento de transaçãomultiusuário.

1. Natureza de autodescrição de umsistema de banco de dados.

2. Isolamento entre programas e dados, eabstração de dados.

3. Suporte de múltiplas visões dos dados.4. Compartilhamento de dados e

processamento de transaçãomultiusuário.

Page 28: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

1. Natureza de autodescrição de1. Natureza de autodescrição deum sistema de banco de dadosum sistema de banco de dados O sistema de banco de dados contém

definição completa de sua estrutura erestrições.◦ Metadados, que descreve a estrutura do

banco de dados. O catálogo é usado pelo:

◦ Software de SGBD◦ Usuários do banco de dados que precisam

de informações sobre a estrutura do bancode dados.

O sistema de banco de dados contémdefinição completa de sua estrutura erestrições.◦ Metadados, que descreve a estrutura do

banco de dados. O catálogo é usado pelo:

◦ Software de SGBD◦ Usuários do banco de dados que precisam

de informações sobre a estrutura do bancode dados.

Page 29: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira
Page 30: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

2. Isolamento entre programas e dados2. Isolamento entre programas e dados

Independência de dados do programa◦ A estrutura dos arquivos de dados é

armazenada no catálogo do SGBDseparadamente dos programas de acesso(cliente).

Independência da operação do programa◦ Uma operação é específicada em duas partes: A interface de uma operação inclui o nome da operação

e os tipos de dados de seus argumentos. A implementação da operação pode ser alterada sem

afetar a interface.

Independência de dados do programa◦ A estrutura dos arquivos de dados é

armazenada no catálogo do SGBDseparadamente dos programas de acesso(cliente).

Independência da operação do programa◦ Uma operação é específicada em duas partes: A interface de uma operação inclui o nome da operação

e os tipos de dados de seus argumentos. A implementação da operação pode ser alterada sem

afetar a interface.

Page 31: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

3. Abstração de dados3. Abstração de dados Abstração de dados

◦ Permite a independência de dados do programa ea independência da operação do programa.

◦ Se adicionar um campo na tabela, na próximaconsulta aquele dado já estará disponível.

Representação conceitual de dados◦ Através do Diagrama Conceitual◦ Não inclui detalhes de como os dados são

armazenados ou como as operações sãoimplementadas.

Abstração de dados◦ Permite a independência de dados do programa e

a independência da operação do programa.◦ Se adicionar um campo na tabela, na próxima

consulta aquele dado já estará disponível.

Representação conceitual de dados◦ Através do Diagrama Conceitual◦ Não inclui detalhes de como os dados são

armazenados ou como as operações sãoimplementadas.

Page 32: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

4. Suporte para múltiplas visões dos dados4. Suporte para múltiplas visões dos dados

Visão◦ Subconjunto do banco de dados.◦ Contém dados virtuais derivado dos

arquivos do banco de dados, mas que nãoestão armazenados da forma que sãovisualizados.

Visão◦ Subconjunto do banco de dados.◦ Contém dados virtuais derivado dos

arquivos do banco de dados, mas que nãoestão armazenados da forma que sãovisualizados.

Page 33: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

5. Compartilhamento de dados5. Compartilhamento de dadose processamento de transação multiusuárioe processamento de transação multiusuário

Permite que múltiplos usuários acessemo banco de dados ao mesmo tempo.

Software de controle de concorrência◦ Garante que vários usuários tentando

atualizar o mesmo dado faça isso de umamaneira controlada, garantindo que oresultado dessas atualizações sejacorreto.

Permite que múltiplos usuários acessemo banco de dados ao mesmo tempo.

Software de controle de concorrência◦ Garante que vários usuários tentando

atualizar o mesmo dado faça isso de umamaneira controlada, garantindo que oresultado dessas atualizações sejacorreto.

Page 34: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

5. Compartilhamento de dados5. Compartilhamento de dadose processamento de transação multiusuário (cont.)e processamento de transação multiusuário (cont.)

Transação◦ Programa em execução ou processo que

inclui um ou mais acessos ao banco dedados.

◦ Propriedade de isolamento: Cada transação parece executar isoladamente das

outras transações.

◦ Propriedade de atomicidade: Todas as operações em uma transação são

executadas ou nenhuma será.

Transação◦ Programa em execução ou processo que

inclui um ou mais acessos ao banco dedados.

◦ Propriedade de isolamento: Cada transação parece executar isoladamente das

outras transações.

◦ Propriedade de atomicidade: Todas as operações em uma transação são

executadas ou nenhuma será.

Page 35: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

ProfissionaisProfissionais emem cenacena Administrador de banco de dados (DBA)

é responsável por:◦ Autorizar o acesso ao banco de dados◦ Coordenar e monitorar seu uso◦ Adquirir recursos de software e hardware

Projetistas de banco de dados sãoresponsáveis por:◦ Identificar os dados a serem armazenados◦ Escolher estruturas apropriadas para

representar e armazenar esses dados

Administrador de banco de dados (DBA)é responsável por:◦ Autorizar o acesso ao banco de dados◦ Coordenar e monitorar seu uso◦ Adquirir recursos de software e hardware

Projetistas de banco de dados sãoresponsáveis por:◦ Identificar os dados a serem armazenados◦ Escolher estruturas apropriadas para

representar e armazenar esses dados

Page 36: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

ProfissionaisProfissionais emem cenacena (cont.)(cont.)

Analistas de sistemas◦ Identificam as necessidades dos usuários

finais.

Programadores de aplicações◦ Implementam essas especificações como

programas.

Usuários finais◦ Pessoas cujas funções exigem acesso ao

banco de dados.

Analistas de sistemas◦ Identificam as necessidades dos usuários

finais.

Programadores de aplicações◦ Implementam essas especificações como

programas.

Usuários finais◦ Pessoas cujas funções exigem acesso ao

banco de dados.

Page 37: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Profissionais nos bastidoresProfissionais nos bastidores Projetistas e implementadores de sistema

de SGBD◦ Projetam e implementam os módulos e as

interfaces do SGBD como um pacote desoftware.

Desenvolvedores de ferramentas◦ Projetam e implantam ferramentas.

Operadores e pessoal de manutenção◦ Responsáveis pela execução e manutenção do

ambiente de hardware e software para osistema de banco de dados.

Projetistas e implementadores de sistemade SGBD◦ Projetam e implementam os módulos e as

interfaces do SGBD como um pacote desoftware.

Desenvolvedores de ferramentas◦ Projetam e implantam ferramentas.

Operadores e pessoal de manutenção◦ Responsáveis pela execução e manutenção do

ambiente de hardware e software para osistema de banco de dados.

Page 38: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Vantagens de usar a abordagem de SGBDVantagens de usar a abordagem de SGBD

Controlar a redundância◦ Normalização de dados Restringir o acesso não autorizado

◦ Subsistema de segurança e autorização◦ Software privilegiado

Oferecer armazenamento persistentepara objetos do programa◦ Objeto complexo em um programa pode

ser armazenado de forma permanente emum SGBD orientado a objeto (*)

Controlar a redundância◦ Normalização de dados Restringir o acesso não autorizado

◦ Subsistema de segurança e autorização◦ Software privilegiado

Oferecer armazenamento persistentepara objetos do programa◦ Objeto complexo em um programa pode

ser armazenado de forma permanente emum SGBD orientado a objeto (*)

Page 39: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Vantagens de usar a abordagem de SGBD (cont.)Vantagens de usar a abordagem de SGBD (cont.)

Oferece estruturas de armazenamento etécnicas de pesquisa para oprocessamento eficiente de consulta◦ Índices.◦ Memórias auxiliares◦ Processamento e otimização de consulta.

Oferece estruturas de armazenamento etécnicas de pesquisa para oprocessamento eficiente de consulta◦ Índices.◦ Memórias auxiliares◦ Processamento e otimização de consulta.

Page 40: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Oferece backup e recuperação◦ Subsistema de backup e recuperação de

SGBD é responsável pela recuperação. Oferece múltiplas interfaces do usuário

◦ Interfaces gráficas do usuário (GUIs). Representa relacionamentos complexos

entre dados◦ Pode incluir muitas variedades de dados que

estão inter-relacionados de diversasmaneiras.

Vantagens de usar a abordagem de SGBD (cont.)Vantagens de usar a abordagem de SGBD (cont.)

Oferece backup e recuperação◦ Subsistema de backup e recuperação de

SGBD é responsável pela recuperação. Oferece múltiplas interfaces do usuário

◦ Interfaces gráficas do usuário (GUIs). Representa relacionamentos complexos

entre dados◦ Pode incluir muitas variedades de dados que

estão inter-relacionados de diversasmaneiras.

Page 41: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Impõe restrições de integridade◦ Restrição de integridade referencial. cada registro de turma deve estar relacionado a um

registro de disciplina.

◦ Restrição de chave ou singularidade. Cada registro de tabela deve ter um código único.

◦ Regras de negócio.

Vantagens de usar a abordagem de SGBD (cont.)Vantagens de usar a abordagem de SGBD (cont.)

Impõe restrições de integridade◦ Restrição de integridade referencial. cada registro de turma deve estar relacionado a um

registro de disciplina.

◦ Restrição de chave ou singularidade. Cada registro de tabela deve ter um código único.

◦ Regras de negócio.

Page 42: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Permitir ações usando regras◦ Gatilhos (Triggers) Regra ativada por atualizações na tabela

◦ Procedimentos armazenados (StoredProcedures) Procedimentos mais elaborados para impor regras

Vantagens de usar a abordagem de SGBD (cont.)Vantagens de usar a abordagem de SGBD (cont.)

Permitir ações usando regras◦ Gatilhos (Triggers) Regra ativada por atualizações na tabela

◦ Procedimentos armazenados (StoredProcedures) Procedimentos mais elaborados para impor regras

Page 43: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Implicações adicionais do uso daabordagem de banco de dados◦ Tempo reduzido para desenvolvimento de

aplicação.◦ Flexibilidade (adequar às novas

necessidades).◦ Disponibilidade de informações atualizadas.

Vantagens de usar a abordagem de SGBD (cont.)Vantagens de usar a abordagem de SGBD (cont.)

Implicações adicionais do uso daabordagem de banco de dados◦ Tempo reduzido para desenvolvimento de

aplicação.◦ Flexibilidade (adequar às novas

necessidades).◦ Disponibilidade de informações atualizadas.

Page 44: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Uma breve história dasUma breve história dasaplicações de banco de dadosaplicações de banco de dados Antigas aplicações de banco de dados usando

sistemas hierárquicos e de rede◦ Grande quantidade de registros com estrutura

semelhante◦ Eram implantados em mainframes ($$$) e usavam

códigos complexos para consulta. Oferecer abstração de dados e flexibilidade de

aplicação com bancos de dados relacionais◦ Separa o armazenamento físico dos dados de sua

representação conceitual.◦ Utiliza uma linguagem mais simples e de alto nível

(SQL).

Antigas aplicações de banco de dados usandosistemas hierárquicos e de rede◦ Grande quantidade de registros com estrutura

semelhante◦ Eram implantados em mainframes ($$$) e usavam

códigos complexos para consulta. Oferecer abstração de dados e flexibilidade de

aplicação com bancos de dados relacionais◦ Separa o armazenamento físico dos dados de sua

representação conceitual.◦ Utiliza uma linguagem mais simples e de alto nível

(SQL).

Page 45: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Uma breve história dasUma breve história dasaplicações de banco de dadosaplicações de banco de dados Aplicações orientadas a objeto e a

necessidade de bancos de dados maiscomplexos◦ Inicialmente, era um potencial substituto dos

bancos de dados relacionais.◦ Falta de padronização e complexidade

contribuíram para este tipo de banco perder omercado.

◦ Hoje existem camadas de software queimplementam a Orientação a Objetos no bancode dados relacional. ADO Entity Framework, Hibernate, Nhibernate.

Aplicações orientadas a objeto e anecessidade de bancos de dados maiscomplexos◦ Inicialmente, era um potencial substituto dos

bancos de dados relacionais.◦ Falta de padronização e complexidade

contribuíram para este tipo de banco perder omercado.

◦ Hoje existem camadas de software queimplementam a Orientação a Objetos no bancode dados relacional. ADO Entity Framework, Hibernate, Nhibernate.

Page 46: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Uma breve história dasUma breve história dasaplicações de banco de dadosaplicações de banco de dados Intercâmbio de dados na Web para

comércio eletrônico usando XML◦ eXtended Markup Language (XML) é

considerada o principal padrão paraintercâmbio entre diversos tipos de bancosde dados e páginas Web

Intercâmbio de dados na Web paracomércio eletrônico usando XML◦ eXtended Markup Language (XML) é

considerada o principal padrão paraintercâmbio entre diversos tipos de bancosde dados e páginas Web

Page 47: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Uma breve história dasUma breve história dasaplicações de banco de dadosaplicações de banco de dados Estendendo as capacidades do banco de

dados para novas aplicações◦ Aplicações científicas.◦ Armazenamento de imagens.◦ Armazenamento de videos.◦ Data Mining (análisa e busca padrões em

grandes massas de dados)

Estendendo as capacidades do banco dedados para novas aplicações◦ Aplicações científicas.◦ Armazenamento de imagens.◦ Armazenamento de videos.◦ Data Mining (análisa e busca padrões em

grandes massas de dados)

Page 48: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Uma breve história dasUma breve história dasaplicações de banco de dadosaplicações de banco de dadosBig Data Simboliza um imenso volume de dados

usados de forma eficiente com a definição3Vs: Volume, Velocidade e Variedade

Volume: Coleta de dados de diversas formas Velocidade: Os dados fluem em alta

velocidade Variedade: Os dados são gerados em

diversos formatos usando umacomplexidade de tecnologias

Big Data Simboliza um imenso volume de dados

usados de forma eficiente com a definição3Vs: Volume, Velocidade e Variedade

Volume: Coleta de dados de diversas formas Velocidade: Os dados fluem em alta

velocidade Variedade: Os dados são gerados em

diversos formatos usando umacomplexidade de tecnologias

Page 49: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Arquiteturas de um SGBDArquiteturas de um SGBD

Plataformas Centralizadas:◦ Um computador de grande porte que é o

hospedeiro do SGBD e o emulador para osaplicativos.

◦ Possui alto custo, e alto poder deprocessamento.

Plataformas Centralizadas:◦ Um computador de grande porte que é o

hospedeiro do SGBD e o emulador para osaplicativos.

◦ Possui alto custo, e alto poder deprocessamento.

Page 50: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Arquiteturas de um SGBDArquiteturas de um SGBD

Sistema de Computador Pessoal:◦ O computador pessoal é o hospedeiro do

SGBD e o cliente ao mesmo tempo.

Page 51: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Arquiteturas de um SGBDArquiteturas de um SGBD

Sistema de Cliente-Servidor:◦ O cliente executa as tarefas do aplicativo

(interface gráfica), e o servidor executa oSGBD.

Page 52: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Arquiteturas de um SGBDArquiteturas de um SGBD

Sistema de Cliente-Servidor N camadas:◦ Acrescenta uma camada (Aplicação) entre o

cliente e o banco de dados.

ClienteCliente

Servidor deAplicação ou

Web

ServidorSGBD

Page 53: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Arquiteturas de um SGBDArquiteturas de um SGBD

Banco de dados distribuídos:◦ A informação está distribuída em diversos

servidores espalhados em locais diferentes.

Page 54: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

Quando não usar um SGBDQuando não usar um SGBD Mais desejável usar arquivos comuns sob as

seguintes circunstâncias:◦ Aplicações de banco de dados simples e bem

definidas, para as quais não se espera muitasmudanças.

◦ Requisitos rigorosos, de tempo real, que podemnão ser atendidos devido as operações extrasexecutadas pelo SGBD (programas CAD, etc.).

◦ Sistemas embarcados com capacidade dearmazenamento limitada.

◦ Nenhum acesso de múltiplos usuários aos dados.

Mais desejável usar arquivos comuns sob asseguintes circunstâncias:◦ Aplicações de banco de dados simples e bem

definidas, para as quais não se espera muitasmudanças.

◦ Requisitos rigorosos, de tempo real, que podemnão ser atendidos devido as operações extrasexecutadas pelo SGBD (programas CAD, etc.).

◦ Sistemas embarcados com capacidade dearmazenamento limitada.

◦ Nenhum acesso de múltiplos usuários aos dados.

Page 55: Banco de Dados - Prof. Vicente P. de Camargo - MCD - Fundamentos de... · Banco de Dados Introdução aos Bancos de dados Prof. Vicente Paulo de Camargo Ref. Prof . Renato de Oliveira

F I MF I MF I MF I M