Sei sulla pagina 1di 19

UNIVERSIDADE ESTADUAL DE MONTES CLAROS- UNIMONTES

CENTRO DE CINCIAS EXATAS E TECNOLGICAS - CCET


DEPARTAMENTO DE CINCIA DA COMPUTAO - DCC
SISTEMAS DE INFORMAO

GEISA MARTINS CRUZ


JHENNYFER EMANUELE

PROJETO DE UM SISTEMA PARA GERENCIAMENTO DE


TURMAS E COMPROMISSOS DE UM PROFESSOR.

MONTES CLAROS
NOVEMBRO, 2014
1

Sumrio
1. Resumo ............................................................................................................................... 3
2. Introduo ............................................................................................................................4
2.1.Banco de Dados .................................................................................................................4
2.2.Sistema Gerenciador de Banco de Dados (SGDB) ...........................................................4
2.3.Modelo de dados ................................................................................................................4
3. Definio do Sistema ...........................................................................................................5
4. Dicionrio de Dados ...........................................................................................................6
5. Modelagem (Entidade-Relacionamento ou UML) .............................................................7
6. Querys (Sentenas SQL) para criao das tabelas ..............................................................8
7. Sentenas SQL (cadastros, excluso e alterao) ...............................................................9
8. Sentenas SQL para listagens simples ..............................................................................14
9. Tabelas do Banco de Dados ...............................................................................................17
10. Concluso ..........................................................................................................................18
11. Referncias ........................................................................................................................19

Resumo
Atualmente os computadores e a internet no se resumem somente ao entretenimento
como, por exemplo, no inicio da dcada de 90. A informtica surgiu como um novo conceito de
negcio, gesto, administrao.
Baseando nessa nova realidade propomos este trabalho, mostrando que a informtica
pode ir mais alm que simples momentos de diverso, como fazer o gerenciamento de
informaes e facilitar o uso destas, garantido a segurana dos dados.
O Dirio um sistema pessoal do professor para gerenciamento de sua classe de alunos,
controle do educando e produtividade em ambiente educacional; para escolas de todos os nveis,
desenvolvido para ser compatvel com qualquer plataforma de computadores. Ou seja, qualquer
organizao e/ou professor pode adquirir uma verso para informatizar os seus processos e
explorar todos os benefcios que a Internet e os sistemas de informao podem trazer.
Dessa maneira dimensionamos as necessidades do professor, analisamos a sua estrutura e
recursos fsicos para ento projetarmos um sistema de informao moldado para o professor,
capaz de suprir as suas necessidades.

Introduo
Antes de definirmos o sistema importante ressaltar alguns conceitos bsicos para
melhor compreenso do projeto de Banco de Dados. So apresentados conceitos como banco de
dados que muitas vezes a parte mais importante do projeto, pois ser onde as informaes sero
armazenadas; sistema de gerncia de banco de dados e modelo de dados. Alm disso, fornecida
uma viso geral do projeto de banco de dados
Os leitores que j conhece m os fundamentos de banco de dados provavelmente podero
passar diretamente para a definio do sistema.
1.1. Banco de Dados
Definies Preliminares:

[Chu, 1985]: Um banco de dados um conjunto de arquivos relacionados entre si.


[Date, 1975]: Um banco de dados uma coleo de dados operacionais armazenados que
so usados pelas aplicaes de uma determinada organizao.

De acordo com essas definies podemos afirmar que Banco de Dados um conjunto de
dados integrados que tem por objetivo atender a uma comunidade de usurios.

1.2. Sistema Gerenciador de Banco de Dados (SGDB)


Um sistema de gerncia de banco de dados (SGBD) um conjunto de programas que
permite criar e manter bancos de dados. O mesmo incorpora as funes de definio,
recuperao e alterao de dados em um banco de dados.
1.3. Modelo de Dados
Um modelo de (banco de) dados uma descrio dos tipos de informaes que esto
armazenadas em um banco de dados.
No projeto de banco de dados, normalmente so considerados dois nveis de abstrao de
modelo de dados, o do modelo conceitual e o do modelo lgico. No decorrer do projeto
falaremos especificamente de cada um.

