Sumário DCC011: Introdução a Banco de Mirella Moro mirella@dcc.ufmg.br DCC011 Conceitos Básicos O que é um banco de dados Como manipular um banco de dados Projeto de Banco de Tópicos Importantes Aplicações Banco de no DCC/UFMG 2 DCC011 Intro. Banco de DCC011 Objetivo Introduzir os fundamentos que permitam ao aluno adquirir o domínio básico da tecnologia de banco de dados. Ementa Conceitos básicos de banco de dados. Modelos de dados e linguagens. Projeto de bancos de dados. Novas tecnologias e aplicações de banco de dados. 4 Programa Introdução Conceitos básicos: banco de dados, d sistema de banco de dados, d sistema de gerência de banco de dados. Características da abordagem de banco de dados. Modelos de dados, esquemas e instâncias. Arquitetura de um sistema de banco de dados. Componentes de um sistema de gerência de banco de dados. Modelos de e Linguagens Modelo entidade-relacionamento (ER): conceitos básicos, restrições de integridade, notação gráfica, conceitos adicionais. Modelagem usando UML. Modelo relacional: conceitos básicos, restrições de integridade, álgebra relacional, operações de atualização. A linguagem SQL. Projeto de Bancos de Visão geral do processo de projeto de bancos de dados. Projeto lógico de bancos de dados relacionais: mapeamentos ER/relacional, definição de esquemas em SQL. Normalização. Novas Tecnologias e Aplicações de Banco de Gerenciamento de dados massivos. Bancos de dados não-relacionais (aka NoSQL) Avaliação Provas 70 pontos Trabalhos Práticos 20 pontos Exercícios e Participação 10 pontos www.dcc.ufmg.br/~mirella mirella 5 6
Bibliografia Texto Básico Elmasri, R.; Navathe, S. B. Sistemas de Banco de, 6a Ed. Pearson Education, 2010. Textos Complementares Garcia-Molina, H.; Ullman, J. D.; Widom, J. Database Systems: The Complete Book, Prentice-Hall, Upper Saddle River, NJ. 2001. Ramakrishnan, R.; Gehrke, J. Database Management Systems. McGraw-Hill, Boston, MA, 2003. Silberchatz, A.; Korth, H. F.; Sudarshan, S. Database Systems Concepts, 5th Ed. McGraw-Hill, New York, NY, 2005. 7 Cro onog grama a (te entati ivo) # Data Aula 1 25/08 Introdução 2 27/08 Conceitosbásicos i ONLINE 3 5 01 08/09 Modelo ER 6 8 10 17/09 Modelo relacional 9 22/09 Revisão 10 24/09 Prova 1 11 14 14 29/09 06/10 06/10 Álgebra Relacional 14 18 08 22/10 SQL 19 27/10 Revisão 20 29/10 Prova 2 21 03/11 Mapeamento ER/relacional 22 24 05 12/11 Normalização 25 17/11 Conceitos avançados 26 19/11 Revisão 27 24/11 Prova 3 28 29 26/11 01/12 Apresentações 30 03/12 Prova de reposição Observações Página da disciplina: http://www.dcc.ufmg.br/~mirella/ mirella/ Três provas, individuais e sem consulta A prova 3 abordará toda a matéria Dois trabalhos práticos TP1 (individual) = uso da linguagem SQL TP2 (em dupla) = projeto + implementação de uma pequena aplicação de banco de dados Exercícios e Participação Listas de exercícios Atividades complementares Exercício 1 (entrega via Moddle, até 01/09 @ 23:55) Responda individualmente a cada uma das perguntas abaixo. "Copyand-paste" não será aceito! Seja criativo e objetivo em suas respostas! 1. Por que o sistema de matrículas da UFMG utiliza um SGBD para gerenciar seus dados em vez de utilizar um sistema de arquivos robusto? 2. Quais as opções de carreira em BD ou o que faz um profissional de BD? 3. Quais são os temas de pesquisa em BD na UFMG e quem são seus pesquisadores? FONTES SLIDES DCC011 AULA 1 SBC Horizontes Dezembro/2008: Qual o Papel de um DBA?, por Carina F. Dorneles e Ronaldo S. Mello. Prof. João Eduardo Ferreira, Introdução a Banco de, CAPÍTULO 2 Edilberto Magalhães Silva, Introdução a Banco de, CAPÍTULO 2 9 10 Conceitos Básicos O que é um banco de dados? Como manipular um banco de dados?
Problemas com Fichário? Uma gaveta aberta por vez Uma pessoa por vez acessando Busca praticamente sequencial Quem pode atualizar cada ficha? Posso tirar duas fichas ao mesmo tempo? Duas pessoas podem ter a mesma ficha? E se enquanto uma pessoa está com a ficha, uma outra acessa o fichário, não encontra a ficha, então cria uma nova ficha; quando a uma devolver a ficha, serão duas fichas diferentes para o mesmo cliente! E se perde a ficha? E se pega fogo em tudo? E SE EU PRECISAR DE FICHÁRIOS DIFERENTES PARA DADOS DIFERENTES? 13 14 Universidade Professores Turmas Disciplinas Alunos Curriculo Cursos Horários 15 16 Questões 17 necessários? Modelagem de dados? Eit Evitando redundância, dâ obviamente bi Consulta a dados? Atualização de dados? Controle de acesso? Alunos não acessam os mesmos dados que professores... Ou que funcionários...... 18
Banco de Definições Preliminares Fornece acesso seguro e eficiente i a grandes quantidades de dados Resolve problemas Armazenamento Consulta eficiente Acesso e atualização com segurança: por múltiplos usuários Melhor do que usar fichários e arquivos... 19 [Chu, 1985] Um banco de dados é um conjunto de arquivos relacionados entre si. [Date, 1975] Um banco de dados é uma coleção de dados operacionais usados pelas aplicações de uma determinada organização. 20 Outra Definição Banco de por tudo [Elmasri & Navathe, 2000] Um banco de dados é uma coleção de dados relacionados Entretanto, um BD possui as seguintes propriedades implícitas: 1. Representa aspectos do mundo real (mini-mundo ou universo de discurso) 2. É uma coleção de dados logicamente e coerentes e es com algum significado inerente 3. É projetado, construído e instanciado ( povoado ) para uma aplicação específica Informática Banco de Economia, Engenharia, Medicina, Direito, Educação, Qualquer aplicação precisa de dados precisam ser armazenados, gerenciados, consultados, recuperados SGBD 21 22 Sist. de Gerência de Banco de Um sistema ste de gerência de banco de dados (SGBD) é um conjunto de programas que permite criar e manter (manipular) um banco de dados BD + SGBD = sistema de banco de dados Usuários/Programadores Consultas/Programas Catálogo (Meta-) SGBD Banco de MS Access Oracle IBM DB2 My SQL PostgreSQL Sistema de Banco de 23 24
Usuários / Programadores Administrador (DBA) Administra o BD e o SGBD Autorizar acesso ao BD, coordenar e monitorar a utilização, adquirir hw e sw Resolver problemas: violação de segurança, tempo de resposta Projetista Identificar os dados e escolher estruturas apropriadas para representar e armazenar Antes de implementar/instanciar o BD Analista sistema e Programadores aplicações (eng. sw) Analistas: necessidades dos usuários + especificações acesso padrão Programadores: implementam as especificações, testes, documentos, manutenção Usuário final Acessar o BD: consultas, atualizações, relatórios Exemplo de um Banco de Empregado NumEmp NomeEmp Salário Dept 032 J Silva 380 21 074 M Reis 400 25 089 C Melo 520 28 092 R Silva 480 25 112 R Pinto 390 21 121 VSimão 905 28 130 J Neves 640 28 Esquema do banco de dados Empregado NumEmp Departamento NumDept NomeEmp NomeDept Salário Ramal Dept Departamento NumDept NomeDept Ramal 21 Pessoal 142 25 Financeiro 143 28 Técnico 144 25 26 Vantagens de usar um BD Controle o de redundância dâ dos dados Controle de acesso (segurança) Armazenamento persistente dos dados Existência de múltiplas interfaces para os usuários Representação de relacionamentos complexos entre os dados Manutenção de restrições de integridade Acesso multi-usuário (controle de concorrência e recuperação de falhas) Projeto de Banco de 27 Projeto de Banco de Projeto de Bancos de Visão Externa1 Visão Externa2 Mini-Mundo Análise de Requisitos requisitos Projeto Conceitual Esquema Conceitual Projeto Lógico Esquema Lógico Projeto Física DEPENDENTE de SGBD Esquema Físico requisitos INDEPENDENTE de SGBD Independente de SGBD Específico para um SGBD Requisitos Funcionais Análise Funcional Especificação das Transações (em alto nível) Projeto das Aplicações Implementação Requisitos do BD Projeto Conceitual Esquema Conceitual (em um modelo de dados de alto nível) Projeto Lógico Esquema Lógico (em um modelo de dados lógico) Projeto Físico Esquema Físico (para um SGBD específico) 29 Programas 30
Tópicos Importantes Tópicos Importantes Estruturas de armazenamento de dados Modelagem e projeto de bancos de dados Modelos de dados Linguagens Processamento de consultas Controle de concorrência Segurança e integridade Recuperação de falhas 32 Aplicações Aplicações Bancos de dados multimídia figuras, videos, sons, voz GIS, Sistemas de informações geográficas mapas, dados meteorológicos, imagens satélite 34 Aplicações Aplicações, exemplos Automação administrativa (ex., bancos, hospitais, bibliotecas, empresas, etc.) Gerência de dados científicos cos (ex., Genoma) Projeto assistido por computador (ex., aviões, circuitos integrados) Comércio eletrônico Bibliotecas digitais it i Sistemas de apoio a decisão Aplicação Aplicações bancárias Reservas de vôos Aplicações hospitalares Universidades contas bancárias agências vôos passageiros pilotos pacientes médicos remédios estudantes turmas professores 35 36
Disciplinas no DCC Banco de no DCC/UFMG Graduação Introdução a Bancos de Tópicos Avançados em Bancos de Pós-Graduação Bancos de Tópicos em Bancos de Gerência de da Web Bibliotecas Digitais 38 Grupo de Pesquisa no DCC Linhas de pesquisa: Mirella Alberto Laender Modelagem & Projeto BD Modelagem, Extração e Integração de Web Berthier Ribeiro-Neto (licenciado) Recuperação de Informação Marcos A. Gonçalves Bibliotecas Digitais Recuperação de Informação Clodoveu Davis Jr. Geoprocessamento Sistemas Informação Geográfica Bancos de Geográficos Espaciais Mirella M. Moro Processamento de Consultas Redes Sociais Sistemas de Recomendação Rodrygo Santos Recuperação de Informação Sistemas de Recomendação Gerência de dados da Web Processamento de Consultas Biblioteca Digital BDBComp Redes Sociais Redes Sociais Acadêmicas Índices de Produtividade Sistemas de Recomendação e Outros tópicos NoSQL, BigData Modelagem de 39 40 Perguntas www.dcc.ufmg.br/ br/~mirella