==== Disciplinas para Graduação ====
=== DCC011 - Introdução a Bancos de Dados -- Segundo Semestre de 2023 ===
== PLANO DE ENSINO ==
Plano de ensino [[https://virtual.ufmg.br/20232/mod/resource/view.php?id=41339|PDF (no Moodle)]] 2023/2
**Objetivos:** 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.
==Material de apoio==
**Livro**
* Elmasri, R.; Navathe, S. B. Sistemas de Banco de Dados. 7ª. ed. Pearson, 2019. Outras edições podem ser usadas, inclusive edições em inglês. [[https://wps.pearsoned.com/aw_elmasri_fundatasys_7/|Student resources (em inglês)]]
**Artigos selecionados**
* Chen, P. (1976) The entity-relationship model — toward a unified view of data. ACM Transactions on Database Systems 1(1) (March 1976), 9–36. [[https://doi.org/10.1145/320434.320440|PDF]]
* Codd, E. F. (1970) A Relational Model of Data for Large Shared Data Banks. Communications of the ACM 13(6):377-387. [[https://dl.acm.org/doi/pdf/10.1145/362384.362685|PDF]] [[https://dl.acm.org/doi/pdf/10.5555/77708|Livro online de Codd sobre o modelo relacional]]
**Slides e material de aula:** vide abaixo
==Recursos online==
* [[http://aqui.io/geosql | GeoSQL+]] disponível por meio do [[http://labcsx.dcc.ufmg.br/ | Interdisciplinary Computer Science Lab]] da UFMG. Outros produtos e protótipos do LabCS+x estão disponíveis em [[http://aqui.io | aqui.io]].
* [[http://sqlfiddle.com/ | SQL Fiddle ]]
==Software recomendado==
* [[http://www.postgresql.org | PostgreSQL ]]
* Downloads: [[https://www.postgresql.org/download/|postgresql]]
* Guias de instalação: [[https://www.devmedia.com.br/instalando-postgresql/23364|Windows]] [[https://www.hostinger.com.br/tutoriais/instalar-postgresql-ubuntu|Ubuntu]] [[https://www.postgresql.org/download/macosx/|Mac]]
* Video sobre pgAdmin, no contexto da disciplina
* [[http://draw.io | Draw.io ]]
* Usar o template "Entity-Relationship Diagram". Há também um template para UML.
==Datasets==
Banco de dados de comércio exterior: script de criação de tabelas e carga de dados [[https://virtual.ufmg.br/20202/mod/resource/view.php?id=201456|No Moodle da disciplina]]
Banco de dados Cinema/IMDb - [[https://www.dropbox.com/s/cbfuvezgt8jhj6c/cinemicro.sql.zip?dl=0|Backup do BD cinemicro]]
== Unidades ==
**Playlist das aulas no YouTube:** [[https://www.youtube.com/playlist?list=PLPF3oU9gY8Cna2dM8Rw1OMfvBEKtsMRU7|Playlist]]
1. **Introdução**
* Apresentação da disciplina (versão 2021/2) [[https://www.dropbox.com/scl/fi/itsdr9m6zn0qohny8bzbl/IBD00-Apresentacao-da-disciplina.pdf?rlkey=43dbd0yabbl5kk44ll96mornw&dl=0|Slides]] [[https://www.youtube.com/watch?v=b_71EFBUGko|Video 2021/2]]
* Conceitos básicos
* Parte 1 - conceitos [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD01a Conceitos.pdf|Slides]] [[https://www.youtube.com/watch?v=TksC9xRF-8o|Video]]
* Parte 2 - memória [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD01b Conceitos - disco.pdf|Slides]] [[https://www.youtube.com/watch?v=KDihGJ4b0E8|Video]]
* Parte 3 - modelos de dados e arquitetura de SGBD [[https://www.dropbox.com/s/h7c1f40rwmb19rr/IBD01c%20Modelos%20e%20Arquitetura.pdf?dl=0|Slides]] [[https://www.youtube.com/watch?v=J0HKxZ_eGvw|Video]]
2. **Modelos de Dados e Linguagens**
* Modelo entidade-relacionamento
* Parte 1 - Entidades [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD02a ER entidades.pdf|Slides]] [[https://www.youtube.com/watch?v=J3iPZ65HzDc|Video]]
* Parte 2 - Relacionamentos [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD02b ER relacionamentos.pdf|Slides]] [[https://www.youtube.com/watch?v=lXNT4LjgyKU|Video]]
* Parte 3 - Exemplos [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD02c ER exemplos.pdf|Slides]] [[https://www.youtube.com/watch?v=M2BQ1uzARYo|Video]]
* Modelo ER: extensões e tópicos adicionais
* ER estendido [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD03a ER estendido.pdf|Slides]] [[https://www.youtube.com/watch?v=HXgNwlPa964|Video]]
* ER conceitos adicionais [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD03b ER conceitos adicionais.pdf|Slides]] [[https://www.youtube.com/watch?v=WOGnn_feLm4|Video]]
* Notações alternativas de ER e ERE [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD03c ER-ERE notacoes alternativas.pdf|Slides]] [[https://www.youtube.com/watch?v=n_A_PSOmqF8|Video]]
* UML [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD04 UML.pdf|Slides]] [[https://www.youtube.com/watch?v=weqWbgHTlPs|Video]]
* Modelo Relacional
* Modelo Relacional [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD05a Modelo Relacional.pdf|Slides]] [[https://www.youtube.com/watch?v=gmPZ5hBE6Jk|Video]]
* Modelo Relacional: avançado [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD05b Modelo Relacional avancado.pdf|Slides]] [[https://www.youtube.com/watch?v=1vTQo9k4f1k|Video]]
* Álgebra Relacional [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD05c Algebra Relacional parte 1.pdf|Slides parte 1]] [[https://www.dropbox.com/scl/fi/o85obqzi6x7r3wq3eo9zx/IBD05d-Algebra-Relacional-parte-2.pdf?rlkey=ugv2oelnq0gazi40hh0ygq1pt&dl=0|Slides parte 2]] [[https://www.youtube.com/watch?v=1aqM6GXyK9Y|Video parte 1]] [[https://www.youtube.com/watch?v=CB51y47Y2D0|Video parte 2]]
* SQL
* Parte 1: SQL e consultas básicas [[https://www.dropbox.com/scl/fi/8jscfg7fe3qw7st3oqkl5/IBD06a-SQL-parte-1.pdf?rlkey=4xn77gqd1oq6oxnuxu95dfp8j&dl=0|Slides parte 1]] [[https://youtu.be/1x4nVWxM9QA|Video parte 1]]
* Parte 2: DDL e DML [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD06b SQL parte 2.pdf|Slides parte 2]] [[https://youtu.be/TcMmSI7oNZU|Video parte 2]]
* Parte 3: Consultas avançadas [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD06c SQL parte 3.pdf|Slides parte 3]] [[https://youtu.be/s6JO_kI3XRI|Video parte 3]]
3. **Projeto de Bancos de Dados**
* Projeto lógico e Mapeamento ER/Relacional [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD05e Projeto logico e mapeamento ER-relacional.pdf|Slides]] [[https://youtu.be/X7UoeQJER_E|Video]]
* Normalização [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD05f Normalizacao.pdf|Slides]] [[https://www.youtube.com/watch?v=pLC2a_9_-t8|Video parte 1]] [[https://youtu.be/y2spYBzINPY|Video parte 2]]
4. **Novas tecnologias e aplicações de bancos de dados**
* NoSQL: conceitos gerais [[http://www.dcc.ufmg.br/~clodoveu/files/IBD/Aulas/IBD07 NoSQL.pdf|Slides]] [[https://www.youtube.com/watch?v=Wc56iWEu--c|Video]] AVISO: video com 58 minutos de duração
* Gerenciamento de dados geoespaciais [[https://youtu.be/BEIFe5QdHEo|Video: geoinformática]]
* Gerência de Dados e Informação: a área de pesquisa no PPGCC/DCC [[https://www.youtube.com/watch?v=iDjkD0OZo14|Video]]
* Mineração de Dados e Ciência dos Dados: a área de pesquisa no PPGCC/DCC [[https://photos.app.goo.gl/Ef45VC6fYSVa3uUc6|Video]]
== Atividades Práticas e Avaliações ==
** Exercícios de modelagem **
* Empresa (modelo do livro-texto) [[https://www.dropbox.com/s/20jwsidcrmfs6gh/Exercicio%20modelagem%20empresa%20elmasri%20navathe.pdf?dl=0|Requisitos]] [[https://www.dropbox.com/s/2lqyo5sholi4nl3/IBD02e0%20Exercicio%20modelagem%20ER%20empresa%20E%26N.pdf?dl=0|Slides]]
* Aluguel de imóveis [[https://www.dropbox.com/s/dp01gd59dqf3guc/Exercicio%20modelagem%20aluguel%20de%20imoveis.pdf?dl=0|Requisitos]] [[https://www.dropbox.com/s/l3mc6n8c3x8ifcw/IBD02e1%20Exercicio%20modelagem%20ER%20aluguel%20de%20imoveis.pdf?dl=0|Slides]]
* Oficina de consertos [[https://www.dropbox.com/s/ku3i5lbxk9h1tnh/Exercicio%20modelagem%20oficina%20de%20consertos.pdf?dl=0|Requisitos]] [[https://www.dropbox.com/s/gwtzdcypf3n3k5r/IBD02e6%20Exercicio%20modelagem%20ER%20oficina%20de%20consertos.pdf?dl=0|Slides]]
* Netflix [[https://www.dropbox.com/s/mvloazi6hdfu62i/Exercicio%20modelagem%20NetFlix.pdf?dl=0|Requisitos]] [[https://www.dropbox.com/s/jyvikq6pjo7sthn/IBD02e2%20Exercicio%20modelagem%20ER%20Netflix.pdf?dl=0|Slides]]
* Empresa industrial [[https://www.dropbox.com/s/onbgg4b1zctep19/Exercicio%20modelagem%20empresa%20industrial.pdf?dl=0|Requisitos]] [[https://www.dropbox.com/s/7pvtru5cafsp1dz/IBD02e5%20Exercicio%20modelagem%20ER%20empresa%20industrial.pdf?dl=0|Slides]]
* Processos judiciais (ERE) [[https://www.dropbox.com/s/kee6zn35516dsu3/Exercicio%20modelagem%20processos%20judiciais.pdf?dl=0|Requisitos]] [[https://www.dropbox.com/s/p1kpp126ruj3h5a/IBD02e7%20Exercicio%20modelagem%20ER%20processos%20judiciais.pdf?dl=0|Slides]]
* Campeonato de futebol (ERE/UML) [[https://www.dropbox.com/s/x0wo626y87g1deg/Exercicio%20modelagem%20campeonato%20de%20futebol.pdf?dl=0|Requisitos]] [[https://www.dropbox.com/s/h6smfo3kpa2fl3i/Exercicio%20campeonato%20de%20futebol%20UML.pdf?dl=0|Diagrama]]
** Exercícios de mapeamento ER-Relacional **
* Processos judiciais [[https://www.dropbox.com/s/lz75omz6ey6ffvy/20210720%20RESOLUCAO%20exercicio%20mapeamento%20ER%20relacional%20processos%20judiciais.pdf?dl=0 | Resolução]]
* Cadastro urbano [[https://www.dropbox.com/s/xop8jcamb1lu8nm/20211216%20RESOLUCAO%20exercicio%20mapeamento%20ER%20relacional%20cadastro%20urbano.pdf?dl=0 | Resolução]]
** Exercícios de álgebra relacional **
* Comércio exterior [[https://www.dropbox.com/s/rlaoo38l3sr0py4/20210201%20exercicio%20algebra%20relacional%20comercio%20exterior.pdf?dl=0 | Enunciado]] [[https://www.dropbox.com/s/cltw8238l5h5ohf/20210201%20RESOLUCAO%20exercicio%20algebra%20relacional%20comercio%20exterior.pdf?dl=0 | Soluções]]
** Exercícios de SQL **
* Comércio exterior [[https://www.dropbox.com/s/693trnt4yqg0ttk/20201230%20exercicio%20consultas%20comercio%20exterior.pdf?dl=0 | Enunciado, questões, estrutura das tabelas ]] Obs: script de criação de tabelas e carga de dados disponível acima, nesta página. [[https://www.dropbox.com/s/dephi4y21e4ug4b/exercicio%20consultas%20comercio%20exterior%20gabarito.pdf?dl=0 | Resolução]]
* Provas anteriores (!) [[https://www.dropbox.com/scl/fi/nw9j3z7u0xmpsgq4jb6kb/20231123-Exercicios-SQL-de-provas-anteriores-enunciado.pdf?rlkey=55vx6ef3olbgb0ax6jx8dxygi&dl=0 | Enunciado ]] [[https://www.dropbox.com/scl/fi/wwkkgpv036lpczp8ch9st/20231123-Exercicios-SQL-de-provas-anteriores-resolucao.pdf?rlkey=41aazmtya8hsop4fyvkqyjfbl&dl=0| Resolução]]
== Calendário ==
^Aula ^Data ^Conteúdo previsto ^Modalidade ^
|1 |17/08/2023 |Apresentação da disciplina |Presencial |
|2 |22/08/2023 |Conceitos básicos em bancos de dados. Modelos de dados, esquemas, instâncias |Presencial |
|3 |24/08/2023 |Arquitetura de um SBD; componentes de um SGBD |Presencial |
|4 |29/08/2023 |Projeto conceitual: modelo ER |Presencial |
|5 |31/08/2023 |Projeto conceitual: modelo ER |Presencial |
|6 |05/09/2023 |ER: exercício |Presencial - exercício |
|7 |12/09/2023 |Modelo ER estendido; UML; conceitos adicionais |Presencial - exercício |
|8 |14/09/2023 |ERE: exercício |Presencial |
|9 |19/09/2023 |ERE: exercício |Presencial |
|10 |21/09/2023 |ERE/UML: exercício; variações de notação em esquemas conceituais - Revisão para a Prova 1 |Presencial |
|11 |26/09/2023 |Restrições de integridade - Revisão para Prova 1 Atividades Complementares UFMG -- aula cancelada |Reunião virtual (a definir) |
|12 |28/09/2023 |Prova 1: conceitos e modelagem conceitual |Prova presencial -- individual|
|13 |03/10/2023 |Modelo Relacional |Presencial |
|14 |05/10/2023 |Mapeamento ER/UML para relacional |Presencial |
|15 |10/10/2023 |Mapeamento ER/UML para relacional: exercícios |Presencial - exercício |
|16 |17/10/2023 |Álgebra relacional |Presencial |
|17 |19/10/2023 |Álgebra relacional: exercícios |Presencial - exercício |
|18 |24/10/2023 |Normalização - Revisão para Prova 2 |Presencial |
|19 |26/10/2023 |Lei de Acesso à Informação. Fontes de dados públicos. Trabalho Prático |Presencial |
|20 |31/10/2023 |Prova 2: modelo relacional e álgebra |Prova presencial -- individual |
|21 |07/11/2023 |A linguagem SQL: conceitos, DDL, mapeamento relacional-SQL |Presencial |
|22 |09/11/2023 |SQL: inserção e atualização |Presencial |
|23 |14/11/2023 |SQL: consultas |Presencial - exercício |
|24 |16/11/2023 |SQL: exercícios |Presencial |
|25 |21/11/2023 |NoSQL: conceitos gerais |Presencial |
|26 |23/11/2023 |NoSQL: conceitos gerais |Presencial |
|27 |28/11/2023 |Tópico extra |Presencial |
|28 |30/11/2023 |Revisão para Prova 3 |Presencial |
|29 |05/12/2023 |Prova 3: SQL e NoSQL |Prova presencial -- individual |
|30 |07/12/2023 |Prova de reposição OU tópico extra: a definir |Presencial |