Вы находитесь на странице: 1из 14
Universidade Estadual de Montes Claros Geísa Martins Cruz Projeto de Banco de Dados do Sistema

Universidade Estadual de Montes Claros

Geísa Martins Cruz

Projeto de Banco de Dados do Sistema Diário

Montes Claros / MG

Janeiro/2016

Geísa Martins Cruz

Projeto de Banco de Dados do Sistema Diário

Trabalho apresentado à disciplina Banco de Dados I, do Curso de Sistemas de Informação, do Centro de Ciências Extas e Tecnológicas da Universidade Estadual de Montes Claros, como requisito parcial para conclusão da disciplina.

Professora: Kátia Adriana A. L. de Barros.

Montes Claros / MG

Janeiro/2016

Sumário

1 Introdução

2 Especificação de Requisitos

1

Erro! Indicador não definido.

3 Modelo Conceitual

2

3.1 Diagrama Entidade-Relacionamento

2

3.2 Dicionarização do Modelo

3

4 Modelo Lógico Relacional

5

4.1 Esquema Lógico Relacional

5

4.2 Dicionário do Esquema Relacional

5

5 Definição das Tabelas

7

6 Principais Consultas

8

7 Referências Bibliográficas

11

Projeto de Banco de Dados

1

Introdução

O Diário (Daily) foi criado para facilitar o gerenciamento e controle de uma classe de alunos. Ou seja, para auxiliar professores a gerenciar notas, frequências e compromissos de uma turma a qual o professor (usuário) leciona. O software futuramente trará ao usuário 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á funções como: cadastrar usuário, cadastrar disciplina, agendar compromissos (provas, atividades, aulas), separar compromissos por marcadores, lembrar compromissos, consultar e alterar frequência, nota e situação de aluno. Pensando na segurança da informação, criamos uma base de dados para controlar redundância dos dados, armazenamento persistente dos dados, processamento eficiente de consultas, manutenção de backup e recuperação de falhas, etc. É importante destacar também que para garantir os três princípios básicos da segurança da informação: integridade, disponibilidade e autenticidade das informações; primeiramente para utilizar o sistema será solicitado login do usuário. Como ferramenta de desenvolvimento utilizamos o HeidSQl para o BD, Mysql como nosso sistema gerenciador de banco de dados (SGDB), SQL como linguagem, e brModelo como ferramenta para desenvolver os diagramas.

Projeto de Banco de Dados

2 Especificação de Requisitos

Velocidade: O software não precisa ser muito rápido, porém deve ser funcional.

Facilidade de Uso: O software deve possuir uma interface simples, para garantir melhor usabilidade e interação com o usuário.

Velocidade: O software deve garantir a disponibilidade dos dados, no momento que o usuário desejar acessá-los.

Portabilidade: Ser funcional em diversas plataformas.

3 Modelo Conceitual

3.1 Diagrama Entidade-Relacionamento

 Portabilidade: Ser funcional em diversas plataformas. 3 Modelo Conceitual 3.1 Diagrama Entidade-Relacionamento 2

Projeto de Banco de Dados

3.2

Dicionarização do Modelo

3.2.1

Entidade: Professor

.

Atributos:

Identificador do Órgão: Cod_Prof.

Nome do Órgão: Gerenciamento de Professor.

Grau de Classificação do Órgão: Grau R

3.2.2 Entidade: Aluno

Atributos:

Identificador do Órgão: Mat_Aluno.

Nome do Órgão: Gerenciamento de Aluno.

Grau de Classificação do Órgão: Grau R

3.2.3 Entidade Turma

Atributos:

Identificador do Órgão: Cod_Turma.

Nome do Órgão: Gerenciamento de Turma.

Grau de Classificação do Órgão: Grau R.

3.2.4 Entidade Atividade

Atributos:

Identificador do Órgão: Codigo.

Nome do Órgão: Gerenciamento de Atividade.

Grau de Classificação do Órgão: Grau R.

3.2.5 Relacionamentos

Coordena: Represa o gerenciamento do professor e sua turma, após se matricular na mesma. Todo professor deverá ministrar aula para uma ou mais turmas.

Projeto de Banco de Dados

É formada de: Represa a composição da turma. Toda turma possui um professor coordenar e é formada por vários alunos.

Possui: Represa a avaliação dos alunos, em suas respectivas turmas. Todo aluno pertence a uma turma, sendo que esse possui atividades.

Projeto de Banco de Dados

4 Modelo Lógico Relacional

4.1 Esquema Lógico Relacional

4 Modelo Lógico Relacional 4.1 Esquema Lógico Relacional 4.2 Dicionário do Esquema Relacional Tabela Professor Nome

4.2 Dicionário do Esquema Relacional

Tabela Professor

Nome

Valores válidos

Formato

