Matemática Mestre Educação Pref.Municipal de Mogi Guaçu (1983-2008- T.Informação ) (Educação de Trânsito – 2009...) Professor cursos : Analise Sistemas, Ciências Computação , Pedagogia e Administração Livro: Internet Meu Primeiro Emprego Colunas Semanais Colunas Eventuais Social/Projetos Coberturas Programa HIPERLINK Como me achar ? • • • • • • [email protected] [email protected] http://Twitter/zacariotto www.zacariotto.com.br Facebook – william zacariotto Skipe- williamantoniozacariotto Notas: • B1 – 90 % notas de prova – 10% relativos a trabalhos • B2 – 60% Notas prova – 40% relativos a trabalhos apresentados Banco de dados • Apresentar os conceitos, técnicas e características básicas tais como fundamentos, arquitetura (modelagem lógico-física), funcionamento, projeto e supervisão sobre implementação, processamento e manutenção de bancos de dados, tornando o aluno capaz de entender e utilizar bancos de dados convencionais e desenvolver sistemas de informação mais abrangentes, baseado na metodologia de desenvolvimento de sistemas centrado em bancos de dados. Banco de dados • • Banco de Dados Convencionais. Arquitetura de Sistemas de Banco de Dados. Modelagem de dados: – modelos conceituais, – modelo E-R e suas variações, abstração por agregação e generalização. • • • • • • • • • • Modelos de Representação. Normalização de Dados e Manutenção da Integridade. Linguagem de Definição de Dados e Linguagem Manipulação de Dados. Mecanismo de proteção: recuperação, visões e segurança. Banco de dados cliente-servidor. Banco de Dados Não Convencionais. BD Objeto-Relacional. BD Orientado a Objetos. Banco de dados multimídia, internet e intranet. Data Warehouse. GERENCIAMENTO DE DADOS E INFORMAÇÃO Diário Semana Aulas 1ª. 10/02 Apresentação da Disciplina e conteúdos programáticos 2ª. 11/02 Hierarquia dos dados, Abordagem tradicional ao gerenciamento de dados, Organização de um banco de dados , Projeto lógico e físico, Modelo de dados (hierárquico , rede e relacional) , Comparando os modelos, Sistema Gerenciador de Banco de dados , Ldd , banco de dados distribuídos , replicados e datawarehousing, banco de dados hipertexto , políticas de Segurança de dados 3ª. 17/02 Modelo de dados, Modelos baseados em objetos, Modelos baseados em registros, modelos físicos Exercícios 4ª. 24/02 Modelos conceituais, modelo E-R e suas variações, abstração por agregação e generalização. Exercícios 5ª. 03/03 Modelos de Representação, Normalização de Dados e Manutenção da Integridade Exercícios de Normalização 6ª. 10/03 Exercícios de Normalização 7ª. 17/03 Avaliação Bimestral B1 Revisão prova e mostra Diário Semana 8ª. Aulas 24/03 Exercícios de normalização 9ª. 31/03 Banco de Dados Não Convencionais. BD Objeto-Relacional. BD Orientado a Objetos. Banco de dados multimídia, internet e intranet. Data Warehouse. 10ª. 07/04 Banco de Dados Não Convencionais. BD Objeto-Relacional. BD Orientado a Objetos. Banco de dados multimídia, internet e intranet. Data Warehouse. 11ª. 14/04 Modelo entidade relacional Uso do modelo com um banco de dados implementado 12ª. 28/04 Implementação de um banco de dados relacional com software livre 13ª. 05/05 Uso de SQL para manipulação e criação de banco de dados 14ª. E 15ª. 12/05 Indexação de banco de dados 16ª. 19/05 Desenvolvimento de um projeto de dados em laboratório 17ª. 26/05 Apresentação do Projeto 18ª. 02/06 Avaliação Bimestral Revisão de prova e mostra 19ª. 09/06 Exames Linguagem de Definição de Dados e Linguagem Manipulação de Dados. Mecanismo de proteção: recuperação, visões e segurança. Banco de dados cliente-servidor. Banco de Dados Não Convencionais. Modelagem de Dados GERENCIAMENTO DE DADOS • é a forma de gerenciar os dados no computador, – sem os dados e a capacidade de processá-los uma organização não teria condições de completar com sucesso a maioria de suas atividades empresariais. • DADOS – consistem em fatos brutos – ex. número de empregados e cifras de vendas. • Transformação só ocorre se estiverem organizados de forma significativa. Hierarquia dos dados • Os dados são geralmente organizados em uma hierarquia que começa com o menor dado usado pelos computadores (um bit) e vai progredindo na hierarquia até o banco de dados. • Um bit corresponde a um dígito binário, representa um circuito que pode estar ligado ou desligado. Os bits podem ser organizados em unidades chamadas bytes. Um byte corresponde a oito bits. Cada byte representa a um caracter. Hierarquia dos dados • Bit- Menor Unidade • Caracter ou Byte: bloco básico de construção de informação. • Campo: é tipicamente um nome, número ou uma combinação de caracteres. • Registro: combina descrições de vários aspectos de um objeto ou atividade. • Arquivo : Conjunto de registros com os mesmos objetivos Hierarquia dos dados • Banco de Dados – nível mais alto da hierarquia, – É uma (coleção de arquivos integrados e relacionados). A ABORDAGEM TRADICIONAL AO GERENCIAMENTO DE DADOS • As organizações são sistemas adaptáveis com necessidades de constantes mudanças de dados e de informações. • Um dos meios mais básicos é através de arquivos. • Antes – inúmeros arquivos repetidos de tratamento de dados Abordagem tradicional • abordagem de gerenciamento de dados na qual arquivos de dados separados são criados e armazenados para cada problema de aplicação • Cada aplicação em particular, um ou mais arquivos são criados. Redundância e duplicação • duplicação de dados em arquivos separados Clientes Forneced ores Empresas de serviço Nro Nro Nro Nome Nome Nome Endereco Endereco Endereco Casa Casa Casa Bairro Bairro Bairro Cidade Cidade Cidade Estado Estado Estado Cep Cep Cep • REDUNDÂNCIA : é que as mudanças dos dados poderiam ser feitas em um arquivo e não em outro, Ex: O novo endereço de um cliente. • Integridade dos dados: é uma decorrência do controle ou eliminação da redundância de dados. Clientes Nro Nome Endereco Casa Bairro Cidade Estado Cep Forneced ores Nro Nome Endereco Casa Bairro Cidade Estado Cep Empresas de serviço Nro Nome Endereco Casa Bairro Cidade Estado Cep ABORDAGEM DE BANCOS DE DADOS AO GERENCIAMENTO DE DADOS • É aquela em que em um conjunto de dados relacionados é compartilhado por múltiplos programas aplicativos. • Em vez de utilizarem arquivos de dados separados, cada aplicativo usa uma coleção de arquivos de dados que se juntaram ou se inter relacionaram no banco de dados, podendo oferecer vantagens significativas em relação ao enfoque tradicional baseado em arquivos. ABORDAGEM DE BANCOS DE DADOS AO GERENCIAMENTO DE DADOS • VANTAGENS – Espaço de armazenamento mais eficiente e aumentar a integridade dos dados – Maior flexibilidade no uso dos dados. – mais fácil localizar e solicitar os dados a serem processados de inúmeras formas – também oferece a capacidade de compartilhar as fontes dos dados e informações Software Adicional DBMS: • consiste em um grupo de programas que pode ser usado como uma interface entre um banco de dados e um usuário ou um banco de dados e os programas aplicativos. Clientes Nro Nome Endereco Casa Bairro Cidade Estado Cep Forneced ores Nro Nome Endereco Casa Bairro Cidade Estado Cep Empresas de serviço Nro Nome Endereco Casa Bairro Cidade Estado Cep Mogi Guaçu seria Repetido inumeras Vezes ... Clientes Nro Nome Endereco Casa Bairro Cidade Estado Cep Forneced ores Nro Nome Endereco Casa Bairro Cidade Estado Cep ? Empresas de serviço Nro Nome Endereco Casa Bairro Mogi Guaçu seria Repetido inumeras Vezes ... Cidade Estado Cep Imagine se mudar o CEP de uma rua ???? Quantos locais você terá de acessar para realizar a mudança ORGANIZANDO OS DADOS EM UM BANCO DE DADOS • Um banco de dados deve ser projetado para armazenar todos os dados relevantes para a empresa e fornecer acesso rápido e modificações fáceis. • Além disso, ele deve ser criado de forma a refletir os processos empresariais da organização. Cuidados na criação de um banco de dados – Conteúdo: São os dados que devem ser coletados e a que custo. – Acesso: São os dados que devem ser fornecidos a qual usuário quando apropriado. – Estrutura Lógica: Como os dados devem ser arrumados de forma que façam sentido para um determinado usuário. – Organização Física: Onde os dados devem estar fisicamente localizados. MODELAGEM DOS DADOS E DIAGRAMAS DE RELACIONAMENTO ENTRE ENTIDADES • O banco de dados exige dois projetos: o lógico e o físico. • O Projeto lógico envolve identificação, detalhamento e agrupamento em uma forma ordenada. • O Projeto Físico é o modelo de como serão organizados e localizados os dados dentro do banco de dados. • A ferramenta usada para mostrar a relação lógica entre os dados é o modelo de dados. • O modelo de dados é um mapa de entidade e suas relações. Os diagramas de Relação de Entidade (RE) podem ajudar a descobrir os problemas e a fazer mudança nos bancos de dados. • Na maioria dos casos, são usadas caixas no diagramas RE para indicar os itens de dados ou entidades, e losangos para mostrar as relações entre os itens de dados e as entidades. Pensando...(exercícios...) • Você sabe definir o que eu preciso para criar um banco de dados ? Detalhes : precisamos localizar o aluno, portanto endereço, email, telefone São necessários Exercícios MODELOS DE BANCOS DE DADOS • A estrutura das relações na maioria dos bancos de dados segue um dos três modelos lógicos de bancos de dados: – hierárquico – em rede – relacional Hierárquicos ou árvore • Dados estão organizados de cima para baixo ou em estrutura de árvore invertida. • Exemplo: – os elementos dos dados em cada nível subordinado subseqüente estão ligados a apenas um elemento acima, mas eles podem estar ligados a mais de um elemento abaixo. – Este método de ligação é semelhante à relação entre pais e filhos: a criança não existiria sem os pais. – Os elementos em cada nível são os “pais”, dos elementos ligados a eles abaixo, “filhos” daqueles os quais estão ligados acima. Modelos em Rede • é uma relação membro proprietário (um pai para muitos filhos), na qual um membro pode ter vários proprietários. • Exemplo: – consideramos dois projetos que exigem o trabalho de três departamentos. – Os projetos 1 e 2 estão ligados no alto da rede. – Abaixo deles, os vários departamentos (A, B, C) necessários para trabalhar nos projetos estariam listados. – Então, poderiam ser traçadas linhas que ressaltassem quais departamentos trabalham em quais projetos. Modelo em Rede • • • • O departamento B executa trabalhos no Projeto 1 como no Projeto 2, daí ele é um membro que é propriedade dos Projetos 1 e 2. Existe mais de um caminho pelo qual um determinado elemento de dados pode ser acessado. O elemento de dado do Departamento B pode ser acessado através do Projeto 1 ou do Projeto 2 de maneira semelhante, O elemento de dado do departamento C, pode ser acessado através do Projeto 1 ou do Projeto 2. Ambos departamentos B e C tem dois pais (Projeto 1 e Projeto 2). Dificuldades ... • Os bancos de Modos Hierárquico ou em Rede, uma vez estabelecidas às relações entre os elementos de dados, é difícil modificá-los ou criar novas relações. Modelo Relacional • Descrever o dado usando um formato tabular padrão. • dados são localizados em tabelas bidimensionais, chamadas relações, que são o equivalente lógico dos arquivos. • As tabelas nos bancos de dados relacionais organizam os dados em linhas e colunas, simplificando o acesso e manipulação dos dados. Vantagens, desvantagens ... • Modelo Hierárquico – é a eficiência do processamento, ele pode tomar menos tempo para ser manifestado do que os outros modelos de bancos de dados, porque as relações dos dados são menos complexas, como cada filho tendo apenas um pai. – Eles são mais difíceis de modificar enquanto outros são mais difíceis de instalar. – Mas mesmo com as desvantagens as organizações usam o modelo hierárquico devido sua eficiência do processamento ou aos grandes investimentos nos sistemas de banco de dados hierárquicos já existentes. Vantagens, desvantagens ... Modelos em Rede: – tem mais flexibilidade do que os modelos hierárquicos são mais difíceis de desenvolver e usar, devido à complexidade das relações dos dados. – Ele não tem sido usado pelas organizações e não são populares entre os usuários de microcomputadores. Vantagens, desvantagens ... • Modelo Relacional: – é o mais amplamente usado, fácil de controlar, mais flexibilidade e mais intuitivo do que os outros, pois organiza os dados em tabelas. – Por suas inúmeras vantagens, muitas empresas usam o Modelo Relacional. Modelo Orientado Objeto • Sistema de gestão de bancos de dados objeto: – os dados são armazenados sob a forma de objetos, – estruturas chamadas classes que apresentam dados membros. – Os campos são instâncias destas classes • Objetos são a extensão do mundo real : – Exemplo : • Objeto – Professores – Classes são : Re, Nome , Endereço ... Modelo Orientado Objeto Modos ... Hierarquico Rede Relacional Objeto CARACTERÍSTICAS DE BANCO DE DADOS • tamanho ou quantidade. – determina a necessidade global de armazenamento para o banco de dados. • volatibilidade dos dados – é a medida das mudanças, tais como adições, deleções ou modificações tipicamente exigidas em um determinado período de tempo. • imediação – é a medida de rapidez com que as mudanças devem ser feitas nos dados. Se um aplicativo demanda imediação, ele também demanda rapidez de restauração das instalações, no caso de o sistema do computador cair temporariamente. SISTEMA DE GERENCIAMENTO DE BANCOS DE DADOS • O que é – É um grupo de programas usado como uma interface entre um banco de dados e os programas aplicativos ou entre um banco de dados e o usuário. – Sua criação e implementação dão suporte às atividades e metas empresariais, e estão classificados pelo tipo de modelo de banco de dados que apóiam. Armazenamento e Recuperação de Dados • DBMS – Aplicativo que busca informação no banco de dados – Programa aplicativo segue dois caminhos, chamados de: • caminho de acesso lógico (CAL) • caminho de acesso físico (CAF). • Esses caminhos servem para trazer as informações ao usuário do aplicativo. Registros – Registro Lógico – • Qualquer unidade de informação que possa ser processada por um programa aplicativo. • pode ser o agrupamento de campos ou colunas distintos de arquivo de banco de dados, ou uma linha de um arquivo de texto – Registro Físico • onde as informações serão organizadas e localizadas dentro de um banco de dados. Lógico e físico Nós temos o banco de dados, As tabelas, os registros físicos A estrutura Nós temos o banco de dados, As tabelas, os registros físicos A estrutura Visão Banco de dados • Projeto Lógico • Projeto Físico Registro Lógicos • As informações em um registro lógico estão logicamente relacionadas, mas as informações em um registro físico nem sempre estão armazenada juntas. Visão de Usuário • É a porção do banco de dados que o usuário pode acessar. • diferentes visões do usuário, são desenvolvidos sub-esquemas, que nada mais são do que um arquivo que contém uma descrição de um subconjunto do banco de dados e identifica quais usuários podem efetuar modificações em itens do subconjunto. – Sub-esquemas – é um arquivo que contém uma descrição de um subconjunto do banco de dados. • mostra apenas alguns dos registros e seus relacionamentos no banco de dados. Visão ... CRIAÇÃO E MODIFICAÇÃO DE BANCO DE DADOS • Os esquemas e sub-esquemas são configurados através da linguagem de definição de dados (LDD), mais conhecida como DDL (Data Definition Language) • Linguagem de definição de dados é uma série de instruções e comandos usados para definir e descrever as informações e as relações dentro de um banco de dados, que deverão estar contidos nos esquemas e sub-esquemas. Em geral uma LDD, descreve o caminho de acesso lógico e os registros lógicos em um banco de dados. Dicionário de dados • que é uma descrição detalhada de todas as informações em um banco de dados. • O dicionário de dados pode conter: – – – – – – – nome do item de informação, nomes alternativos usados para descrever o item, a escala de valores, tipo de informação, quantidade de armazenamento, notações do nome do responsável por sua atualização. Dicionário de Dados – Fornecer uma definição padronizada de termos e elementos de dados – ajuda no processo de programação, fornecendo termos coerentes e variáveis para serem usados nos programas. – Assistir os programadores nos projetos e redação dos programas – os programadores podem utilizá-lo para ver que programas já usam as informações e, se apropriado, copiar a seção relevante do código do programa dentro do seu novo programa, eliminando os esforços duplicados de programação. – Simplificar a modificação do banco de dados – se um elemento da informação precisar ser mudado ou deletado, o dicionário de dados aponta os programas que utilizam o elemento da informação que precisa ser modificada. MANIPULAÇÃO DE DADOS E GERAÇÃO DE RELATÓRIOS • Uma vez instalado o DBMS, as informações do banco de dados podem ser acessadas, modificadas e consultadas através da linguagem de manipulação de dados (LMD), mais conhecida como DML (Data Manipulation Language) • A linguagem mais utilizada para este fim é linguagem de consulta estruturada (SQL – Structured Query Language). • A SQL é usada em diversos pacotes populares de banco de dados, essa linguagem usa procedimentos padronizados e simplificados para recuperar, armazenar e manipular as informações de um sistema de banco de dados. TENDÊNCIAS EMERGENTES PARA BANCOS DE DADOS • Sendo as informações vitais para a gerência administrativa, as inúmeras tendências de desenvolvimento, o uso de banco de dados e sistemas de gerenciamento, se fazem necessárias para atender as necessidades das organizações. • Algumas dessas tendências são: – o armazenamento dos dados em diferentes locais – o uso da abordagem orientada a objeto no desenvolvimento – uso de sistemas de gerenciamento de bancos de dados – e o armazenamento de dados não estruturados, como gráficos e vídeos. BANCOS DE DADOS DISTRIBUÍDOS • São bancos de dados no qual o dado real pode ser espalhado por vários bancos de dados menores, conectados por dispositivos de telecomunicações. VANTAGENS BD DISTRIBUÍDO • Maior flexibilidade na forma como os banco de dados são organizados e usados • Escritórios locais podem criar, gerenciar e usar seu próprio banco de dados, • Acesso e compartilhamento dos dados por pessoas de outros escritórios • Dar aos escritórios locais meios mais diretos de acessar dados mais usados, proporcionando mais eficácia e eficiência nas organizações BD Distribuídos DESAFIOS ADICIONAIS • Segurança • Exatidão • Pontualidade • Conformidade dos dados dentro do padrão • Lentidão em relação ao transporte e acesso dos dados ( Linhas de Telecomunicação ) • Integração de vários bancos de dados BANCO DE DADOS REPLICADO • é aquele que contêm um conjunto duplicado de dados usados freqüentemente. • No início do dia, são enviadas cópias de dados importantes para cada local de processamento distribuído, sendo enviado de volta já modificados ao final do dia, para serem armazenados no banco de dados principal. ARMAZENAMENTO DE DADOS (DATA WAREHOUSING) • Técnica que envolve a tomada dos dados do mainframe e o seu armazenamento em outro banco de dados, de modo que ele possa ser analisado para descobrir novas tendências ou sugerir novas estratégias, sem diminuir a velocidade do input do banco de dados principal da organização. CONECTIVIDADE ABERTA DE BANCO DE DADOS (ODBC) • Os Padrões ODBC para ajudar na integração dos bancos de dados – asseguram que o software desenvolvido possa ser usado com qualquer banco de dados aberto, tornando mais fáceis as transferências e o acesso aos dados entre diferentes bancos de dados. • Muitas organizações estão usando tais ferramentas para permitir que seus funcionários e gerentes tenham acesso mais fácil a uma variedade de bancos e fontes de dados. CONECTIVIDADE ABERTA DE BANCO DE DADOS (ODBC) Qualquer sistema operacional Linguagens Aplicações Banco de dados Oracle, mysql Interbase, Access Firebird, Postgree BANCO DE DADOS ORIENTADOS PARA OBJETOS • Nestes bancos são usados : – OODMS • recuperados e relacionados por um sistema de gerenciamento de banco de dados orientados para objetos • oferecem a capacidade de reutilizar e modificar os objetos existentes para desenvolver novas aplicações. BANCOS DE DADOS DE IMAGEM • • Formato de armazenamento : Imagem. Muito utilizado pelas empresas de cartões de crédito, médicos, serviços financeiros e companhias de seguros. Desvantagens : • – – o aumento das exigências de armazenamento secundário, Grande volume de bytes necessários BANCOS DE DADOS DE HIPERTEXTO • São bancos onde os dados são colocados em pedaços chamados nós, onde o usuário estabelece ligações entre os nós, podendo dessa maneira procurar e manipular dados alfanuméricos de forma não estruturada. • Ex.: Três pacientes tratados por um mesmo médico e com o mesmo sintoma de doença. BANCO DE DADOS DE HIPERMÍDIA • É considerada uma extensão dos bancos de dados de hipertexto, que permitem as organizações procurar e manipular formas de dados de multimídia, dados gráficos, sonoros, de vídeos e alfanuméricos. • Com a abordagem de banco de dados de hipermídia, muitos tipos de dados podem ser organizados em uma rede de nós conectados por ligações estabelecidas pelo usuário. Administração Banco de dados • Devido a sua complexidade, alguns fatores são de suma importância para se gerenciar bancos de dados, dentre os quais podemos destacar: – Bons profissionais para administrar os bancos de dados, – Concentração em aspectos importantes e estratégicos dos bancos de dados, – Treinamentos dos usuários de bancos de dados – Desenvolvimento de procedimentos para seu bom uso. Profissional Responsável • ADMINISTRADOR DE BANCOS DE DADOS, (DBA) e envolve uma das mais valiosas fontes da organização: os seus dados. O que ele faz.. – – – – – – Implementação do DBMS, Documentação do sistema e dos usuários, Apoio e treinamento ao usuário, Operações globais de DBMS, Testes e manutenção do DBMS, Estabelecimento de procedimentos de emergência e de recuperação em caso de falha. • trabalhar em conjunto, com analistas e programadores que desenvolvem programas aos usuários que necessitam de acesso aos bancos de dados para a execução de tarefas no seu dia a dia, • O DBA é como um guardião e monitorador do uso do bancos de dados. Política de segurança Banco de Dados • A quais dados os usuários devem ter acesso direto? • Sob quais circunstâncias podem os dados ser transferidos de um microcomputador ou sistema pequeno de computador para sistema mainframe? (Esta transferência de dados é chamada uploading). • Sob quais circunstâncias podem os dados ser transferidos do sistema de mainframe de grande porte para microcomputadores ou sistema pequeno de computador? (Este tipo de transferência de dados é chamada downloading). • Que procedimentos são necessários para garantir o uso apropriado do banco de dados? Política de segurança Banco de Dados • Todas as organizações devem adotar políticas, em relação a quais dados os usuários podem ter acesso, em razão de informações confidenciais estarem contidas nos bancos de dados. • Além disso, todas as solicitações relativas a ver, modificar, fazer upload e download devem ser escritas. Em razão do grande nº de usuários do mainframe, as alterações de seus dados precisam ser especificadas, obedecendo aos procedimentos das organizações. • Programas de suporte e treinamento são necessários a todos os níveis de empregados, inclusive os gerentes e tomadores de decisão sobre as políticas adotadas. Política de segurança Banco de Dados • Cuidados com a invasão de privacidade, sendo imprescindível a adoção de sistemas e técnicas para a proteção da privacidade individual e a manutenção da segurança. • Independentes de algumas falhas, não podemos deixar de maximizar o potencial da abordagem de bancos de dados, pois eles servem como entradas para um sistema de informação global da empresa; • O projeto e uso de um banco de dados, assim, têm um papel crucial no apoio dos negócios. Estabelecimento de procedimentos de emergência e de recuperação em caso de falha; Criar dicionário de dados • Campos : – Nome do campo • Descrição do campo – Tamanho do campo • Tamanho em casas decimais esperado para entrada de dados – Tipo • Numerico – utilizado apenas quando é base de calculo • , alfanumerico – campos de dados informados com conteudo não numerico • data – data • logico – Sim ou Não e Verdadeiro ou falso – Casas decimais • Numero de casas decimais indicando – Indicar campo chave – não pode ser duplicado