Banco de Dados Introdução Ementa 1/2 • Conceito de banco de dados e Sistemas de Gerência de banco de dados (SGBD), • Modelagem Entidade-Relacionamento, Modelo relacional. • SQL (Structured Query Language). • Padrão de direito SQL (ISO/IEC 9075). • Tipos de Dados. Ementa 2/2 • SQL Schema. • Conjuntos de comandos: DDL, DML, DCL. • Triggers. • Stored Procedures. • Persistent Stored Modules (PSM). • Transaction. Embedded SQL. Avaliação ALTERADA • Pesos: P1 = 10% P2 = 30% T1 = 20% T2 = 30% Qualitativos = 10% Avaliação 1 semestre: • P1 = 2 pontos • T1 = 3 pontos • T2 = 4 pontos • Qualitativos = 1 ponto 2 semestre: • P2 = 4 pontos • T3 = 2 pontos • T4 = 3 pontos • Qualitativos = 1 ponto Definições e Conceitos • Coleção de dados organizados que contém informações relevantes para uma determinada aplicação ou um determinado grupo de usuários. • Coleções organizadas de dados que são organizadas de forma a dar mais sentido e eficiência sobre um determinado sistema. Tamanho e complexidade • Um banco de dados (BD) pode ser de qualquer tamanho e complexidade. •O BD pode ser feito manualmente ou por meio de Sistemas Gerenciadores. Algo feito por um Sistema gerenciados não é manual? O que é manualmente neste contexto? Uso • BD são amplamente usados para as mais diversas aplicações, nos mais diversos cenários. Ex: Estoque, Informações sobre clientes, logística, horários, reservas etc. Atualmente (2017), BD estão presentes em todos (ou na grande maioria) os negócios/comércios de médio e grande porte. SGBD (DBMS) • Sistemas Gerenciadores de Banco de Dados (SGBD); do Inglês, Database Mananement System (DBMS). • Coleção de Dados inter-relacionados a um conjunto de programas para acessar estes dados. • Tem como objetivo organizar as informações de modo conveniente e eficiente. SGBD - Vantagens • Compactação; • Velocidade; • Segurança; • Reduzido tempo de criação; etc. Ok, mas como era antes de Banco de Dados e SGBDs? Arquivos Software A Arquivos de A • Software B Arquivos de B • Software N Arquivos de N Problemas resolvidos • Redundâncias • Acesso aos Dados • Controle de Acesso • Atomicidade • Integridade • Backup Problemas resolvidos • Redundâncias • Acesso aos Dados • Controle de Acesso • Atomicidade • Integridade • Backup Imagine que para N pessoas você precise adicionar M atributos e que M seja um número finito e pequeno. Se M se repetir para N, haverá redundância... Vamos ver um exemplo... Telefone Problemas resolvidos • Redundâncias • Acesso aos Dados • Controle de Acesso • Atomicidade • Integridade • Backup Supondo que um sistema precise se adequar a novas normas governamentais e tenha que mostrar valores de transações regionais. Mas, cada CEP possua um conjunto de informações sensíveis. Como isto seria feito. ...Exemplo... Problemas resolvidos • Redundâncias • Acesso aos Dados • Controle de Acesso • Atomicidade • Integridade • Backup Garantir segurança e múltiplos acessos a dados pode ser um sério problema. Exemplo, RH de uma companhia com dados sensíveis. *Ramez Elsmari e Shamkant Navathe. Sistemas de Bancos de Dados. Addison wesley. 2005 Problemas resolvidos • Redundâncias • Acesso aos Dados • Controle de Acesso • Atomicidade • Integridade • Backup “uma transação é uma unidade atômica de processamento; ou ela será executada em sua totalidade ou não será de modo algum”*. Exemplo, envio de valores de uma conta A para uma conta B. *Ramez Elsmari e Shamkant Navathe. Sistemas de Bancos de Dados. Addison wesley. 2005 Problemas resolvidos • Redundâncias • Acesso aos Dados • Controle de Acesso • Atomicidade • Integridade • Backup Como no exemplo visto, transações devem ter a propriedade indivisível. Isto é, uma transação é feita por inteiro ou nada é feito. Exemplo: Saque e débito. Problemas resolvidos • Redundâncias • Acesso aos Dados • Controle de Acesso • Atomicidade • Integridade • Backup Garantia de que algum campo estará integro de acordo um uma determinada regra. Exemplo, Valor mínimo em uma conta bancária. Problemas resolvidos • Redundâncias • Acesso aos Dados • Controle de Acesso • Atomicidade • Integridade • Backup Também não temos o problema do “acesso concorrente”. Isto é, o que acontece quando duas pessoas fazem diferentes operações ao mesmo tempo? Problemas resolvidos • Redundâncias • Acesso aos Dados • Controle de Acesso • Atomicidade • Integridade • Backup Recuperação de arquivos devido a falhas de Hardware, Software, e não tão incomum, erros humanos. Problemas resolvidos Exemplo Exercício Aponte possíveis erros ou melhorias a serem feitas no modelo anterior. Exercício Uma loja vende eletrônicos que possuem os seguintes campos em seu banco de dados: Produto, Preco, Disponivel, TempOp, ConsEnergia, Imagem, Descricao. Produto: Nome do produto. Preco: Preço do produto, podendo custar até 5 mil reais. Disponivel: Se há uma ou mais unidades do produto na loja. TempOp: A temperatura em que o produto opera, tipicamente não mais do que a faixa entre -50 e 70 graus Celsius. ConsEnergia: Consumo de energia, uma medida dade de “A” a “E”. Imagem: Uma pequena foto ou uma ilustração do produto em baixa resolução. Descricao: A descrição completa do produto. Exercício Associe os seguintes tipos de dados a cada campo mencionado. Tipo VARCHAR(<tamanho>) Notas Max: 255 caracteres. Similar TEXT(<tamanho>) Max: 65,535 caracteres. TINYINT Valores com sinal: -128 até 127. INTEGER Um valor real de 0 até 4294967295. DOUBLE(<m>,<d>) m é o total de dígitos. d, o total da precisão decimal. NUMERIC(<m>,<d>) BOOL Verdadeiro ou Falso. TINYINT(1) BLOB Binary Large Object … Objetos com até 65,535 bytes Observações • Os exemplos vistos em aula não estão detalhados nas apresentações. É dever do aluno tomar nota do que é visto em aula e construir seu entendimento através dos mesmos. Na dúvida, questione. • Os exemplos vistos em laboratório devem ser salvos pelo aluno, preferencialmente, em uma mídia externa, pois todos os computadores dos laboratórios são de uso comum.