Banco de Dados I Introdução Denise Bandeira da Silva email: [email protected] http://inf.unisinos.br/~bandeira Representação dos dados em computadores antes do conceito de banco de dados Organização exemplo: Universidade UNIVERSIDADE Controle Acadêmico Alunos Turmas Controle Administrativo Disciplinas Deptos. Disciplinas Turmas Controle de Pessoal Institutos Salas Professores Deptos. Professores Funcionários Situação: * cada aplicação da organização com o seu conjunto de dados * descrição dos dados fica dentro das aplicações * não existe compartilhamento de dados entre as aplicações Problemas: * redundância de dados * difícil manutenção dos dados * falta de uma padronização na definição dos dados * não há preocupação com a segurança dos dados (segurança de acesso e segurança contra falhas) Bancos de Dados e Sistemas de Gerência de Bancos de Dados * Necessidade de um Banco de Dados: - melhor organização e gerência dos dados - controle centralizado dos dados * Definição de Banco de Dados (BD): "Uma coleção de dados operacionais inter-relacionados. Estes dados são armazenados de forma independente dos programas que os utilizam, servindo assim a múltiplas aplicações de uma organização." 1 Banco de Dados I Introdução Denise Bandeira da Silva email: [email protected] http://inf.unisinos.br/~bandeira Organização exemplo: Universidade Controle Acadêmico Alunos Controle Administrativo Disciplinas Turmas Salas Professores Deptos. Institutos Controle de Pessoal Funcionários * Vantagens: - dados armazenados em um único local físico - dados compartilhados pelas aplicações - independência dos dados - aplicações não se preocupam com a gerência dos dados * Definição de Sistema de Gerência de Banco de Dados (SGBD): "É um sistema cujo objetivo principal é gerenciar o acesso e a correta manutenção dos dados armazenados em um banco de dados." SGBD: Funções Básicas 1) Definição de dados e métodos de acesso * DDL (Data Definition Language) : especificação do esquema do BD - DD (Dicionário de Dados) : armazenamento dos metadados (catálogo do BD) * DML (Data Manipulation Language): permite a manipulação de dados * Processamento eficaz de consultas 2) Restrições de integridade: controle sobre a correteza dos dados armazenados * Estados possíveis de serem assumidos pelos dados * Manutenção de relacionamentos válidos entre os dados * Triggers 3) Segurança dos dados * Controle de acesso (autorização) * Segurança contra falhas: Transação, Sistema e Meio de Armazenamento 4) Controle de concorrência: sanar conflitos de acesso a dados 5) Independência dos dados a) Independência Física: modificações no esquema de gerenciamento dos dados (esquema físico, implementacional) sem afetar a implementação das aplicações e a definição conceitual dos dados 2 Banco de Dados I Introdução Denise Bandeira da Silva email: [email protected] http://inf.unisinos.br/~bandeira b) Independência Lógica: independência da estrutura conceitual dos dados Usuários do SGBD 1) Administrador do BD (DBA): controle de diversas funcionalidades do SGBD * definição do esquema conceitual * definição da estrutura de armazenamento e métodos de acesso * modificação do esquema conceitual, estrutura de armazenamento e métodos de acesso * concessões de autorização de acesso * especificação de restrições de integridade * controle das estratégias de recovery 2) Programas de aplicação: interação via DML 3) Programadores de utilitários: definem aplicações para acesso a dados 4) Usuários especializados: interagem diretamente com o SGBD (Ex: consultas) Interfaces do SGBD DBA Interface de definição de dados Programas de Aplicação Programadores de Utilitários Usuários Especializados SGBD Interface com a linguagem hospedeira Interface de utilitários BD * Interface de definição do BD: especificação do esquema via DDL * Interface da linguagem hospedeira: acesso a dados da linguagem hospedeira * Interface de utilitários: - auxílio na administração do BD - auxílio no desenvolvimento de aplicações que acessam dados Modelos de Dados Modelo de dados * modelo (estrutura) de referência a partir do qual os dados são organizados logicamente * instrumento que permite uma representação do mundo real a partir de informações 3 Banco de Dados I Introdução Denise Bandeira da Silva email: [email protected] http://inf.unisinos.br/~bandeira * nele são representados basicamente: - entidades (propriedades e restrições de integridade) - relacionamentos entre as entidades - eventos - regras de estruturação e acesso a dados Esquema de dados: descrição de uma realidade em um certo modelo de dados. Evolução histórica dos modelos de dados 1) Modelo Hierárquico 2) Modelo de Redes 3) Modelo Relacional 4) Abordagens Pós-Relacionais (Orientado a Objetos, Objeto/Relacional, etc.) 4