BANCO DE DADOS Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com
Contexto Fazem parte do nosso dia a dia: Operações bancárias Matrícula na universidade Reserva de hotel Controle de biblioteca Comércio eletrônico Necessidade de gerenciamento para se manter no mercado. Mecanismos para gerenciamento de pequenas e grandes massas de dados. Exigência de habilidades em projeto, uso e gerenciamento dos sistemas de armazenamento de dados nas organizações modernas.
Definições - BD Uma base de dados é um conjunto de arquivos relacionados entre si. (CHU, 1983) Uma base de dados é uma coleção de dados operacionais armazenados, usados pelos sistemas de aplicação de uma determinada organização. (Date,1985) Uma base de dados é uma coleção de dados relacionados. (Elmasri e Navathe, 1989)
Banco de Dados Também conhecido com base de dados Possuem uma estrutura regular para organizar as informações Geralmente agrupam informações uteis para atingir a mesma finalidade Permite que um ambiente seja adequado e eficiente para o uso na recuperação e armazenamento de informações.
Exemplo Um banco de dados de uma Faculdade, teremos como informação: Os dados pessoais do aluno; Os cursos oferecidos; As disciplinas oferecidas; Os valores dos pagamentos dos alunos; e Etc.
Termo Banco de Dados Inicialmente, foi criado pela comunidade da computação para indicar coleções organizadas de dados armazenados em computadores Atualmente, usado para banco de dados digitais e bancos de dados disponíveis de outras formas No Brasil, é comum utilizar bases de dados para outros tipos e banco de dados os armazenados em um computador e gerenciados por um SGBD (Sistema Gerenciador de Banco de Dados)
Visões do Banco de Dados Visão Interna Visão do responsável por realizar manutenção e desenvolvimento do SGBD. Preocupação com a forma de recuperação e manipulação dos dados dentro do Banco de Dados. Visão Externa Visão do usuário que opera os sistemas aplicativos, através de interfaces desenvolvidas pelo analista (programas), buscando o atendimento de suas necessidades Visão Conceitual (a seguir)
Visão Conceitual Visão do analista de desenvolvimento e do administrador das bases de dados. Existe a preocupação na definição de normas e procedimentos para manipulação dos dados, para garantir a sua segurança e confiabilidade, o desenvolvimento de sistemas e programas aplicativos e a definição no banco de dados de novos arquivos e campos. Na visão conceitual, existem as linguagens de operação e controle que são: Linguagem de Definição de Dados (DDL) Linguagem de Manipulação de Dados (DML) Linguagem de Controle de Dados (DCL)
Linguagens de Operação/Controle Linguagem de Definição de Dados (DDL) Define as aplicações, arquivos e campos que irão compor o banco de dados (comandos de criação e atualização da estrutura dos campos dos arquivos). Linguagem de Manipulação de Dados (DML) Define os comandos de manipulação e operação dos dados (comandos de consulta e atualização dos dados dos arquivos). Linguagem de Controle de Dados (DCL) Define os comandos para controle de acesso dos usuários do sistema
SGBD Conjunto de programas que permitem o gerenciamento, por parte dos usuários (através da definição, construção e manipulação), de uma base de dados para o uso diversas aplicações.
Componentes de um SGBD Programas de aplicação/consultas SGBD Software para processar consultas Software para acessar dados armazenados Definição da base de dados armazenada Base de dados armazenada
Surgimento dos SGBD Softwares gravam seus dados em disco, utilizando estruturas próprias. Para acessá-los é necessário conhecer sua estrutura.
Necessidade de Evolução dos SGBD O compartilhamento dos dados em programas diferentes exige que estes programas conheçam as estruturas para a manipulação A alteração na mudança da estrutura de dados em um único programa, exigiria a alteração em todos os outros programas, mesmo que a alteração ocorra em dados que ele não utiliza.
Evolução dos SGBD Adicionar um sistema entre os dados e os programas, que converta o formato em que os dados estão gravados para o formato específico que cada programa precisa dos dados. SGBD
Comportamento dos Programas Acessam apenas os dados que lhe interessam; Não precisam entrar em detalhes de como seus dados estão fisicamente gravados; Não precisa ser modificado se a estrutura de dados que ele não utiliza for mudada SGBD Programas de Aplicação Esquema de Conversão Banco de Dados
Propriedades dos SGBD Ocorre durante a execução de uma transação Transação é um conjunto de procedimentos que é executado num banco de dados, que para o usuário é visto como uma única ação A integridade de uma transação depende de 4 propriedades, conhecidas como ACID Atomicidade Consistência Isolamento Durabilidade
Atomicidade Todas as ações que compõem a unidade de trabalho da transação devem ser concluídas com sucesso, para que seja efetivada. Se durante a transação qualquer ação que constitui unidade de trabalho falhar, a transação inteira deve ser desfeita (rollback). Quando todas as ações são efetuadas com sucesso, a transação pode ser efetivada e persistida em banco (commit).
Consistência Todas as regras e restrições definidas no banco de dados devem ser obedecidas. Relacionamentos por chaves estrangeiras, checagem de valores para campos restritos ou únicos devem ser obedecidos para que uma transação possa ser completada com sucesso. Nome Endereço Telefone José de Almeida Rua das Tulipas 03837410001 Carolina Andrade Av. Clóvis Penteado Residencial Adriano Abreu Rua Marechal Deodoro 03837410002 Dado Inválido!
Isolamento Cada transação funciona completamente à parte de outras estações. Todas as operações são parte de uma transação única. O principio é que nenhuma outra transação, operando no mesmo sistema, possa interferir no funcionamento da transação corrente(é um mecanismo de controle). Outras transações não podem visualizar os resultados parciais das operações de uma transação em andamento (ainda em respeito à propriedade da atomicidade).
Durabilidade Significa que os resultados de uma transação são permanentes e podem ser desfeitos somente por uma transação subsequente. Por exemplo: todos os dados e status relativos a uma transação devem ser armazenados num repositório permanente, não sendo passíveis de falha por uma falha de hardware.
Vantagens de um SGBD Rapidez na manipulação e no acesso à informação Redução do esforço humano (desenvolvimento e utilização) Redução da redundância e da consistência das informações Redução dos problemas de integridade Compartilhamento de dados Aplicação automática de restrições de segurança Controle integrado de informações distribuídas fisicamente
Profissionais Envolvidos Usuários Profissionais que precisam ter acesso ao banco de dados para consultar, modificar e remover dados Administrador de Banco de Dados Responsável por autorizar o acesso ao banco de dados e coordenar e monitorar seu uso. Projetista do Banco de Dados: Responsável pela identificação dos dados a serem armazenados no banco de dados; por escolher estruturas apropriadas para representar e armazenar tais dados
Profissionais Envolvidos Analistas de Sistemas Responsáveis por desenvolverem especificações das transações que atendem aos requisitos dos usuários Programadores de Aplicação Responsáveis por implementar as especificações, definidas pelos analistas de sistemas, produzindo os programas.
Exemplos de SGBD Access ZIM FoxPro Dataflex Unify DB2 Paradox Firebird DBase Jasmine Informix SQL-Server O2 Oracle Postgress Orion Gupta Sybase CA-OpenIngres
Síntese da Aula Banco de Dados Visões dos Bancos de Dados Linguagens de Operação e Controle Sistema Gerenciador de Banco de Dados (SGBD) Propriedades de SGBD - ACID Exemplos de SGBD
Exercício 1. Defina Banco de Dados! 2. Qual a importância do Banco de Dados para as organizações? 3. Qual a diferença entre banco de dados e base de dados? 4. Defina um SGBD! 5. Qual a importância dos SGBS? 6. Cite e defina os envolvidos em um SGBD! 7. O que significa ACID? Descreva! 8. Cite 4 exemplos de SGBD! 9. Cite as vantagens da utilização de um SGBD!