39
TAPAN DESAI IST 659: PROJECT IMPLEMENTATION REPORT GROCERY STOP DATABASE MANAGEMENT TOOL

Grocery Station - Final Report

Embed Size (px)

Citation preview

Page 1: Grocery Station - Final Report

TAPAN DESAI

IST 659: PROJECT IMPLEMENTATION REPORT

GROCERY STOP DATABASE MANAGEMENT TOOL

Page 2: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 1

SECTION II: PROJECT SUMMARY

Background:

There are more than 20,000 students in Syracuse University. Each student have their individual

food requirements. Every student has to go to a nearby grocery store and buy the products they

desire. Usually grocery shopping is done house wise where the students travel to nearby

supermarkets like Walmart, India Bazaar or Price Rite by ordering a cab and purchase groceries

every week.

The process is cumbersome and not everyone has the time to go to these marts every week. While

all the houses go for grocery shopping there is no method to coordinate or know who all are going

to a supermarket and on which day. If this information is available on some platform, students can

better coordinate and save their travelling expense or share a ride to the same place.

Page 3: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 2

Currently there is no platform where people can view information regarding grocery shopping,

share a cab to nearest supermarket or coordinate their time of visiting these markets. So there is a

need for an efficient solution to solve this issue and better organize the entire process.

The developed solution is GROCERY STOP. A database management tool which provides the

following functionalities:

Students can register and add their shopping trips in Grocery Stop. Only the registered

users can add and view grocery information while the non-registered users can only view

information.

The grocery information includes user name, name of store, date and time of visit along

with the mode of travel, available space, fare and start and end point for travelers.

Students can easily collaborate with other users by viewing Grocery Stop. Students can

share cabs to the same store or can ask their friends to purchase products for them.

The administrator is allowed to delete grocery entries along with users. Only the

administrator can add a new store.

Grocery Stop will have three separate views for registered users, non-registered users and

administrator.

Page 4: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 3

SECTION III: ENTITY, ATTRIBUTE TABLES AND RELATIONAL DATA

MODEL

ENTITY AND ATTRIBUTE TABLE:

Below are the entity and their attribute table along with explanation.

Table Name Attributes Explanation/ Glossary

User Stores the information of

the user. Also stores the

type of the user. A user

can either be customer or

administrator. A user

can have only one user

login entry

PK: UserName Stores the unique user

name

ContactNumber Stores the user contact

number

Email Stores the user email ID.

Type Stores the type of user. C

for Customer, A for

Administrator

Customer Stores the information if

the user is a customer. A

customer can have many

grocery entries.

PK and FK: UserName FK from user table

AreaOfResidence Stores the address of the

user. So when other users

are checking Grocery

Information Table they can

check this Area of

residence as well.

Administrator Stores information of the

administrator.

Administrator can

update many grocery

entries.

PK and FK: UserName It’s a FK from the user

table

Store Store is the information

of the store. Can be

updated only by the

administrator. A store

can have many grocery

Page 5: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 4

information relating to

the store. But any

grocery information

relates to only one

particular store

PK: StoreID It’s a primary key for this

table. Stores the ID

(unique)

StoreName Name of the store

TypeOfGrocery Stores the type of grocery

that is available eg. Indian,

General etc.

Timings Opening and Closing

timing of store.

Grocery Information Stores information of

shopping details added

by the user. Any grocery

information can relate to

only one user. Any

grocery information can

relate only to one travel

and store information

PK: InformationId PK. Auto Number

FK: UserName FK from the User Table

FK: StoreID FK from Store Table

FK: TravelInfoId FK from Travel

Information

DateOfVisit Stores the date of visit of

that user to the store

TimeOfVisit Stores time when the user

is planning to visit

Comments Not required. Users can

add additional comments

like ready to bring stuff for

others etc.

Travel Information Stores information

relating to travel method

of the user. A travel

information will be

relating to only one

grocery information

PK: TravelInfoId Primary Key

TravelMethod Which mode of transport is

planned by the user eg.

Cab, ZipCar, Bus

UserName FK from User Table

Page 6: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 5

StartPoint Starting point of the trip

