Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

//Car Shop Management

CREATE TABLE Car (

car_id INT PRIMARY KEY,

brand VARCHAR(255),

model VARCHAR(255),

year INT,

color VARCHAR(50),

price DECIMAL(10, 2)

);

CREATE TABLE Customer (

customer_id INT PRIMARY KEY,

name VARCHAR(255),

contact_number VARCHAR(15),

email VARCHAR(255),

address VARCHAR(255)

);

CREATE TABLE `Order` (

order_id INT PRIMARY KEY,

customer_id INT,

car_id INT,

order_date DATE,

total_amount DECIMAL(10, 2),

FOREIGN KEY (customer_id) REFERENCES Customer(customer_id),

FOREIGN KEY (car_id) REFERENCES Car(car_id)

);
CREATE TABLE Employee (

employee_id INT PRIMARY KEY,

name VARCHAR(255),

position VARCHAR(255),

contact_number VARCHAR(15),

email VARCHAR(255)

);

CREATE TABLE Transaction (

transaction_id INT PRIMARY KEY,

order_id INT,

transaction_date DATE,

payment_method VARCHAR(50),

amount_paid DECIMAL(10, 2),

FOREIGN KEY (order_id) REFERENCES `Order`(order_id)

);

CREATE TABLE Service (

service_id INT PRIMARY KEY,

service_name VARCHAR(255),

description TEXT,

cost DECIMAL(10, 2),

duration INT

);

CREATE TABLE Supplier (

supplier_id INT PRIMARY KEY,

supplier_name VARCHAR(255),

contact_number VARCHAR(15),
email VARCHAR(255),

address VARCHAR(255)

);

CREATE TABLE Car_Service (

car_id INT,

service_id INT,

date DATE,

PRIMARY KEY (car_id, service_id),

FOREIGN KEY (car_id) REFERENCES Car(car_id),

FOREIGN KEY (service_id) REFERENCES Service(service_id)

);

ALTER TABLE Service

ADD COLUMN supplier_id INT,

ADD FOREIGN KEY (supplier_id) REFERENCES Supplier(supplier_id);

CREATE TABLE Appointment (

appointment_id INT PRIMARY KEY,

customer_id INT,

service_id INT,

appointment_date DATE,

status VARCHAR(50), -- e.g., pending, confirmed

notes TEXT,

FOREIGN KEY (customer_id) REFERENCES Customer(customer_id),

FOREIGN KEY (service_id) REFERENCES Service(service_id)

);

CREATE TABLE Feedback (


feedback_id INT PRIMARY KEY,

customer_id INT,

order_id INT,

rating INT,

comments TEXT,

feedback_date DATE,

FOREIGN KEY (customer_id) REFERENCES Customer(customer_id),

FOREIGN KEY (order_id) REFERENCES `Order`(order_id)

);

//insert value

INSERT INTO Car (car_id, brand, model, year, color, price)

VALUES (1, 'Toyota', 'Camry', 2020, 'Blue', 25000.00);

INSERT INTO Customer (customer_id, name, contact_number, email, address)

VALUES (1, 'Omor', '123456789', 'omor@email.com', '123 Main Street');

INSERT INTO `Order` (order_id, customer_id, car_id, order_date, total_amount)

VALUES (1, 1, 1, '2024-01-11', 25000.00);

INSERT INTO Employee (employee_id, name, position, contact_number, email)

VALUES (1, 'Nahid', 'Sales Associate', '987654321', 'nahid@email.com');

INSERT INTO Transaction (transaction_id, order_id, transaction_date, payment_method, amount_paid)

VALUES (1, 1, '2024-01-11', 'Credit Card', 25000.00);


INSERT INTO Service (service_id, service_name, description, cost, duration)

VALUES (1, 'Oil Change', 'Regular oil change service', 50.00, 30);

INSERT INTO Supplier (supplier_id, supplier_name, contact_number, email, address)

VALUES (1, 'Karim Supplier', '555-1234', 'karim@email.com', '456 Supplier Lane');

INSERT INTO Car_Service (car_id, service_id, date)

VALUES (1, 1, '2024-01-11');

INSERT INTO Appointment (appointment_id, customer_id, service_id, appointment_date, status, notes)

