Está en la página 1de 34

UNIVERSIDADE TECNOLÓGICA VISVESVARAYA

JNANASANGAMA, BELAGAVI - 590018

Relatório de miniprojeto
sobre
SISTEMA DE ALUGUEL DE BICICLETA

Apresentado em cumprimento parcial para atribuição do grau de

Bacharel em Engenharia
Em
CIÊNCIA DA COMPUTAÇÃO E ENGENHARIA

Enviado por
PREETHAM KUMAR MS
1BG17CS071

Vidyaymruthamashnuthe

Aprovado pela AICTE, afiliado à VTU, credenciado como instituição de grau A pela NAAC
Todas as filiais UG – CSE, ECE, ISE, EEE e Mech. E Credenciado pela NBA para os anos acadêmicos de 2018-19 a 2020-21 e válido até
30/06/2021
Caixa Postal nº. 7087, 27ª cruz, 12ª principal,Banashankari 2ª etapa,Bengaluru-560070,ÍNDIA
Tel.: 91-80- 26711780/81/82 E-mail: principal@bnmit.in www.bnmit.org

Departamento de Ciência da Computação e Engenharia

2019 – 2020
Aprovado pela AICTE, afiliado à VTU, credenciado como instituição de grau A pela NAAC
Todas as filiais UG – CSE, ECE, ISE, EEE e Mech. E Credenciado pela NBA para os anos acadêmicos de 2018-19 a 2020-21 e válido até
30/06/2021
Caixa postal nº 7087, 27ª cruz, 12ª principal, Banashankari 2ª etapa, Bengaluru-560070, ÍNDIA
Tel.: 91-80-26711780/81/82 E-mail: principal@bnmit.in , www.bnmit.in
DEPARTAMENTO DE CIÊNCIA E ENGENHARIA DA COMPUTAÇÃO

Vidyayamruthamashnuthe

CERTIFICADO
Certificado que o Mini Projeto intitulado Sistema de Aluguel de Bicicletas realizado pelo Sr.
Preetham Kumar MS USN 1BG17CS071 um aluno genuíno do V Semestre BE, Instituto de
Tecnologia BNM em cumprimento parcial do Bacharelado em Engenharia em CIÊNCIA DA
COMPUTAÇÃO E ENGENHARIA da Universidade Tecnológica Visvesvaraya , Belagavi
durante o ano 2019-20. Certifica-se que todas as correções/sugestões indicadas para Avaliação
interna foram incorporadas no relatório. O relatório do projeto foi aprovado por satisfazer os
requisitos académicos relativos ao Laboratório de Sistemas de Gestão de Bases de Dados com
Mini Projeto prescritos para o referido curso.

Prof. Asha K Sahana D Gowda Professor e Departamento


Professora HOD do CSE BNMIT, Bengaluru
Assistente
Departamento de
Nome e Assinatura
CSE BNMIT,

Examinador1:

Examinador2:
ABSTRATO
Este projeto foi desenvolvido para investigar e relacionar diferentes requisitos funcionais,
operacionais e técnicos de uma aplicação web dedicada para sistema de aluguel online de
bicicletas. Este sistema facilitará o funcionamento da loja de aluguel de bicicletas baseada na
web. Cada tipo de bicicleta deverá ter uma taxa de aluguel diferente por dia. A taxa de aluguel
depende do número de dias, da marca e da velocidade da bicicleta.
O sistema está equipado para responder às dúvidas do Cliente sobre a disponibilidade e taxa de
aluguer de vários tipos de bicicletas para determinadas datas futuras. Quando o cliente tomar
uma decisão sobre o tipo de bicicleta e as Datas, o sistema deverá ser capaz de reservar ou
vincular o tipo de bicicleta solicitado para as datas solicitadas. O cliente deve receber um
número de confirmação.
O sistema processa uma coleta de bicicleta. O cliente entra e fornece o número de confirmação
ou o nome. O sistema deve obter todas as informações de reserva deste cliente. O cliente é
então solicitado a fornecer uma carteira de motorista. O sistema processa uma devolução. O
sistema deverá registrar a data, hora e processamento. Dependendo desses parâmetros, o
sistema calculará o valor final do aluguel.
O Bike Rental System oferece serviço de aluguel de bicicletas para clientes locais e
estrangeiros. Esta organização realiza o seu trabalho diário disponibilizando; seu atendimento
aos clientes por meio de sistema manual. A organização utiliza um sistema manual para
reservar, alugar, registrar e manter registro de todas as atividades de aluguel e informações do
cliente. Ele fornece recurso de reserva de bicicletas online. O cliente pode visitar o site e
conferir diversas bicicletas. Se os clientes forem viáveis com os requisitos, a reserva poderá ser
feita.

i
i
RECONHECIMENTO
O sucesso e o resultado final deste projeto exigiram muita orientação e assistência de muitas

pessoas e sou extremamente privilegiado por ter conseguido isso durante toda a conclusão do

meu projeto.

É um prazer expressar minha gratidão a todas as pessoas que me ajudaram no projeto “ Sistema

de Aluguel de Bicicletas ”.

Sou grato à minha instituição , Instituto de Tecnologia BNM , por proporcionar a atmosfera

agradável para a realização do seminário com sucesso.

Estou muito grato ao secretário, Sri. Narayan Rao R Maanay e Diretor, Prof. TJ Rama

Murthy BNM Institute of Technology, Bangalore, por me dar a oportunidade de realizar o

seminário de tendências atuais.

Sou grato ao Reitor, Prof. Eishwar N Maanay e ao Diretor, Dr. Krishnamurthy GN,

BNMIT, Bangalore por fornecerem a oportunidade de realizar um seminário na instituição.

Gostaria também de expressar minha sincera gratidão ao Dr. Sahana D Gowda , Chefe do

Departamento de Ciência da Computação e Engenharia, cuja orientação e apoio foram

verdadeiramente valiosos.

Sou muito grato à minha orientadora, Prof. Asha K , Professora Assistente do Departamento de

Ciência da Computação e Engenharia, por sua orientação competente e conselhos valiosos em

todas as fases do meu relatório, que ajudaram na conclusão bem-sucedida do projeto.

Estou também grato aos meus pais e amigos pelo contínuo apoio moral e material ao longo da

elaboração do relatório.

