Banco de Dados I
Introdução
Prof. Moser Fagundes
Curso Técnico em Informática (Modalidade Integrada) IFSul – Campus Charqueadas
•
Avaliações
•
Visão geral da disciplina
•
Introdução
–
Histórico
–
Porque não usar arquivos
–
SGBDs
•
Referências
•
Duas Provas
–
Cada prova corresponde a 40% da nota
•
Trabalhos práticos
–
20% da nota
•
Introdução a Banco de Dados e SGBD
•
Modelagem conceitual e modelo ER
•
Modelo relacional
•
Álgebra relacional
•
Mapeamento ER – Relacional
•
Linguagem SQL
–Definição de dados (DDL)
–Manipulação de dados (DML)
–Seleção de dados (DQL)
•
Introdução a Banco de Dados e SGBD
•
Modelagem conceitual e modelo ER
•
Modelo relacional
•
Álgebra relacional
•
Mapeamento ER – Relacional
•
Linguagem SQL
–Definição de dados (DDL)
–Manipulação de dados (DML)
–Seleção de dados (DQL)
Da necessidade ao surgimento:
• O homem sempre se deparou com a necessidade de
registrar informações, e para foram criadas inúmeras
técnicas como por exemplo:
– pinturas pré-históricas nas cavernas – hieróglifos em papiros,
– a escrita, etc..
Da necessidade ao surgimento:
• A forma mais comum de registro tem sido o papel, e
graças a ele temos o conhecimento do que se passou na história humana.
• Apesar de sua indiscutível utilidade, o registro de informação em papel tem alguns inconvenientes...
– Quais inconvenientes podemos citar?
O que é um Banco de Dados?
O que é um Banco de Dados?
• É uma coleção de dados relacionados.
• Também pode ser chamado Base de Dados.
Porém o nosso uso de Banco de Dados (BD) é mais restrito e tem as seguintes propriedades implícitas:
• Representa aspectos do mundo real, às vezes chamado minimundo. Mudanças no minimundo são refletidas no BD.
• Um BD é uma coleção logicamente coerente de dados com algum significado inerente. Dados aleatórios sem
significado não podem ser considerados um BD.
• Um BD é projetado, construído e populado com dados com uma finalidade específica. Possui grupos de usuários e
aplicações previamente concebidas.
• Um BD pode ser gerado e mantido manualmente, ou pode ser computadorizado.
• Ainda hoje é possível encontrar diversas formas de “banco de dados”. Por exemplo, os antigos arquivos de aço ainda existem em muitos escritórios.
Banco de Dados
• Fatores que levaram ao surgimento de BDs:
– Praticidade e eficiência – Rapidez na consulta
– Confiabilidade das informações
• Dados: fatos que podem ser armazenados.
– Exemplos: nomes, telefones, endereços
• Banco de Dados: é uma coleção de dados que estão
inter-relacionados logicamente.
• Sistema de Gerência de Banco de Dados (SGBD):
coleção de programas que permite a criação e gerência de bases de dados, também chamado de Sistema de Banco de Dados.
• Com base no texto colocado na página da disciplina,
escreva um pequeno texto, com suas próprias palavas, explicando a diferença entre dados e informação.
• Dê pelo menos 2 exemplos que ilustrem a diferença entre dado e informação (não use exemplos dados no texto).
• Por que é importante proteger as informações? Por meio de exemplos, ilustre problemas que podem decorrer de falhas de segurança da informação (não use exemplos dados no texto).
• BDs podem ser grandes e complexos.
Exemplos?
Exemplos de BDs
• Com a popularização do computador, ficou mais fácil usar ferramentas para armazenar dados. Um dos meios usados para armazenar dados são os arquivos (por exemplo,
arquivo Word, Excel, etc...)
• Em que situações não devemos usar arquivos, como
por exemplo arquivos de Word, Excel, etc?
Vejamos um exemplo...
• Empresa de Pintura de Paredes
– Micro-empresa que adquiriu excelente reputação por
oferecer serviços de alta qualidade a preços justos.
– Maioria dos serviços para clientes antigos. – Novos clientes através de recomendação. – Dificuldade em lembrar dos clientes
e dos serviços já realizados.
– Cerca de 50 serviços por ano.
Um cenário ilustrativo
• Elaboração de propostas
• Emissão de recibos
• Análise de dados:
– Que serviços foram realizados para um cliente? – Que outros clientes ele recomendou?
– Que clientes estão em débito com a empresa? – Que clientes mais usam os serviços da empresa? – etc... (poderia haver mais perguntas, verdade?)
Tendo em vista que necessitamos guardar dados da empresa, quais tecnologias baseadas em arquivos poderíamos aplicar?
• Elaboração de propostas?
Tendo em vista que necessitamos guardar dados da empresa, quais tecnologias baseadas em arquivos poderíamos aplicar?
• Elaboração de propostas?
Um editor de textos (Word) e uma planilha (Excel).
Tendo em vista que necessitamos guardar dados da empresa, quais tecnologias baseadas em arquivos poderíamos aplicar?
• Elaboração de propostas?
Um editor de textos (Word) e uma planilha (Excel).
• Emissão de recibos?
Tendo em vista que necessitamos guardar dados da empresa, quais tecnologias baseadas em arquivos poderíamos aplicar?
• Elaboração de propostas?
Um editor de textos (Word) e uma planilha (Excel).
• Emissão de recibos?
Um editor de textos (cadastro de clientes).
Tendo em vista que necessitamos guardar dados da empresa, quais tecnologias baseadas em arquivos poderíamos aplicar?
• Elaboração de propostas?
Um editor de textos (Word) e uma planilha (Excel).
• Emissão de recibos?
Um editor de textos (cadastro de clientes).
• Análise de dados?
Estas tarefas dependem dos usuários...
Sistema de arquivos tradicional
Emissão de recibos
Modelo de
recibos de pedidosCadastro de clientesCadastro
Elaboração de propostas
Tabela de
preços Cadastrode itens de clientesCadastro
Nome CGC/CPF Endereço Email Etc.. Nome Email
Sistema de arquivos tradicional
Emissão de recibos
Modelo de
recibos de pedidosCadastro de clientesCadastro
Elaboração de propostas
Tabela de
preços Cadastrode itens de clientesCadastro
Nome CGC/CPF Endereço Email Etc.. Nome Email Problema 1: Dados isolados e separados em diferentes arquivos
Sistema de arquivos tradicional
Emissão de recibos
Modelo de
recibos de pedidosCadastro de clientesCadastro
Elaboração de propostas
Tabela de
preços Cadastrode itens de clientesCadastro
Nome CGC/CPF Endereço Email Etc.. Nome Email Problema 2: Dados redundantes e possivelmente divergentes. Suponha um cliente que mude de endereço e apenas o setor de emissão de recibos toma conhecimento de tal mudança. Os
demais setores ficarão com dados
Sistema de arquivos tradicional
Emissão de recibos
Modelo de
recibos de pedidosCadastro de clientesCadastro
Elaboração de propostas
Tabela de
preços Cadastrode itens de clientesCadastro
Nome CGC/CPF Endereço Email Etc.. Nome Email Problema 3: Programas de aplicação são dependentes dos dados.
Se modificamos um, o outro provavelmente terá que ser modificado...
void main() /* Emite recibo*/ {
char nome, CGC, end, email; int fp; fp = open(“cli.txt”,O_RDONLY,0); read(fp,nome); read(fp,CGC); read(fp,end); read(fp,email); close(fp); }
Sistema de arquivos tradicional
Emissão de recibos
Modelo de
recibos de pedidosCadastro de clientesCadastro
Elaboração de propostas
Tabela de
preços Cadastrode itens de clientesCadastro
Nome CGC/CPF Endereço Email Etc.. Nome Email Problema 4: Inclusão de novos
sistemas implica em criar novos arquivos...
Emissão de folha de pagamento
Cadastro de empregados
Nesta disciplina...
• Nesta disciplina vamos estudar como contornar os
problemas citados por meio dos sistemas de banco de dados informatizados.
SGBD – Sistema de Gerência de Bases de Dados
• Um SGBD visa simplificar o desenvolvimento de
aplicações caracterizadas pelo uso intensivo de dados.
• Como?
Através de ferramentas, com as quais o usuário pode:
● Realizar entrada de dados. ● Examinar dados.
● Manipular dados de acordo com a aplicação.
Funções típicas do SGBD
SGBD
Gerência
de dados operacionaisControles
Modelagem
Funções típicas do SGBD
SGBD
Gerência
de dados operacionaisControles
Modelagem
de dados Usuários
Definir a base de dados:
em termos de tipos de dados, estruturas, e restrições.
Funções típicas do SGBD
SGBD Gerência
de dados operacionaisControles
Modelagem
de dados Usuários
Construir a base de dados:
armazenamento secundário em disco
Manipular a base de dados:
consulta, geração de relatórios, inserções, remoções, modificações de conteúdo.
Funções típicas do SGBD
SGBD
Gerência
de dados operacionaisControles
Modelagem
de dados Usuários
Processamento concorrente e compartilhamento: manter
Funções típicas do SGBD
SGBD
Gerência
de dados operacionaisControles
Modelagem
de dados Usuários
Projetistas do SGBD, Projetistas da aplicação, Usuários da aplicação, etc...
Usuários (ou atores):
• Administradores de BD (ou DBA)
Responsável por administrar os recursos, autorizar outros usuários, monitorar o uso, adquirir recursos de hardware e software conforme a necessidade.
• Projetistas de BD
Identifica os dados a serem armazenados e escolhe as estruturas apropriadas.
• Usuários Finais
Consulta, insere, remove e atualiza dados.
• Outras características:
– Medida de proteção e segurança para prevenir o
acesso não autorizado aos dados.
– Processamento “ativo” para promover ações internas
sobre os dados armazenados (estudado em BD2).
– Apresentação e visualização de dados.
• Dados integrados e compartilhados
• Menos duplicações de dados
• Independência de dados (programa de aplicação e BD)
• Facilidades para realizar consultas
– Uma vez integrados e estruturados, o SGBD provê
linguagens de consulta genéricas de alto nível com muita flexibilidade para consultas.
• Quando a aplicação é simples e bem definida, para a qual não se espera muitas mudanças.
• Sistemas de tempo real, que não podem ser atendidos por SGBDs tradicionais.
• Sistemas embarcados com capacidades de armazenamento e processamento limitadas.
• Sistemas monousuário, sem acesso paralelo e concorrente.
•
Modelagem ER
•
Login usando o Workbench
•
Criação de tabelas
•
Manipulação de dados (inserção, remoção, alteração)
•
Consulta de dados
•
Acessando BD com um programa PHP
• ELMASRI, R., NAVATHE, E. Sistemas de Banco de Dados. 4ª Edição. Editora LTC, 2002.
• DATE, C. J. Introdução aos Sistemas de Banco de Dados. 8ª Edição. Editora Campus, 2004.
•
Lista de Exercícios 1 na página:
http://www.fagundes.pro.br/aulas/tec-bd1/index.html
•
Contato por e-mail:
moserfagundes@charqueadas.ifsul.edu.br
•
Horário de atendimento aos alunos:
– Quinta-feira 15:00 – 15:45 – Sexta-feira 10:45 – 12:15 – Sexta-feira 13:30 – 15:45