Trabalho de Plataforma de Cursos
Por: Mauricio Marques • 6/10/2023 • Trabalho acadêmico • 2.589 Palavras (11 Páginas) • 86 Visualizações
Universidade Federal de São Carlos - Campus Sorocaba
Bacharelado em Ciência da Computação
Banco de Dados
Grupo 05 – Plataforma online de cursos
Professora: Sahudy Montenegro González
Gabriel Goulart Homem - RA: 771011
Maurício Marques da Silva Junior - RA: 771053
Renan Oliveira de Barros Lima - RA: 771061
Fase Final
Data Entrega: 21/06/2021
Índice
1 - Descrição do problema 3
1.1 - Consultas 4
2 - Projeto conceitual 5
3 - Projeto Lógico 7
4 - SQL 10
4.1 - Consultas 10
4.2 Triggers 13
5 - Considerações finais 16
1 - Descrição do problema
O banco de dados sobre a plataforma online de cursos tem como objetivo conter informações sobre os usuários da mesma, sendo eles alunos e professores, além de conter informações sobre os cursos desenvolvidos pelos professores.
O usuário da plataforma tem como dados seu nome, email, sua senha de acesso - que deve possuir pelo menos 8 caracteres, data de nascimento e sua idade calculada a partir da data de nascimento. O mesmo pode ser aluno e professor ao mesmo tempo ou não. Como aluno ele pode cursar os cursos presentes no banco de dados desde que ele tenha comprado eles, e tem direito a um desconto no preço do curso dependendo de quando a compra do curso foi executada. Já o professor tem que cadastrar suas formações acadêmicas, e ele pode desenvolver vários cursos na plataforma sozinho ou em parceria com outros professores.
Sobre o curso devem ser guardadas sua descrição, código do curso, nome, quantidade de módulos e preço, sendo que o preço sempre será maior ou igual a zero. O curso também possui tanto sua categoria, que detém sua categoria principal e seu glossário (outros significados para a mesma categoria, exemplo “TI” e Tecnologia da informação), quanto vários módulos, que por sua vez contém suas seções, o nome do módulo e um ou vários vídeos contidos no módulo do curso.
1.1 - Consultas
- Quantos alunos cursaram cada curso?
- retorna o número de alunos inscritos em cada curso
- Quantos usuários tem na plataforma?
- retorna o valor numérico
- Listar os cursos de uma determinada categoria
- recebe o nome da categoria
- retorna a lista de Cursos
- Listar os professores que são alunos
- retorna todos os professores que são alunos
- Listar os módulos de um curso
- recebe um curso
- retorna uma lista com os módulos.
- Pegar o conteúdo de um módulo de um curso específico
- recebe um curso, e o módulo que se quer obter as vídeo-aulas
- recebe os valores do módulo
- Pesquisar curso pelo nome do curso
- recebe o nome do curso
- retorna o preço e descrição
- Calcular o preço do curso com desconto
- recebe um curso
- retorna o valor do curso
- Quantidade de vídeos por módulo de um curso
- recebe um curso
- retornar a quantidade de vídeos para cada módulo do curso
2 - Projeto conceitual
A figura 1 e a tabela 1 apresentam o projeto do modelo de entidade de relacionamento obtido a partir da descrição do problema.
[pic 1]
Figura 1: Diagrama de Entidade Relacionamento
Fonte: Autoria própria
Tipo-Entidade | Atributo | Tipo | Restrição |
Usuário | identificador | Obrigatório | |
nome | monovalorado | Obrigatório | |
senha | monovalorado | Obrigatório, tamanho >= 8 | |
data de nascimento | monovalorado | Obrigatório | |
idade | calculado | Obrigatório | |
Usuário: Aluno | |||
Usuário: Professor | formação | multivalorado | Obrigatório |
Curso | cod curso | identificador | Obrigatório |
nome | monovalorado | Obrigatório | |
descrição | monovalorado | Obrigatório | |
preço | monovalorado | Obrigatório, valor >= 0 | |
quantidade de módulos | calculado | Obrigatório | |
Módulo | seção | identificador parcial | Obrigatório |
nome | monovalorado | Obrigatório | |
video-aulas | multivalorado | Obrigatório | |
Categoria | categoria principal | identificador | Obrigatório |
glossário | multivalorado | Obrigatório | |
Cursa | desconto | monovalorado | Opcional, valor entre 0 e 1 |
...