VALUES (1, 1, 1, '2024-01-12', 'Pending', 'Please confirm the appointment.');

INSERT INTO Feedback (feedback_id, customer_id, order_id, rating, comments, feedback_date)

VALUES (1, 1, 1, 5, 'Great service!', '2024-01-13');

//add col

ALTER TABLE Car

ADD COLUMN mileage INT;


//where operation

// and operation

//or

SELECT * FROM Car

WHERE brand = 'Toyota' OR model = 'Camry';


// not

SELECT * FROM Car

WHERE NOT color = 'Blue';

//order by

SELECT * FROM Car

ORDER BY price DESC;

//update

//delete
//avg

SELECT AVG(price) AS average_price FROM Car;

//sum

SELECT customer_id, SUM(total_amount) AS total_spent

FROM `Order`

GROUP BY customer_id;

//stirng

SELECT * FROM Customer

WHERE name LIKE 'O%';

//between

//insert value again


INSERT INTO Car (car_id, brand, model, year, color, price)

VALUES (2, 'Honda', 'Accord', 2022, 'Silver', 28000.00),

(3, 'Ford', 'Mustang', 2021, 'Red', 35000.00),

(4, 'Chevrolet', 'Malibu', 2023, 'Black', 30000.00);

INSERT INTO Customer (customer_id, name, contact_number, email, address)

VALUES (2, 'Riyad', '987654321', 'riyad@email.com', '456 Oak Street'),

(3, 'Karim', '555-9876', 'karim@email.com', '789 Maple Avenue'),

(4, 'Nadia', '111-2222', 'nadia@email.com', '101 Pine Lane');

INSERT INTO `Order` (order_id, customer_id, car_id, order_date, total_amount)

VALUES (2, 2, 2, '2024-01-12', 28000.00),

(3, 3, 3, '2024-01-13', 35000.00),

(4, 4, 4, '2024-01-14', 30000.00);

INSERT INTO Employee (employee_id, name, position, contact_number, email)

VALUES (2, 'Sara', 'Service Advisor', '555-5678', 'sara@email.com'),

(3, 'Farhan', 'Mechanic', '777-8888', 'farhan@email.com'),

(4, 'Lina', 'Customer Support', '999-0000', 'lina@email.com');

INSERT INTO Transaction (transaction_id, order_id, transaction_date, payment_method, amount_paid)

VALUES (2, 2, '2024-01-12', 'Debit Card', 28000.00),

(3, 3, '2024-01-13', 'Cash', 35000.00),

(4, 4, '2024-01-14', 'Credit Card', 30000.00);

INSERT INTO Service (service_id, service_name, description, cost, duration)

VALUES (2, 'Brake Inspection', 'Check and adjust brakes', 60.00, 45),

(3, 'Tire Rotation', 'Rotate and balance tires', 40.00, 30),

(4, 'Engine Diagnostic', 'Identify engine issues', 80.00, 60);

INSERT INTO Supplier (supplier_id, supplier_name, contact_number, email, address)


VALUES (2, 'Ali Parts', '555-2222', 'ali@email.com', '789 Supplier Street'),

(3, 'Mia Motors', '777-3333', 'mia@email.com', '1011 Auto Lane'),

(4, 'Raj Auto', '999-4444', 'raj@email.com', '1212 Parts Avenue');

INSERT INTO Car_Service (car_id, service_id, date)

VALUES (2, 2, '2024-01-12'),

(3, 3, '2024-01-13'),

(4, 4, '2024-01-14');

INSERT INTO Appointment (appointment_id, customer_id, service_id, appointment_date, status, notes)

VALUES (2, 2, 2, '2024-01-15', 'Pending', 'Please schedule a tire rotation.'),

(3, 3, 3, '2024-01-16', 'Confirmed', 'Engine diagnostic scheduled.'),

(4, 4, 4, '2024-01-17', 'Pending', 'Brake inspection requested.');

INSERT INTO Feedback (feedback_id, customer_id, order_id, rating, comments, feedback_date)

VALUES (2, 2, 2, 4, 'Good experience with the service.', '2024-01-16'),

(3, 3, 3, 5, 'Excellent service on the engine diagnostic.', '2024-01-17'),

(4, 4, 4, 3, 'Satisfactory brake inspection.', '2024-01-18');

//group by , having

You might also like