SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 1º Semestre – 2011 Pedro Antonio Galvão Junior E-mail: [email protected] Fone: 9531-7555 Versão 1.11.01 – Fev/2011. CONCEITOS E TERMINOLOGIA DA ÁREA DE BANCO DE DADOS Estrutura de Dados • Define a forma como os dados estão organizados, como se relacionam e como serão manipulados pelos programas. – Ex: vetores e matrizes, registros, filas, pilhas, árvores, grafos, etc. Arquivo • Coleção de registros lógicos, cada um deles representando um objeto ou entidade. Na prática os arquivos geralmente estão armazenados na memória secundária (fitas e discos) e são usados para armazenar os resultados intermediários de processamento ou armazenar os dados de forma permanente. Bloco • Unidade de armazenamento do arquivo em disco, também denominado registro físico. Um registro físico normalmente é composto por vários registros lógicos. Cada bloco armazena um número inteiro de registros. Registro Lógico • Seqüência de itens, cada item sendo chamado de campo ou atributo, correspondendo a uma característica do objeto representado. • Os registros podem ser de tamanho fixo ou de tamanho variável. • Podemos também definir registro lógico com uma tupla(linha), sendo esta uma representação de uma seqüência de itens que compõem um objeto representado. Campo • Item de dados do registro, com um nome, tipo associados e tamanho fixo ou variável, também conhecido como coluna. – Exemplos: Nome do Campo Tipo Associado Tamanho Codigo Inteiro 4 posições Nome Caracter 30 posições Chave e Chave Primária • Chave - Uma seqüência de um ou mais campos em um arquivo, também conhecida por chave composta. • Chave primária - Uma chave que apresenta um valor diferente para cada registro do arquivo. É usada para identificar, de forma única, cada registro. – Exemplo: Código, RG, CPF, etc... Chave Secundária • Tipo chave que pode possuir o mesmo valor em registro distintos. • Normalmente usada para identificar um conjunto de registros, também conhecida como chave estrangeira. Chave de Acesso • Chave usada para identificar o(s) registro(s) desejado(s) em uma operação de acesso, como o objetivo de consultar e obter o retorno de dados existentes, dentro de um objeto representado. - Ex: Código do Cliente, Número do Pedido, etc... Índice • Ferramenta ou mecanismo usado pelo gerenciador de Banco de Dados para facilitar a busca de linhas dentro de objeto representado. Índice Único – Índice criado a partir da chave primária, não permite a inclusão de linhas duplicadas Índice de Performance – Facilita a busca de linhas na tabela Revisão • Conceitos e terminologia de banco de Dados. VISÃO GERAL: SISTEMA DE BANCO DE DADOS Sistema de Banco de Dados • Objetivos: 1. Isolar os usuários dos detalhes mais internos do banco de dados (abstração de dados). 2. Prover independência de dados às aplicações (estrutura física de armazenamento e à estratégia de acesso). • Vantagens: 1. 2. 3. 4. 5. 6. 7. 8. 9. rapidez na manipulação e no acesso à informação, redução do esforço humano (desenvolvimento e utilização), disponibilização da informação no tempo necessário, controle integrado de informações distribuídas fisicamente, redução de redundância e de inconsistência de informações, compartilhamento de dados, aplicação automática de restrições de segurança, redução de problemas de integridade. Independência dos dados. Os Componentes de um Sistema de Bancos de Dados Arquitetura ANSI/SPARC • O American National Standards Institute (ANSI) através do Standards Planning and Requirements Committee (SPARC), estabeleceu um padrão para o desenvolvimento de tecnologias de base de dados. • Definindo uma arquitetura de três níveis independentes, conhecida como arquitetura ANSI/SPARC. • Estes três níveis, foram denominados: nível interno, nível externo e nível conceitual. Cada destes níveis possui uma preocupação de acordo com uma visão especificada de acordo com o nível. Arquitetura ANSI/SPARC • Um dos principais objetivos desta arquitetura é propiciar a independência dos dados sob o ponto de vista destes esquemas. Esta independência pode ser classificada como: Independência lógica – flexibilidade para alterar o esquema conceitual; Independência física - flexibilidade para alterar o esquema interno; Nível Interno • Também conhecido como nível de armazenamento, é o mais próximo do meio de armazenamento físico, ou seja, é aquele que se ocupa do modo como os dados são fisicamente armazenados dentro do sistema. Nível Externo • Também conhecido como nível lógico do usuário, é o mais próximo dos usuários, ou seja, é aquele que se ocupa do como os dados são vistos por usuários individuais. Nível Conceitual • Também conhecido como nível lógico da comunidade, ou às vezes apenas nível lógico, sem qualificação, é um nível “indireto” entre os dois outros níveis. Níveis Arquiteturais - Representação Gráfica UTILIZAÇÃO DAS APLICAÇÕES DESENVOLVIDAS APLICAÇÕES OU COMPOMENTES DESENVOLVIDOS UTILIZANDO RECURSOS DO SBD. SISTEMA DE BANCO DE DADOS Nível Externo (Visão do Usuário) Nível Conceitual (Combinação entre Visão do Usuário e Visão do SBD) Nível Interno (Visão do Sistema de Banco de Dados) Níveis Arquiteturais - Representação Gráfica Administração do Banco de Dados • Podemos dizer que a administração de um banco de dados, não é uma tarefa fácil, muito menos simples, trata-se de um conjunto de atribuições especificadas divida entre dois papéis: DBA e DA. DBA – Database Administrator. DA – Data Administrator. DBA x DA • DA – Data Administrator: Administrador de dados, é a pessoa que toma as decisões estratégicas e de normas com relação aos dados da empresa. • DBA – Database Administrator: Administrador: Administrador de banco de dados, é a pessoa que fornece suporte técnico necessário para implementar essas decisões, como também é responsável pelo controle geral do sistema em um nível técnico. Responsabilidades do DBA • Definir o esquema conceitual. • Definir o esquema interno. • Contato com os usuários. • Definir restrições de segurança e integridade. • Definir normas de descarga e recarga. • Monitorar o desempenho e responder a requisitos de mudanças. Preocupações do DA e DBA • Gerenciar o dado como um recurso da empresa. • Planejar, desenvolver e divulgar as bases de dados da empresa. • Permitir a descentralização dos processos, mas manter centralizado os dados. • Permitir fácil e rápido acesso as informações a partir dos dados armazenados. • O grande objetivo de administrador de dados é permitir que vários usuários compartilhem os mesmos dados. Deste modo, os dados não pertencem a nenhum sistema ou usuário de forma específica, e sim, à organização como um todo. • Assim, o administrador de dados se preocupa basicamente com a organização dos dados e não com o seu armazenamento. Outros papéis • Projetista da Base de Dados: Constrói o modelo conceitual de uma parte da base de dados, com a participação do usuário. Junto com o DBA integra as novas partes ao banco de dados global. • Analista de Sistemas: Define e projeta aplicação que irão usar a base de dados existente. Utiliza o modelo conceitual e o modelo lógico existentes, mas não define os dados da base de dados. Revisão • • • • • Arquitetura ANSI/SPARC. Níveis arquiteturais. Administração do Sistema de Banco de Dados. Database Administrator. Data Administrator.