Agradeço a todos aqueles que contribuíram para a concretização do relatório.

PREETHAM KUMAR MS
1BG17CS071

i
Índice

CONTEÚDO PÁGINA NÃO

UNIVERSIDADE TECNOLÓGICA VISVESVARAYA........................................................1


SISTEMA DE ALUGUEL DE BICICLETA.....................................................................1
CIÊNCIA DA COMPUTAÇÃO E ENGENHARIA..........................................................1
Departamento de Ciência da Computação e Engenharia.......................................................1
DEPARTAMENTO DE CIÊNCIA E ENGENHARIA DA COMPUTAÇÃO..................2
CERTIFICADO.........................................................................................................................2
ABSTRATO..................................................................................................................................ii
RECONHECIMENTO...................................................................................................................i
Índice.............................................................................................................................................5
INTRODUÇÃO.............................................................................................................................1
1.1 Visão geral dos sistemas de gerenciamento de banco de dados.....................................1
1.2 Declaração do problema.................................................................................................3
1.3 Objetivos.........................................................................................................................3
1.4 Descrição do conjunto de dados.....................................................................................4
REQUISITOS DE SISTEMA.......................................................................................................5
2.1 Requisitos de software....................................................................................................5
2.1.1 Front-end.................................................................................................................5
2.1.1 Processo interno.......................................................................................................5
2.2 Requisitos de Hardware.......................................................................................................5
PROJETO DE SISTEMA..............................................................................................................5
3.1 Entidade – Diagrama de Relacionamento...................................................................6
3.2 Diagrama de relacionamento do banco de dados de esquema........................................7
3.3 Visão geral da GUI.........................................................................................................7
3.4 Normalização.....................................................................................................................10
3.4.1 Primeira Forma Normal (1NF)..............................................................................10
3.4.2 Segunda Forma Normal (2NF)..............................................................................10
3.4.3 Terceira Forma Normal (3NF)..............................................................................12
IMPLEMENTAÇÕES.................................................................................................................14
4.1 Criação de Tabela.........................................................................................................14
ADMINISTRADOR.........................................................................................................14
DO UTILIZADOR...........................................................................................................14
TERMINAL......................................................................................................................14
BICICLETA.....................................................................................................................14
TRANSAÇÃO..................................................................................................................14
PAGAMENTO.................................................................................................................15
4.2 Descrição das Tabelas...................................................................................................15
ADMINISTRADOR.........................................................................................................15
DO UTILIZADOR...........................................................................................................15
TERMINAL......................................................................................................................15
BICICLETA.....................................................................................................................16
TRANSAÇÃO..................................................................................................................16
PAGAMENTO.................................................................................................................16
4.3 Tabelas preenchidas...........................................................................................................16
ADMINISTRADOR.........................................................................................................16
DO UTILIZADOR...........................................................................................................17
TERMINAL......................................................................................................................17
BICICLETA.....................................................................................................................17
TRANSAÇÃO..................................................................................................................17
PAGAMENTO.................................................................................................................17
4.4 Gatilhos SQL e procedimento armazenado..................................................................18
4.4.1 Gatilhos..................................................................................................................18
4.4.2 Procedimento armazenado.....................................................................................19
4.5 Conectividade de banco de dados.................................................................................20
RESULTADOS...........................................................................................................................21
11. Ver transação..............................................................................................................24
CONCLUSÃO.............................................................................................................................25
APRIMORAMENTO FUTURO.................................................................................................26
Lista de
Figuras
Figura Não Nome da Figura Página
3.1 Diagrama Entidade-Relacionamento nº 5
3.2 Diagrama de esquema 6
3.3 Diagrama da página de inscrição 8
3.4 Barra de navegação 8
3.5 Rodapé da página 8
4.1 Descrição da tabela de administração 13
4.2 Descrição da tabela do usuário 13
4.3 Descrição da tabela de terminais 13
4.4 Descrição da mesa de bicicleta 14
4.5 Descrição da tabela de transações 14
4.6 Descrição da tabela de pagamento 14
4.7 Tabela de administração preenchida 14
4.8 Tabela de usuário preenchida 15
4.9 Tabela de terminais preenchida 15
4.10 Mesa de bicicleta preenchida 15
4.11 Tabela de transações preenchida 15
4.12 Tabela de pagamentos preenchida 16
4.13 Gatilho na tabela Terminal 17
4.14 Procedimento armazenado na tabela de 18
pagamento
5.1 Página inicial do aplicativo 19
5.2 Página de login para login do usuário 19
5.3 Página de pesquisa para o usuário pesquisar 19
bicicleta Página de resultados de pesquisa onde o usuário
5.4 20
faz uma seleção
5.5 Confirmação sobre a seleção da bicicleta 20
5.6 Página de pagamento 20
5.7 Página inicial do administrador 21
5.8 Adicionando uma nova bicicleta pelo 21
administrador
Adicionando um novo terminal pelo
5.9 21
administrador
5.10 Finalizando transação em andamento 22
5.11 Ver todas as transações 22
Lista de
Tabela não Nomemesas
da tabela Página
3.1 A mesa de bicicleta está em 1NF não 9
3.2 Dados da tabela de bicicletas 10
3.3 A Bike Table está em 2NF 10
3.4 Dados da tabela de bicicletas 11
3.5 As duas tabelas acima juntas formam 3NF 11
CAPÍTULO
1 INTRODUÇÃO

1.1 Visão geral dos sistemas de gerenciamento de banco de dados