EndPoint Ending point of the trip

Fare Fare of the cab, bus or car.

Available Space Available space in the

mode selected. Not

required.

StoreNameTravel Name of the store user is

traveling

UserLogin Stores and accesses login

information of the user.

User login information

relates to only user.

PK: UserName FK from user

Password User Password

RELATIONAL DATA MODEL:

Below is the data model for Grocery Stop:

Page 7: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 6

BUSINESS RULES:

Administrator can add or delete data entries in grocery information.

Administrator can add and update stores. Only admin can add a new store

Non Registered users can also view grocery and travel information. Their entity is not

added since the database management tool doesn’t store any related information.

Data Entries will be deleted once the DateOfVisit in Grocery Information table is passed

by the administrator

Non registered can register to gain access database

Customer can add and view travel information. Travel fare needs to be included.

User can add any number of grocery and travel entries.

All the travel entries must relate to one grocery entry. It’s not mandatory to mention

travel information in every grocery information for the customers

SECTION IV: DATABASE INFRASTUCTURE

The database system infrastructure used is based on a client-server model. SQL Server is used as

the database engine and Access is used as the interface design tool. Data is inserted, deleted,

updated, and queried from the SQL Server database with the help of forms on Access. Useful data

stored on the SQL Server database can also be viewed with the help of reports generated through

Access. Based on a login checked on Access users are allowed to access the database in SQL.

SECTION V: SQL SCRIPTS FOR CREATING TABLES AND INSERTING

SAMPLE DATAS:

1. CREATE TABLES:

USER TABLE:

-- Creating table USER. Checking if user type is Customer or Administrator. UserName is the PK as seen in the script.

create table GSuser

(

userName VARCHAR(10) NOT NULL,

userContactNumber VARCHAR(30) NOT NULL,

userEmail VARCHAR(30) NOT NULL,

userType VARCHAR (1) NOT NULL check (userType IN ('C' , 'A'))

Page 8: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 7

CONSTRAINT userName_PK PRIMARY KEY (userName)

);

USERLOGIN TABLE:

--Create User Login table to store password. create table GSuserLogin ( userName VARCHAR(10) NOT NULL, userPassword VARCHAR(12) NOT NULL, CONSTRAINT userName_PK1 PRIMARY KEY (userName), CONSTRAINT userName_FK FOREIGN KEY (userName) REFERENCES GSuser (userName) );

CUSTOMER TABLE(IF THE USER IS ‘C’ TYPE):

--If the user is customer, area of residence is required. There is display of the user separate screen if a customer create table GSCustomer ( userName VARCHAR(10) NOT NULL, areaOfResidence VARCHAR(30)NOT NULL, CONSTRAINT userName_PK2 PRIMARY KEY (userName), CONSTRAINT userName_FK1 FOREIGN KEY (userName) REFERENCES GSuser (userName) );

Page 9: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 8

ADMIN TABLE (IF THE USER IS ‘A’ TYPE):

-- Separate table to store admin information if the user is an administrator create table GSAdmin ( userName VARCHAR(10) NOT NULL, CONSTRAINT userName_PK3 PRIMARY KEY (userName), CONSTRAINT userName_FK2 FOREIGN KEY (userName) REFERENCES GSuser (userName) );

TRAVEL INFORMATION TABLE:

-- Table for travel information create table TravelInfo ( travelInfoID INT IDENTITY(1,1) NOT NULL, userName varchar(10) NOT NULL, travelMode varchar(30) NOT NULL, travelStartPoint varchar(100) NOT NULL, travelEndPoint varchar(100) NOT NULL, travelFare VARCHAR(10) NOT NULL, availableSpace VARCHAR(10), CONSTRAINT travelInfoID_PK PRIMARY KEY (travelInfoID), CONSTRAINT userName_FK3 FOREIGN KEY (userName) REFERENCES GSuser (userName) );

Page 10: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 9

STORE TABLE:

--create table for store. create table GSstore( storeID INT IDENTITY(1,1) NOT NULL, storeName VARCHAR(30) NOT NULL, typeOfGrocery VARCHAR(20) NOT NULL, storeTimings VARCHAR(30) NOT NULL, CONSTRAINT storeID_PK PRIMARY KEY(storeID), );

