Sumário DCC011: Introdução a Banco de Dados DCC011 Conceitos Básicos O que é um banco de dados O que é um banco de dados Como manipular um banco de dados Mirella Moro Projeto de Banco de Dados Projeto de Banco de Dados [email protected] Tópicos Importantes Aplicações A li õ Banco de Dados no DCC/UFMG UFMG DCC011 ‐ profa. Mirella Moro DCC011 – Intro. Banco de Dados Programa Introdução Conceitos básicos: banco de dados, sistema de banco de dados, 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 Dados 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 Dados 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 dados relacionais: mapeamentos ER/relacional, definição de esquemas em SQL. Normalização. Novas Tecnologias e Aplicações de Banco de Dados Gerenciamento de dados massivos. Bancos de dados não‐relacionais (aka NoSQL) Objetivo j 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 Novas tecnologias e aplicações de banco de dados. UFMG DCC011 ‐ profa. Mirella Moro 2 UFMG DCC011 ‐ profa. Mirella Moro 3 Avaliação ç 4 Bibliografia Provas 70 pontos (20+20+30) 70 pontos Trabalhos Práticos 20 pontos 20 pontos Exercícios e Participação 10 pontos TTexto Básico t Bá i Elmasri, R.; Navathe, S. B. Sistemas de Banco de Dados 6a Ed Pearson Education 2010 Dados, 6a Ed. Pearson Education, 2010. Textos Complementares p 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. www.dcc.ufmg.br/~mirella/DCC011 UFMG DCC011 ‐ profa. Mirella Moro 5 UFMG DCC011 ‐ profa. Mirella Moro 6 Cronograma (teentativvo) # DATA CONTEÚDO 1 3‐4 5‐6 7 8‐10 11 12 13‐15 16 17 04‐09.08 11,18.08 23,25.08 30.08 01,06,08.09 13.09 15.09 20,22,27.09 29.09 04.10 06.10 11.10 13.10 18 10 18.10 20,25,27.10 01,03.11 08.11 10.11 15.11 17.11 22.11 24.11 06.12 Apresentação/Introdução SQL – Aula e exercícios *TALVEZ online* * * TP2: especificação e discussão Álgebra Relacional REVISÃO PROVA 1 Modelo ER Modelo Relacional Modelo Relacional *TALVEZ Modelo Relacional TALVEZ online online* NÃO TEM AULA Modelo relacional PROVA 2 M Mapeamentos ER/relacional t ER/ l i l Normalização Conceitos Avançados REVISÃO PROVA 3 FERIADO Prova de reposição / Consulta sobre o TP2 p ç Apresentação TP2 Apresentações de TP2 + premiação Última oportunidade para entregar relatório TP2 18 19 20 21‐23 24‐25 26 27 28 29 30 UFMG DCC011 ‐ profa. Mirella Moro Observações Página da disciplina: http://www dcc ufmg br/~mirella/ http://www.dcc.ufmg.br/ mirella/ Três provas, individuais e sem consulta A prova p 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 Exercícios e Participação Listas de exercícios Atividades complementares (pontos extra) 7 UFMG DCC011 ‐ profa. Mirella Moro 8 Exercício 1 (entrega via Moddle, até 09/08 @ 23:55) Responda individualmente a cada uma das perguntas abaixo. "Copy‐and‐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 (quais tarefas do profiss. de BD)? 3. Quais são os temas de pesquisa em BD na UFMG e quem são seus pesquisadores? Conceitos Básicos á O que é um banco de dados? Como manipular um banco de dados? 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 Dados, CAPÍTULO 2 Edilberto Magalhães Silva, Introdução a Banco de Dados, CAPÍTULO 2 UFMG DCC011 ‐ profa. Mirella Moro 9 http://www.kdnuggets.com/2016/03/data‐science‐puzzle‐explained.html https://www.import.io/post/why‐data‐scientist‐is‐being‐called‐the‐sexiest‐job‐of‐the‐21st‐century/ UFMG DCC011 ‐ profa. Mirella Moro 12 Início • SGBD • Modelagem, estrutura, consulta • Aplicações tradicionais Agora • NoSQL: texto, documentos, grafos NoSQL: texto documentos grafos e afins e afins • Conexão: Web, streams, móveis, paralelo, workflow, … • Contexto: nuvem, hardware, privacidade, proveniência … IR • Coleta, extração, indexação, processamento, entrega • E.g., sistemas de recomendação e classificadores KDD • Descoberta de Conhecimento • Mineração de Dados • E.g., aprendizado de máquina e big data analytics Bancos de Dados UFMG DCC011 ‐ profa. Mirella Moro 13 Os salários, por áreas de atuação, também sobem na medida da qualificação do profissional. Além da experiência, ditada por anos de trabalho no setor, a formação acadêmica também bé pode d significar i ifi um iincremento iimportante no salário. Um profissional de Arquitetura da Informação com mestrado ou doutorado pode ganhar até 74,7% 74 7% mais do que um que possui apenas formação superior. 15 de agosto de 2014 UFMG DCC011 ‐ profa. Mirella Moro 14 Quanto Ganha Profissional de TI http://exame.abril.com.br/revista‐exame/edicoes/1108/noticias/para‐os‐cientistas‐ p // / / / / /p de‐dados‐nao‐ha‐desemprego Bancos de Dados TI Geral Diretor: R$ 18.386 Gerente: R$ 8.855 Coordenador: R$ 4.992 Consultor: R$ 4.483 Analista Negócios: R$ 4.037 Analista: A li t R$ 2 432 R$ 2.432 Técnico em TI: R$ 1.483 Redes de Computadores, analista: Redes de Computadores analista: Processamento de dados, analista: Programador, android: Segurança da informação, pleno: Gerente: R$ 11.940 Coordenador: R$ 8.953 Supervisor: R$ 8.154 DBA Oracle: R$ 4.288 DBA Pleno: R$ 4.283 DBA SQL: DBA SQL R$ 3 725 R$ 3.725 R$ 2 797 R$ 2.797 R$ 2.646 R$ 3.126 R$ 3.184 UFMG DCC011 ‐ profa. Mirella Moro http://www.guiadacarreira.com.br/salarios/quanto‐ganha‐um‐profissional‐de‐ti/ 1960 15 UFMG DCC011 ‐ profa. Mirella Moro 16 2015: Problemas com Fichário? 2015: Problemas com Fichário? 1990 Uma gaveta aberta por vez pessoa p por vez acessando Uma p 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 d a fi ficha? h ? E se pega fogo em tudo? E SE EU PRECISAR DE FICHÁRIOS DIFERENTES PARA DADOS DIFERENTES? UFMG DCC011 ‐ profa. Mirella Moro 17 UFMG DCC011 ‐ profa. Mirella Moro 18 Universidade Dados de Professores do DCC Dados de Professores do DCC Professores Cursos Turmas Disciplinas p Alunos Curriculo Horários UFMG DCC011 ‐ profa. Mirella Moro UFMG DCC011 ‐ profa. Mirella Moro 19 Dados 20 Questões Dados necessários? D d ái ? Modelagem de dados? Evitando redundância, obviamente Evitando redundância obviamente Consulta a dados? Atualização de dados? Atualização de dados? Controle de acesso? Alunos não acessam os mesmos dados que Alunos não acessam os mesmos dados que professores... Ou que funcionários... ... UFMG DCC011 ‐ profa. Mirella Moro UFMG DCC011 ‐ profa. Mirella Moro 21 IBD: Dados SGBD IBD: Dados 22 Definições Preliminares Definições Preliminares • Fornece acesso seguro e eficiente a grandes eficiente a grandes quantidades de dados • Resolve problemas Resolve problemas [Ch 1985] [Chu, 1985] Um banco de dados é um conjunto de arquivos relacionados entre si relacionados entre si. –Armazenamento –Consulta eficiente –Acesso e atualização com l ã segurança: por múltiplos usuários [Date, 1975] Um banco de dados é uma coleção de dados Um banco de dados é uma coleção de dados operacionais usados pelas aplicações de uma determinada organização. • Melhor do que usar fichários e arquivos... UFMG DCC011 ‐ profa. Mirella Moro 23 UFMG DCC011 ‐ profa. Mirella Moro 24 Outra Definição Outra Definição Banco de Dados por tudo Banco de Dados por tudo [Elmasri & Navathe 2000] [Elmasri & Navathe, 2000] Informática I f á i Banco de Dados B d D d Economia, Engenharia, Medicina, Direito, Educação, … Um banco de dados é uma coleção de dados relacionados (tabelas, relações) Entretanto, um BD possui as seguintes propriedades implícitas: 1 1. 2. 3. Qualquer aplicação precisa de dados Qualquer aplicação precisa de dados Dados precisam ser armazenados, gerenciados, consultados, recuperados , p Representa aspectos do mundo real (mini mundo ou universo de Representa aspectos do mundo real (mini‐mundo ou universo de discurso) É uma coleção de dados logicamente coerentes com algum g significado inerente É projetado, construído e instanciado (“povoado”) para uma aplicação específica UFMG DCC011 ‐ profa. Mirella Moro SGBD UFMG DCC011 ‐ profa. Mirella Moro 25 26 Usuários/Programadores Sist. de Gerência de Banco de Dados Um sistema de gerência de banco de dados (SGBD) é g ( ) um conjunto de programas que permite criar e manter (manipular) um banco de dados Consultas/Programas SGBD + BD = sistema de banco de dados MS Access Oracle IBM DB2 M SQL My PostgreSQL Mongo DB Neo4J … SGBD Banco de Dados Catálogo (Meta-Dados) Sistema de Banco de Dados UFMG DCC011 ‐ profa. Mirella Moro UFMG DCC011 ‐ profa. Mirella Moro 27 Usuários / Programadores Exemplo de um Banco de Dados p Administrador (DBA) Empregado 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 p / Antes de implementar/instanciar o BD Analista sistema e Programadores aplicações (eng. sw) Analistas: necessidades dos usuários + especificações acesso padrão g p p ç , , , Programadores: implementam as especificações, testes, documentos, manutenção Departamento NumEmp NomeEmp Salário Dept NumDept NomeDept 032 J Silva 380 21 21 Pessoal 142 074 M Reis 400 25 25 Financeiro 143 089 C Melo 520 28 28 Té i Técnico 144 092 R Silva 480 25 112 R Pinto 390 21 121 V Simão 905 28 130 J Neves 640 28 Esquema do banco de dados Empregado NumEmp Usuário final Acessar o BD: consultas, atualizações, relatórios … NomeEmp Salário Dept Departamento NumDept UFMG DCC011 ‐ profa. Mirella Moro 28 29 NomeDept Ramal UFMG DCC011 ‐ profa. Mirella Moro Ramal Um banco de dados é uma coleção de dados relacionados 1. Dentro de uma mesma tabela 2. Entre t e tabelas tabe as diferentes 30 Vantagens de usar um BD Vantagens de usar um BD Controle de redundância dos dados C t l d d dâ i d d d Controle de acesso (segurança) Armazenamento persistente dos dados A t it t d d d Existência de múltiplas interfaces para os usuários Representação de relacionamentos complexos R t ã d l i t l entre os dados Manutenção de restrições de integridade Manutenção de restrições de integridade (cpf único) (cpf único) Acesso multi‐usuário (controle de concorrência e recuperação de falhas) p ç ) UFMG DCC011 ‐ profa. Mirella Moro Projeto de Banco de Dados d d d 31 Projeto de Banco de Dados Projeto de Bancos de Dados Mini-Mundo Visão E t Externa1 1 IBD Visão E t Externa2 2 Análise de Requisitos Requisitos Funcionais Requisitos do BD Análise Funcional Projeto Conceitual requisitos requisitos Projeto Conceitual Independente de SGBD Esquema Conceitual INDEPENDENTE de SGBD Projeto Lógico DEPENDENTE de SGBD Projeto Física Esquema Lógico (em um modelo de dados lógico) Projeto das Aplicações Esquema Físico Projeto Físico Implementação UFMG DCC011 ‐ profa. Mirella Moro IBD Esquema Conceitual (em um modelo de dados de alto nível) Projeto Lógico Específico para um SGBD Esquema Lógico BDA Especificação das Transações (em alto nível) 33 Esquema Físico (para um SGBD específico) Programas UFMG DCC011 ‐ profa. Mirella Moro 34 Tópicos Importantes Tópicos Importantes Tópicos Importantes ó Estruturas de armazenamento de dados Modelagem e projeto de bancos de dados Modelos Modelos de dados de dados Linguagens Processamento de consultas de consultas Processamento Controle de concorrência Segurança e integridade S i t id d Recuperação de falhas UFMG DCC011 ‐ profa. Mirella Moro 36 Aplicações Bancos de dados multimídia – d d d l i ídi figuras, fi videos, sons, voz GIS, Sistemas de informações geográficas – mapas, dados meteorológicos, imagens satélite Aplicações l UFMG DCC011 ‐ profa. Mirella Moro Aplicações p ç 38 Aplicações exemplos Aplicações, exemplos Automação administrativa (ex., bancos, hospitais, bibliotecas, empresas, etc.) ( , ) Gerência de dados científicos (ex., Genoma) Projeto assistido por computador (ex., aviões, circuitos integrados) circuitos integrados) Comércio eletrônico Bibliotecas digitais bl d p Sistemas de apoio a decisão UFMG DCC011 ‐ profa. Mirella Moro 39 Aplicação Aplicações bancárias A li õ b á i Reservas de voos Reservas de voos Aplicações hospitalares Universidades Dados contas bancárias b ái agências voos passageiros pilotos pacientes médicos remédios estudantes turmas professores UFMG DCC011 ‐ profa. Mirella Moro 40 DCC/UFMG Banco de Dados no DCC/UFMG / Armazéns de Dados Bancos de Dados Avançados Bancos de Dados Geográficos Mineração de Dados Mineração de Dados Aplicada Processamento de Dados Massivos Visualização de Dados Sistemas de Recomendação Recuperação de Informação UFMG DCC011 ‐ profa. Mirella Moro 42 Linhas de pesquisa: Mirella Linhas de pesquisa: Mirella Clodoveu Davis Jr. Modelagem M d l &P Projeto j t BD Gerência de Dados Web Modelagem, Extração e Integração de Dados Web G Geoprocessamento t Sistemas Informação Geográfica Bancos de Dados Geográficos Dados Espaciais Marcos A. Gonçalves Mirella M. Moro Bibliotecas Digitais Recuperação de Informação Gerência de Dados Web Gerência Gerência de dados da Web de dados da Web Processamento de Consultas Biblioteca Digital BDBComp Redes Sociais Outros tópicos Berthier Ribeiro-Neto (licenciado) Gerência de Dados Web Recuperação de Informação UFMG DCC011 ‐ profa. Mirella Moro Perguntas www.dcc.ufmg.br/ mirella www dcc ufmg br/~mirella NoSQL, BigData Modelagem de Dados d l d d 43 UFMG DCC011 ‐ profa. Mirella Moro SIGMOD’12‐ PHX Redes Sociais Acadêmicas Índices de Produtividade Sistemas de Recomendação Gerência de Dados Web Processamento de Consultas Redes Sociais Sistemas de Recomendação SIGMO OD’13‐ NYC C Alberto Laender SIGMOD D’16 ‐ SFO Grupo de Pesquisa LBD Grupo de Pesquisa LBD 44