Um banco de dados é uma coleção de dados relacionados organizados de forma que os dados
possam ser facilmente acessados, gerenciados e atualizados. Qualquer informação pode ser um
dado. O banco de dados é, na verdade, um local onde informações relacionadas são
armazenadas e várias operações podem ser realizadas nela.
Um sistema de gerenciamento de banco de dados (SGBD ) é um software que permite a
criação, definição e manipulação de banco de dados. SGBD é na verdade uma ferramenta usada
para realizar qualquer tipo de operação nos dados do banco de dados. DBMS também fornece
proteção e segurança ao banco de dados. Ele mantém a consistência dos dados no caso de
vários usuários. Aqui estão alguns exemplos de DBMS populares: MySQL, Oracle, Sybase,
Microsoft Access e IBM DB2 etc.
Um SGBD possibilita que usuários finais criem, leiam, atualizem e excluam dados em um
banco de dados. O SGBD serve essencialmente como uma interface entre o banco de dados e os
usuários finais ou programas aplicativos, garantindo que os dados estejam completamente
organizados e permaneçam facilmente acessíveis. Ex: Um banco de dados imobiliário armazena
informações de diversos tipos de imóveis e as preferências do proprietário em relação ao
inquilino.
As informações armazenadas no banco de dados podem ser acessadas por usuários cadastrados
ou válidos mediante login. Os usuários também podem atualizar, recuperar ou inserir dados no
banco de dados
O sistema de aluguel de bicicletas é denominado Bike on Rent Management System. Este
sistema foi projetado para ajudar os clientes a alugar bicicletas ou veículos de duas rodas.
Quando as pessoas fazem qualquer viagem fora da cidade ou do país e querem ter tempo livre,
em vez de passarem por metrôs e táxis, as pessoas preferem ter seu próprio veículo para alugar.
A facilidade de transporte é uma questão de dor de cabeça para quem não possui transporte
pessoal. Em ocasiões como casamento, férias, passeios e muitas outras situações as pessoas
sentem necessidade de um veículo para resolver os problemas. Portanto, se for possível projetar
ou desenvolver um aplicativo baseado na Web para aproveitar o transporte sempre e onde for
possível, isso será benéfico tanto para o locatário quanto para o fornecedor de transporte.
Facilidades on-line, como compras on-line, e serviços bancários, reserva on-line de assentos

BE/Depto. do CSE/BNMIT Página 1 2019-20


CAPÍTULO
1 filmes, transporte etc. Da mesma forma, o The Bike Rental System é um recurso on-line
para
para reservar bicicletas on-line com apenas alguns cliques. Algumas pessoas não têm dinheiro
para ter uma bicicleta, para essas pessoas este sistema torna-se muito útil. Este sistema inclui
diversas bicicletas, conforme pedido e conforto do cliente. Para viagens de longa distância, a
reserva só pode ser feita através do serviço de Internet.

BE/Depto. do CSE/BNMIT Página 2 2019-20


Sistema de aluguel
de bicicletas
Através deste sistema o usuário pode se cadastrar, pois os clientes que desejam alugar bicicletas
podem se cadastrar como locatários e podem alugar qualquer bicicleta. O usuário precisa fazer
login para usar o sistema ou pode se registrar como um novo usuário. O endereço dos clientes é
obrigatório, pois o cliente só pode levar a bicicleta dirigindo-se ao endereço do terminal mais
próximo e fornecendo as informações necessárias. O cliente também deverá fazer upload de
alguns comprovantes para levar a bicicleta para aluguel.
Comprovantes como carteira de motorista, cartão pan e carteira de identidade são obrigatórios
para que ninguém possa correr levando a bicicleta. Qualquer cliente cujos comprovativos não
estejam carregados e não sejam válidos não poderá levar qualquer bicicleta no aluguer. Possui
uma conta de administrador que verifica o usuário registrado e a conta do usuário. Este sistema
possui apenas uma conta de administrador e não pode ter mais de uma conta de administrador.
O administrador pode verificar e registrar o usuário que está se registrando. Se o administrador
não verificar, o usuário não poderá se registrar. Todos os outros recursos são explicados com
mais detalhes.

1.2 Declaração do problema


O aluguel de bicicletas é um veículo alugado que pode ser usado temporariamente mediante o
pagamento de uma taxa durante um período específico. Conseguir uma bicicleta alugada ajuda
as pessoas a se locomoverem, apesar de não terem acesso ao seu veículo pessoal ou de não
possuírem nenhum veículo. O indivíduo que necessita de uma bicicleta deve entrar em contato
com uma locadora de bicicletas e contratar um veículo. Este sistema aumenta a retenção de
clientes e simplifica a gestão de veículos e pessoal

1.3 Objetivos
Os objetivos específicos são

• Produzir um sistema baseado na web que permita ao cliente registrar e reservar bicicletas
on-line e que a empresa gerencie com eficácia seu negócio de aluguel de bicicletas.
• Para facilitar a tarefa do cliente sempre que precisar alugar uma bicicleta.
• Disponibilidade de veículo 24 horas por dia
• Vasta gama de veículos
• Manter registro de cada histórico de reserva
• Opção de pagamento on-line
• Login e geração de conta

BE/Depto. do CSE/BNMIT Página 3 2019-20


Sistema de aluguel
de bicicletas
1.4 Descrição do conjunto de dados
• Uma entidade chamada ADMIN é criada com o e-mail como chave primária e senha para
armazenar a senha do administrador.

• Uma Entidade chamada USUÁRIO é criada tendo o Email como Chave Primária, que deve
ser única. Esta entidade também inclui Nome , Sobrenome , Senha, Telefone , Número de
carteira de motorista . Atributos como Email e Driving_Licence_number devem ser
exclusivos. Esta entidade contém informações do usuário.

• Uma entidade TERMINAL é criada com Terminal_ID como chave primária, que deve ser
única. Este atributo também é seguido por Terminal_Name , No_of_Bikes . Esta entidade
contém informações sobre o terminal e sua capacidade e status.

• A entidade BIKE é criada com o atributo Bike_ID como Chave Primária, que deve ser
única. Esta entidade também inclui atributos como Bike_name , Color , Model,
Bike_type, Price, Terminal_ID, Availability. Terminal_ID refere-se à tabela
TERMINAL . Esta entidade detém a informação sobre todas as bicicletas disponíveis.

• A entidade TRANSACTION é criada com os atributos Email , Bike_id , Start_Time ,


End_Time . O atributo Email refere-se ao USUÁRIO e Bike_id refere-se à BICICLETA.
Esta entidade acompanha todas as transações no aplicativo.

• Uma Entidade PAYMENT é criada com o atributo Receipt_no como sua chave primária
que deve ser única. Esta Entidade também inclui entidades regulares como
Mode_of_Payment , Date, Cost . Isso também inclui Email e Bike_id que se referem à
entidade USER e BIKE . Esta entidade é usada para manter registros de cada pagamento
que o usuário faz.

BE/Depto. do CSE/BNMIT Página 4 2019-20