GROCERY INFORMATION TABLE:

--create table for grocery information. --It has travel info as FK and user name, store id and GSInformationID as PK create table GSInformation ( GSInformationID INT IDENTITY(1,1) NOT NULL, storeID INT NOT NULL, travelInfoID INT, userName varchar (10) NOT NULL, dateOfVisit DATE NOT NULL, timeOfVisit TIME NOT NULL, GSUserComments VARCHAR(30), CONSTRAINT GSInformationID_PK PRIMARY KEY (GSInformationID), CONSTRAINT storeID_FK FOREIGN KEY (storeID) REFERENCES GSStore (storeID),

Page 11: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 10

CONSTRAINT userName_FK4 FOREIGN KEY (userName) REFERENCES GSuser (userName), CONSTRAINT travelInfoID_FK FOREIGN KEY (travelInfoID) REFERENCES TravelInfo(travelInfoID) );

2. INSERTING DATA:

INSERT DATA IN USER TABLE:

--insert data in users

INSERT INTO GSuser VALUES ( 'tapand', '3153807131', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'desai', '3153807132', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'alex', '3153808000', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'matthew', '3154506007', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'raj', '3153006078', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'chandler', '3153803212', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'joey', '3153823456', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'racheal', '3153803212', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'tyrion', '3153804005', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'aditya', '3156789090', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'ali', '3156780909', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'anurina', '315789012', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'Bhanu', '3156789090', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'brenda', '3156789090', '[email protected]', 'C');

Page 12: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 11

INSERT INTO GSuser VALUES ( 'brian', '3156789032', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'Huang', '3156789090', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'joann', '3156789009', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'moh', '3158900909', '[email protected]', 'C');

INSERT INTO GSuser VALUES ( 'petyr', '3150093131', '[email protected]', 'A');

INSERT DATA IN USER LOGIN TABLE:

--insert data in user login table INSERT INTO GSuserLogin VALUES ('tapand', 'Hello'); INSERT INTO GSuserLogin VALUES ('desai', 'qwerty'); INSERT INTO GSuserLogin VALUES ('alex', 'rock'); INSERT INTO GSuserLogin VALUES ('matthew', 'paper'); INSERT INTO GSuserLogin VALUES ('raj', 'scissor'); INSERT INTO GSuserLogin VALUES ('chandler', 'lizard');

Page 13: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 12

INSERT INTO GSuserLogin VALUES ('joey', 'spock'); INSERT INTO GSuserLogin VALUES ('racheal', 'winter'); INSERT INTO GSuserLogin VALUES ('tyrion', 'is'); INSERT INTO GSuserLogin VALUES ('aditya', 'aditya'); INSERT INTO GSuserLogin VALUES ('ali', 'ali'); INSERT INTO GSuserLogin VALUES ('bhanu', 'bhanu'); INSERT INTO GSuserLogin VALUES ('brenda', 'brenda'); INSERT INTO GSuserLogin VALUES ('brian', 'brian'); INSERT INTO GSuserLogin VALUES ('Huang', 'huang'); INSERT INTO GSuserLogin VALUES ('Moh', '123'); INSERT INTO GSuserLogin VALUES ('viral', '12345'); INSERT INTO GSuserLogin VALUES ('zac', 'zac'); INSERT INTO GSuserLogin VALUES ('petyr', 'coming');

INSERT DATA IN STORE TABLE:

--Inserting information in the store table

INSERT INTO GSstore VALUES('walmart', 'General', '8 AM- 9 PM'); INSERT INTO GSstore VALUES('GRABYs', 'GENERAL', '9 AM-12 AM');

Page 14: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 13

INSERT INTO GSstore VALUES('India Bazaar', 'General', '9 AM - 8 PM'); INSERT INTO GSstore VALUES('Walmart', 'General', '12 AM - 12 AM'); INSERT INTO GSstore VALUES('BJs', 'General', '10 AM - 10 PM'); INSERT INTO GSstore VALUES('Price Rite', 'General', '10 AM-12 AM'); INSERT INTO GSstore VALUES('Lancaster Market', 'General', '10 AM-12AM');

