IMPORTANTE

Devido as suspensão das atividades presenciais na UFPA, a disciplina irá rodar de forma REMOTA. O horário de aula será respeitado, e os encontros irão acontecer online. Como isso está sendo feito de forma EXPERIMENTAL, é provável que várias mudanças aconteçam ao longo da disciplina. Por favor, semprem olhem o Telegram, que é o canal oficial de comunicação da turma. Reforço que as atividades remotas serão reavaliadas a cada semana. Se não houver progresso/participação por parte dos alunos, a disciplina será SUSPENSA, e só retornará quando a UFPA retormar as atividades.

Horário

Segunda e Quarta, às 14:50.

Telegram

Todo material de aula será postado no Telegram. Para acessar: https://t.me/joinchat/GeSB2RYJ9Q6jaggiiyPppg

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.

Bibliografia

  • HEUSER, Carlos Alberto. Projeto de Banco de Dados. 2a edição. Porto Alegre: Sagra - Luzzato, 1999.
  • SILBERSCHATZ, A.; KORTH, H.; SUDARSHAN, S. Sistema de Banco de Dados. 3a edição. São Paulo: Markon Books, 1999.

Material extra

Avaliação

  1. Projeto sobre modelagem de dados: 5 pontos
  2. Prova sobre modelagem de dados: 5 pontos
  3. Projeto de disciplina (PD): 10 pontos
  4. Atividade extra (AE): 2 pontos

Projeto sobre modelagem de Dados

Os alunos devem criar o modelo entidade relacionamento de um sistema de software não trivial. Os alunos devem apontar o sistema escolhido no Telegram. O critério de escolha é first come, first served. O trabalho é em dupla. Cada dupla deve descrever em profundidade o sistema escolhido. No entanto, entidades e relacionamentos que não são vitais para o domínio da aplicação não precisam ser descritos. A dupla deve saber justificar as escolhas e implementações feitas. A dupla deverá apresentar o trabalho na data marcada. Na apresentação, a dupla deve descrever o domínio do problema da aplicação escolhida (o que ela faz), as entidades e seus relacionamentos. A riqueza de detalhes (atributos e seus tipos, relacionamentos e seus tipos) é importante para as principais entidades do sistema. Os modelos devem conter, no mímimo, as seguintes características: (1) cardinalidade mínima e máxima, (2) atributo simples, identificador e multivalorado, (3) relacionamento com atributo, (4) relacionamento unário, (5) relacionamento ternário, (6) entidade fracas. Não é necessário descrever essas características para todas entidades e relacionamento; somente para aquelas que representam o core da aplicação. A não apresentação de uma das características acarretará na redução de 0.50 pontos da atividade (somado para cada característica pendente). Se a dupla optar por usar um software de modelagem que não implemente as características mencionadas anteriormente, certifiquem-se de modificar os diagramas para que essas características sejam cobertas. No mímimo de 3 horas antes da apresentação, a dupla deve enviar os slides bem como o diagrama para o slack (o não envio no prazo estipulado acarretará na redução de 2 pontos da atividade). As duplas que apresentarem no segundo dia serão mais cobradas. Apresentação de até 25 minutos por dupla.

Projeto de Disciplina (PD)

  • TBD

Base de dados abertas

  • StackOverflow: http://data.stackexchange.com/stackoverflow/queries
  • Github: https://cloud.google.com/bigquery/public-data/github e http://ghtorrent.org/ (exemplos aqui)
  • Wikipedia: https://bigquery.cloud.google.com/dataset/fh-bigquery:wikipedia?pli=1 (exemplos aqui)

Atividade Extra (AE)

Alunos interessados em fazer a atividade extra devem entrar em contato com o professor, avisando o interesse, até o dia 16/04. As instruções da atividade extra será passada para o aluno interessado. A atividade extra é individual.

Cronograma

Passível de alterações.

| # | Data | Conteúdo de Aula | Link? | | 1 | 09/03 | AULA CANCELADA | | | 2 | 11/03 | AULA CANCELADA | | | 3 | 16/03 | Apresentação da disciplina | | | 4 | 18/03 | DDL, DML, SQL CREATE, INSERT | | | 5 | 23/03 | SQL SELECT, DELETE e UPDATE | | | 6 | 25/03 | SQL Complexo | | | 7 | 30/03 | Exercício | | | 8 | 01/04 | SQL Funções | | | 9 | 06/04 | SQL Subqueries | | | 9 | 08/04 | SQL Autorização | | | 9 | 13/04 | Normalização (definição de projetos) | | | 10 | 15/04 | Exercício | | | 11 | 20/04 | Prova | | | 13 | 22/04 | Acompanhamento de projetos | | | 12 | 27/04 | Acompanhamento de projetos | | | 14 | 29/04 | Acompanhamento de projetos | | | 15 | 04/05 | Acompanhamento de projetos | | | 16 | 06/05 | Acompanhamento de projetos | | | 17 | 11/05 | Acompanhamento de projetos | | | 18 | 13/05 | Apresentação de projetos (Parte 1) | | | 19 | 18/05 | Apresentação de projetos (Parte 2) | | | 21 | 20/05 | Modelagem ER | | | 22 | 25/05 | Modelagem ER | | | 23 | 27/05 | Modelagem ER (definição de projetos) | | | 24 | 01/06 | Exercício | | | 25 | 03/06 | Prova | | | 26 | 08/06 | Acompanhamento de projetos | | | 27 | 10/06 | Acompanhamento de projetos | | | 28 | 15/06 | Acompanhamento de projetos | | | 29 | 17/06 | Acompanhamento de projetos | | | 28 | 22/06 | Apresentação de projetos (Parte 1) | | | 29 | 24/06 | Apresentação de projetos (Parte 2) | | | 28 | 29/06 | Buffer | | | 29 | 01/07 | Buffer | |

Entrega atrasada

Entregas de trabalhos após o prazo serão aceitas mas os pontos referentes não serão contabilizados.

Política de plágio

Todos os trabalhos (a não ser que indicados explicitamentes) devem ser feitos de forma individual. O que você entregar deve ser fruto do seu trabalho. Alunos são permitidos e encorajados para discutir os trabalhos e projetos com outros alunos. Alunos não são permitidos copiar solução ou parte de solução de colegas. Na presença de plágio, os alunos envolvidos não receberão pontos da atividade em questão.