Definio do sistema
O Dirio (Daily) foi criado para facilitar o gerenciamento e controle de uma classe de
alunos. Ou seja, para auxiliar professores a gerenciar notas, frequncias e compromissos de uma
turma a qual o professor (usurio) leciona.
O software futuramente trar ao usurio a possibilidade de ser usado tanto off-line quanto
na Nuvem. No entanto primeiramente passar por uma fase de teste onde ser utilizado somente
o modo off-line.
O sistema disponibilizar funes como: cadastrar usurio, cadastrar disciplina, agendar
compromissos (provas, atividades, aulas), separar compromissos por marcadores, lembrar
compromissos, enviar arquivos (Nuvem), consultar e alterar freqncia, nota e situao de aluno.
Pensando na segurana da informao, criamos uma base de dados para controlar
redundncia dos dados, armazenamento persistente dos dados, processamento eficiente de
consultas, manuteno de backup e recuperao de falhas, etc.
importante destacar tambm que para garantir os trs princpios bsicos da segurana
da informao: integridade, disponibilidade e autenticidade das informaes; primeiramente para
utilizar o sistema ser solicitado login do usurio.
Como ferramenta de desenvolvimento utilizamos o Wamp para o BD, Mysql como nosso
sistema gerenciador de banco de dados (SGDB), SQL como linguagem, e brModelo como
ferramenta para desenvolver os diagramas.

Dicionrio de dados
Professor
Chave

Campo

Primary key Cod_Prof


Nome

Chave
Primary Key

Foreign key

Chave
Primary Key

Foreign key

Chave

Fereign key

Campo
Cod_Turma
Nome
Disciplina
Cod_Prof
Integer

Tipo

Tamanho

Restries

Descrio

Integer

NOT NULL Cdigo nico do professor

Varchar

30

NOT NULL Nome do Professor

Tipo
Integer
Varchar
Varchar
integer

Turma
Tamanho
3
10
20
3

Campo
Mat_aluno
Nome
Nota

Tipo
integer
varchar
decimal

Prova_final
Situacao

decimal
varchar

Cod_Turma

integer

Campo
Codigo
Data
Nome
Descricao

Tipo
Integer
Date
Varchar
Varchar

Nota
Mat_aluno

Decimal
Integer

Restries
NOT NULL
NOT NULL
NOT NULL
NOT NULL

Descrio
Cdigo da turma
Nome da turma
Nome da disciplina
Cdigo do professor da turma

Aluno
Tamanho Restries
Descrio
5
NOT NULL Matrcula do aluno
30
NOT NULL Nome do aluno
5,2
NOT NULL Nota total de atividades do
aluno
5.2
NOT NULL
20
NOT NULL Situao do aluno: Aprovado
ou Reprovado
3
NOT NULL Cdigo da turma em que o
aluno est matriculado.
Atividade
Tamanho Restries
3
NOT NULL
NOT NULL
20
NOT NULL
30
NOT NULL
5.2
5

Descrio
Cdigo da atividade
Data da realizao da atividade
Nome da atividade
Descrio da atividade a ser
realizada
NOT NULL Nota de atividades
NOT NULL Matricula do aluno

Modelagem (Entidade-Relacionamento ou UML)


Projeto Conceitual

Projeto MER:

Modelo Lgico

Querys (Sentenas SQL) para criao das tabelas


