Projecto - parte 1
Bases de Dados (CC2005), DCC / FCUP
Eduardo R. B. Marques, DCC / FCUP
Última actualização: 9 de Novembro de 2021
Objectvo
Neste primeira parte do projecto pretende-se que conceba uma BD para um universo à sua escolha, considerando os seguintes passos:
- a descrição dos requisitos da BD;
- um modelo Entidade-Relacionamento (ER) correspondente aos requisitos;
- a conversão do modelo ER para um modelo relacional;
- a concretização do modelo relacional em uma base de dados MySQL;
- e finalmente o preenchimento da BD MySQL com alguns dados.
Restrições
Universo da BD
O universo da BD não deverá ser um dos exemplos discutidos nas aulas ou ser muito parecido com estes (como as BDs empresa, "Livro das Caras", ou MovieStream). Tem liberdade para a escolha do universo. Poderá por exemplo considerar:
- instituições (bibliotecas, museus, ...);
- empresas ou estabelecimentos comerciais de algum tipo (restaurante, supermercado, ...);
- eventos (competições desportivas, congressos, ...);
- universos fantásticos (Star Wars, heróis Marvel, ...);
- "sites" de um domínio específico (ex. "versões simples" de Spotify, YouTube, ...);
- ... ou outro qualquer que seja fácil de expôr e compreender!
Independentemente do universo escolhido, os requisitos da BD devem ser claros e sucintos para uma modelação ER correspondente sem ambiguidades. De resto, pode simplificar aspectos do universo em causa ou apenas cobrir parte deles, desde que atenda às restrições descritas a seguir.
Modelo ER
O modelo ER derivado dos requisitos para a BD deverá obedecer às seguintes restrições:
- 4 entidades-tipo no mínimo, e de tal forma que haja pelo menos uma entidade-tipo que exemplifique cada um dos seguintes tipos de atributos (além de atributos-chave):
- opcional;
- derivado;
- multi-valor;
- e composto;
- 6 relacionamentos binários no mínimo por forma a que pelo menos um dos relacionamentos exemplifique:
- cardinalidade 1:N ou N:1;
- cardinalidade M:N;
- cardinalidade 1:1;
- participação parcial por uma entidade;
- participação total por uma entidade;
- a existência de um ou mais atributos para o relacionamento;
- Opcionalmente, o modelo ER poderá também fazer uso de entidades-tipo fracas, e alguns relacionamentos binários poderão ser recursivos.
- Não deverá fazer uso de relacionamentos ternários.
Modelo relacional / base de dados SQL
O modelo relacional deverá corresponder a um mapeamento adequado do modelo ER para um modelo relacional.
Esquema da BD MySQL
A BD SQL deverá ser composta por tabelas com chaves primárias e externas bem definidas, e atributos com tipos SQL adequados.
Dados na BD MySQL
Os dados da BD (conteúdos das tabelas) não precisam de ser em grande volume, mas devem exercitar os vários aspectos do universo considerado / esquema SQL correspondentes.
Realização e entrega
O trabalho pode ser realizado em grupos de 1 a 3 alunos e deve ser entregue até ao dia 28 de Novembro de 2021 inclusive.
Deverá entregar, de forma a anunciar posteriormente:
- Relatório de até 6 páginas em formato PDF, onde constem de forma clara:
- a identificação do grupo;
- os requisitos considerados para a BD;
- a explicação da tradução dos requisitos em modelo ER;
- a explicação da tradução do modelo ER para o modelo relacional;
- o volume de dados em termos do número de registos por tabela na base de dados SQL.
- Diagrama ER no formato de texto do dbdia - pode incluir a imagem
do diagrama no relatório, mas deve submeter o código fonte do mesmo.
- Diagrama relacional no formato de texto do dbdia - pode incluir a imagem do diagrama no relatório, mas deve submeter o código fonte do mesmo.
- Ficheiro SQL contendo o esquema e dados da BD.