Buscar

Banco de Dados para Redes - Aula 1

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 78 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 78 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 78 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Banco de Dados para Redes - Aula 1 
Professor Daniel Silos - 2ª edição - 2014 
dsilos@live.estacio.br 
Introdução 
• O que é um banco de dados? 
• Um banco de dados é uma coleção de dados persistentes 
usados pelas aplicações de uma determinada organização 
(DATE, 2000). 
• É um conjunto de dados integrados que tem por objetivo 
atender a uma comunidade de usuários (HEUSER, 1998). 
• Exemplo de um banco de dados pessoal: 
– Agenda de telefones 
» Nome, telefone, endereço 
» Nome, telefone, endereço, e-mail 
» Nome, telefone, endereço, e-mail, twiiter 
 
 
O que não é um banco de dados 
 
Fonte: http://www.portaldavaca.com.br/imagens/bancodedados.asp 
Histórico 
• Como os dados eram armazenados no início da 
computação? 
– Arquivos de texto 
• Problemas comuns ao uso de arquivos textos: 
– Redundância não-controlada de dados e consequente 
inconsistência de informações. 
• Exemplo 
• Anos 60 – Surgem os primeiros sistemas de bancos 
de dados 
Qual o ganho ? 
• Redundância controlada 
• Maior consistência 
• Mecanismo de Recuperação 
• Segurança 
• Compartilhamento dos dados 
Introdução a Sistemas de Banco de Dados 
• Em essência, um sistema de Banco de Dados é 
apenas um sistema computadorizado de 
armazenamento de registros. 
• Permite a seus usuários: 
– Acrescentar novos Arquivos, vazios, ao Banco de Dados 
(BD) 
– Inserir novos dados em arquivos existentes 
– Alterar dados em arquivos existentes 
– Eliminar dados de arquivos existentes 
– Remover arquivos existentes do BD 
Introdução a Sistemas de Banco de Dados 
• Em essência, um sistema de Banco de Dados é 
apenas um sistema computadorizado de 
armazenamento de registros. 
• Permite a seus usuários: 
– Acrescentar novos Arquivos, vazios, ao Banco de Dados 
(BD) 
– Inserir novos dados em arquivos existentes 
– Alterar dados em arquivos existentes 
– Eliminar dados de arquivos existentes 
– Remover arquivos existentes do BD 
Campos 
R
eg
is
tr
o
s 
TABELA: PRODUTOS 
TABELA: PRODUTOS 
Colunas 
Li
n
h
as
 
Atributos 
Tu
p
la
s 
TABELA: PRODUTOS 
Exemplo de Consulta 
Busca: 
SELECT MODELO, COD_PRODUTO, QTD 
FROM PRODUTOS 
WHERE ANO_LANCAMENTO = 2012 
RESULTADO: 
 
Exemplo de inserção 
INSERT 
INTO PRODUTOS (COD_PRODUTO, MODELO, 
FABRICANTE, CONEXAO, ANO_LANCAMENTO, 
QTD,PRECO_UNITARIO) 
VALUES (99, ‘VCP6578’, ‘BoraSoft’, ’USB’, 2012, 55, 
R$ 35,90); 
TABELA: PRODUTOS APÓS INSERÇÃO 
Exemplo de alteração 
 
UPDATE PRODUTOS 
SET QTD = 60 
WHERE COD_PRODUTO = 71 
 
TABELA: PRODUTOS ATUALIZADA 
Exemplo de exclusão 
DELETE 
FROM PRODUTOS 
WHERE COD_PRODUTO = 98 
 
TABELA: PRODUTOS APÓS EXCLUSÃO 
Observação importante 
• Por razões óbvias, arquivos são chamados de 
tabelas em BD (tabelas relacionais, mais 
precisamente). 
 INSERT 
INTO PRODUTOS 
(COD_PRODUTO, MODELO, 
FABRICANTE, CONEXAO, 
ANO_LANCAMENTO, 
QTD,PRECO_UNITARIO) 
VALUES (99, ‘VCP6578’, 
‘BoraSoft’, ’USB’, 2012, 55, R$ 
35,90); 
 
