Banco de Dados I Conceitos Básicos Professora: Márcia Jani Banco de Dados Dado vs. Informação Dado Registro de um fato Informação Dado que foi processado de forma a se tornar relevante para uma determinada pessoa ou organização. Hoje o sucesso de uma organização depende da sua capacidade de: Adquirir dados acurados com rapidez Gerenciar estes dados de forma efetiva Utilizar estes dados para guiar e analisar a sua atividade. Dado vs. Informação Dado Registro de um fato Informação Dado que foi processado de forma a se tornar relevante para uma determinada pessoa ou organização. Hoje o sucesso de uma organização depende da sua capacidade de: Adquirir dados acurados com rapidez Gerenciar estes dados de forma efetiva Utilizar estes dados para guiar e analisar a sua atividade. Dado Versus Informação Dado • Registro de um fato. Informação • Dato que foi trabalhado (processado) de forma a obter relevância (utilidade) para uma determinada pessoa ou organização. • INFORMAÇÃO = Dado + Conhecimento Conceitos Básicos Banco de Dados: coleção de dados que descrevem as atividades de uma organização. é composto por: Entidades (cadastros básicos) Exemplo: estudantes, disciplinas, professores, classes... Relacionamentos (registro de fatos) Exemplo: alunos que cursam determinado curso, notas de um estudante... Sistema Gerenciador de Banco de dados Sistema Gerenciador de Banco de Dados Sistema Gerenciador de Banco de Dados (SGBD) Data Base Management System (DBMS) Software projetado para auxiliar na criação, manutenção e utilização de grandes coleções de dados assim como atender as crescentes necessidades desta atividade. Integrated Data Store Primeiro SGBD Desenvolvido em meados de 1960 por Charles Bachman junto á General Eletric (GE) Utilizava o conceito de Network Data Model O que se Espera de um SGBD Permitir a criação e manutenção de bases de dados Permitir aos usuários acesso aos dados (mecanismos de busca) Permitir aos usuários alterar os dados Dar suporte ao armazenamento de grandes quantidades de dados por um grande período de tempo Dar segurança aos dados, não permitindo perda por acidente ou acesso não autorizado. Permitir que vários usuários acessem os dados ao mesmo tempo, sem risco de perda dos mesmos. Compreendendo um SGBD – Um Cenário Hipotético Uma companhia possui um grande conjunto de dados (Aprox. 500 GB), compreendendo empregados, departamentos, vendas, etc... • Os dados são acessados por diferentes empregados ao mesmo tempo. • Diferentes questões sobre os dados devem ser respondidas rapidamente. • Apesar de várias alterações sejam feitas ao mesmo tempo os dados devem permanecer consistentes. Compreendendo um SGBD – Um Cenário Hipotético Problemas... • É muito custoso possuir 500 GB de memória principal. • Há limite máximo de endereçamento de memória (na arquitetura de 32 bits é 4 GB). • Para cada necessidade dos usuários será necessário implementar um programa (o que é complexo). • Para acesso simultâneo sem corromper os mesmos, é necessário desenvolver programas de inclusão e alteração tão complexos quanto os de busca. • O sistema deve ser construído de uma forma que mesmo se ocorrer um crash (queda do sistema) os dados não serão corrompidos. • A segurança oferecida pelo sistema operacional é insuficiente. Vantagens de um SGBD Independência de dados As aplicações de banco de dados (front end) não devem depender da forma como os dados estão representados e/ou armazenados Sistema X Sistema Y Agenda Nome Endereco Adão Rua A, 40 Eva Rua X, 22 Pedro Rua Y, 14 Maria Rua Z, 100 Telefone (19) 3845-3029 (19) 3948-9938 (19) 3049-8835 (11) 9485-9776 Agenda Nomes: Adão; Eva; Pedro; Maria Enderecos: Rua A, 40; Rua X, 22; Rua Y, 14; Rua Z, 100 Telefones: (19) 3845-3029; (19) 3948-9938; (19) 3049-8835; (11) 9485-9776 Vantagens de um SGBD Acesso eficiente a dados O SGBD possui uma série de algoritmos e técnicas que permite um acesso rápido e eficiente aos dados Busca por nome Nome Endereco Telefone Adão Rua A, 40 (19) 3845-3029 Eva Rua X, 22 (19) 3948-9938 Pedro Rua Y, 14 (19) 3049-8835 Maria Rua Z, 100 (11) 9485-9776 Vantagens de um SGBD Segurança e integridade Como todo o acesso aos dados deve ser feito via SGBD o mesmo pode garantir que os dados estejam corretos (constraints e rules) Ex.: Matrícula no sistema do IFSP: se Joana não está cadastrada no sistema, como é possível matriculá-la na disciplina GBD? Objetivo: Matricular Joana na disciplina GBD Restrição 1: Joana está cadastrada no sistema? Operação: Joana pode ser matriculada no sistema Restrição 2: GBD está cadastrada no sistema? Vantagens de um SGBD Administração de dados Permite a definição de diferentes tipos de usuários, restringindo o acesso a usuários de maneira correta Vantagens de um SGBD Acesso concorrente e recuperação de falhas Controla o acesso de dados de forma simultânea por vários usuários e implementa técnicas que restringem o efeito das falhas Vantagens de um SGBD Menor tempo de desenvolvimento Todos os itens anteriores levam a uma implementação mais rápida e eficiente Criação e manutenção dos bancos de dados Codificação de programas que acessam os bancos de dados Diminuição dos custos Modelos de Dados - Relacional Baseia-se no princípio de que todos os dados estão armazenados em relações (tabelas). Toda a sua definição é baseada na teoria dos conjuntos. Foi o primeiro modelo de dados descrito em linguagem formal (matemática). Inventado por Edgar Frank Codd (1923-2003) 1970 Aprimorado por Chris Date e Hugh Darwen Edgar Frank Codd Chris Date Modelos de Dados - Relacional Coleção de ferramentas conceituais que descrevem: Dados Relações entre os dados Semântica dos dados Restrições de consistência Aluno n Utiliza um conjunto de tabelas para representar os dados e as relações entre eles. Cursa Simplicidade conceitual Maioria dos SGBDs do mercado usam o modelo Exemplos: MySQL, Oracle, SQL Server, etc... n Disciplina Exemplo de BD Relacional rg Aluno nome idade Aluno 1234567 Adão 18 n 8901234 Eva 20 Cursa rgAluno codDisciplina Cursa n Disciplina 1234567 IDS 8901234 ADE 1234567 GBD Disciplina codigo descricao GBD Sistemas de Gerenciamento de Bancos de Dados IDS Introdução ao Desenvolvimento de Sistemas ADE Automação de Escritórios