Bancos de Dados Banco de Dados Conceito: Um banco de dados é uma coleção de dados interrelacionados sobre um domínio específico Exemplos Fichas do acervo de uma biblioteca Fichas de consultas médicas de uma clínica Dados de correntista de um banco Dados dos contribuintes pessoa física Dados da operação de uma empresa Sistema de Banco de Dados Conceito: Banco de dados + conjunto de programas para prover de modo eficiente a inclusão, a manutenção e o acesso aos dados armazenados Exemplo ERP’s (Enterprise Resource Planning) Sistema de informações de uma biblioteca Sistema de emissão de passagens aéreas Sistema de RH Sistema Gerenciador de Banco de Dados Conceito: Conjunto de programas responsáveis pela controle de acesso aos dados de uma base de dados Objetivo: retirar da aplicação cliente a responsabilidade de controlar o aceso aos dados Principais módulos: inclusão, alteração, exclusão, consulta, relatórios Exemplos: Oracle, Informix, DB2, PostgreSQL, Firebird, MySQL, Sybase, SQL Server, MS Access, dBase, Características dos SGDB Características: Integridade referencial: assegura a consistência dos dados nas diversas áreas de armazenamento Segurança e privacidade: garante o acesso aos dados apenas aos usuários que possuem autorização por meio de conta e senha Restrições: limita a inclusão de dados a um conjunto de valores considerados válidos Backup e restauração: possui ferramentas para criação de cópias de segurança, e a posterior recuperação dos mesmos em caso de problemas Reorganização dos dados: permite a expansão do modelo de dados sem que haja perda dos dados já cadastrados Eficiência: asseguram rapidez de acesso e economia de espaço de armazenamento dos dados Componentes de um Banco de Dados Tabelas: local de armazenamento dos dados, organizados em linhas (registros) e colunas (atributos) Visões: coleção virtual de dados selecionados a partir de um subconjunto de tabelas Índices Performance: usado para acelerar a seleção de dados Primary Key: identifica de modo único cada registro Alternate Key: índice alternativo para melhoria de performance da busca Foreign Key: relaciona o campo de um registro com a primary key de outra tabela para fins de manutenção da integridade Procedimentos: conjunto de comandos armazenados na base de dados que pode ser chamado pelo usuário a qualquer instante para realizar tarefas repetitivas Gatilhos: é um procedimento disparado automaticamente em circunstâncias especiais de inclusão, exclusão ou modificação de registros Tabelas Registros (linhas) correspondem a uma ocorrência do dado Campos (colunas) correspondem a um atributo do dado Exemplo: Tabela de Clientes CPF NomeCliente Cidade Fone 123423123-09 João dos Santos Joinville 9934-6543 Registro 01 136432156-98 Mário Damasceno Florianópolis 8723-8923 Registro 02 137834876-92 Jorge Guimarães Caçador 8902-1234 Registro 03 145325986-03 Martha Rodriguez Curitiba 9898-5676 Registro 04 ... Campo 01 Chave Primária ... ... Campo 02 Campo 03 ... Campo 04 Exercício Definir a estrutura de uma base de dados para uma locadora de veículos Entidades Clientes (CPF, CNH, nome, endereço, data de nascimento) Veículos (placa, marca, modelo, ano, cor, opcionais) Relacionamentos Locação (CPF, placa, Inicio e término da locação, custo unitário) Banco de Dados da Locadora Cliente CPF CNH Nome Endereço Nasc Locação CPF Placa Inicio Fim CustoDia Veículo Placa Marca Modelo Ano Cor Opcionais