вот моя база данных
CREATE DATABASE hotel;
USE hotel;

-- Таблица Guests (Гости)
CREATE TABLE Guests (
guest_id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
phone_number VARCHAR(15) UNIQUE NOT NULL,
login VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
last_login TIMESTAMP
);

-- Таблица Administrators (Администраторы)
CREATE TABLE Administrators (
admin_id INT AUTO_INCREMENT PRIMARY KEY,
full_name VARCHAR(150) NOT NULL,
passport_number VARCHAR(20) UNIQUE NOT NULL,
address TEXT NOT NULL,
phone_number VARCHAR(15) UNIQUE NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
login VARCHAR(20) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
registration_code VARCHAR(50) UNIQUE NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Таблица Rooms (Номера)
CREATE TABLE Rooms (
room_id INT AUTO_INCREMENT PRIMARY KEY,
room_number VARCHAR(10) NOT NULL,
room_type ENUM('стандартный', 'улучшенный', 'люкс') DEFAULT 'стандартный',
capacity ENUM('одноместный', 'двухместный', 'трёхместный', 'четырехместный') DEFAULT 'одноместный',
price_per_night DECIMAL(10, 2) NOT NULL,
status ENUM('доступен', 'занят') DEFAULT 'доступен'
);

-- Таблица Reservations (Бронирования)
CREATE TABLE Reservations (
reservation_id INT AUTO_INCREMENT PRIMARY KEY,
guest_id INT,
room_id INT,
check_in_date DATE NOT NULL,
check_out_date DATE NOT NULL,
total_cost DECIMAL(10, 2),
FOREIGN KEY (guest_id) REFERENCES Guests(guest_id) ON DELETE CASCADE,
FOREIGN KEY (room_id) REFERENCES Rooms(room_id) ON DELETE CASCADE
);

-- Таблица Payments (Оплаты)
CREATE TABLE Payments (
payment_id INT AUTO_INCREMENT PRIMARY KEY,
reservation_id INT,
amount DECIMAL(10, 2) NOT NULL,
payment_date DATE NOT NULL,
FOREIGN KEY (reservation_id) REFERENCES Reservations(reservation_id) ON DELETE CASCADE
);

-- Таблица Reviews (Отзывы)
CREATE TABLE Reviews (
review_id INT AUTO_INCREMENT PRIMARY KEY,
guest_id INT,
room_id INT,
review_text TEXT NOT NULL,
rating TINYINT CHECK (rating BETWEEN 1 AND 5),
review_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (guest_id) REFERENCES Guests(guest_id) ON DELETE SET NULL,
FOREIGN KEY (room_id) REFERENCES Rooms(room_id) ON DELETE SET NULL
);

на ее основе я должен сделать приложение на android studio и это код базы данных
будет одно приложение
и можно будет входить как простой клиент и как администратор отличия в том что клиент может только бронировать номера и это будет отображаться в таблице бронирований и оставлять отзывы, они будут в таблице отзывы
а администратор может просматривать все таблицы и редактировать все значения

думаю с безопасностью и облачным хранением базы данных не нужно беспокоится потому что это учебный проект и можно просто воспользоваться локальными но при этом я хочу создать базу данных в mysql и создать бэкенд как в этом примере
const express = require('express');
const mysql = require('mysql');
//const bodyParser = require('body-parser');
const localtunnel = require('localtunnel');
//const { deepEqual } = require('assert');

const app = express();
/*app.use(bodyParser.json())
app.use(bodyParser.urlencoded({   
    extended: true
  }));
*/

app.use(express.json());
app.use(express.urlencoded());

//const router = express.Router();

const db = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    password : 'password',
    database : 'hotel_managements',
    multipleStatement : true

});

db.connect((err)=>{
    if(!err){
        console.log('Connected');
    }
    else{
        console.log(err.stack);
    }
});




app.get("/hotels",(req,res)=>{

    const city = req.query.city;

    db.query("SELECT * FROM hotels h, locations l WHERE h.loc_id=l.loc_id and l.city=?",[city],(err, rows, fields)=>{
        if(!err){
            res.send(rows);
        }
        else{
            console.log(err);
        }
    })
});

app.get("/hotelDetails",(req,res)=>{
    const hotelId = req.query.hotelId;

    db.query("SELECT * FROM hotel_details WHERE hotel_id=?", hotelId, (err,result,fields)=>{
        if(!err){
            res.send(result);
        }
        else{
            console.log(err);
        }
    });
});


