INSTITUTO FEDERAL NORTE DE MINAS GERAIS Curso Técnico em Informática Disciplina: Banco de Dados Professor: Alessandro Carneiro Ribeiro E-mail: [email protected] Aula 01 Introdução aos sistemas de informação Conceitos de banco de dados Modelos de BD Linguagens de Banco de Dados Usuários de um Banco de Dados Sistemas de Informação Sistema de Informação é um conjunto de componentes inter-relacionados (programas) trabalhando juntos para coletar, recuperar, processar, armazenar e distribuir informações com a finalidade de facilitar o planejamento, o controle, a coordenação, a análise e o processo decisório nas organizações. Componentes lógicos de um SI: Ciclo de Vida do Desenvolvimento de SI (Método Estruturado): Rotinas doUsuário Usuários Direção Operadores Restrições Requisitos doSistema Relatório Preliminar de Viabilidade Restrições Dados 1. doModelo 2. LevantaA n álise mento Direção Restrições Especificação daAnálise Especificação daDocumentação 6. Manuais Manuais doUsuário edoSistema 8. Especificação C o n v ersão doProjeto 3. d e B a nco Projeto deDados Especificação dos Testes 5. Geração deTestes Módulos Testados 7. Controlede Qualidade BancodeDados Existente Especificação doProjeto BancodeDados Convertido 4. Implementação Sistema Integradoe Modularizado Sistema aprovado 9. Instalação Sistema Instalado Análise de Requisitos (Levantamento de Dados): Vamos supor o LD já realizado através das diversas técnicas de LD como Entrevistas, Brainstorming, JAD e Prototipação Descartável. Análise (Projeto Lógico): O modelo de dados: Visão dos DADOS que serão armazenados e manipulados pelo sistema: DER. O modelo funcional: Visão dos PROCESSOS que irão gerar informações para o usuário: DFD. Projeto (Projeto Físico): Análise dos requisitos de hardware, software, desempenho e segurança, que serão utilizados para implementação dos modelos. No nosso caso SGBDs e a linguagem SQL. Conceitos Fundamentais de Banco de Dados Banco de Dados (database): Uma coleção de dados (fatos conhecidos) interrelacionados que podem ser armazenados e manipulados em um meio físico. Exemplos: Uma agenda telefônica contendo nomes, endereços e telefones. Uma universidade contendo dados dos professores, alunos e disciplinas. Um supermercado contendo dados de clientes, produtos, vendas, fornecedores e compras. Um Banco de Dados de um SI pode ser representado na forma de tabelas. Exemplo: Banco de dados para um Sistema de Pessoal: Departamento @Número 1 2 3 Descrição Pessoal Vendas Produção Empregado @Registro 212 321 450 867 Nome José Antônio Antônio Rodrigues Maria Fernandes Carlos Henrique Telefone 33326262 32124589 33129860 35634011 Lotação 2 3 1 3 Projeto @Número 001 002 003 Descrição Construção da Peça P21 Cotação de fornecedores Gestão de energia 2001 Data_Início 02/03/1999 23/05/2001 01/06/2001 Data_Fim Empregado_Projeto @Projeto 001 001 002 003 003 @Empregado 321 867 212 450 212 19/07/2001 Horas 89 31 29 8 14 São características de um banco de dados Os dados devem representar algum aspecto do mundo real de tal forma que qualquer mudança desta realidade se reflita no banco de dados. Ex: Novo projeto é criado, Admissão de novo empregado, Funcionário muda de lotação. Os dados devem estar organizados de uma maneira coerente com a realidade. Ex: Empregados que trabalham em projetos e não empregados que gostam de trabalhar em projetos de seu interesse. Deve ser útil p/ um grupo de usuários que podem manipulá-lo através de SI (aplicações). Resumindo: Um BD é uma coleção de dados armazenados cujo conteúdo informativo a cada instante representa o estado de uma determinada aplicação de um grupo de usuários. Sistema Gerenciador de Banco de Dados (SGBD ou DBMS): é um sistema utilizado para facilitar a criação e manutenção de um banco de dados computadorizado. Em princípio um BD pode ser manipulado por linguagens de programação como C, C++, pascal, Java e Cobol ou mesmo por softwares como Clipper, Dbase e Excel. No entanto, os SGBDs são imprescindíveis nas organizações pois: 1. Facilitam a definição, construção e manipulação de grandes volumes de dados baseados em uma linguagem padrão de alto nível denominada SQL. 2. Recuperam e armazenam eficientemente os dados. 3. Permitem o compartilhamento dos dados, ou seja, acessos concorrentes aos dados por diversas aplicações/usuários simultâneos. 4. Garantem segurança aos dados contra acessos não autorizados. 5. Garantem o controle de restrições aos dados (chaves, integridade e domínio) evitando redundâncias e inconsistências. 6. Possuem mecanismos de Backup e Recovery na presença de falhas. SGBDs menores: Access , Paradox, CA Ingress, InterBase, Fox Pro, Progress, Zim, etc. Sistema de Baco de Dados: um SI composto por um conjunto programas de aplicação que interagem com um SGBD gerando informações úteis aos usuários. Usuários P rogram as deaplicação. R egradeN egócio emL 4G B an codeD ados M eioF ísico C am adade in tegração. N ativa,O D B C , JD B C ,B D E ,... S G B D C onjuntodeprogram asescritosem algum alinguagemdeprogram ação Arquitetura interna de um SGBD: Linguagens de Banco de Dados: DDL: Permite a definição da estrutura interna de armazenamento dos dados. DML: Permite a manipulação dos dados segundo as estruturas pré-definidas. Linguagens hospedeiras: Linguagens de programação onde se pode inserir comandos DDL ou DML. Usuários de um Sistema de Banco de Dados 1. Projetista (analista) de Banco de Dados: Modela o Banco de Dados de acordo com a regra de negócio (DER). Define políticas de segurança, regras de integridade e acesso eficiente aos dados. 2. DBA - Database Administrator: É o superusuário, conhecendo o SGBD profundamente. Gerencia e monitora o SGBD. Implementa o esquema dos BDs de acordo com as especificações do Analista. Implementa políticas de segurança, regras de integridade e acesso eficiente aos dados. 3. Programadores de Aplicações: Implementam sistemas baseados em SGBDs através de L4G, linguagens hospedeiras ou linguagens para a internet. Devem estar a par dos recursos oferecidos pelo SGBD (SQL, Índices, Views, Storeds procedures, Triggers, Rules, Funções agregadas, Subconsultas, etc) 4. Usuários finais Exercícios de Fixação 1) Quais os componentes lógicos de um sistema de informação? 2) Explique cada fase do ciclo de vida de um sistema de informação de acordo com o método estruturado. 3) Para que serve o modelo de dados na documentação de um Sistema de Informação? Em qual(is) fase(s) ele é implementado? Qual o nome da ferramenta que utilizamos para representar o modelo de dados? 4) Enumere a primeira coluna de acordo com a segunda: ( ) DDL 1 - Elabora Modelos para representação do sistema. ( ) DML ( ) Linguagens hospedeiras 2 - Através dela podemos inserir dados em um banco de dados segundo uma estrutura pré-definida. 3 - Conhece tudo da ferramenta SGBD, é o super usuário do BD. ( ) Projetista 4 - Permite a criação de tabelas e alteração na estrutura das tabelas. ( ) DBA 5 - Permite inserir códigos DDL e DML para criação e manipulação de dados.