Comando para criar Banco de Dados:
create table Diario;
Comando para selecionar banco de dados para utilizao:
use Diario;
Comando para criar tabela Professor:
CREATE TABLE Professor (
Cod_Prof Integer(3) NOT NULL PRIMARY KEY,
Nome Varchar(30) NOT NULL
);
Comando para criar tabela Aluno:
CREATE TABLE Aluno (
Nota decimal(5.2) NOT NULL,
Mat_aluno Integer(5) NOT NULL PRIMARY KEY,
Nome Varchar(30) NOT NULL,
Prova_final decimal(5.2) NOT NULL,
Situacao Varchar(20) NOT NULL,
Cod_Turma Integer(3)
);
Comando para criar tabela Turma:
CREATE TABLE Turma (
Cod_Turma Integer(3) NOT NULL PRIMARY KEY,
Nome Varchar(10) NOT NULL,
Disciplina Varchar(20) NOT NULL,
Cod_Prof Integer(3) NOT NULL,
FOREIGN KEY(Cod_Prof) REFERENCES Professor (Cod_Prof) ON UPDATE
CASCADE
);

Comando para criar tabela Atividade:


CREATE TABLE Atividade (
Codigo Integer(3) NOT NULL,
Mat_aluno Integer(5) NOT NULL,
Nota decimal(5.2) NOT NULL,
Data Date NOT NULL,
Descricao Varchar(30) NOT NULL,
Nome Varchar(20) NOT NULL,
PRIMARY KEY(Codigo,Mat_aluno),
FOREIGN KEY(Mat_aluno) REFERENCES Aluno (Mat_aluno) ON UPDATE
CASCADE
);
Comando para alterar tabela Aluno (Adicionando chave estrangeira):

ALTER TABLE Aluno ADD FOREIGN KEY(Cod_Turma) REFERENCES Turma


(Cod_Turma) ON UPDATE CASCADE;

10

Sentenas SQL para cadastros, excluso e alterao, com a


explicao da funcionalidade de cada uma das querys apresentadas
Comando para inserir um professor no Banco de Dados:

INSERT INTO Professor values(001, "Amelia Pond");


INSERT INTO Professor values(002, "Sarah-Jane Smith");

Comando para inserir uma turma no Banco de Dados:

INSERT INTO Turma values(010,"1o ano","Fsica", 001);


INSERT INTO Turma values(020,"2o ano","Astronomia", 001);
INSERT INTO Turma values(030,"1o ano","Histria", 002);

Comando para inserir um aluno no Banco de Dados:

INSERT INTO Aluno values(0.00, 100, "Barry Allen", 0.00, "REPROVADO", 010);
INSERT INTO Aluno values(0.00, 101, "Arthur Dent", 0.00, "REPROVADO", 010);
INSERT INTO Aluno values(0.00, 102, "Clara Oswald", 0.00, "REPROVADO", 010);
INSERT INTO Aluno values(0.00, 103, "Leo Silva", 0.00, "REPROVADO", 010);
INSERT INTO Aluno values(0.00, 112, "Martha Jones", 0.00, "REPROVADO", 010);

INSERT INTO Aluno values(0.00, 104, "John Smith", 0.00, "REPROVADO", 020);
INSERT INTO Aluno values(0.00, 105, "Susan Foreman", 0.00, "REPROVADO", 020);
INSERT INTO Aluno values(0.00, 106, "Brbara Silva", 0.00, "REPROVADO", 020);
INSERT INTO Aluno values(0.00, 107, "Ian Arajo", 0.00, "REPROVADO", 020);

INSERT INTO Aluno values(0.00, 108, "Susana Pevensie", 0.00, "REPROVADO",


030);
INSERT INTO Aluno values(0.00, 109, "Leia Skywalker", 0.00, "REPROVADO", 030);
INSERT INTO Aluno values(0.00, 110, "Ford Prefect", 0.00, "REPROVADO", 030);
INSERT INTO Aluno values(0.00, 111, "Lily Evans", 0.00, "REPROVADO", 030);

Comando para inserir atividade no Banco de Dados:

INSERT INTO Atividade values(001, 100, 20.00, 2014/04/20, "Avaliao do 1


semestre", "Prova 1");
INSERT INTO Atividade values(001, 101, 10.00, 2014/04/20, "Avaliao do 1
semestre", "Prova 1");
11

INSERT INTO Atividade values(001, 102, 18.00, 2014/04/20, "Avaliao do 1


semestre", "Prova 1");
INSERT INTO Atividade values(001, 103, 21.00, 2014/04/20, "Avaliao do 1
semestre", "Prova 1");
INSERT INTO Atividade values(001, 112, 24.25, 2014/04/20, "Avaliao do 1
semestre", "Prova 1");
INSERT INTO Atividade values(002, 100, 30.00, 2014/11/20, "Avaliao do 2
semestre", "Prova 2");
INSERT INTO Atividade values(002, 101, 25.00, 2014/11/20, "Avaliao do 2
semestre", "Prova 2");
INSERT INTO Atividade values(002, 102, 28.00, 2014/11/20, "Avaliao do 2
semestre", "Prova 2");
INSERT INTO Atividade values(002, 103, 26.00, 2014/11/20, "Avaliao do 2
semestre", "Prova 2");
INSERT INTO Atividade values(002, 112, 20.00, 2014/11/20, "Avaliao do 2
semestre", "Prova 2");
INSERT INTO Atividade values(003, 100, 40.00, 2014/12/09, "Realizaes de Trabalhos
e Atividades em todo o ano", "Trabalhos");
INSERT INTO Atividade values(003, 101, 34.50, 2014/12/09, "Realizaes de Trabalhos
e Atividades em todo o ano", "Trabalhos");
INSERT INTO Atividade values(003, 102, 40.00, 2014/12/09, "Realizaes de Trabalhos
e Atividades em todo o ano", "Trabalhos");
INSERT INTO Atividade values(003, 103, 20.75, 2014/12/09, "Realizaes de Trabalhos
e Atividades em todo o ano", "Trabalhos");
INSERT INTO Atividade values(003, 112, 23.00, 2014/12/09, "Realizaes de Trabalhos
e Atividades em todo o ano", "Trabalhos");

Comando para somando as notas dos alunos

UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE


(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=001);
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=002);
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=003);

Comando para atualizar situao do aluno


UPDATE Aluno SET Situacao="APROVADO" WHERE Nota>60.00;
12

Comando para atualizar as notas e situao do aluno

UPDATE Aluno SET Nota=00.00;


UPDATE Aluno SET Situacao="REPROVADO"
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=001);
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=002);
UPDATE Aluno,Atividade SET Aluno.Nota=(Aluno.Nota+Atividade.Nota) WHERE
(Aluno.Mat_aluno=Atividade.Mat_aluno AND Atividade.Codigo=003);
UPDATE Aluno SET Situacao="APROVADO" WHERE Nota>60.00;

Comando para alterar a nota da prova de um aluno-> Alterando a nota da prova de Leo
Silva

UPDATE Atividade SET Nota=2.00 WHERE (Codigo=001 AND Mat_aluno=103);

Comandos de Excluso->Excluindo a Turma 2 e 3, e a Profa.: Sarah-Jane

DELETE FROM Aluno WHERE Cod_Turma=030;


DELETE FROM Turma WHERE Cod_Turma=030;
DELETE FROM Professor where Cod_Prof=002;
DELETE FROM Aluno WHERE Cod_Turma=020;
DELETE FROM Turma WHERE Cod_Turma=020;

13

Sentenas SQL para listagens simples e com relacionamentos de


tabelas, com a explicao da funcionalidade de cada uma das querys
apresentadas

Comando para consultar o atributo Mat_Aluno do aluno apelidando-o Matricula:


SELECT Mat_Aluno AS Matricula, Nome FROM Aluno GROUP BY Cod_Turma;

Comando para consultar o atributo Nome da tabela Aluno: SELECT Nome FROM
Aluno where Cod_Turma=010;

Comando para consultar os nomes de alunos que possuem cdigo da turma 030:
SELECT Nome FROM Aluno where Cod_Turma=030;

14

Comando para consultar o nome e situao dos alunos: SELECT Nome, Situacao
FROM Aluno;

Comando para consultar os atributos Nome da tabela Aluno, atributo Atividade da


tabela Nota e Codigo da tabela Atividade: SELECT Aluno.Nome, Atividade.Nota,
Atividade.Codigo
FROM
Aluno,
Atividade
WHERE
Aluno.Mat_aluno=
Atividade.Mat_aluno;

15

Comando para consultar Nome da tabela Professor, matricula, nome, nota, situao
da tabela Aluno: SELECT P.Nome AS Professor, A.Mat_aluno, A.Nome AS Aluno,
A.Nota, A.Situacao FROM Professor P, Turma T, Aluno A WHERE
(T.Cod_Prof=P.Cod_Prof AND T.Cod_Turma=A.Cod_Turma);

16

Tabelas do Banco de Dados


Tabela aluno

Tabela Atividade

Tabela Professor

Tabela Turma

17

Concluso
Foi constatado que diversos professores necessitam de um sistema para gerenciar suas
classes. Para solucionar esta questo desenvolvemos um software para fazer esta gesto. No
entanto existem sistemas que j atendem esta necessidade. Por isso pensamos em fazer algo
inovador como enviar os arquivos de estudo para e-mail do aluno.
Este sistema adequado para professores ou pequenas Organizaes. No possvel
afirmar que podemos atender a demanda de uma faculdade, por exemplo, pois ainda estamos em
fase de teste.
Com o desenvolvimento do prottipo, o controle de alunos ser efetivo, oferecendo
informaes precisas em tempo real de acordo com as atualizaes de cadastros.
Uma das principais contribuies do projeto sem dvida a emisso dos relatrios gerenciais,
que podem gerar informaes estratgicas para o professor visualizar em qual disciplina o aluno
tem se sado melhor.
A fase de adaptao do sistema ser branda e com poucas alteraes na rotina de
trabalho. Pois o prottipo foi feito de acordo com as necessidades do professor e moldado nos
atuais mtodos de trabalho.
Alm dessas facilidades, importante destacar a eliminao de arquivamento em papel,
rapidez nas informaes, facilidade de consultas e confiabilidade das informaes que so
pertinentes a todos os sistemas de informao.

18

Referncias:
Conceitos Banco de dados. Disponvel em: < http://homepages.dcc.ufmg.br/~laender/material
/ibd-parte1.pdf> Acesso em 25 de novembro de 2014.
Dicionrio de dados. Disponvel em: <http://www.inf.ufrgs.br/~vrqleithardt/Teaching/AULA%
20SEMANA%208%20a%2012/Dicionariodados.pdf> Acesso em: 24 de novembro de 2014.
Elmasri, R. & Navathe, S.B. Fundamentals of Database Systems. Second Edition. Benjamin/
Cummings, Redwood City, California, 1994
Heuser, Carlos A. Projeto de Banco de Dados. Disponvel em: <http://jalvesnicacio.files.
wordpress.com/2010/03/carlos_alberto_heuser-projeto _ de _ banco _de _dados. pdf > Acesso
em : 23 de novembro de 2014
Mattoso, Marta. Top. Esp em Banco de Dados. Disponvel em:
http://www.cos.ufrj.br/~marta/IntroductionP.pdf > Acesso em: 26 de novembro de 2014.

<

Mysql.com. Disponvel em http://dev.mysql.com/doc/refman/5.0/en/entering-queries.html >


Acesso em: 24 de novembro de 2014

Tutorial Mysql. Disponvel em< http://www.tutorialspoint.com/mysql/mysql_tutorial.pdf>


Acesso em: 24 de novembro de 2014.

19

Potrebbero piacerti anche