CC_LabBD_aula01

CC_LabBD_aula01 - Aula 01 – Apresentação de Conteúdo...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Aula 01 – Apresentação de Conteúdo Por que “Laboratório de Banco de Dados”? ◦ ◦ ◦ ◦ ◦ Aplicação da “Teoria de Banco de Dados”; Ilustrar como a teoria fundamenta a prática; Experiência prática com ferramentas de mercado; Contato com novas tecnologias; Rotinas de implementação. Aspectos teóricos importantes: ◦ ◦ ◦ ◦ ◦ Modelagem; Elementos do Modelo Relacional; Álgebra relacional; Teoria de Normalização; Recuperação de falhas. Aspectos práticos importantes: ◦ ◦ ◦ ◦ ◦ Gerenciadores de Banco de Dados; Indexação; Conexões remotas; SQL; Programação interna ao banco. Sobre gerenciadores de banco de dados: ◦ Um grande conjunto disponível no mercado ◦ Gratuitos: MySQL; PostgreSQL; ◦ Comerciais de tecnologia proprietária: Oracle DB2 SQL Server Apresentação de Sistemas Gerenciadores de Banco de Dados - SGBD - (2h): motivação, importância, modelos de implementação e aplicações práticas de bancos de dados; de SQL (4h): DDL, DML, tipos de dados, operações, funções agregadas. JDBC (4h): Conexão entre bancos de dados e aplicações de software. Rotinas. Equivalência de tipos de dados. Tratamento de exceções; Visões (2h): Apresentação do conceito de visões. Visões Aplicações; Stored procedures (4h): Introdução. Processo de criação de procedimentos. Aplicações. Conexão com interface JDBC; Cursors (2h): Introdução. Criação. Discussão de eficiência; de Triggers (4h): Introdução. Construção. Aplicações; Segurança em Bancos de Dados (4h): Introdução. Segurança no SGBD. Configuração. Controle de acessos; Prova (2h): aplicação de avaliação; Prova Apresentação (2h): exposição de resultados de projetos e artigo ao final do semestre; Três instrumentos: ◦ 1 prova P ◦ Listas de exercícios práticos T ◦ 1 projeto prático A Data Data da Prova ◦ 19/05/2010 ◦ Conteúdo até a semana antes da prova Listas de Exercícios: ◦ Ao final de cada tópico, será sugerida uma lista de exercícios de fixação, de resolução extra-classe ◦ desenvolvidos individualmente ◦ Cada lista terá valor entre 0 e 10, e a nota T será calculada pela média aritmética ponderada de todas as listas ◦ O peso de cada lista será divulgado no momento da liberação de seu enunciado ◦ Alunos que não entregarem alguma das listas, por motivo justificado ou não, perderão seu direito à nota relacionada ao mesmo. Projeto final desenvolvido em grupos de alunos alunos ◦ ◦ ◦ ◦ Fases intermediárias Relatório Apresentação Código fonte Projeto final - Fases intermediárias ◦ relatório parcial dos passos desenvolvidos depositado no sistema de apoio (Moodle) ◦ Todos os membros do grupo devem apresentar. Aquele que não apresentar ficará sem nota na apresentação: Intermediária = (NotaApres (individual) + Intermediária NotaResultadoApresentado) / 2 Projeto final - Entrega final o código fonte final e o relatório final depositado um dia antes da apresentação no sistema de apoio. EntregaFinal= (NotaApres (individual) + NotaResultadoApresentado) / 2 NotaResultadoApresentado) Projeto final A = Intermediaria * 30% + EntregaFinal * 70% Intermediaria Alunos que não entregarem o projeto e/ou não realizarem sua apresentação final, por motivo justificado, poderão entregá-lo com prazo de uma semana após sua data limite prazo inicial, com perda de 20% da nota perda ◦ Excedido esse prazo, a nota deste item de avaliação não mais será contemplada. Calculo da nota final (NF) NF = 0,4 P + 0,2 T + 0,4 A. Não haverá prova substitutiva. ◦ Alunos que, por motivo justificado, sejam obrigados a se ausentar no dia da prova, terão direito a fazer uma nova prova em data a ser definida. definida. Aprovação: Aprovação Aprovação ◦ NF ≥ 6.0 e frequência ≥ 75% SAC: ◦ Atendendo a portaria GR 522/2006, o aluno que obtiver média final entre 5,0 e 5,9 e frequência>=75% poderá submeter-se a uma única prova complementar única (C), (C) (C) cujo conteúdo corresponderá a toda a matéria ◦ A prova será seguida de arguição oral ◦ Será mantida a nota do projeto (A) A ◦ A nota substituirá a nota de prova (P) e das listas de exercícios (T) NMF = 0,6 C + 0,4 A aluno aprovado se NMF for maior ou igual a 6,0 A aplicação da avaliação complementar será em até 35 dias após o início do próximo semestre letivo Horários de Atendimento aos alunos fora da sala de aula: sala Segunda-feira 10h00-13h00, sala da professora (Sala 13). Quinta-feira 16h00-18h00, sala 13 Bibliografia Bibliografia Básica: ◦ R. E. Elmasri, S. B. Navathe. Sistemas de Banco de Elmasri, Navathe. Addison-Wesley. Dados. Addison-Wesley. 2005. ◦ A. Molinaro. SQL Cookbook. O'Reilly. 2006. ◦ A. Silberschatz, H. F. Korth, S. Sudarshan. Sistema de Banco de Dados. Campus. 2006. Bibliografia Bibliografia Complementar: ◦ M. Coles. Pro T-SQL 2008 Programmer's Guide. Apress. 2008. Apress ◦ S. Lightstone, T. Nadeau, T. Teorey. Projeto e Modelagem de Bancos de Dados. 2006. ◦ C. J. Date. Introdução a Sistemas de Bancos de Dados. Campus. 2004. ◦ P. Rob, C. Coronel. Sistemas de Bancos de Dados: Projeto, Implementação e Administração. Cengage. 2010. ◦ H. Garcia-Molina, J. D. Ullman, J. Widom. Database Systems: a Complete Book. 2ed. Prentice-Hall. 2008. Laboratório 3 Ambiente de aprendizagem: Moodle ◦ www.moodle.ufscar.br ◦ No. inscrição do curso: 343358-11B 343358343358 ◦ cada aluno terá que inserí-lo no formulário de ingresso na primeira vez (e só na primeira vez) em que entrar no curso. SQL: DDL e DML JDBC: Java Database Connectivity Alguns conceitos... SQL: DDL e DML Exemplo: Exemplo Exemplo Qual o menor salário dos funcionários do departamento de Informática ? SELECT MIN(SALARIO) AS MENOR FROM FUNCIONA F, DEPTO D WHERE NOMEDEPTO = "INFORMÁTICA" AND F.CODDEPTO = D.CODDEPTO 21 SQL: DDL e DML Que tipos de lojas estão presentes em uma ou mais cidades? Que tipos de lojas estão presentes em nenhuma cidade? Diferentes SGBDs possuem diferentes formas de se comunicar com uma aplicação aplicação Aplicação Java Oracle MySQL PostgreSQL Necessidade de aprendizado de várias APIs 23 Solução: Aplicação Java API do JDBC driver JDBC Oracle driver JDBC driver JDBC MySQL PostgreSQL 24 O JBDC provê um conjunto de interfaces para acesso ao BD ◦ é um conjunto de APIs (bibliotecas de classes) Cada SGBD possui um driver JDBC específico (que é usado de forma padrão - JDBC) Mudança do driver não afeta a aplicação 25 Restrições de integridade Visões Cursores Schemas Tablespaces Stores procedures Triggers Segurança e controle de acesso Restrições de integridade Restrições São regras de negócios codificadas no SGBD oferecem oferecem maior flexibilidade em qualidade dos dados ao verificar/controlar seus valores Exemplos Check - price numeric CHECK (price > 0) Not NULL - product_no integer NOT NULL Uniqueness - product_no integer UNIQUE Primary keys - Unique+!NULL: PRIMARY KEY (a, c) Integridade referencial: Foreign keys - product_no integer REFERENCES products (product_no) 27 Visões Visões Uma visão (view) mascara uma consulta atrás de uma tabela virtual Utilidade forma de se especificar uma tabela que precisa ser acessada freqüentemente, embora essa tabela não exista fisicamente. Ex. campos calculados facilita a escrita de consultas complexas podem melhorar a segurança dando acesso seletivo aos dados 28 Quando se executa uma instrução SQL, uma área de trabalho privada para a instrução é criada: É nessa área que os dados que são retornados da instrução SQL são armazenados O nome do CURSOR é basicamente um APONTADOR para esta área Cursores Cursores Implícitos e Explícitos Toda instrução SQL que se executa é um cursor implícito. Um cursor explícito é aquele que o desenvolvedor cria utilizando instruções específicas Schemas Schemas Esquemas fornecem recursos para separar os espaços de nomes (namespaces) dentro de um BD, similar aos diretórios (pastas) em uma hierarquia de arquivos (de apenas um nível) Oferece as seguintes possibilidades: agrupamento lógico de objetos do BD separação de vários usuários evitar colisões de nomes em grandes BD 30 Tablespaces Localizações no sistema de arquivos onde os objetos de BD podem ser armazenados Tablespaces permite especificar onde colocar: Database Schema Tabelas Índices Vantagens: Granularidade no nível de objeto Melhora perfomance e controle sobre o uso de disco Melhor flexibilidade para adicionar espaço quando o disco está cheio 31 Tablespaces Tablespaces Sem tablespace Tabelas comuns Índices Tabelas de performance Com tablespace Tabelas comuns Índices Tabelas de performance 32 Procedimentos Armazenados Conjunto de comandos sql que podem ser armazenados no servidor aumenta o desempenho do aplicativo: reduz o tráfego de dados entre a aplicação e o servidor O servidor de BD tem carga maior tanto em termos carga de memória quando de processamento de Ao invés de focar apenas em armazenamento e focar recuperação de dados o SGBD realizará uma série de operações lógicas, que em tese não é papel dele Triggers Triggers Permitem definir regras de negócio mais elaboradas Associam Associam funções com eventos Podem ter acesso aos dados sendo atualizados Uma trigger pode ser definida para executar uma ação antes (before) ou depois (after) de um evento INSERT, UPDATE ou DELETE, por operação ou por linha modificada A trigger é escrita em uma das linguagens disponíveis 34 34 Segurança e Controle de Acesso Usuários Privilégios manipular as permissões de acesso a BD Pode ser tanto um usuário (user) do BD como um grupo de usuários (group) – ou ambos Podem ser donos de objetos do BD (como tabelas) tabelas) Podem dar privilégios sobre esses objetos para outros “roles” controlar quem tem acesso a quais objetos 35 OBJETOS USUÁRIOS TABLESPACE DATABASE SCHEMA TABLE VIEW SEQUENCE FUNCTION TRIGGER membership 36 Objetivos: Objetivos: Desenvolver um sistema Web que realiza o cadastro, apresentação e busca de filmes, diretores e atores (tal como no Internet Movies Database – IMDB), como forma de aumentar a disponibilidade dos mesmos, desenvolvendo técnicas de armazenamento e recuperação eficientes de dados. Contexto: ◦ Base de dados do IMDB: filmes, atores, diretores ◦ Desenvolvimento de plataforma Web para consulta e manipulação de dados. consulta Sistema gerenciador ◦ MS SQLServer 2008 É possível utilizar outros gerenciadores, embora não seja recomendado. Aplicação real: ◦ Internet Movies Database - IMDB: http://www.imdb.com/ Formação de grupos – Regras grupos de 4 alunos manter a mesma formação de alunos nas 3 disciplinas Pode haver equipes onde há um ou mais membros que não fazem todas as disciplinas ◦ O aluno será avaliado apenas na disciplina que está fazendo Formação de grupos 31/03/2011 31/03/2011 Entrega dos grupos por escrito Sorteio das consultas Cronograma de Execução do Projeto - LabBD Data Data Fase Descrição 14/04 BD-Intermed-1 Normalização 28/04 BD-Intermed-2 Indexação e Otimização 09/06 BD-Intermed-3 Programação Interna ao SGBD Entrega do código fonte e relatório 21/06 Entrega Final Apresentação final final 22/06 Em todas as fases, deverá ser depositado no Moodle, o relatório dos passos desenvolvidos, antes da data/horário de apresentação dos resultados. ...
View Full Document

This note was uploaded on 09/12/2011 for the course DPQ 09 taught by Professor Johncarpenter during the Spring '08 term at UFSCar.

Ask a homework question - tutors are online