Você está na página 1de 5

UNIVERSIDADE ABERTA DO BRASIL UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO CURSO DE BACHARELADO EM SISTEMAS DE INFORMAO

rodrigosm@gmail.com robsongodoi@gmail.com

PROJETO DE BANCO DE DADOS

Edson Lima de Melo Rinaldo Celestino dos Reis Paulo Inojosa de Sena

Ipojuca, novembro de 2011. Mini-mundo do Projeto Gerenciador de Alunos


O diretor de uma escola particular deseja desenvolver um sistema para efetuar o controle dos seus alunos com as seguintes caractersticas:

Cada aluno ser identificado pelo nome, sexo, data de nascimento, classe, e-mail, endereo, telefone e CPF; Cada aluno possuir um boletim de notas trimestralmente; Cada aluno possuir uma carteira; Cada aluno ter vrias disciplinas; Cada aluno ser submetido a avaliaes onde ser aprovado ou reprovado;

MODELO LGICO

MODELO RELACIONAL

MODELO FSICO
-- Gerao de Modelo fsico

-- Sql ANSI 2003 - brModelo. CREATE TABLE Telefone ( Telefone Texto(1) ) CREATE TABLE Escola ( CNPJ Texto(1) PRIMARY KEY, Nome Fantasia Texto(1) ) CREATE TABLE Endereco ( Rua Texto(1), Bairro Texto(1), Numero Texto(1), Complemento Texto(1), Municipio Texto(1), Estado Texto(1), CEP Texto(1) ) CREATE TABLE Disciplina ( Codigo Texto(1) PRIMARY KEY, Nome Texto(1), Qtd Horas Aula Texto(1), Media Texto(1) ) CREATE TABLE Cursa ( CPF Texto(1), Codigo Texto(1), FOREIGN KEY(Codigo) REFERENCES Disciplina (Codigo) ) -- Erro: Nome de tabela duplicado (este erro compromete a integridade referencial)! CREATE TABLE Endereco ( Estado Texto(1), Municipio Texto(1), CEP Texto(1), Complemento Texto(1), Numero Texto(1), Bairro Texto(1), Rua Texto(1) ) CREATE TABLE Possui ( Codigo Texto(1), FOREIGN KEY(Codigo) REFERENCES Disciplina (Codigo) ) CREATE TABLE Avaliacao ( Nota Texto(1), Quantidade Texto(1) ) CREATE TABLE Produz ( Trimestre Texto(1), Codigo Texto(1)/*falha: chave estrangeira*/

) CREATE TABLE Classe ( Turma Texto(1), Serie Texto(1), Qtd de Aluno Texto(1), CNPJ Texto(1), FOREIGN KEY(CNPJ) REFERENCES Escola (CNPJ) ) CREATE TABLE Boletim ( Trimestre Texto(1) PRIMARY KEY ) CREATE TABLE Tem ( CPF Texto(1), Codigo Texto(1), -- Erro: nome do campo duplicado nesta tabela! Codigo Texto(1), Trimestre Texto(1), FOREIGN KEY(Trimestre) REFERENCES Boletim (Trimestre) ) CREATE TABLE Aluno+Carteira ( CPF Texto(1), Telefone Texto(1), -- Erro: nome do campo duplicado nesta tabela! Telefone Texto(1), Nome Texto(1), E-mail Texto(1), -- Erro: nome do campo duplicado nesta tabela! E-mail Texto(1), Sexo Texto(1), Codigo Texto(1), Dia Texto(1), Mes Texto(1), Ano Texto(1), -- Erro: nome do campo duplicado nesta tabela! Codigo Texto(1), Nome do Aluno Texto(1), CNPJ Texto(1), PRIMARY KEY(CPF,Codigo,Codigo), FOREIGN KEY(CNPJ) REFERENCES Escola (CNPJ) ) ALTER TABLE Cursa ADD FOREIGN KEY(/*erro: ??*/) REFERENCES Aluno+Carteira (CPF,Codigo,Codigo) ALTER TABLE Produz ADD FOREIGN KEY(Trimestre) REFERENCES Boletim (Trimestre)