INSERT DATA IN CUSTOMER TABLE:

--insert into Customer table for users INSERT INTO GSCustomer VALUES ('aditya', 'Lancaster'); INSERT INTO GSCustomer VALUES ('ali', 'Westcott Street'); INSERT INTO GSCustomer VALUES ('anurina', 'Lancaster'); INSERT INTO GSCustomer VALUES ('Bhanu', 'Lancaster'); INSERT INTO GSCustomer VALUES ('brenda', 'Maryland'); INSERT INTO GSCustomer VALUES ('brian', 'Lancaster'); INSERT INTO GSCustomer VALUES ('Huang', 'Lancaster'); INSERT INTO GSCustomer VALUES ('chandler', 'Marshall Street'); INSERT INTO GSCustomer VALUES ('desai', 'Lancaster Road'); INSERT INTO GSCustomer VALUES ('joann', 'Lancaster'); INSERT INTO GSCustomer VALUES ('joey', 'Ackerman Street'); INSERT INTO GSCustomer VALUES ('Matthew', 'Maryland Avenue'); INSERT INTO GSCustomer VALUES ('racheal', 'Sumner Avenue');

Page 15: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 14

INSERT DATA IN TRAVEL INFORMATION TABLE:

--insert into travel information table INSERT INTO TravelInfo VALUES ('joey','Car', 'Sumner Avenue', 'Sumner Avenue', '3$', '1', 'Walmart'); INSERT INTO TravelInfo VALUES ('desai','CAR', 'Westcott', 'Westcott', '3$', '2', 'BJs'); INSERT INTO TravelInfo VALUES ('raj','Car', 'Lancaster', 'Westcott', 'Free', '4', 'BJ`s'); INSERT INTO TravelInfo VALUES ('tyrion','Car', 'College Place', 'Lancaster', 'Free', '2', 'Walmart'); INSERT INTO TravelInfo VALUES ('tyrion','Taxi', 'College Place', 'College Place', '5$', '4', 'India Bazaar'); INSERT INTO TravelInfo VALUES ('bhanu','car', 'Lancaster', 'Lancaster', '3$', '4', 'Walmart');

Page 16: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 15

INSERT DATA IN GROCERY INFORMATION TABLE:

--insert into Grocery Information table INSERT INTO GSInformation VALUES ('5','1','tyrion','2014-11-17','13:00'); INSERT INTO GSInformation VALUES ('1','1','moh','2014-11-24','15:00', 'Going Alone'); INSERT INTO GSInformation VALUES ('3','moh','2014-11-25','14:00'); INSERT INTO GSInformation VALUES ('4','6','tyrion','2014-11-25','13:00'); INSERT INTO GSInformation VALUES ('4','bhanu','2014-11-22','14:00', 'need company'); INSERT INTO GSInformation VALUES ('2','rahul','2014-11-22','14:00'); INSERT INTO GSInformation VALUES ('3','6','ali','2014-11-17','17:00'); INSERT INTO GSInformation VALUES ('1','8','huang','2014-11-24','13:00');

SECTION VI: SQL STATEMENTS FOR ANSWERING MAJOR DATA

QUESTIONS

1. SEARCH FOR TRAVEL OPTIONS TO A PARTICULAR STORE:

The user can search for particular stores and retrieve all the users going to the same store. The

query joins Travel Information table with Store and Grocery Information

SELECT dbo_GSstore.storeName, dbo_TravelInfo.userName, dbo_GSInformation.dateOfVisit,

dbo_GSInformation.timeOfVisit, dbo_GSInformation.userName, dbo_TravelInfo.travelMode,

dbo_TravelInfo.travelStartPoint, dbo_TravelInfo.travelEndPoint, dbo_TravelInfo.travelFare,

dbo_TravelInfo.availableSpace

Page 17: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 16

FROM dbo_TravelInfo INNER JOIN (dbo_GSstore INNER JOIN dbo_GSInformation ON

dbo_GSstore.[storeID] = dbo_GSInformation.[storeID]) ON dbo_TravelInfo.[travelInfoID] =