CAPÍTULO
3
REQUISITOS DE SISTEMA
2.1 Requisitos de software
Os Requisitos de Software tratam da definição dos requisitos e pré-requisitos de recursos de
software que precisam ser instalados em um computador para fornecer o funcionamento ideal
de um aplicativo.

2.1.1 Front-end
• Interface do usuário: HTML/CSS/JavaScript
• Sistema Operacional: Microsoft Windows 7 ou superior
• Navegador: Chrome, Internet Explorer

2.1.1 Processo interno


• Linguagem de programação: Java/J2EE, JavaScript
• Banco de dados: Meu SQL
• Servidor de aplicativos: servidor XAMPP (v3.2.2) para servidor Apache (localhost)
• PHP (v7.2.10) para scripts do lado do servidor
• Sublime3 (editor de código-fonte)

2.2 Requisitos de Hardware


O software deve ser executado em qualquer tipo de ambiente de desktop ou laptop,
independentemente do sistema operacional. Dispositivos essenciais de entrada/saída são
teclados, mouse e impressoras; nada mais é necessário, mas pode ser recomendado, se desejado.

• Processador: Pentium IV e superior


• Disco rígido: 100 GB
• RAM: 2 GB ou superior
• Resolução da tela: 1366 x 768 (1920 x 1080 recomendado)
• Outros dispositivos físicos padrão, como teclado, mouse, etc.
PROJETO DE SISTEMA
O sistema projeta o processo de definição da arquitetura, módulos, interfaces e dados de um
sistema para satisfazer requisitos específicos. O projeto de sistemas pode ser visto como a

BE/Depto. do CSE/BNMIT Página 5 2019-20


CAPÍTULO
3
aplicação da teoria de sistemas ao desenvolvimento de produtos. Existe alguma sobreposição
com as disciplinas de análise de sistemas, arquitetura de sistemas e engenharia de sistemas.

3.1 Entidade – Diagrama de Relacionamento


Um modelo Entidade-Relacionamento, também chamado de Diagrama Entidade-
Relacionamento (ER), é uma representação gráfica de entidades e seu relacionamento entre si,
normalmente usado em computação no que diz respeito à organização de dados em bancos de
dados ou sistemas de informação.

Fig 3.1 Diagrama ER

BE/Depto. do CSE/BNMIT Página 6 2019-20


Sistema de aluguel
de bicicletas
3.2 Diagrama de relacionamento do banco de dados de esquema
Um esquema de banco de dados é a estrutura básica que representa a visão lógica de todo o
banco de dados. Ele formula todas as restrições que devem ser aplicadas aos dados. Um
esquema de banco de dados define suas entidades e o relacionamento entre elas. Ele contém
detalhes descritivos do banco de dados, que podem ser representados por meio de diagramas de
esquema.

ADMINISTRADOR
E-mail Senha

DO UTILIZADOR

Fig. 3.2 Diagrama de relacionamento do banco de dados de esquema


3.3 Visão geral da GUI
Uma interface gráfica do usuário (GUI) é uma interface para o usuário se comunicar com um
aplicativo de computador usando símbolos gráficos em vez de digitar as instruções. A GUI do
sistema de aluguel de bicicletas proposto será desenvolvida em HTML5, CSS e PHP (PHP

BE/Depto. do CSE/BNMIT Página 7 2019-20


Sistema de aluguel
de bicicletas
Hypertext Processor).

Hypertext Markup Language (HTML) é a linguagem de marcação padrão para a criação de


páginas e aplicativos da web. Os elementos HTML são os blocos de construção das páginas
HTML. Com construções HTML, imagens e outros objetos, como formulários interativos,
podem ser incorporados na página renderizada. Ele fornece um meio de criar documentos
estruturados denotando semântica estrutural para textos como títulos, parágrafos, listas, links,
citações e outros itens. Os elementos HTML são delineados por tags, escritas com colchetes
angulares. O sistema Bike Rental usa HTML como blocos de construção para a criação de
elementos de UI.
Cascading Style Sheets (CSS) é uma linguagem de folha de estilo usada para descrever a
apresentação de um documento escrito em uma linguagem de marcação. CSS é usado para
formatar as páginas para torná-las atraentes para o usuário. CSS foi projetado principalmente
para permitir a separação entre apresentação e conteúdo, incluindo aspectos como layout, cores
e fontes. O aplicativo do sistema Bike Rental usa Bootstrap 4.1, um padrão projetado com CSS
para reduzir o tempo de desenvolvimento no design da GUI.

PHP (PHP Hypertext Processor) é uma linguagem de script do lado do servidor usada para criar
páginas da web dinamicamente. O código PHP pode ser incorporado ao código HTML ou pode
ser usado em combinação com vários sistemas de modelos da web, sistemas de gerenciamento
de conteúdo da web e estruturas da web. O código PHP geralmente é processado por um
interpretador PHP implementado como um módulo no servidor web ou como um executável
Common Gateway Interface (CGI). O servidor web combina os resultados do código PHP
interpretado e executado, que pode ser qualquer tipo de dado, inclusive imagens, com a página
web gerada. O código PHP também pode ser executado com uma interface de linha de
comando (CLI) e pode ser usado para implementar aplicativos gráficos independentes. O
sistema Bike Rental utiliza PHP para interagir com o banco de dados via MySQL e exibir
conteúdo dinâmico na página web com base nas consultas dos usuários.

BE/Depto. do CSE/BNMIT Página 8 2019-20


Sistema de aluguel
de bicicletas
Os seguintes botões foram usados em meu projeto:
1. Botão de inscrição

Figura 3.3 Inscreva


-se
2. Barra de
navegação

Figura 3.4 Barra de


navegação
3.Rodap
é
ALUGUEL DE Links Rápidos Contate-nos
BICICLETA
+91-08023346618
bikerental@gmail.com • Eventos
• Terminais
• Bicicletas Sua mensagem aqui

• Opinião
• Termos e Condições
Enviar

Figura 3.5 Rodapé

BE/Depto. do CSE/BNMIT Página 9 2019-20


