Banco de Dados Banco de Dados Básico Unicamp – Centro de Computação Banco de Dados Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir o modelo físico de uma base de dados 1 Banco de Dados Banco de dados É uma coleção de dados inter-relacionados, representando informações sobre um domínio específico Exemplos : Lista Telefônica Fichas do acervo de uma biblioteca Banco de Dados Sistema de Banco de Dados Consiste em uma coleção de dados inter-relacionados e uma coleção de programas para prover o acesso a esses dados. O objetivo principal de um sistema de banco de dados é possibilitar um ambiente que seja adequado e eficiente para uso na recuperação e armazenamento de informações. 2 Níveis de abstração Banco de Dados Seres,Objetos, Organismos, Fatos Informações Informais Mundo Real Representa organização e suas alterações MODELO DESCRITIVO Descrição de Estruturas e Procedimentos Informações Formais MODELO CONCEITUAL Estruturas de Informações e Definições de Manipulação Dados MODELO OPERACIONAL Estruturas Externas de Dados Bits e Bytes MODELO INTERNO Estruturas Internas de Arquivos Banco de Dados Dados Dado - conjunto de símbolos “arranjados” a fim de representar a informação fora da mente humana. Elemento de Dado - subconjunto de símbolos que compõem um dado com significado específico, mas não representa a informação completa. No exemplo : O número de alunos matriculados na disciplina mate01 no primeiro semestre / 97 é 57. Quais são os elementos de dados?? Disciplina Período Matriculados : mate01 : primeiro semestre /97 : 57 3 Banco de Dados Modelo de Dados Entidade objeto” do mundo real : um ser, um fato, coisa, organismo social, etc. Atributo informações que se deseja guardar sobre o objeto Relacionamento associação existente entre elementos de entidades Cardinalidade número de ocorrências possíveis de cada entidade envolvida num relacionamento Banco de Dados Exemplos Departamentos Departamentos 1 1 N Alunos lotação chefia matrí cula N Funcionários 1 Funcionários N Disciplinas 4 Banco de Dados Dados Cadastrais do Funcionário Matrícula: Matrícula Nome: Data Nasc: Nacionalidade: Sexo: Est.Civil: RG: CIC: Endereço: Telef: Data Admissão: Cargos Ocupados Cargo: Dt Início: Dt Fim: Cargo: Dt Início: Dt Fim: Departamentos de lotação Depto: Depto: Dt Início: Dt Fim: Dt Início: Dt Fim: Dependentes Nome: Nome: Data Nasc: Data Nasc: Banco de Dados N N lotação Departamentos Código depto Descrição Matrícula Código Depto Dt Inicio Dt fim Funcionários Matricula Nome Data Nasc Nacionalidade Sexo Estado civil Rg Cic Endereço Telefone Data Admissão N ocupação N Cargos Código cargo Descrição Matrícula Código Cargo Dt Inicio Dt fim 1 tem N Dependentes Matrícula Nome Dependente Dt Nascimento 5 Banco de Dados Sistema Gerenciador de Banco de Dados São softwares que permitem a definição de estruturas para armazenamento de informações e fornecimento de mecanismos para manipula-las. Exemplos : Access DB2 Oracle Características de um SGBD Integridade Banco de Dados Restrições Segurança/Privacidade Restauração Reorganização Eficiência 6 Banco de Dados Principais Objetos de um SGBD Tabelas Visões Índices Tabela Objeto criado para armazenar os dados fisicamente Banco de Dados Os dados são armazenados em linhas (registros) e colunas (campos) Os dados de uma tabela normalmente descrevem um assunto tal como clientes, vendas, etc. 7 Exemplo Banco de Dados • Tabela de Clientes linhas RG colunas Nome Cidade Telef 12345 João da Silva Campinas 2639900 89476 Maria Barreto São Paulo 5764928 27489 José Buscapé Valinhos 9913421 Banco de Dados Chave Primária Permite a classificação única de cada registro de uma tabela Exemplos de chave primária: RG CPF Matrícula RA 8 Tabelas Resultantes Lotação Departamentos Banco de Dados Funcionários Matricula Nome Data Nasc Nacionalidade Sexo Estado civil Rg Cic Endereço Telefone Data Admissão Matrícula Código Depto Dt Inicio Dt fim Código depto Descrição Ocupação Matrícula Código Cargo Dt Inicio Dt fim Cargos Código cargo Descrição Dependentes Matrícula Nome Dependente Dt Nascimento Banco de Dados Visões Tabela lógica de um banco de Dados, não contém dados 9 Tipos de Visão Visão Idêntica Banco de Dados Visão Tabela A B C A B C Tipos de Visão Banco de Dados Visão por Seleção de Colunas Visão Tabela A B C A C 10 Tipos de Visão Visão por seleção de Linhas Banco de Dados Visão Tabela A B C A B C Tipos de Visão Banco de Dados Visão por Seleção de Linhas e Colunas Visão Tabela A B C A B 11 Tipos de Visão Visão por junção de Tabelas Banco de Dados Tabela 1 A B C Visão A Tabela 2 A X B C X Y Y Índice É uma ferramenta usada pelo gerenciador de Banco de Dados para facilitar a busca de linhas dentro de uma tabela Banco de Dados Í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 12 No exemplo Lotação Departamentos Funcionários Matrícula Código Depto Dt Inicio Banco de Dados Matricula Nome Data Nasc Nacionalidade Sexo Estado civil Código depto Descrição Dt fim Rg Ocupação Cic Endereço Telefone Data Admissão Matrícula Código Cargo Dt Inicio Dt fim Cargos Código cargo Descrição Dependentes Matrícula Nome Dependente Dt Nascimento Ficha Médica Número paciente: Banco de Dados Data Nasc: Nome: Sexo: Est.Civil: Convênio: RG: Telef: Endereço: Consultas Núm Consulta Data Médico Diagnóstico Exames Núm Consulta Exame Data Resultados 13 Banco de Dados Modelo de dados N Paciente 1 1 pertence agenda Convênio N Consulta N 1 N Exame atende solicita 1 Médico Tabelas Banco de Dados Paciente num-pac nome-pac sexo data-nasc cod-convênio endereço RG est-civil telefone Consulta Exame num-consulta num-pac cod-médico data diagnóstico num-consulta tipo-exame data resultado Médico Convênio cod-médico nome cod-convênio nome 14