app.get("/login",(req,res)=>{
    
    const userEmail = req.query.userEmail;
    const userPassword = req.query.userPassword;

    db.query("SELECT * FROM login WHERE login_email=? AND login_password=?",[userEmail, userPassword],(err,rows,fields)=>{
        if(!err){
            if(rows.length>0)
            {
                res.status(200).send("Login Successful");
            }
            else{
                res.status(400).send("Login UnSuccessful");
            }
            
        }
        else{
            console.log(err);
        }
    });
})

app.post("/signup",(req,res)=>{

    const data= [req.body.userEmail,req.body.userPassword];

    db.query("INSERT INTO login (login_email, login_password) VALUES (?, ?)",data,(err,result)=>{
        if(!err)
        {
            res.send("Insertion complete");
        }
        else
        {
            res.send("Insertion INcomplete");
            console.log(err);
        }

    });

});


app.post("/user",(req,res)=>{

    const data = [req.body.email,req.body.name,req.body.age,req.body.address,req.body.mobileNo];

    db.query("INSERT INTO users (user_mail, user_name, user_age, user_address, mobile_number) VALUES (?, ?, ?, ?, ?)",data,(err,result)=>{
            if(!err){
                res.send("Insertion complete");
            }
            else
            {
                res.send("Insertion INcomplete");
               // console.log(err);
            }
    });
})


app.get("/user",(req,res)=>{

    const userEmail = req.query.userEmail;

    db.query("SELECT * FROM users WHERE user_mail=?",[userEmail],(err,results,fields)=>{
        if(!err)
        {
            if(results.length>0)
            {
                res.send(results);
            }
            else{
                res.status(400).send(results);
            }
        }
        else{
            res.status(400).send(err);
        }
    });
});


app.get("/room",(req,res)=>{

    const checkIn = req.query.checkIn;
    const checkOut = req.query.checkOut;
    const hotelId = req.query.hotelId;
    const noOfGuest = req.query.noOfGuest;

    const data = [noOfGuest, hotelId, hotelId, noOfGuest, checkIn, checkOut, checkIn, checkOut, checkIn, checkOut];

    db.query("SELECT * FROM rooms R WHERE no_of_guest=? AND hotel_id=? AND total_rooms>(SELECT COUNT(*) FROM booking B WHERE hotel_id=? AND B.number_of_guest=? AND ((check_in>? AND check_in<?) OR (check_out>? AND check_out<?) OR (check_in<? AND check_out>?)))",data,(err,results,fields)=>{
        if(!err)
        {
            if(results.length>0)
            {
                res.send(results);
            }
            else{
                res.status(400);
            }
        }
        else{
            res.status(400).send(err);
        }

     });

});


app.post("/booking",(req,res)=>{

    const data = [req.body.user_id, req.body.hotel_id, req.body.room_id, req.body.check_in, req.body.check_out, req.body.number_of_guest];

    db.query("INSERT INTO booking ( user_id, hotel_id, room_id, check_in, check_out, number_of_guest) VALUES (?, ?, ?, ?, ?, ? )",data,(err,fields)=>{
        if(!err)
        {
            res.status(200).send("Successfully booked the room");
        }
        else{
            res.status(400).send("Falied to book the room"+err);
        }

    });
});

app.get("/booked",(req,res)=>{

    const userId = req.query.userId;

    db.query("SELECT b.book_id, b.check_in, b.check_out, b.number_of_guest, h.hotel_name, h.hotel_img_url FROM booking b, hotels h WHERE b.user_id=? AND b.hotel_id=h.hotel_id",userId,(err,results,fields)=>{
        if(!err)
        {
            res.status(200).send(results);
        }
        else
        {
            res.status(400).send(err);
        }
    })


});

app.post("/cancelHotel",(req,res)=>{

    const bookId = req.body.bookId;
    console.log(bookId);

    //db.query("SET SQL_SAFE_UPDATES = 0");
    db.query("DELETE FROM booking WHERE book_id=?", [bookId], (err, result)=>{
        if(!err)
        {
            res.status(200).send("Canceled the room");
        }
        else{
            res.status(400).send("Falied to cancel the room"+err);
        }
    });


});




app.listen('8080',function(req,res){
    console.log("Server Running");
});