Sistema de aluguel
de bicicletas
3.4 Normalização
A normalização é o processo de análise de um determinado esquema de relação com base em
suas dependências funcionais e chave primária para obter propriedades desejáveis de minimizar
a redundância e minimizar a anomalia de inserção, exclusão e atualização. O processo de
normalização leva um esquema de relação através de uma série de testes para certificar se ele
satisfaz uma determinada forma normal. A forma normal de uma relação refere-se à condição de
forma normal mais elevada que ela atende e, portanto, ao grau em que foi normalizada.
O processo de normalização tem dois objetivos: eliminar dados redundantes (por exemplo,
armazenar os mesmos dados em mais de uma tabela) e garantir que as dependências de dados
façam sentido (armazenar apenas dados relacionados em uma tabela). Ambos são objetivos
válidos, pois reduzem a quantidade de espaço que um banco de dados consome e garantem que
os dados sejam armazenados de forma lógica.

3.4.1 Primeira Forma Normal (1NF)


Este é o estágio mais simples de normalização e envolve garantir que cada campo individual
dentro da tabela possa conter apenas um dado e nenhum grupo repetido, não deve haver atributos
com vários valores e as relações devem ser simples e atômicas. Por exemplo, a tabela Bikel está
na 1NF.
Regras da 1NF:

• Cada célula da tabela deve conter um único valor.


• Cada registro precisa ser único.
A tabela contém valores atômicos para Bike ID, Bike Name, Color, conforme mostrado na
figura.
ID da bicicleta Nome da bicicleta cor

101 Pulsar Preto

EU 1
Tabela 3.1 A tabela da bicicleta está em 1NF

3.4.2 Segunda Forma Normal (2NF)


Esta normalização é usada quando a chave primária depende de mais de um campo, se outro
campo dentro dessa tabela depender apenas de uma parte da chave, podem ocorrer redundâncias
desnecessárias. Na segunda forma normal, um atributo não-chave de uma entidade deve
depender de toda a chave primária. Na segunda forma normal, todo atributo não principal deve
ser funcionalmente dependente do atributo chave principal. Isto é, se X → A for válido, então

BE/Depto. do CSE/BNMIT Página 10 2019-20


Sistema de aluguel
de bicicletas
não deve haver nenhum subconjunto próprio de Y em X, para o qual Y → A também é válido.

BE/Depto. do CSE/BNMIT Página 11 2019-20


Sistema de aluguel
de bicicletas
Regras 2NF:
• A tabela deve estar em 1NF.
• A chave primária da tabela deve ser composta por exatamente uma coluna.

Nome da bicicleta Modelo Cor

Pulsar 2013 Preto

Ativo 2015 Branco

Pulsar 2019 Azul


Tabela 3.2 Dados da tabela de bicicletas
Na tabela acima, a coluna Nome da bicicleta não é exclusiva, pois contém 2 entradas
correspondentes ao mesmo nome da bicicleta. Da mesma forma, a coluna Cor não é exclusiva,
pois contém 2 entradas correspondentes ao mesmo nome da bicicleta.
Para atingir o 1NF a 2NF,
ID da bicicleta Nome da bicicleta Modelo Cor

101 Pulsar 2013 Preto

103 Ativo 2015 Branco

112 Pulsar 2019 Azul

J.
Tabela 3.3 A tabela Bike está na 2NF

3.4.3 Terceira Forma Normal (3NF)


A tabela não deve conter determinantes transitivos, o que significa que todos os campos devem
ser determinados diretamente pela chave primária. Caso contrário, o campo determinante
transitivo deverá ser transferido para outra tabela com o campo que o determina, reduzindo ainda
mais a redundância. Para que uma relação esteja na Terceira Forma Normal, ela deve estar na
Segunda Forma Normal e o seguinte deve ser satisfeito – Nenhum atributo não principal é
transitivamente dependente do atributo chave principal. Para qualquer dependência funcional
não trivial, X → A, então - X é uma superchave ou A é um atributo principal.
Regras 3NF:

• A tabela deve estar em 2NF


• Não deve haver nenhuma dependência funcional

BE/Depto. do CSE/BNMIT Página 12 2019-20


Sistema de aluguel
de bicicletas
ID da bicicleta Nome da bicicleta Nome do terminal

101 Pulsar Banashankari

112 Pulsar JP Nagar


Tabela 3.4 Dados da tabela Bike

Aqui, ao alterarmos o nome da Bike, também tivemos que alterar a coluna Nome do Terminal.
Isto não é desejável, pois alguém que está atualizando o banco de dados pode se lembrar de
alterar o nome da bicicleta, mas pode esquecer de atualizar o valor do Nome do Terminal. Isso
pode causar inconsistência no banco de dados.
A terceira forma normal evita isso dividindo isso em tabelas separadas:

ID da bicicleta Nome da bicicleta ID do termo

101 Pulsar 1010

112 Pulsar 1013


Jk AL

ID do termo Nome do terminal

1010 Banashankari

1013 JP Nagar
1_____________ ______________4
Tabela 3.5 As duas tabelas acima juntas formam 3NF

BE/Depto. do CSE/BNMIT Página 13 2019-20


CAPÍTULO
4 IMPLEMENTAÇÕES
4.1 Criação de Tabela
ADMINISTRADOR
CRIAR TABELA ADMIN (EMAIL VARCHAR2(20),
SENHA VARCHAR2(15));
DO UTILIZADOR
CRIAR USUÁRIO DE TABELA (FNAME VARCHAR2(15),
LNAME VARCHAR2(15),
EMAIL VARCHAR2(20) CHAVE PRIMÁRIA,
SENHA VARCHAR2(15),
TELEFONE BIGINT(12),
DLNO VARCHAR2(15) ÚNICO);
TERMINAL
CRIAR TERMINAL DE TABELA ( TERM_ID INT(5) CHAVE PRIMÁRIA,
TERM_NAME VARCHAR2(15),
NO_OF_BIKES INT(2));
BICICLETA
CRIAR TABELA BIKE (BIKE_ID INT(5) CHAVE PRIMÁRIA,
BIKE_NAME VARCHAR2(10),
ANO MODELO,
COR VARCHAR2(10),
BIKE_TYPE VARCHAR2(8),
PREÇO INT(4),
TERM_ID REFERÊNCIAS TERMINAL(TERM_ID) ATIVADO
EXCLUIR CASCATA,
DISPONÍVEL INT (1));
TRANSAÇÃO

