Trabalho - Banco de Dados

Diretrizes da entrega do trabalho

Entrega de Atividade Exclusivamente via Moodle
Autor

Professor: Yuri Sampaio Maluf

Estrutura

O trabalho de banco de dados é composto basicamente por duas partes. A primeira delas é a escrita, contendo explicações sobre o banco. Na segunda e última etapa é o arquivo contendo todo o desenvolvimento e implementação do SGBD MariaDB. Na capa do trabalho é mandatório mostrar qual o ramo de negócio alvo do grupo, os nomes de seus membros, bem como suas respectivas matrículas. O trabalho deve ser enviado por meio de um arquivo compactado tais como: 7z .bdoc .cdoc .ddoc .gtar .gz .gzip .hqx .rar .sit .tar .tgz .zip. Dentro deste arquivo, deve conter os arquivos da parte escrita bem como a do banco de dados em .sql. A data limite para entrega do trabalho é dia 3 de Dezembro 4 de Dezembro até as 10h da manhã. O envio deve ser feito única e exclusivamente pelo Moodle. Não serão aceitos envios por e-mail ou fora do período de entrega.

Parte Escrita

Na primeira parte do trabalho, o grupo irá apresentar brevemente o caso da empresa e suas particularidades. Na sequência, devem ser elencados os recursos oferecidos pelo banco de dados e que seja de claro interesse do ramo abordado. Um exemplo seria oferecer ao ramo varejista consultas que permitam calcular o lucro, a partir geração do total de receitas e custos agrupadas por tipo de cliente e quais produtos foram responsáveis por tal resultado. O funcionamento adequado desses recursos em termos de informação e implementação serão verificados posteriormente na parte computacional do trabalho.

A próxima etapa é a apresentação do modelo conceitual. Imprescindivelmente o DER precisará ser exibido, respeitando os padrões das representações geométricas. Todas as entidades apresentadas no diagrama precisam conter uma explicação bem sucinta. A última etapa da parte escrita, segue-se com a apresentação do modelo lógico em conjunto com o diagrama relacional das tabelas. Neste momento, os tipos de variáveis adotados para cada atributo e as constraints empregadas nas tabelas, caso houver, precisam ser descritos. Pensando no gerenciamento do banco de dados, descrevam qual a estratégia do grupo quanto aos privilégios de acesso dos usuários do banco de dados.

Em suma, a parte correspondente ao trabalho escrito objetiva montar um documento assemelhante a um read-me muito bem construído. Com isso, qualquer usuário numa plataforma como o GitHub, possa entender, fazer um fork e utilizar em seu sistema.

Parte Computacional

Na última etapa do trabalho é necessário somente o envio do arquivo no formato .sql. Por meio do utilitário de console mysqldump podemos gerar o esse arquivo. Ele é muito útil pois permite facilmente a transferência e migração de bancos de dados. A partir do nome do banco e de usuário com privilégios de acesso, ao menos no nível de leitura, podemos realizar a exportação do banco tanto da sua estrutura quanto de seus dados.


mysqldump -u username -p database_name > data-dump.sql || echo "falha!"

Exportação do banco de dados com estrutura e dados

Na hipótese de exportar apenas a estrutura introduzimos uma flag ao comando mysqldump como descrito abaixo.

mysqldump -u <username> -p --no-data database_name > schema.sql || echo "falha!"

Adicionalmente, todas das tabelas compatíveis e relevantes ao CRUD(Create, Read, Update e Delete) é fortemente recomendável estarem implementadas. Por fim, o banco deve fornecer os scripts para obter as informações indicadas na parte do trabalho escrito. Elas podem ser geradas por qualquer meio tais como: function, view, stored procedure, triggers ou mesmo o próprio script SQL de consulta usual ao banco de dados. Para que eu possa extrair as informações é necessário que o banco tenha alguns registros fictícios, o suficiente para simular diversas consultas.

Avaliação

As componentes do critério de avaliação serão:

  1. Escrita (PE):

    1. Clareza e coesão (CC)

    2. Modelo Conceitual (MC)

    3. Modelo Lógico (ML)

  2. Computacional (PC):

    1. CRUD

    2. Complexidade e Relevância Informacional (CRI)

Nota do Trabalho (NT) será calculada por

NT=\frac{PE+PC}{2}. A parte escrita é computada da seguinte forma abaixo

PE=\frac{CC+MC+ML}{3}.

Já para a parte computacional

PC=\frac{1}{4}CRUD+\frac{3}{4}CRI.

A primeira componente de PC é dado por CRUD=\sum_{j=1}^{m}\frac{h(T_{j}|c,r,u,d)}{m}

onde h é a aplicação dos recursos CRUD sobre a tabela T_{j} de um banco de dados composto de n tabelas e sendo m<n a quantidade de tabelas compatíveis e relevantes para aplicar h. Já o valor CRI é calculado por

CRI = \sum_{k=1}^{5} A_{k}A'_{k}\lambda_{k}+\sum_{k=6}^{\infty } A_{k}A'_{k}\rho^k em que A_{k} e A'_{k}=\left\{0,1\right\} são a efetiva implementação do recurso A_{k} e o seu anuncio A'_{k} na parte escrita. Os recursos anunciados recebem A'_{k}=1 e quando implementado recebe A_{k}=1 sendo A_{k}A'_{k}=1, caso o recurso prometido não seja implementado A_{k}=0, então A_{k}A'_{k}=0. As notas das implementações A_{k} são datas por \lambda_{k}=\left\{0,0.5,1\right\}. Note que a partir do sexto recurso em diante, a pontuação será extra sendo a nota de cada um deles dada por \rho=2/3.