Baixe o app para aproveitar ainda mais
Prévia do material em texto
1 BANCO DE DADOS – INTRODUÇÃO Prof. Dr. José P. Alcázar jperez@usp.br 2 • Conceitos de Bancos de Dados • Modelos de Dados 3 DADO X INFORMAÇÃODADO X INFORMAÇÃO Uma percepção do mundo real pode ser vista como uma Uma percepção do mundo real pode ser vista como uma série de fenômenos diferentes que algumas vezes têm série de fenômenos diferentes que algumas vezes têm alguma relação entre si.alguma relação entre si. ““Dado” Dado” A descrição destes fenômenos.A descrição destes fenômenos. A través deles obtemos informação do A través deles obtemos informação do mundo realmundo real Informação Informação Qualquer aumento do conhecimento Qualquer aumento do conhecimento obtido a través da interpretação obtido a través da interpretação e e uso de dados.uso de dados. INTERPRETAÇÃO E INTERPRETAÇÃO E USOUSO INFORMAÇÃOINFORMAÇÃODADODADO 4 Dados e informações 5 Conhecimento. – Capacidade de resolver problemas, inovar e aprender baseando- se em experiências prévias; Tomar decisões, atuar. – Esforço de investigação para descobrir aquilo que esta oculto, que não esta compreendido ainda. » Adquirir conhecimento não é reter informação, mas utilizar estas para desvendar o novo e avançar. 6 • Portanto, dado não é informação e informação não é conhecimento. • Hoje em dia, organizações competem pelo domínio do conhecimento científico e tecnológico; • COMO ? »Armazenando, processando, acessando e disponibilizando informações por meio de redes de comunicação. Conceitos de Bancos de Dados 7 Conceitos Sistema – Arranjo de componentes que trabalham juntos para alcançar uma meta comum, ou múltiplas metas, aceitando entradas, processando elas, e produzindo saídas de forma organizada. – Ex.: automóvel (objetivo: transportar passageiros e carga - subsistemas: motor, caixa de marchas, suspensão); computador (armazenar e processar dados – subsistemas: teclado, vídeo, CPU, ...) – Um sistema é formado por sub-sistemas, que por sua vez são sistemas Simples e Complexos. Conceitos de Bancos de Dados 8 Conceitos Modelo Geral de um sistema: Conceitos de Bancos de Dados 9 Conceitos • Sistema de informação (SI) consiste de todos os componentes que trabalham juntos para processar dados e produzir informação. • Um Sistema de Informação é um conjunto de elementos que Um Sistema de Informação é um conjunto de elementos que interagem entre si. Estes elementos são de natureza diversa e interagem entre si. Estes elementos são de natureza diversa e normalmente incluem:normalmente incluem: O equipo computacional O equipo computacional O recurso humano que interage com o Sistema de InformaçãoO recurso humano que interage com o Sistema de Informação Os dados ou informação fonte que são introduzidos no sistemaOs dados ou informação fonte que são introduzidos no sistema Os programas (processos) que produzem diferentes tipos de Os programas (processos) que produzem diferentes tipos de resultados.resultados. • Implantando a través de um Sistema Manual o um Sistema Implantando a través de um Sistema Manual o um Sistema ComputacionalComputacional Conceitos de Bancos de Dados 10 ConceitosConceitos • Um sistema de informação é um méio de Um sistema de informação é um méio de oferecer a informação necessária para uma oferecer a informação necessária para uma organização. Um sistema de informação organização. Um sistema de informação recebe a informação, armazena esta, a recebe a informação, armazena esta, a processa, e oferece o acesso de esta, aos processa, e oferece o acesso de esta, aos usuários da forma que eles desejam.usuários da forma que eles desejam. • Um sistema de informação computacional Um sistema de informação computacional é construído principalmente a partir de é construído principalmente a partir de SGBD´s.SGBD´s. Conceitos de Bancos de Dados 11 Conceitos Funções de um SI Conceitos de Bancos de Dados 12 ConceitosConceitos Dados “úteis”Dados “úteis” para geraçãopara geração de informaçãode informação COLECTADOS E COLECTADOS E ARMAZENADOSARMAZENADOS BANCO DEBANCO DE DADOSDADOS A informação contida no BD deve representar um instante (estado) de A informação contida no BD deve representar um instante (estado) de uma aplicação determinada. Cada mudança no BD é um reflexo dum uma aplicação determinada. Cada mudança no BD é um reflexo dum evento (ou seqüência) que ocorre neste ambiente. evento (ou seqüência) que ocorre neste ambiente. Modelo de uma parte do Mundo RealModelo de uma parte do Mundo Real (Universo do discurso)(Universo do discurso) Sistema de Banco Sistema de Banco de Dadosde Dados Sistema de informação Sistema de informação computacional, cujo objetivo computacional, cujo objetivo principal é registrar e manter dados.principal é registrar e manter dados. Trata com BD´sTrata com BD´s Um Sistema de Banco de Dados (SBD) tem 4 componentes:Um Sistema de Banco de Dados (SBD) tem 4 componentes: ““Software”Software” UsuáriosUsuários DadosDados ““Hardware”Hardware” 13 HARDWARE Áreas de memória secundária nas quais está HARDWARE Áreas de memória secundária nas quais está localizada o BD (discos, fitas, etc.), junto com os localizada o BD (discos, fitas, etc.), junto com os dispositivos associados (controladores, canais, etc.)dispositivos associados (controladores, canais, etc.) SOFTWARE SGBD. Todo acesso é feito a través do SGBD.SOFTWARE SGBD. Todo acesso é feito a través do SGBD. Facilita EstruturaçãoFacilita Estruturação ArmazenamentoArmazenamento RecuperaçãoRecuperação ManipulaçãoManipulação Controle de DadosControle de Dados Promove Promove Independência de Dados Independência de Dados Dados compartilhadosDados compartilhados Conceitos 14 CLASSES DE USUÁRIOS:CLASSES DE USUÁRIOS: Programador de aplicaçõesProgramador de aplicações Usuário finalUsuário final Administrador do BD e/ou Projetista de Bancos de DadosAdministrador do BD e/ou Projetista de Bancos de Dados conceitos Programador daProgramador da aplicaçãoaplicação Escreve programas que utilizam o BD Escreve programas que utilizam o BD em C, C++, Java, PASCAL, etc.em C, C++, Java, PASCAL, etc. Acessa o BD a través de um linguagem Acessa o BD a través de um linguagem de consulta (parte integrante do de consulta (parte integrante do sistema) ou a través de um programa sistema) ou a través de um programa interativo. Ação comum a interativo. Ação comum a recuperaçãorecuperação Usuários finaisUsuários finais 15 ConceitosConceitos Administrador do banco de dados Administrador do banco de dados :: Pessoa com o controle do sistema.Pessoa com o controle do sistema. Funções:Funções: Mudanças na organização física e lógicaMudanças na organização física e lógica Garante diferentes tipos de acesso por parte dos usuáriosGarante diferentes tipos de acesso por parte dos usuários Define uma estratégia de “Backups” e recuperação, etc.Define uma estratégia de “Backups” e recuperação, etc. Projetistas do Banco de Dados:Projetistas do Banco de Dados: São responsáveis pela identificação dos dados que serão armazenados e São responsáveis pela identificação dos dados que serão armazenados e pela seleção das estruturas apropriadas para representar e armazenar pela seleção das estruturas apropriadas para representar e armazenar estes dados.estes dados. 16 Bancos de Dados Programas Controle Centralizado Usuários Sistemade Gestão de Banco de Dados (SGBD) conceitos 17 18 19 20 21 22 23 24 Por que Bancos de Dados ?Por que Bancos de Dados ? Resposta InicialResposta Inicial Um SBD proporciona à empresa um Um SBD proporciona à empresa um controle centralizado dos seus dadoscontrole centralizado dos seus dados AArquivos dispersos Controle difícilControle difícil VANTAGENS VANTAGENS ?? A redundância pode ser reduzidaA redundância pode ser reduzida Inconsistência pode ser evitadaInconsistência pode ser evitada Dados podem ser compartilhadosDados podem ser compartilhados Padrões podem ser reforçadosPadrões podem ser reforçados Podem ser aplicadas restrições de segurança A integridade pode ser mantida Necessidades conflitantes podem ser balanceadas Independência de dados 25 Custos incrementais e vulnerabilidade do sistemaCustos incrementais e vulnerabilidade do sistema VulnerabilidadeVulnerabilidade Natureza centralizada Natureza centralizada Processo de recuperação de falhas mais custosoProcesso de recuperação de falhas mais custoso Generalidade que um SGBD oferece para definir e processar dados.Generalidade que um SGBD oferece para definir e processar dados. Os custos de hardware, software e programadores são mais altos.Os custos de hardware, software e programadores são mais altos. Uso de arquivos quando:Uso de arquivos quando: O BD e aplicações são simples, bem definidas e não se espera que O BD e aplicações são simples, bem definidas e não se espera que mudemmudem Altos requerimentos de eficiência em tempo real.Altos requerimentos de eficiência em tempo real. Requerimentos de acesso mono-usuário.Requerimentos de acesso mono-usuário. Desvantagens?Desvantagens? 26 Sistemas de Gestão de Bancos de Dados •Um Sistema de Gestão de BD é uma coleção de Um Sistema de Gestão de BD é uma coleção de programas que facilita criar y manter um BD.programas que facilita criar y manter um BD. •SGBD: SGBD: Ferramenta de propósito geral utilizada em Ferramenta de propósito geral utilizada em diferentes diferentes aplicações (Definição, Construção e aplicações (Definição, Construção e Manipulação)Manipulação) •SGBD manipulam BD´s que contêm principalmente SGBD manipulam BD´s que contêm principalmente dados estruturados (formatados). Facilita a dados estruturados (formatados). Facilita a classificação dos dados em tipos. Separação entre classificação dos dados em tipos. Separação entre dados e descrição.dados e descrição. 27 Sistemas de Gestão de Bancos de Dados Usuários/Programadores Programas de Aplicação/Consultas Software para Processar consultas/programas Software para Acessar dados armazenados Definição de dados Dados (Metadados) SBD SGBD 28 Alguns Conceitos RelacionadosAlguns Conceitos Relacionados 28 a) Instâncias e Esquemasa) Instâncias e Esquemas EsquemaEsquema: visão global do BD (≈ definição de tipos em LP): visão global do BD (≈ definição de tipos em LP) InstânciasInstâncias: Coleção de dados armazenados no BD. : Coleção de dados armazenados no BD. (valor de variáveis ≈ instância de esquema)(valor de variáveis ≈ instância de esquema) Característica dos tipos de SGBD´s estudados: Característica dos tipos de SGBD´s estudados: Nro. tipos << Nro. instâncias de cada tipo.Nro. tipos << Nro. instâncias de cada tipo. b) Abstração em Bancos de Dadosb) Abstração em Bancos de Dados Nos primeiros SGBD´s, o usuario tinha que tratar com dados tal como Nos primeiros SGBD´s, o usuario tinha que tratar com dados tal como eram armazenadoseram armazenados manipular ponteiros, tabelas e índices. manipular ponteiros, tabelas e índices. Abstração de DadosAbstração de Dados Independência da representação dos Independência da representação dos dados.dados. Visão dos usuários de cada aplicaçãoVisão dos usuários de cada aplicação Armazenamento FísicoArmazenamento Físico Níveis deNíveis de abstraçãoabstração 29 c) LDD (Linguagem de Definição de Dados)c) LDD (Linguagem de Definição de Dados) Um esquema de um BD é especificado por um conjunto de Um esquema de um BD é especificado por um conjunto de definições que são expressadas numa linguagem (LDD) definições que são expressadas numa linguagem (LDD) Compilação da LDDCompilação da LDD Metadados Metadados Alguns Conceitos RelacionadosAlguns Conceitos Relacionados d) LMD (Linguagem de Manipulação de Dados)d) LMD (Linguagem de Manipulação de Dados) Permite aos usuários acessar e manipular dados organizados de uma Permite aos usuários acessar e manipular dados organizados de uma forma definida.forma definida. Dois tipos:Dois tipos: ProcedimentalProcedimental Não procedimental mais fáceis porém mais ineficientesNão procedimental mais fáceis porém mais ineficientes A parte da LMD relacionada com a consulta de informação é chamada A parte da LMD relacionada com a consulta de informação é chamada de Linguagem de Consulta.de Linguagem de Consulta. e) Independência de Dadose) Independência de Dados Proposta, criação de níveis de abstração.Proposta, criação de níveis de abstração. 30 Alguns Conceitos RelacionadosAlguns Conceitos Relacionados Arquitectura Arquitectura ANSI/SPARCANSI/SPARC 31 32 Independência física medida de isolamento de uma aplicação às modificações feitas na estrutura física dos dados. Ex: Criação de um índice (semestre, ano) no arquivo DISCIPLINAS não muda a consulta “listar todas as disciplinas oferecidas no segundo semestre de 1998” Independência lógica medida de isolamento duma vista de uma aplicação às modificações no esquema conceitual ou lógico do BD. Ex: O esquema externo (visão) 1.4a não deveria ser afetado pela mudança do arquivo HISTORICO_ESCOLAR para o apresentado na Fig. 1.5a Analogia com os tipos de dados em LP. Alguns Conceitos RelacionadosAlguns Conceitos Relacionados 33 33 Um exemplo Banco de dados de uma universidade (Fig. 1.2): 34 Figura 1.4 Duas visões derivadas de um banco de dados da Figura 1.2 (a) Visão do HISTORICO ESCOLAR DO ALUNO. (b) Visão dos PRÉ-REQUISITOS DO CURSO. 35 Figura 1.5 Armazenamento redundante do NomedoAluno e NumerodoCurso no HISTORICO_ESCOLAR. (a) Dados consistentes. (b) Registro inconsistente. 36 f) As Interfaces do SGBD. Interfaces baseadas em menus para os clientes Web ou Navegação (Browsing). Os menus evitam a necessidade de memorizar comandos da linguagem de consulta; a consulta é composta passo a passo. Interfaces baseadas em formulários. Os usuários podem preencher todos os campos do formulário de entrada para inserir um novo dado ou preencher só alguns campos – consulta dos dados faltantes. Interfaces gráficas. Exibe esquemas para os usuários em um formulário diagramático. Interfaces de Linguagem Natural (LN). Aceitam solicitações escritas em Português e em outros idiomas e tentam “entendê-las” Alguns Conceitos RelacionadosAlguns Conceitos Relacionados 37 f) As Interfaces do SGBD (Cont.) Interfaces para usuários parametrizáveis. Os usuários utilizam um pequeno conjunto de operações que são realizadas repetidamente. Interfaces para o DBA. Os SBDs contem comandos privilegiados que podem ser usados somente pelos ABDs (Administradores de Bancos de Dados) ou DBAs. Alguns Conceitos RelacionadosAlguns Conceitos Relacionados 38 39 O Ambiente de SBD´s – Utilitários do SBD´s • Auxiliam o ABD. Funções: – Carregamento (“loading”) – Backup – Reorganização de arquivos – Monitoramento de desempenho • Outras ferramentas: Ferramentas CASE (ambientes de desenvolvimento de aplicações) 40 Arquiteturas de SGBD´s A arquitetura física centralizada. 41 Arquiteturas de SGBD´s A arquitetura lógica de duas camadas cliente/servidor 42 Arquiteturas de SGBD´s Arquitetura física cliente/servidor de duas camadas 43 Arquiteturas de SGBD´s Arquitetura lógica cliente/servidor de três camadas Administrador de Bancos de Dados • As principais funçõesdo DBA são: – Definir a estrutura de armazenamento e a estratégia de acesso; – Servir de elo com os usuários; – Definir controles de segurança e integridade; – Definir a estratégia de backup e recuperação; – Monitorar o desempenho. Administrador de Bancos de Dados ▸ Mercado de Trabalho ▸ Qualquer organização ou empresa que tenha um sistema informa zado que u lize bancos de dados como parte de suas operações. Entre eles: lojas, empresas de vendas por catálogo, companhias de seguro, serviços de comunicação, ins tuições financeiras, hospitais, departamentos do governo, escolas, empresas de tecnologia, universidades, empresas na indústria de serviços etc. ▸ Experiência e treinamento necessários ▸ Os principais requisitos são ter os conhecimentos, as capacitações e a experiência certas para a função, além de ter a a tude e a ap dão adequadas. As qualificações são : ▸ Curso superior normalmente é exigido, ▸ Cerificações geradas por empresas como a Microso , IBM, a Oracle e outras. Essas cer ficações técnicas estão se tornando uma forma comum de avaliar o grau de competência de candidatos à vagas em empresas. ▸ A profissão de DBA está cada vez mais valorizada no mercado de TI no Brasil informa zação das empresas tem levado a necessidade de criação de ro nas de gerencias dos dados. Mas o caminho para se tornar um DBA não é tão fácil assim, já que envolve um skill (habilidades, talentos) amplo, exigindo um perfil especialista-generalista do profissional e principalmente entrega pessoal no trabalho, pois o DBA pode ser acionado a qualquer hora do dia ou da noite (24×7), dependendo do fator crí co do sistema envolvido. Considerar esse nível de comprome mento antes da escolha da carreira de TI a seguir, é primordial. ▸ Perfil comportamental ▸ Suportar pressão; (leia também: Profissional de TI sob pressão) ▸ Facilidade de comunicação com diferentes níveis da organização, desde funcionários do nível operacional até o gerencial e diretores; ▸ Facilidade de aprendizado e implementação de novas tecnologias. Fonte: http://dominioti.wordpress.com/2009/10/01/profissao-ti-administrador-de-banco-de-dados / 46 CONCEITOCONCEITO É um formalismo utilizado para descrever a organização É um formalismo utilizado para descrever a organização lógica dos dados correspondente a uma determinada lógica dos dados correspondente a uma determinada realidade (UNIVERSO DE DISCURSO)realidade (UNIVERSO DE DISCURSO) A representação de uma determinada parte da realidade de A representação de uma determinada parte da realidade de acordo con um modelo de dados é chamado ESQUEMA.acordo con um modelo de dados é chamado ESQUEMA. Modelo de DadosModelo de Dados UNIVERSO UNIVERSO DEDE DISCURSODISCURSO ESQUEMAESQUEMA Modelo de DadosModelo de Dados (Abstração)(Abstração) Un modelo de dados define as regras de acordo com as Un modelo de dados define as regras de acordo com as quais os dados são estruturados.quais os dados são estruturados. Estruturas não são suficientes (propriedades estáticas)Estruturas não são suficientes (propriedades estáticas) 47 ¿¿Propriedades dinâmicas?Propriedades dinâmicas? Formalmente, um modelo de dados pode ser definido pelo Formalmente, um modelo de dados pode ser definido pelo par M = (G, O), onde:par M = (G, O), onde: G = Conjunto de regras para definir a estrutura dos G = Conjunto de regras para definir a estrutura dos dados dados LDDLDD O = Conjunto de operações permitidas sobre os O = Conjunto de operações permitidas sobre os dados dados LMDLMD Modelo de DadosModelo de Dados GG Ge: Ge: Regras para definição da Regras para definição da estrutura lógica dos dados.estrutura lógica dos dados. Gr: Gr: Regras para definição das Regras para definição das restrições lógicas sobre os dados.restrições lógicas sobre os dados. 48 MODELOS DE DADOS CONCEITUAIS. (SEMÂNTICOS)MODELOS DE DADOS CONCEITUAIS. (SEMÂNTICOS) Utilizados para descrever a estrutura de um banco de dados Utilizados para descrever a estrutura de um banco de dados num nível de abstração independente dos aspectos de num nível de abstração independente dos aspectos de implementação.implementação. EXEMPLOSEXEMPLOS •Modelo Entidade-Relacionamento.Modelo Entidade-Relacionamento. •Modelo funcional.Modelo funcional. •Modelos orientados a objetos.Modelos orientados a objetos. MODELOS DE DADOS LÓGICOS (CLÁSSICOS)MODELOS DE DADOS LÓGICOS (CLÁSSICOS) Utilizados para descrever a estrutura de um banco de dados Utilizados para descrever a estrutura de um banco de dados num nível de abstração mais próximo das estruturas físicas de num nível de abstração mais próximo das estruturas físicas de armazenamento de dados. armazenamento de dados. ExemploExemplo: Relacional, rede, : Relacional, rede, hierárquico.hierárquico. Tipos de modelos de DadosTipos de modelos de Dados 49 49 Conceito Projeto de Bancos de Dados dentro do ciclo de vida de um Sistema de Informação. Fases do projeto de Banco de Dados e de grandes BDs. Tipos de modelos de dados de acordo com as fases do projeto. Dependências das fases do projeto em relação ao SGBD utilizado. Projeto de Bancos de DadosProjeto de Bancos de Dados 50 Conceito Processo de desenvolvimento da estrutura de um banco de dados a partir das necessidades dos usuários. A estrutura deve satisfazer as necessidades de informação dos usuários de uma organização, tendo em vista um determinado conjunto de aplicações. Características Gerais: Complexidade Precisa da divisão do problema em sub-partes Multiplicidade de Tarefas Requer a utilização de uma só metodologia. Projeto de Bancos de DadosProjeto de Bancos de Dados 51 51 Fases do projeto de Bancos de Dados (Grandes BDs)
Compartilhar