CRIAR TRANSAÇÃO DE TABELA (EMAIL REFERENCES USER(EMAIL) ON DELETE


EM EXCLUIR CASCATA,
BIKE_ID REFERÊNCIAS BICICLETA(BIKE_ID)
ATIVADA
EXCLUIR CASCATA,
START_TIME DATETIME,

BE/Depto. do CSE/BNMIT Página 14 2019-20


Sistema de aluguel
de bicicletas
END_TIME DATETIME);
PAGAMENTO
CRIAR TABELA DE PAGAMENTO (EMAIL REFERÊNCIAS USUÁRIO(EMAIL) EM
DELETE CASCADE,
BIKE_ID REFERÊNCIAS BICICLETA (BIKE_ID) EM
DELETE CASCADE,
CUSTO DECIMAL(6,2),
MODO VARCHAR2(10),
RECEIPT_NO INT(10) CHAVE PRIMÁRIA, DATA
DATETIME);

4.2 Descrição das Tabelas


ADMINISTRADOR
DESC ADMIN;
Tipo de nome Agrupam Atributos Nulos Padrão Comentários Ação Extra
ento
eu 1 e-mail P varchar(20) Iatin1_swedish_ci Não • Mudar Soltar - Mais
Nenhum
2 senha varchar(20) latin1_swedish_ci Não • Mudar Soltar - Mais
Nenhum
Figure 4.1 ADMINISTRADOR

DO UTILIZADOR
USUÁRIO DESC;

Antecipada varchar(20)
□ 1
mente
Iatin1_swedish_ci Não Nenhum
Alterar e descartar
- Mais

□ 2 Nome varchar(20) latim1 sueco_ci Não Nenhum • Alterar queda - Mais

□ 3 e-mail varchar(20) latim1 sueco_ci Não Nenhum • Alterar ao descartar - Mais

□ 4 telefone grande(13) Não Nenhum • Alterar © Descartar • Mais

□ 5 dlno D grandein Não Nenhum P Alterar Queda - Mais

6 senha t(20)
varcharpDl latin1 _sueco_ci Não Nenhum • Alterar ao descartar - Mais

Figure 4.2 DO UTILIZADOR

TERMINAL
TERMINAL DE DESC;

# Nome Tipo Atributos de agrupamento Nulo Padrão Comentários Ação extra


U 1 term_id 9 int(5) Não Nenhum • Alterar Drop ▼ Mais
• Alterar e Soltar - Mais
□ 2 term_name varchar(20) Iatin1_swedish_ci Não Nenhum
□ 3 no_of_bikes int(2) Não Nenhum 9 Mudança de queda - - Mais

Figura 4.3 TERMINAL

BE/Depto. do CSE/BNMIT Página 15 2019-20


Sistema de aluguel
de bicicletas
BICICLETA
BICICLETA DESC;
# Nome Tipo Agrupamento Atributos Nulos Padrão Comentários Extra Ação
□1 bicicleta_id interno(5) Não Nenhum AUTO_INCREMENT • Alterar queda • - Mais
nome_da_biciclet
□ 2 a
varchar(20) latin1_sueco ci Não Nenhum • Alterar queda - - Mais

□ 3 modelo ano(4) Não Nenhum • Alterar queda • - Mais

4 cor varchar(10) latin1_sueco ci Não Nenhum • Alterar queda • - Mais

□ 5 tipo_de bicicleta varchar(10) latin1_sueco ci Não Nenhum • Alterar queda - - Mais

6 preço interno(4) Não Nenhum • Alterar queda - - Mais

□ 7 termo_idA int(5) Não Nenhum P Alterar Queda • - Mais

8 aproveitar interno(1) Não 1 • Alterar queda • Mais

Figura 4.4 BICICLETA

TRANSAÇÃO
TRANSAÇÃO DESC;
# Nome Tipo Agrupamento Atributos Nulos Comentários padrão Ação Extra

□ 1 e-mail P varchar(20) latin1_swedish_ci Não Nenhum • Alterar queda - Mais


2 bike_id P int(5) Não Nenhum • Alterar queda • Mais

□ 3 hora_inicial datahora Não Nenhum • Alterar © Drop - Mais

4 hora_fim datahora Sim NULO • Alterar Drop ▼ Mais

Figura 4.5 TRANSAÇÃO

PAGAMENTO
PAGAMENTO DESC;
Nome Tipo Agrupamento Atributos Nulos Padrão Comentários extras Ação
#
□ 1 e-mail varchar(20) Iatin1_swedish_ci Não Nenhum P Change Drop - Mais

2 bicicleta_id interno(5) Não Nenhum • Alterar queda • Mais

□ 3 custo decimal(6,2) Não Nenhum P Mudar Soltar Mais

4 modo varchar(10) latim_sueco_ci Não Nenhum • Alterar queda - Mais


INCREMENTO
□ 5 recibo_não ►int (1O) Não Nenhum
AUTOMÁTICO
P Alterar queda ▼ Mais
6 data data hora Não Nenhum • Alterar queda - Mais

Figura 4.6 PAGAMENTO

4.3 Tabelas preenchidas


ADMINISTRADOR
SELECIONE * DO ADMIN;
—1— • e-mail senha
• Editar 5 Copiar $ Excluir admin@gmail.com admin

Figura 4.7 ADMIN.

BE/Depto. do CSE/BNMIT Página 16 2019-20


Sistema de aluguel
de bicicletas
DO UTILIZADOR
SELECIONE * DO USUÁRIO;
*- —• • nome eu e-mail telefone dlnão senha
nomeio
EU P
□ 2 Copiar @ Excluir Harish K harish@gmail.com 9521037224 86083682 severo

P 2 Copiar ©Delete Mithun Kumar mfthun@gmail.com 9936210223 6539321 Mithun

□ P 3 Copiar © Excluir Pavan Kumar pavan@gmail.com 9752412672 76768688 pavan

PEcit 3 Copiar © Excluir Vinay H vinay@gmail.com 9662143215 546765456 vinho

Figura 4.8 USUÁRIO

TERMINAL
SELECIONE * DO TERMINAL;
+- 1 —* ▼ termo_id termo_no sem_de_bicicleta
s

□ Editar
3 Copiar © Excluir 1020 BSK 2

□ • Editar 3 Copiar @ Excluir 1021 JP Nagar 2

□ • Editar 3 Copiar @ Excluir 1022 Hebbal 3