• Os campos MODELO, 
FABRICANTE e CONEXAO 
armazenam dados do tipo 
STRING (sequências) de 
caracteres, o Campo QTD 
armazena dado do tipo 
inteiro. 
• Tipos de Dados serão 
explicados mais a frente. 
• COD_PRODUTO → chave primária 
– Outros exemplos: Matrícula de um aluno, número de 
nota fiscal, etc. 
– SELECT, INSERT, UPDATE e DELETE → SQL (Structured 
Query Language – Linguagem de consulta estruturada). 
– Pronúncia original: “SEQUEL”. 
– Atualmente é um padrão (oficialmente não é mais uma 
abreviatura para alguma coisa) 
– Pronúncia atual: “ésse-quê-éle” 
– UPDATE → “alterar”, e não “atualizar”. Atualizar também 
é utilizado para se referir às três operações - INSERT, 
UPDATE e DELETE - como um grupo. 
Sistema de Banco de Dados 
Fonte: http://www.devmedia.com.br/conceitos-fundamentais-de-banco-de-dados/1649 
Sistema de gerenciamento de banco de dados 
• Ou Sistema Gerenciador de Banco de Dados 
(SGBD). 
• Sigla em inglês: DBMS (Database Management 
System) 
– “Coleção de dados inter-relacionados e um conjunto 
de programas para acessar esses dados.” 
(SILBERSCHATZ, 2006). 
Componentes principais 
• Dados 
– para Date, Dados e informações são a mesma coisa 
– Outros autores discordam desta visão 
• Hardware 
• Softwares 
• Usuários 
 
Dados 
• Consulta pode ser por sistemas 
– Monousuários 
• Cada vez mais raros 
– Multiusuários 
• Mais comum aos dias atuais 
• Dados integrados 
– Unificação de vários arquivos de dados que de outro 
modo seriam distintos; 
• Elimina redundância desnecessária. 
Dados 
• Dados compartilhados 
– Acesso a porções de dados do BD por diferentes usuários, 
podendo a finalidade ser distinta. 
– Acesso pode ser concorrente (em parte graças à 
Integração). 
– Visões diferentes dos mesmos dados 
• Usuários podem compartilhar os mesmos dados de diferentes 
modos. 
– Ex: Um professor acessa pela matrícula ou nome do aluno sua 
frequência nas aulas, enquanto, concorrentemente, um funcionário 
da secretaria acesse a matrícula do aluno para resolver uma 
solicitação. 
Hardware 
• Componentes de hardware 
– Volumes de armazenamento secundário 
– Processadores 
– Memória principal 
• Outros elementos fogem do escopo da disciplina 
Softwares 
Usuários 
Gerenciador 
de BD ou 
Servidor de 
BD ou SGBD 
Banco de 
Dados Físico 
Sistema Gerenciador de Banco de Dados 
(SGBD) 
• Do inglês Database Management System – DBMS 
ou Relational Database Management System – 
RDBMS). 
• É, como o próprio nome sugere, um sistema que 
gerencia o banco de dados. 
• Nele são incorporadas as funções de definição, 
recuperação e alteração de dados em um ou 
mais banco de dados. 
Sistema Gerenciador de Banco de Dados 
(SGBD) 
• Função Geral → isolar os usuários dos detalhes 
do nível do hardware. 
• Permite operações como as já vistas de SQL 
expressas em um nível mais alto. 
• É de longe o componente de software mais 
importante. 
• Ferramentas para desenvolvimento de 
aplicações, 
• utilitários, 
• auxílio em projetos, 
• geradores de relatórios, 
• gerador de transações. 
 
Outros componentes de software 
Observação Importante 
• Embora seja comum de se ler e ouvir, Banco de 
dados não é a mesma coisa que SGBD. 
 
𝐵𝑎𝑛𝑐𝑜 𝑑𝑒 𝐷𝑎𝑑𝑜𝑠 ≠ 𝑆𝐺𝐵𝐷. 
 
• Igualar os dois é uma atitude tola e censurável, 
embora seja muito comum (DATE, 2000) 
 
