Banco de Dados I Introdução Prof. Moser Fagundes Curso Técnico em Informática (Modalidade Integrada) IFSul Campus Charqueadas
Sumário da aula Avaliações Visão geral da disciplina Introdução Histórico Porque não usar arquivos SGBDs Referências
Avaliações Duas Provas Cada prova corresponde a 40% da nota Trabalhos práticos 20% da nota
Visão geral da disciplina 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)
Visão geral da disciplina 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)
Histórico 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..
Histórico 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?
Banco de Dados O que é um Banco de Dados?
Banco de Dados O que é um Banco de Dados? É uma coleção de dados relacionados. Também pode ser chamado Base de Dados.
Banco 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.
Banco de Dados 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 da Dados Manual
Banco de Dados Fatores que levaram ao surgimento de BDs: Praticidade e eficiência Rapidez na consulta Confiabilidade das informações
Definições básicas 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.
Atividade I 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).
Exemplos de BDs BDs podem ser grandes e complexos. Exemplos?
Porque não usar arquivos doc, xls, etc? 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...
Um cenário ilustrativo 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.
Principais necessidades da empresa 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?)
Que tecnologias podem ser aplicadas? Tendo em vista que necessitamos guardar dados da empresa, quais tecnologias baseadas em arquivos poderíamos aplicar? Elaboração de propostas?
Que tecnologias podem ser aplicadas? 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).
Que tecnologias podem ser aplicadas? 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?
Que tecnologias podem ser aplicadas? 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).
Que tecnologias podem ser aplicadas? 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 Cadastro de pedidos Cadastro de clientes Nome CGC/CPF Endereço Email Etc.. Elaboração de propostas Tabela de preços Cadastro de itens Cadastro de clientes Nome Email
Sistema de arquivos tradicional Modelo de recibos Emissão de recibos Cadastro de pedidos Cadastro de clientes Nome CGC/CPF Endereço Email Etc.. Problema 1: Dados isolados e separados em diferentes arquivos Elaboração de propostas Tabela de preços Cadastro de itens Cadastro de clientes Nome Email
Sistema de arquivos tradicional Modelo de recibos Tabela de preços Emissão de recibos Cadastro de pedidos Elaboração de propostas Cadastro de itens Cadastro de clientes Cadastro de clientes 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 desatualizados.
Sistema de arquivos tradicional Modelo de recibos Emissão de recibos Cadastro de pedidos Cadastro de clientes Nome CGC/CPF Endereço Email Etc.. Problema 3: Programas de aplicação são dependentes dos dados. Se modificamos um, o outro provavelmente terá que ser modificado... Elaboração de propostas Tabela de preços Cadastro de itens Cadastro de clientes Nome Email } 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 Modelo de recibos Emissão de recibos Cadastro de pedidos Cadastro de clientes Nome CGC/CPF Endereço Email Etc.. Problema 4: Inclusão de novos sistemas implica em criar novos arquivos... Elaboração de propostas Emissão de folha de pagamento Tabela de preços Cadastro de itens Cadastro de clientes Cadastro de empregados Nome Email
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 Arquitetura de um SGBD
Função básica do SGBD 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 Gerência de dados Controles operacionais SGBD Modelagem de dados Usuários
Funções típicas do SGBD Gerência de dados Controles operacionais Definir a base de dados: em termos de tipos de dados, estruturas, e restrições. Modelagem de dados SGBD Usuários
Funções típicas do SGBD Construir a base de dados: armazenamento secundário em disco Gerência de dados Controles operacionais Manipular a base de dados: consulta, geração de relatórios, inserções, remoções, modificações de conteúdo. SGBD Modelagem de dados Usuários
Funções típicas do SGBD Processamento concorrente e compartilhamento: manter dados consistentes e válidos. Gerência de dados Controles operacionais SGBD Modelagem de dados Usuários
Funções típicas do SGBD Gerência de dados Controles operacionais SGBD Modelagem de dados Usuários Projetistas do SGBD, Projetistas da aplicação, Usuários da aplicação, etc...
Funções típicas do SGBD 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.
Funções típicas do SGBD 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.
Vantagens de SGBD 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 não usar um SGBD 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.
Demonstração prática 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
Referências 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.
Atividade II Lista de Exercícios 1 na página: http://www.fagundes.pro.br/aulas/tec-bd1/index.html
Contato 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