1023 Kormangal
• • Editar 3 Copiar @ Excluir a
2

Figura 4.9 TERMINAL

BICICLETA
SELECIONE * DA BICICLETA;
4 — V bicicleta_id nome da modelo cor tipo_de preço termo_id aprov
bicicleta bicicleta eitar

□ Editar 3 Copiar e Excluir 101 Pulsar 2017 Preto
Vermelh
bicicleta 30 1020 1

□ • Editar 3 Copiar Excluir 102 RX100 1999


o
bicicleta 32 1021 1

□ P Editar 34 Copiar © Excluir 103 Ativo 2018 Azul lambreta 25 1022 1

□ • Edi: 3 Copiar © Excluir 104 Júpiter 2016 Cinza lambreta 26 1022 1

□ Editar H Copiar © Excluir 105 ApacheRTR 2019 branco bicicleta 30 1020 1

Figura 4.10 BICICLETA

TRANSAÇÃO
SELECIONE * DA TRANSAÇÃO;
e-mail bicicleta_id hora de inícioFim do tempo
vinay@gmail.com 102 2019-11-11 13:0&:00 2019-11-13 19:41:00
pavan@gmail.com 103 2019-11-0016:25:39 2019-11-13 20:29:15

pavan@gmail.com 105 2019-11-06 16:25:39 2019-11-13 20:29:"5

Figura 4.11 TRANSAÇÃO


PAGAMENTO
SELECIONE * DO PAGAMENTO;
V e-mail bicicleta_id custo modo recibo_não data
+T-
BE/Depto. do CSE/BNMIT Página 17 2019-20
Sistema de aluguel
de bicicletas
• • Editar 3 Copiar @ Excluir vinay@gmail com 102 512.00 cartão 22 2019-11-12 13:15:00

PP 3 Copie @ Excluir pavan@gmail.com 103 514.00 PayPal 25 2019-11-13 13:13:00

□ Editar 3 Copie @ Excluir pavan@gmail.com 105 614.00 PayPal 28 2019-11-03 11:17:02


Figura 4.12 PAGAMENTO

4.4 Gatilhos SQL e procedimento armazenado


4.4.1 Gatilhos
Triggers são programas armazenados, que são executados ou disparados automaticamente
quando ocorre algum evento. Os gatilhos são, na verdade, escritos para serem executados em resposta
a qualquer um dos seguintes eventos:

• Uma instrução de manipulação de banco de dados (DML) (DELETE, INSERT ou


UPDATE)
• Uma instrução de definição de banco de dados (DDL) (CREATE, ALTER ou DROP)
• Uma operação de banco de dados
(SERVERERROR,LOGON,LOGOFF,STARTUP,SHUTDOWN)

Os gatilhos podem ser definidos na tabela, visualização, esquema ou banco de dados ao qual o
evento está associado. O gatilho usado neste aplicativo é usado para incrementar o valor de
no_of_bikes no Terminal quando a bicicleta é adicionada a esse terminal. Outro Trigger é usado
para diminuir no_of_bikes quando uma bicicleta naquele terminal é excluída. Conhecendo o
valor de no_of _bikes, é mais fácil obter a contagem de bicicletas em determinado terminal.

O gatilho é:

CRIAR TRIGGER `bikeadd` APÓS INSERIR EM `bike`

PARA CADA terminal de ATUALIZAÇÃO DE LINHA

definir no_of_bikes = no_of_bikes + 1

ONDE term_id = novo.term_id;

CRIAR TRIGGER `bikerem` APÓS EXCLUIR EM `bike`

PARA CADA terminal de ATUALIZAÇÃO DE LINHA

definir no_of_bikes = no_of_bikes - 1

ONDE term_id = antigo.term_id;

Mostrar gatilhos:
—T- v termo_i termo_nome sem_de_
d 1020 BSK
• P Editar
3 Copiar $ Excluir 2

□ PEcit
3 Copiar Excluir 1021 JP Nagar 2

□ P Editar
3 Copiar $ Excluir 1022 Hebbal 3

BE/Depto. do CSE/BNMIT Página 18 2019-20


Sistema de aluguel
de bicicletas
□ PEditar 3 Copiar Excluir 1023 Kormangal 2
a
Figura 4.13 Gatilhos
4.4.2 Procedimento armazenado
Um procedimento armazenado é um código SQL preparado que pode ser salvo e reutilizado
continuamente. Portanto, se uma consulta tiver que ser escrita repetidamente, em vez de ter que
escrever essa consulta todas as vezes, ela poderá ser salva como um procedimento armazenado e
executada apenas chamando o procedimento. Além disso, os parâmetros também podem ser
passados para o procedimento armazenado. Portanto, dependendo da necessidade, o
procedimento armazenado pode agir de acordo.

Os procedimentos armazenados são úteis nas seguintes circunstâncias:

• Se um programa de banco de dados for necessário para vários aplicativos, ele poderá ser
armazenado no servidor e invocado por qualquer um dos programas aplicativos. Isto reduz a
duplicação de esforços e melhora a modularidade do software.

• A execução de um programa no servidor pode reduzir a transferência de dados e o custo de


comunicação entre o cliente e o servidor em determinadas situações.
• Esses procedimentos podem aprimorar o poder de modelagem fornecido pelas visualizações,
permitindo que tipos mais complexos de dados derivados sejam disponibilizados aos
usuários do banco de dados por meio de procedimentos armazenados. Além disso, eles
podem ser usados para verificar restrições complexas que estão além do poder de
especificação de asserções e gatilhos.
O procedimento armazenado usado nesta aplicação consiste em calcular o custo aceitando 2
parâmetros. Ao chamar este procedimento armazenado, 2 parâmetros precisam ser passados
com uma chamada. O procedimento armazenado é:
DELIMITADOR $$
CREATE DEFINER=`root`@`localhost` PROCEDURE `spcost`(IN `hora` INT(3), IN `id`
INT(5))
COMEÇAR
DECLARE preço int;
DECLARE bikeid CURSOR FOR SELECT price FROM bike WHERE bike_id=id;
ABERTO bikeid;
BUSCAR DO bikeid NO preço;
ATUALIZAR pagamento
DEFINIR custo = (hora * preço1)
WHERE bike_id =id e data são NULL;
FECHAR bicicleta;