Lista 
• 4th Dimension 
• Adabas D 
• Alpha Five 
• Apache Derby 
• Aster Data 
• Altibase 
• BlackRay 
• CA-Datacom 
• Clarion 
• Clustrix 
• CSQL 
• CUBRID 
• Daffodil database 
• DataEase 
• Database Management Library 
• Dataphor 
• Derby aka Java DB 
• Empress Embedded Database 
• EnterpriseDB 
• eXtremeDB 
• FileMaker Pro 
• Firebird 
• Greenplum 
• GroveSite 
• H2 
• Helix database 
• HSQLDB 
• IBM DB2 
• IBM Lotus Approach 
• IBM DB2 Express-C 
• Infobright 
• Informix 
• Ingres 
• InterBase 
• InterSystems Caché 
• GT.M 
• Linter 
• MariaDB 
• MaxDB 
• Microsoft Access 
• Microsoft Jet Database Engine 
(part of Microsoft Access) 
• Microsoft SQL Server 
• Microsoft SQL Server Express 
• Microsoft Visual FoxPro 
• Mimer SQL 
• MonetDB 
• mSQL 
• MySQL 
• Netezza 
• NonStop SQL 
• Openbase 
• OpenLink Virtuoso (Open 
Source Edition) 
• OpenLink Virtuoso Universal 
Server 
• OpenOffice.org Base 
• Oracle 
• Oracle Rdb for OpenVMS 
• Panorama 
• PostgreSQL 
• Progress Software• RDM Embedded 
• RDM Server 
• The SAS system 
• SAND CDBMS 
• Sav Zigzag 
• ScimoreDB 
• SmallSQL 
• solidDB 
• SQLBase 
• SQLite 
• Sybase Adaptive Server 
Enterprise 
• Sybase Adaptive Server IQ 
• Sybase SQL Anywhere (formerly 
known as Sybase Adaptive 
Server Anywhere and Watcom 
SQL) 
• Sybase Advantage Database 
Server 
• Teradata 
• TimesTen 
• txtSQL 
• Unisys RDMS 2200 
• UniData 
• UniVerse 
• Vertica 
• VMDS 
Alguns SGBDs famosos 
• Oracle, SQL Server e db2 -> proprietários 
• PostgreSQL, MySQL e Firebird -> Software livre 
- Faça uma pesquisa sobre outros SBGDs comumente 
utilizados e descreva suas principais características 
(inclua os acima citados). Descreva quais são pagos e 
quais são softwares livres. 
- Acesse o endereço abaixo e analise as tabelas de 
comparação entre SGBDs existentes, informando 
quais quesitos estão sendo comparados. 
- http://en.wikipedia.org/wiki/Comparison_of_relatio
nal_database_management_systems#External_links 
Usuários 
1. Administrador do Banco de Dados (DBA – 
Database admininstrator) 
2. Projetistas de BD 
3. Usuário Final 
4. Analistas de Sistemas 
5. Programadores de aplicações 
 
 
O que é um Banco de Dados? 
• Dados persistentes 
• Um banco de dados é uma coleção de dados 
persistentes utilizada pelos sistemas de 
informações de uma organização. 
• Exemplos de dados persistentes: 
– Dados de produtos 
– Dados de contas bancárias 
– Dados de pacientes de um consultório médico 
– Dados de alunos de uma instituição de ensino 
 
Dados operacionais vs. persistentes 
• Dados Operacionais 
– DATE nas primeiras versões do seu livro. 
– Sistemas de Processamento de Transações (SPTs) 
– Por que hoje se chamam persistentes? 
 
 
SGBD 
SPTs 
Dados e SGBD 
• Dados – Latim “data”, plural de “datum”, que corresponde 
a “dar”. 
– Dados → fatos dados, a partir dos quais podem ser inferidos 
fatos adicionais. 
• Inferir fatos adicionais → exatamente o que o SGBD faz quando 
responde uma consulta do usuário. 
• SGBDs 
– Interpretação precedente de dados e banco de dados de 
forma muito direta (quase trivial); 
– Baseados em uma teoria formal chamada Modelo Relacional 
de Dados. 
 
Por que banco de dados? 
• Quais as vantagens? 
– Densidade 
• É mais fácil manipular do que arquivos de papel. 
– Velocidade 
• É mais fácil consultar que abrir um arquivo físico e buscar documentos em 
gavetas e pastas físicas. 
– Menor trabalho monótono 
• Em tarefas mecânicas, o computador tende a ser melhor. 
– Atualidade 
• Informações precisas e atualizadas disponíveis a qualquer momento sob 
consulta. 
– No caso de BD Multiusuários (BD maior e mais complexo) 
• Centralização é a maior vantagem. 
 