dbo_GSInformation.[travelInfoID]

WHERE (((dbo_GSstore.storeName)=[Store name?]));

This form displays the grocery information page for the user. The search stores for available travel

button triggers this query

This is a parameterized query. It takes in value from this parameter and enter it in the database to

generate reports

Based on the parameter entered, the query displays report which is grouped by the store name

entered. This report displays the available travel option to Walmart store.

Page 18: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 17

2. SEARCH FOR A PARTICULAR USER:

The users can search for a particular user to retrieve their contact information. Using this query

the user can query the database for information. The query joins user table to customer table

SELECT dbo_GSuser.userName, dbo_GSuser.userContactNumber, dbo_GSuser.userEmail,

dbo_GSCustomer.areaOfResidence

FROM dbo_GSuser INNER JOIN dbo_GSCustomer ON dbo_GSuser.[userName] =

dbo_GSCustomer.[userName]

WHERE (((dbo_GSuser.userName)=[Name of the user?]));

Page 19: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 18

This is a paramterized query where user can enter the name of the user to gain customer

information.

Based on the query a report is generated joining two tables GSUser and GSCustomer.

3. SEARCH USERS BASED ON THEIR AREA OF RESIDENCE:

The users can search for other users based on their area of residence. The query joins customer

table with travel information, grocery information.

SELECT dbo_GSCustomer.userName AS dbo_GSCustomer_userName,

dbo_GSCustomer.areaOfResidence, dbo_GSInformation.userName AS

dbo_GSInformation_userName, dbo_GSInformation.dateOfVisit,

dbo_GSInformation.timeOfVisit, dbo_GSInformation.GSUserComments,

dbo_TravelInfo.travelMode, dbo_TravelInfo.travelStartPoint, dbo_TravelInfo.travelEndPoint,

dbo_TravelInfo.travelFare, dbo_TravelInfo.availableSpace, dbo_TravelInfo.storeNameTravel

FROM dbo_GSCustomer INNER JOIN (dbo_TravelInfo INNER JOIN dbo_GSInformation ON

dbo_TravelInfo.[travelInfoID] = dbo_GSInformation.[travelInfoID]) ON

dbo_GSCustomer.[userName] = dbo_GSInformation.[userName]

WHERE (((dbo_GSCustomer.areaOfResidence)=[Area of Residence?]));

Page 20: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 19

A parameterized query which shows the users residing in a particular area.

Based on the entered query, information regarding the store name and travel method is displayed

in this report.

Page 21: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 20

4. QUERY BASED ON DATE FOR ADMINS TO GROUP GROCERY INFORMATION:

The admin can query using this query to retrieve information of all the users visiting a particular

store on a particular date. The admin can easily search the date and delete the information based

on this query

SELECT dbo_GSInformation.[GSInformationID], dbo_GSInformation.[storeID],

dbo_GSInformation.[travelInfoID], dbo_GSInformation.[userName],

dbo_GSInformation.[dateOfVisit], dbo_GSInformation.[timeOfVisit],

dbo_GSInformation.[GSUserComments]

FROM dbo_GSInformation

WHERE (((dbo_GSInformation.[dateOfVisit])=[Date of Visit?]));

Page 22: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 21

This query is used by the administrator to search dates and grocery information based on those

dates. This query assists the administrator to easily delete information which has passed a

particular date. The form generated based on that query has a delete button to ease the delete

procedure.

SECTION VII: INTERFACES

1. FORMS:

LOGIN FORM:

This is the login form for all the users. This is the main page. It checks the user login table for

correct credentials.

Page 23: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 22

Page 24: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 23

Non-Registered User Main Page:

This is the main page for non0registered users. They can only view the data and hence the data is

in only read only mode. They can view grocery information and travel information.

Page 25: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 24

Non-Registered User Grocery Information:

This form shows the grocery information for non-registered user. The data is limited and in read

only format.

Non-Registered User Travel Information:

This form displays the travel information for non-registered user. The data is in read only mode.

Page 26: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 25

Registration Form:

The non-registered user can login using this form. The form using access fills in data in three

tables: GSUser, UserLogin and GSCustomer.

Admin Main Page:

This is the main page for the administrator. Includes add store, delete users and grocery records

button.

Page 27: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 26

Add Store Form:

Only the administrator can add a new store using this form. These stores and their information are

then visible to customers.

Delete Grocery Information:

The admin can delete grocery information using this form.

Page 28: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 27

Delete By Dates:

The admin can query the database by entering the date parameters. This query form easily helps

admins to delete entries if the date has passed. The form is generated based on major database

query.

Page 29: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 28

Delete Users:

The administrator can easily delete users using this form. This form merges three tables and on the

click of a button deletes entries from all three tables

Page 30: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 29

Customer Successful Login:

When any user enters the right credentials, user is logged in Grocery Stop successfully.

Page 31: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 30

Grocery Information Form for Customers:

This is the main page for the customers. The customers can add and view grocery information

using this form. The information from other users is protected, so it’s not editable.

Page 32: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 31

Travel Information Page for Customers:

The customers can add new travel information using this form. The travel information once added

can be the updated in Grocery Information page.

Page 33: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 32

Customer Store Search Query Form:

Customers can query the database for a particular store to check if any travel is available. The

query form takes in parameterized entries.

Page 34: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 33

Customer User Search Query Form:

The customers can query username to gain their contact information.

Page 35: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 34

Customer Area of Residence Query Form:

Customers can query the database using this parameterized form for particular area of residence

and the users living in that area.

2. REPORTS ANSWERING MAJOR DATA QUESTIONS:

Travel Information of All Users:

This report generates the travel information report of all the users. The information is grouped by

the username and store the user is travelling for easy analysis. Using this report the other customers

can analyse the users traveling to a particular store and the fare charged. Thus, they can opt for the

cheapest option by analysing this report.

Page 36: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 35

Store Timings Report:

Using this report the customers can view the stores added by the administrator. They can see

information like timings and type of grocery provided to help them decide the store they will be

traveling to that week or month.

Page 37: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 36

Users by Area Query Report:

This report is generated based on area of residence search query. The users staying in a particular

area can be viewed. This report groups the users by the store they are traveling and further eases

out analysis. This report joins GSCustomer, GSStore and TravelInfo table together to provide easy

analysis option.

Report for Travel Information Based on Store Name Query:

This report is generated from the store name query. As soon as the user enters the name of the

store, travel information relating to that store is available for analysis.

Page 38: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 37

Report Based on User Name Query:

This report is generated based on user name query. Contact information is available using this

report for the entered users.

SECTION VII: USER CONSTRAINTS

Grocery Stop has three types of users which is depicted in a graphical format

Page 39: Grocery Station - Final Report

Grocery Stop: Database Management Tool Tapan Desai

PAGE 38

The three users have constraints which are described below:

Non-Registered Users:

1. Not stored in the system, unless they register.

2. They can ONLY VIEW grocery information from users having travel information

mentioned. They cannot view other users who haven’t mentioned their mode of travel.

This exception helps to provide only a limited set of data for non-registered users

urging them to register.

3. They can ONLY VIEW travel information of other users. This included mode of travel,

fare and store name.

4. The non-registered users cannot view contact information for any users.

5. The non-registered users do not access any queries.

Registered Users:

1. The registered users are a part of the system. Their information is entered while they

register in three tables, namely GSUser, UserLogin, GSCustomer.

2. The registered users can enter new grocery information using the grocery information

form. However, entries from other users is read only.

3. The registered user can add travel information and view reports showing all travel

information from other customers.

4. The registered user can query the database based on username, area of residence and

store name to analyze reports.

5. The registered users cannot delete any data from the database.

Administrator:

1. The administrator has complete access to the database.

2. The administrator can edit all the forms and data include by the customers.

3. The administrator can delete data based on user name, the grocery information and travel

information.

4. The administrator can query the database based on dates and delete grocery information.

Thus, non-registered users can only view certain data. Registered users can add and view all data

and also query the Database Tool to generate reports based on their queries. The administrator

can view and delete all the data and maintain the database.