BE/Depto. do CSE/BNMIT Página 19 2019-20


Sistema de aluguel
de bicicletas
FIM$$
DELIMITADOR;

Mostrar procedimento:
V e-mail biciclet custo modo recibo_não data
tT-
• PEditar 3 Copie @ Excluir vinay@gmai com 102 512.00 cartão 22 2019-11-12 13-15:00
640.
□ PEditar 3 Copie @ Excluir pavan@gma l.com 103 PayPal 25 2019-11-1313:13:00
FAÇA
□ PEditar 28 2019-11-03 11:17:02
3 Copie $ Excluir pavan@gmail.com 105 614,00 paypal

Figura 4.14 Procedimento Armazenado

4.5 Conectividade de banco de dados


O front-end pode ser facilmente conectado ao back-end/banco de dados (ou seja, MySql)
adicionando algumas instruções em PHP. As seguintes instruções devem ser adicionadas.
<?php
//inicializando variáveis
// função OpenCon() {
$nomeservidor = "localhost";
$usuário = "root";
$senha = "";
$db ="aluguel de bicicletas";
//conecte-se ao servidor
$conn = mysqli_connect ($servername , $username , $password,$db) ou die("incapaz de
conectar ao host");
//retorna $conn;
//}
?>

BE/Depto. do CSE/BNMIT Página 20 2019-20


CAPÍTULO
5
RESULT
1. Página ADOS
inicial

Figura 5.1 Página inicial do aplicativo


O usuário existente pode fazer login ou registrar-se como um novo usuário. Ele
também fornece login de administrador
2. Login do
usuário

Figura 5.2 Página de login para login


do usuário
O usuário já existente pode fazer login em sua conta digitando o nome de usuário ou a
senha correta.
3. Pesquisa de
bicicletas

Figura 5.3 Página de pesquisa para o usuário pesquisar bicicleta


Após o login, o usuário pode pesquisar suas bicicletas favoritas no terminal mais próximo
disponível.
BE/Depto. do CSE/BNMIT Página 21 2019-20
Sistema de aluguel
de bicicletas
4. Seleção de
bicicletas

Figura 5.4 Página de resultados de pesquisa onde o usuário


faz uma seleção
Os resultados da pesquisa de usuários são exibidos aqui, onde o usuário pode
selecionar um na lista.
5. Confirmação

Figura 5.5 Confirmação sobre a seleção da bicicleta


Após selecionar a bicicleta, o usuário pode reservá-la nesta janela e retirá-la no terminal.
6. Pagamento

Figura 5.6 Página de pagamento


Esta página de checkout é utilizada para pagamento do valor do aluguel do usuário. Existem
diferentes métodos disponíveis para pagamento.

BE/Depto. do CSE/BNMIT Página 22 2019-20


Sistema de aluguel
de bicicletas
7. Página de
administração

Figura 5.7 Página inicial do


administrador
O administrador pode realizar diferentes operações no banco de dados, como adicionar bicicleta
e terminal, finalizar
transação, visualizar bicicleta, terminal e
transações.
8.
Adicionar
bicicleta

Figura 5.8 Adicionando uma nova bicicleta


pelo administrador
Uma nova bicicleta pode ser adicionada apenas pelo administrador ao
inserir os detalhes da bicicleta.
9. Adicionar terminal

Figura 5.9 Adicionando um novo terminal pelo


administrador
Um novo terminal pode ser adicionado apenas pelo Admin ao inserir o nome e
ID do terminal.
BE/Depto. do CSE/BNMIT Página 23 2019-20
Sistema de aluguel
de bicicletas
10. Finalizar
transação

Figura 5.10 Finalizando Transações em Andamento


O administrador pode encerrar a transação em andamento de qualquer usuário disponível e a
fatura será gerada em
página de usuários.
11. Ver transação

Figura 5.11 Ver todas as transações


O administrador pode visualizar todas as transações feitas por todos os
usuários até o momento.

BE/Depto. do CSE/BNMIT Página 24 2019-20


CONCLUSÃO
O Bike Rental System é um aplicativo da web e é restrito a apenas um tipo limitado de
usuários. Nesta aplicação, os administradores receberam direitos de acesso e estão restritos a
determinadas funcionalidades, para que os dados sejam mantidos com segurança e dados
redundantes sejam evitados. Como os Dados são armazenados eletronicamente, é necessário ter
conexão de Computador e Rede para acessar o Aplicativo. É um software que auxilia o usuário
no aluguel de bicicletas de acordo com sua necessidade. Este software reduz a quantidade de
entrada manual de dados e proporciona maior eficiência. A interface do usuário é muito
amigável e pode ser facilmente usada por qualquer pessoa. Também diminui o tempo
necessário para escrever detalhes e outros módulos. No final das contas, este software pode
executar todas as tarefas com precisão e fazer o trabalho para o qual foi feito.

BE/Depto. do CSE/BNMIT Página 25 2019-20


APRIMORAMENTO FUTURO
Uma vez construído o sistema final de aluguel de bicicletas, os estudantes de administração se
envolverão em uma análise econômica e de marketing. Os programas de engenharia pagarão
pela construção do sistema de bicicletas com recursos orçados para a classe culminante. Uma
ideia inicial é que as empresas locais patrocinem cada uma das bicicletas. Como incentivo, eles
poderão colocar um anúncio do seu negócio na bicicleta que patrocinarem. Uma pequena taxa
mensal será então cobrada para continuar o patrocínio. As taxas cobradas serão usadas para
contratar uma loja de bicicletas local para manter as bicicletas em boas condições. A
implementação do sistema definitivo de aluguer de bicicletas é verdadeiramente o passo final na
manutenção do vínculo de relações com a comunidade.

Aprimoramentos adicionais também podem ser feitos fornecendo permissões de acesso aos
funcionários. Tente implementar o sistema GPS em bicicletas.

Para maximizar a utilização do Sistema de Aluguer de Bicicletas, a agência líder precisa de ter
o apoio das partes interessadas e parceiros. Estas partes interessadas podem incluir o município
local (financiamento e espaço), operadores de transportes públicos, associações de utilizadores
e outros grupos (por exemplo, empresas de partilha de veículos).

BE/Depto. do CSE/BNMIT Página 26 2019-20

También podría gustarte