Vantagens da abordagem de banco de dados 
• Compartilhamento 
• Eliminação ou redução da redundância 
– Por algumas razões técnicas ou comerciais a redundância pode ser 
necessária. 
– Apesar disso, toda redundância precisa ser controlada (propagação 
de atualizações); 
• A inconsistência pode ser evitada (até certo ponto) 
– Informações incorretas ou contraditórias. 
• Suporte a transações 
• Manutenção da integridade 
– Restrições de integridades (regras de negócio). 
 
Vantagens da abordagem de banco de dados 
• Reforço à segurança 
– Restrições de segurança 
• Requisitos contraditórios podem ser equilibrados 
– Regras criadas para definir o que é melhor pra Organização 
– Ex: Acesso rápido para aplicações mais importantes 
• Os padrões podem ser reforçados 
– Padronização de representação de dados 
– Migração de dados entre sistemas 
Arquitetura de sistemas de BD 
• Introdução 
– Fornecer um arcabouço 
– Arquitetura proposta pelo ANSI/SPARC Study Group on 
Data Base Management Systems 
• Chamada Arquitetura ANSI/SPARC 
– Três níveis de arquitetura 
• Nível interno 
• Nível externo 
• Nível conceitual 
 
Nível interno 
 
Nível físico 
Mais “baixo nível” 
Mais próximo do 
meio de 
armazenamento 
Nível externo 
Nível lógico do 
usuário 
Mais próximo de 
usuários 
Como os dados 
são vistos pelos 
usuários 
Nível conceitual 
Nível lógico 
comunitário 
As vezes chamado 
de nível indireto, 
sem qualificação 
É um nível de 
simulação entre os 
outros dois 
Os três níveis da arquitetura(1) 
Os três níveis da arquitetura(2) 
Níveis e o sistema relacional 
Conceitual 
É definitivamente 
relacional 
Campos visíveis 
neste nível serão 
tabelas relacionais 
Operadores 
relacionais (Ex: 
restrição/seleção 
e projeção) 
Externo 
Tipicamente 
relacional ou 
algo muito 
próximo disso 
Interno 
Nenhuma 
relação com 
o modelo 
relacional 
SISTEMA 
RELACIONAL 
VISÃO do usuário 
Objetivo do sistema relacional 
Exemplo dos três níveis 
Arquitetura em detalhes 
Arquitetura em detalhes – nível externo 
• Qualquer usuário enxergará o BD por meio do nível 
externo (com exceção do DBA). 
• Cada usuário tem uma linguagem à sua disposição 
– Programador 
• Qualquer linguagem de programação 
– Usuário final 
• Linguagem de consulta ou de uso especial (formulários, menus, 
etc.) → aplicação ou sistema 
• Qualquer que seja a linguagem →incluirá uma 
sublinguagem de dados. 
Sublinguagem de dados 
• DSL (Data Sublanguage) 
• Subconjunto da linguagem completa relacionado 
de modo específico 
– objetos e operações de BD 
• É embutida na linguagem hospedeira 
• Exemplo de DSL: SQL 
– Uso do SQL 
• Uso interativo e de forma autônoma ou 
• Incorporada a outras linguagens como Java, C#, C++, etc. 
 
Boas práticas para construção do comando 
SQL 
• Os comandos SQL não fazem distinção entre 
minúscula e maiúscula, salvo quando o 
comando se apresenta entre aspas. 
• As palavras chaves não podem ser divididas ou 
abreviadas 
• Orienta-se digitar as cláusulas do comando em 
linhas separadas e, se possível, endentadas 
para melhor legibilidade. 
Linguagem + SQL 
DSL 
DDL e DML 
• DDL 
– Consiste nas construções declarativas da linguagem 
necessárias para se declararem objetos do BD. 
• DML 
– Consiste nas instruções executáveis da linguagem que 
transferem informações de e para o BD. 
Visão para ANSI/SPARC 
• O termo ANSI/SPARC para visão é visão externa. 
• Visão externa 
– Conteúdo do BD visto por algum usuário 
determinado (para este usuário a visão externa é o 
BD) 
– Exemplos 
• Visão do coordenador versus visão do professor com 
relação aos dados dos alunos. 
• Visão do coordenador versus visão do aluno com relação 
aos dados do professor. 
Esquema externo 
• Cada visão externa é definida por meio de um 
esquema externo. 
– Escrito com uso da parte de DDL da sublinguagem de 
dados do usuário (chamada de DDL externa) 
– Definição do mapeamento entre o esquema externo 
e o conceitual. 
O nível conceitual 
• Representação de todo o conteúdo de BD em 
uma forma abstrata em comparação ao formato 
do dado fisicamente armazenado. 
• Em geral, também é diferente de como um 
usuário em particular enxerga os dados. 
• Visão conceitual 
– Pretende ser uma visão de como os dados 
“realmente são”, isto é, independente da linguagem 
ou hardware utilizado. 
 