Tipo

Restrições

Cod_Prof

Maior que 0

Até 3 dígitos.

Integer

NOT NULL

Nome

Caracteres

Até 30 dígitos

Varchar

NOT NULL

Tabela Turma

Nome

Valores válidos

Formato

Tipo

Restrições

Cod_Turma

Maior que 0

Até 3 dígitos

Integer

NOT NULL

Nome

Caracteres

Até 10 dígitos

Varchar

NOT NULL

Disciplina

Caracteres

Até 20 dígitos

Varchar

NOT NULL

Cod_Prof

Maior que 0

Até 3 digítos

Integer

NOT NULL

Tabela Aluno

Nome

Valores válidos

Formato

Tipo

Restrições

Mat_aluno

Maior que 0

Até 5 dígitos

Integer

NOT NULL

Nome

Caracteres

Até 30 dígitos

Varchar

NOT NULL

Nota

Maior que 0

5,2

Decimal

NOT NULL

Projeto de Banco de Dados

Prova Final

Maior que 0

5,2

Decimal

NOT NULL

Situação

Caracteres

Até 20 dígitos

Varchar

NOT NULL

Cod- Turma

Maior que 0

Até 3 dígitos

Integer

NOT NULL

Tabela Atividade

Nome

Valores válidos

Formato

Tipo

Restrições

Codigo

Maior que 0

Até 3 dígitos

Integer

NOT NULL

Data

Maior que 0

 

Date

NOT NULL

Nome

Caracteres

Até 20 dígitos

Varchar

NOT NULL

Descricao

Caracteres

Até 30 dígitos

Varchar

NOT NULL

Nota

Maior que 0

5,2

Decimal

NOT NULL

Mat_Aluno(FK)

Maior que 0

Até 5 dígitos

Integer

NOT NULL

Projeto de Banco de Dados

5 Definição das Tabelas

Comando para criar Banco de Dados:

CREATE DATABASE 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 );

Projeto de Banco de Dados

6 Principais Consultas

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

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

2. Comando para consultar o atributo Nome da tabela Aluno: SELECT Nome FROM

SELECT Nome FROM Aluno where Cod_Turma=010;

FROM SELECT Nome FROM Aluno where Cod_Turma = 010 ; 3. Comando para consultar os nomes

3. Comando para consultar os nomes de alunos que possuem código da turma “020’:

SELECT Nome FROM Aluno where Cod_Turma=020;

4. Comando para consultar o nome e situação dos alunos:

SELECT Nome, Situacao FROM Aluno;

dos alunos: SELECT Nome , Situacao FROM Aluno ; 5. Comando para consultar os atributos Nome

5. 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;

Projeto de Banco de Dados

Projeto de Banco de Dados 6. Comando para consultar Nome da tabela Professor, matricula, nome, nota,

6. Comando para consultar Nome da tabela Professor, matricula, nome, nota, situação 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);

= P . Cod_Prof AND T . Cod_Turma = A . Cod_Turma ); 7. Comando para

7. Comando para consultar Tabelas Aluno e Professor:

select *from Aluno, Professor;

. Cod_Turma = A . Cod_Turma ); 7. Comando para consultar Tabelas Aluno e Professor: select

Projeto de Banco de Dados

8. Comando para consultar Professor:

select *from Professor;

para consultar Professor: select * from Professor ; 9. Comando consultar Prova 1 da Entidade Atividade:

9. Comando consultar Prova 1 da Entidade Atividade:

select *from Atividade where Nome= 'Prova 1';

* from Atividade where Nome = 'Prova 1' ; 10. Comando consultar Cod_Turma= 20 da Entidade

10. Comando consultar Cod_Turma= 20 da Entidade Aluno;

select *from Aluno where Cod_Turma= 20;

1' ; 10. Comando consultar Cod_Turma= 20 da Entidade Aluno; select * from Aluno where Cod_Turma

Projeto de Banco de Dados

Referências Bibliográficas

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. Disponível em: <

http://mathcomp.uokufa.edu.iq/staff/kbs/file/2/Fundamentals%20of%20Database%20Systems%

20-%20Ramez%20Elmasri%20&%20Navathe.pdf > Acesso em : 12 de janeiro de 2016.

Mattoso, Marta.

http://www.cos.ufrj.br/~marta/IntroductionP.pdf > Acesso em: 09 de Janeiro de 2016.

Top.

Esp

em

Banco

de

Dados.

Disponível

em:

<

Mysql.com. Disponível em http://dev.mysql.com/doc/refman/5.0/en/entering-queries.html > Acesso em: 09 de Janeiro de 2016. Tutorial Mysql. Disponível em< http://www.tutorialspoint.com/mysql/mysql_tutorial.pdf> Acesso em: 10 de Janeiro de 2016.