Baixe o app para aproveitar ainda mais
Prévia do material em texto
Prof. Alexandre Mignon Banco de Dados Introdução 1 Conceitos Básicos ➔ Dado ◆ Em sistemas computacionais, é uma representação digital de qualquer coisa em qualquer forma. ◆ Exemplos: Nome, Data de Nascimento, Sexo, Endereço, Fotografia ➔ Item de Dado ◆ É a menor unidade de dados identificável que tem significado no mundo real. ◆ Exemplos: Nome, Sexo, Logradouro, Número 2 Cadastro ● Nome ● Data de Nascimento ● Sexo ● Endereço ○ Logradouro ○ Número ○ Complemento ○ Bairro ○ CEP ○ Cidade ○ UF ○ País Conceitos Básicos ➔ Dado estruturado ◆ Dados que são organizados e formatados de maneira conhecida e fixa ◆ São definidos em um esquema ◆ Geralmente, entendido como dados gerados e mantidos por banco de dados e aplicações ◆ Exemplos: Cadastro de Clientes, Registros Históricos de Transações Bancárias ➔ Dado não-estruturado ◆ Dados que não podem ser facilmente descritos como dados estruturados ◆ Exemplos: e-mails, mensagens no twitter 3 Dado x Informação ➔ Dado (representação da informação): fato do mundo real que pode ser registrado e que possui um significado implícito no contexto de um domínio de aplicação ◆ Exemplos: Endereço, Data de Nascimento, Filhos ➔ Informação (significado do dados): fato útil que pode ser extraído direta ou indiretamente a partir dos dados ◆ Exemplos: Endereço e Idade, tem filhos? 4 Dado x Informação 5 Conceitos Básicos ➔ Registro ◆ Um grupo de itens de dados tratado como uma unidade por uma aplicação ◆ Exemplo: Conjunto de informações de contato de cada pessoa ➔ Arquivo ◆ Uma coleção de registros do mesmo tipo ◆ Exemplo: Uma agenda telefônica 6 Banco de Dados ➔ “Um banco de dados é um conjunto de arquivos relacionados entre si” (Chu, 1983) ➔ “Um banco de dados é uma coleção de dados operacionais armazenados, sendo usados pelos sistemas de aplicação de uma determinada organização” (C. J. Date, 1985) ➔ “Um banco de dados é uma coleção de dados relacionais” (Elmasri & Navathe, 1989) ➔ Coleção de dados inter-relacionados, representando informações sobre um domínio específico ➔ Exemplos: lista telefônica, controle de acervo de uma biblioteca, controle de recursos humanos de uma empresa 7 Sistema de Gerenciamento de Banco de Dados (SGBD) ➔ Software com recursos específicos para facilitar a manipulação das informações dos banco de dados e o desenvolvimento de aplicações ➔ Armazenam grande volumes de dados, com recursos para armazenamento, acesso e manipulação dos dados, com facilidade, eficiência e segurança ➔ Exemplos: Oracle, DB2, Sybase, MySQL, SQL Server Access, SQLite 8 Motivação ➔ Simplificar o desenvolvimento de aplicações caracterizadas por uso intensivo de dados ◆ Provendo serviços que diminuem o tempo de desenvolvimento ◆ Com ferramentas para: ● realizar entrada de dados ● examinar dados ● manipular dados de acordo com uma aplicação 9 Motivação ➔ SGBD x Sistemas de Arquivos ➔ Antes dos SGBDs as aplicações utilizavam sistemas de arquivos do Sistema Operacional ◆ Através de arquivos, as aplicações armazenavam seus dados através das interações com a aplicação. ➔ Com os SGBDs ◆ Dados de Meta-dados na base: os dados e a descrição correspondente são armazenadas na base e gerenciadas pelo SGBD ◆ Independência de Dados-Programa: modificação na estrutura dos dados, como a inclusão de um novo campo, não afetam os programas ◆ Abstração de Dados: representação conceitual através de um modelo de dados que utiliza conceitos lógicos ◆ Múltiplas Visões 10 Objetivos de um SGBD ➔ Isolar os usuários dos detalhes mais internos do banco de dados ➔ Prover independência de dados às aplicações ➔ Vantagens ◆ rapidez na manipulação e no acesso à informação; ◆ redução do esforço de desenvolvimento e utilização; ◆ redução da redundância e da inconsistência de informações; ◆ redução de problemas de integridade; ◆ compartilhamento de dados; ◆ aplicação automática de restrições de segurança; ◆ controle integrado de informações distribuídas fisicamente. 11 Acesso ao Banco de Dados Através do SGBD 12 Usuários e Aplicações SGBD BD dados operações dados e/ou mensagens Serviços de um SGBD ➔ Redundância Controlada ➔ Compartilhamento dos Dados ➔ Concorrência ➔ Reconstrução ➔ Acesso Controlado ➔ Segurança ➔ Restrições de Integridade ➔ Distribuição ➔ Gerência de Armazenamento 13 Abstração de Dados ➔ Um dos benefícios de um banco de dados é proporcionar ao usuário uma visão abstrata dos dados ◆ Oculta determinados detalhes sobre a forma de armazenamento e manutenção dos dados. ➔ Níveis de abstração de dados ◆ Nível Físico: Nível mais baixo de abstração que descreve como os dados estão armazenados. ◆ Nível Lógico: Nível médio de abstração que descreve quais dados estão armazenados no banco de dados e quais os inter-relacionamentos entre eles. ◆ Nível de Visão: Nível alto de abstração que descreve apenas parte do banco de dados. Facilita a interação com o banco de dados. É possível definir diversas visões do mesmo banco de dados. 14 Abstração de Dados 15 Nível de Visão Visão 1 Visão 2 Visão n Nível Lógico Nível Físico Instâncias e Esquemas ➔ Um banco de dados muda ao longo do tempo por meio das informações que nele são inseridas ou excluídas ➔ Instância do banco de dados é o conjunto de informações contidas em determinado banco de dados, em um dado momento ➔ Esquema é o projeto geral do banco de dados ➔ Os esquemas são alterados com pouca frequência 16 Modelo de Dados ➔ Os modelos de dados descrevem a estrutura das informações contidas no banco de dados ➔ É um conjunto de ferramentas conceituais usadas para a descrição dos dados, relacionamentos entre dados, semântica de dados e regras de consistência. ➔ Os modelos mais comuns são: ◆ Modelo Hierárquico ◆ Modelo em Rede ◆ Modelo Relacional ◆ Modelo Orientado a Objetos 17 Linguagens de Banco de Dados ➔ Um sistema de banco de dados proporciona dois tipos de linguagens: ◆ Uma específica para os esquemas de banco de dados; ◆ E outra para especificar consultas e atualizações. ➔ Linguagem de Definição de Dados ◆ Usada para especificar um esquema de dados ◆ Data-definition language - DDL ➔ Linguagem de Manipulação de Dados ◆ Usada para viabilizar o acesso ou manipulação dos dados ◆ Data-manipulation language - DML 18 O Administrador do Banco de Dados ➔ Responsável pelo controle centralizado tanto dos dados quanto dos programas de acesso a esses dados. ➔ Denominado administrador de dados (DBA) ➔ Principais funções: ◆ Definição do esquema ◆ Definição da estrutura de dados e método de acesso ◆ Esquema e modificações na organização física ◆ Fornecer autorização de acesso ao sistema ◆ Especificação de regras de integridade 19 Usuários de Banco de Dados ➔ Programadores de aplicação: desenvolvem programas que interagem com o banco de dados. ➔ Usuários sofisticados: interagem com o sistema sem escrever programas. Formulam suas solicitações ao banco de dados por meio de linguagens de consulta. ➔ Usuários especialistas: escrevem aplicações especializadas de banco de dados que não podem ser classificadas como aplicações tradicionais em processamento de dados. Ex: sistemas especialistas e sistemas de base de conhecimento. ➔ Usuários navegantes: interagem com o sistema chamando um dos programas aplicativos já escritos. 20
Compartilhar