Visão conceitual 
• Consiste em muitas ocorrências de cada um dos 
vários tipos de registros conceituais. 
– Coleção de registros de diversas tabelas. 
– Não necessariamente é igual aos registros externos 
ou aos registros armazenados. 
Esquema conceitual 
• Visão conceitual é definida por meio do esquema 
conceitual. 
– Inclui definições de cada um dosvários tipos de registros 
conceituais. 
• É escrito com uso de outra linguagem de definição 
de dados (DDL conceitual). 
– Não deverá envolver quaisquer considerações sobre a 
representação física ou técnica de acesso (independência 
de dados). 
– Somente definições do conteúdo de informações. 
Resumindo 
• Então 
– A visão conceitual refere-se ao conteúdo total do BD 
e 
– O esquema conceitual é uma definição dessa visão. 
– Mas existem outros detalhes 
• Restrições de segurança e integridade, por exemplo 
• Alguns especialistas → Objetivo final → descrição de toda 
organização. 
 
Nível conceitual versus nível externo 
• Exemplo de visão dos dados 
• Imagine um BD muito simples com o objetivo de 
cadastrar objetos pessoais para que os mesmos 
possam ser emprestados ou alugados por amigos 
pessoais. 
Tabela (relação) Amigos – nível 
conceitual 
Tabela Objetos – nível conceitual 
Tabela Aluguel – nível conceitual 
Visão externa – exemplo 1 
Visão externa – exemplo 2 
Nível interno 
• Visão interna 
– Representação de mais baixo nível do BD por inteiro. 
– Muitas ocorrências de cada um dos vários tipos de 
registros internos. 
• Termo ANSI/SPARC para registro armazenado. 
Esquema interno 
• A visão interna é descrita por meio do esquema 
interno. 
– Define os diversos tipos de registros armazenados 
– Quais índices existem 
– Representação dos campos armazenados 
– Sequência física dos registros armazenados 
• Usa DDL interna. 
Mapeamentos 
• Mapeamento conceitual/interno 
– Chave para independência de dados física. 
• Mapeamento externo/conceitual 
– Chave para independência de dados lógica. 
• Mapeamento externos/externos 
Exercícios 
 a) Defina Banco de dados 
b) Descreva os usuários de banco de dados 
c) Cite o nome de um sistema de banco de dados 
proprietário e um livre 
d) Defina SGBD 
e) Quais são os componentes de um SGBD? E dê um 
exemplo 
f) Cite vantagens da utilização do SGBD 
g) Qual a diferença entre independência de dados lógica 
e física? 
• Como acessar o material desta disciplina no SIA? 
 
• Após logar-se no SIA, acesse a opção Sala de 
Aulas Virtuais e em seguida clique em Minhas 
Disciplinas Presenciais 
 
 
• Você acessará o portal do aluno e em seguida 
deverá clicar em disciplinas. 
• Acesse a disciplina desejada (neste caso, como 
exemplo, a disciplina é Linguagem de 
Programação) e clique no ícone de seta dupla 
direcionada para baixo para expandir algumas 
opções. Em seguida acesse o ícone Biblioteca da 
disciplina. 
 
 
 
 
• O material disponibilizado pelo professor até o 
momento do acesso surgirá(no exemplo abaixo 
não há material, mas é por meio destes passos 
que você obtém acesso a ele). 
• Bibliografia 
– DATE, C. J. Introdução a sistemas de banco de 
dados. 7ª ed. Rio de Janeiro: Campus, 2000. 
– HEUSER, C. Projeto de Banco de Dados. Porto 
Alegre: Sagra Luzzato, 1998 (Série de Livros 
Didáticos, número 4). 
– SILBERSCHATZ, Abraham; KORTH, Henry F; 
SUDARSHAN, S. A. Sistema de banco de dados. 5ª 
ed. Rio de Janeiro: Campus, 2006 
– ELMASRI, R.; NAVATHE, S., Sistemas de Banco de 
Dados. Pearson Education do Brasil, 4ª.Ed 2005.

Outros materiais