Projecto de BD
Bases de Dados (CC2005), DCC / FCUP
Eduardo R. B. Marques, DCC / FCUP
14 de Abril de 2020
Sumário
Neste projecto pretende-se que caracterize um universo à sua escolha para uma base de dados,
sujeito a determinadas restrições, considerando:
- os requisitos da BD, descritos em forma textual;
- um modelo Entidade-Relacionamento (ER) para a BD;
- a conversão do modelo ER para o modelo relacional na forma de um esquema SQL;
- e a instanciação do esquema SQL com alguns dados.
Restrições
O universo da BD não deverá ser um dos exemplos discutidos nas aulas ou ser muito parecido com estes (como a BD empresa, o "Livro das Caras", ou BD 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. Spotify, YouTube, ...);
- ... ou outro qualquer que seja fácil de expor 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 no ponto a seguir.
O modelo ER derivado dos requisitos para a BD deverá conter:
- 4 entidades-tipo no mínimo e idealmente não mais do que 6, 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 e idealmente não mais do que 10, por forma a que pelo menos 1 dos relacionamentos exemplifique:
- cardinalidade 1:N ou N:1;
- cardinalidade M:N;
- participação parcial por uma entidade;
- participação total por uma entidade;
Opcionalmente, o modelo ER poderá também fazer uso de entidades-tipo fracas e conter relacionamentos binários 1:1.
O esquema SQL deverá:
- corresponder a um mapeamento adequado do modelo ER para um modelo relacional;
- ser compostos por tabelas com chaves primárias e externas bem definidas, e com atributos com tipos SQL adequados;
Os dados que instanciam o esquema (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é dia 3 de Maio de 2020 10 de Maio de 2020.
Deverá entregar um arquivo ZIP com o conteúdo descrito abaixo -- o modo de entrega será anunciado posteriormente.
- Relatório curto de até 3 páginas em formato Markdown, OpenOffice, PDF, ou MS Word, onde constem:
- a identificação do grupo, e a lista dos outros ficheiros constantes no arquivo ZIP;
- os requisitos considerados para a BD;
- explicação da tradução dos requisitos em modelo ER;
- explicação da tradução do modelo ER para o modelo relacional;
- Imagem (ou imagens) do(s) diagrama(s) ER em formato PNG, PDF, ou SVG;
- Poderá separar em dois diagramas, um só contendo entidades-tipo e o outro contendo só relacionamentos (i.e., sem os atributos das entidades-tipo).
- Inclua também o(s) ficheiro(s) de descrição do(s) diagrama(s) se usar a ferramenta dbdia como recomendado (ver recursos).
- Imagem do diagrama do modelo relacional em formato PNG, PDF, ou SVG;
- Inclua também o ficheiro de descrição de diagrama se usar a ferramenta dbdia (ver recursos).
- Ficheiro SQL contendo o esquema e dados da BD.
Referências e recursos
Referências
Deve considerar como referências principais o material disponibilizado na página da UC de Bases de Dados na forma de "slides", fichas de exercícios e soluções disponibilizadas para mesmas, e ainda exemplos SQL (ex. BD Livro das Caras).
Desenho de diagramas
- Ferramenta recomendada → dbdia
- Deve incluir neste caso na entrega não só os diagrama obtidos em formato SVG mas também os ficheiros de texto fonte para a geração de diagramas.
- Outras opções (nota: o docente não poderá dar apoio no uso destas ferramentas):