Added connection to database

- displayed products and suppliers to table but still incomplete
This commit is contained in:
Alex
2026-01-31 17:52:30 -07:00
parent d4fe78b65f
commit 47fe06a5c3
10 changed files with 594 additions and 34 deletions

View File

@@ -1,85 +1,236 @@
DROP DATABASE IF EXISTS Petstoredb;
CREATE DATABASE Petstoredb;
USE Petstoredb;
INSERT INTO store_location (store_name, address, phone, email)
-- Create Tables
CREATE TABLE storeLocation (
storeId INT AUTO_INCREMENT PRIMARY KEY,
storeName VARCHAR(100) NOT NULL,
address VARCHAR(255),
phone VARCHAR(20),
email VARCHAR(100)
);
CREATE TABLE employee (
employeeId INT AUTO_INCREMENT PRIMARY KEY,
firstName VARCHAR(50) NOT NULL,
lastName VARCHAR(50) NOT NULL,
email VARCHAR(100),
phone VARCHAR(20),
role VARCHAR(50),
isActive BOOLEAN DEFAULT TRUE
);
CREATE TABLE employeeStore (
employeeId INT,
storeId INT,
PRIMARY KEY (employeeId, storeId),
FOREIGN KEY (employeeId) REFERENCES employee(employeeId),
FOREIGN KEY (storeId) REFERENCES storeLocation(storeId)
);
CREATE TABLE customer (
customerId INT AUTO_INCREMENT PRIMARY KEY,
firstName VARCHAR(50) NOT NULL,
lastName VARCHAR(50) NOT NULL,
email VARCHAR(100),
phone VARCHAR(20)
);
CREATE TABLE pet (
petId INT AUTO_INCREMENT PRIMARY KEY,
petName VARCHAR(50),
petSpecies VARCHAR(50),
petBreed VARCHAR(50),
petAge INT,
petStatus VARCHAR(20),
petPrice DECIMAL(10, 2)
);
CREATE TABLE adoption (
adoptionId INT AUTO_INCREMENT PRIMARY KEY,
petId INT,
customerId INT,
adoptionDate DATE,
adoptionStatus VARCHAR(20),
FOREIGN KEY (petId) REFERENCES pet(petId),
FOREIGN KEY (customerId) REFERENCES customer(customerId)
);
CREATE TABLE supplier (
supId INT AUTO_INCREMENT PRIMARY KEY,
supCompany VARCHAR(100) NOT NULL,
supContactFirstName VARCHAR(50),
supContactLastName VARCHAR(50),
supEmail VARCHAR(100),
supPhone VARCHAR(20)
);
CREATE TABLE category (
categoryId INT AUTO_INCREMENT PRIMARY KEY,
categoryName VARCHAR(100) NOT NULL,
categoryType VARCHAR(50)
);
CREATE TABLE product (
prodId INT AUTO_INCREMENT PRIMARY KEY,
prodName VARCHAR(100) NOT NULL,
prodSku VARCHAR(50) UNIQUE,
prodPrice DECIMAL(10, 2),
categoryId INT,
prodDesc TEXT,
FOREIGN KEY (categoryId) REFERENCES category(categoryId)
);
CREATE TABLE productSupplier (
supId INT,
prodId INT,
PRIMARY KEY (supId, prodId),
FOREIGN KEY (supId) REFERENCES supplier(supId),
FOREIGN KEY (prodId) REFERENCES product(prodId)
);
CREATE TABLE inventory (
inventoryId INT AUTO_INCREMENT PRIMARY KEY,
prodId INT,
quantity INT DEFAULT 0,
FOREIGN KEY (prodId) REFERENCES product(prodId)
);
CREATE TABLE service (
serviceId INT AUTO_INCREMENT PRIMARY KEY,
serviceName VARCHAR(100) NOT NULL,
serviceDesc TEXT,
serviceDuration INT,
servicePrice DECIMAL(10, 2)
);
CREATE TABLE appointment (
appointmentId INT AUTO_INCREMENT PRIMARY KEY,
serviceId INT,
customerId INT,
appointmentDate DATE,
appointmentTime TIME,
appointmentStatus VARCHAR(20),
FOREIGN KEY (serviceId) REFERENCES service(serviceId),
FOREIGN KEY (customerId) REFERENCES customer(customerId)
);
CREATE TABLE appointmentPet (
appointmentId INT,
petId INT,
PRIMARY KEY (appointmentId, petId),
FOREIGN KEY (appointmentId) REFERENCES appointment(appointmentId),
FOREIGN KEY (petId) REFERENCES pet(petId)
);
CREATE TABLE sale (
saleId INT AUTO_INCREMENT PRIMARY KEY,
saleDate DATETIME,
totalAmount DECIMAL(10, 2),
paymentMethod VARCHAR(50),
employeeId INT,
storeId INT,
FOREIGN KEY (employeeId) REFERENCES employee(employeeId),
FOREIGN KEY (storeId) REFERENCES storeLocation(storeId)
);
CREATE TABLE saleItem (
saleItemId INT AUTO_INCREMENT PRIMARY KEY,
saleId INT,
prodId INT,
quantity INT,
unitPrice DECIMAL(10, 2),
FOREIGN KEY (saleId) REFERENCES sale(saleId),
FOREIGN KEY (prodId) REFERENCES product(prodId)
);
CREATE TABLE activityLog (
logId INT AUTO_INCREMENT PRIMARY KEY,
employeeId INT,
activity TEXT,
logTimestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (employeeId) REFERENCES employee(employeeId)
);
-- Insert Sample Data
INSERT INTO storeLocation (storeName, address, phone, email)
VALUES
('Downtown Branch', '123 Main St', '123-456-7890', 'downtown@petshop.com'),
('North Branch', '456 North Ave', '987-654-3210', 'north@petshop.com');
INSERT INTO employee (first_name, last_name, email, phone, role, is_active)
INSERT INTO employee (firstName, lastName, email, phone, role, isActive)
VALUES
('John', 'Doe', 'john@petshop.com', '111-222-3333', 'Manager', TRUE),
('Sara', 'Smith', 'sara@petshop.com', '444-555-6666', 'Staff', TRUE);
INSERT INTO employee_store (employee_id, store_id)
INSERT INTO employeeStore (employeeId, storeId)
VALUES
(1, 1),
(2, 1),
(2, 2);
INSERT INTO customer (first_name, last_name, email, phone)
INSERT INTO customer (firstName, lastName, email, phone)
VALUES
('Alex', 'Brown', 'alex@gmail.com', '777-888-9999'),
('Emily', 'Clark', 'emily@gmail.com', '666-555-4444');
INSERT INTO pet (pet_name, pet_species, pet_breed, pet_age, pet_status, pet_price)
INSERT INTO pet (petName, petSpecies, petBreed, petAge, petStatus, petPrice)
VALUES
('Buddy', 'Dog', 'Labrador', 2, 'Available', 500.00),
('Milo', 'Cat', 'Persian', 1, 'Available', 300.00);
INSERT INTO adoption (pet_id, customer_id, adoption_date, adoption_status)
INSERT INTO adoption (petId, customerId, adoptionDate, adoptionStatus)
VALUES
(1, 1, '2026-01-15', 'Completed');
INSERT INTO supplier (sup_company, sup_contact_first_name, sup_contact_last_name, sup_email, sup_phone)
INSERT INTO supplier (supCompany, supContactFirstName, supContactLastName, supEmail, supPhone)
VALUES
('PetFood Inc', 'Robert', 'King', 'contact@petfood.com', '888-111-2222');
INSERT INTO category (category_name, category_type)
INSERT INTO category (categoryName, categoryType)
VALUES
('Dog Food', 'Product'),
('Cat Toys', 'Product');
INSERT INTO product (prod_name, prod_sku, prod_price, category_id, prod_desc)
INSERT INTO product (prodName, prodSku, prodPrice, categoryId, prodDesc)
VALUES
('Premium Dog Food', 'DF001', 50.00, 1, 'High quality dog food'),
('Cat Toy Ball', 'CT001', 10.00, 2, 'Colorful toy for cats');
INSERT INTO product_supplier (sup_id, prod_id)
INSERT INTO productSupplier (supId, prodId)
VALUES
(1, 1),
(1, 2);
INSERT INTO inventory (prod_id, quantity)
INSERT INTO inventory (prodId, quantity)
VALUES
(1, 100),
(2, 200);
INSERT INTO service (service_name, service_desc, service_duration, service_price)
INSERT INTO service (serviceName, serviceDesc, serviceDuration, servicePrice)
VALUES
('Pet Grooming', 'Full grooming service', 60, 40.00);
INSERT INTO appointment (service_id, customer_id, appointment_date, appointment_time, appointment_status)
INSERT INTO appointment (serviceId, customerId, appointmentDate, appointmentTime, appointmentStatus)
VALUES
(1, 2, '2026-02-01', '10:30:00', 'Booked');
INSERT INTO appointment_pet (appointment_id, pet_id)
INSERT INTO appointmentPet (appointmentId, petId)
VALUES
(1, 2);
INSERT INTO sale (sale_date, total_amount, payment_method, employee_id, store_id)
INSERT INTO sale (saleDate, totalAmount, paymentMethod, employeeId, storeId)
VALUES
(NOW(), 60.00, 'Card', 2, 1);
INSERT INTO sale_item (sale_id, prod_id, quantity, unit_price)
INSERT INTO saleItem (saleId, prodId, quantity, unitPrice)
VALUES
(1, 2, 2, 10.00);
INSERT INTO activity_log (employee_id, activity)
INSERT INTO activityLog (employeeId, activity)
VALUES
(1, 'Created new sale'),
(2, 'Booked appointment');