У меня есть класс Dresser, расширяющий абстрактный класс Furniture.
Это класс Мебель.
public abstract class Furniture {
private String furnishing;
private String board;
private String wood;
private double mass;
private int price;
private int shippingPrice;
}
А это класс Дрессер.
public final class Dresser extends Furniture {
private int width;
private int length;
private int height;
private int drawers;
}
Наследование представлено как таковое в таблицах:
CREATE TABLE furnitures (
index INTEGER NOT NULL AUTO_INCREMENT,
furnishing VARCHAR(255) NOT NULL,
board VARCHAR(255) NOT NULL,
wood VARCHAR(255) NOT NULL,
mass FLOAT(5,2) NOT NULL,
price INTEGER NOT NULL,
shipping_price INTEGER NOT NULL,
PRIMARY KEY (index)
)
CREATE TABLE IF NOT EXISTS dressers (
index INTEGER NOT NULL,
width INTEGER NOT NULL,
length INTEGER NOT NULL,
height INTEGER NOT NULL,
drawers INTEGER NOT NULL,
PRIMARY KEY (index),
FOREIGN KEY (index) REFERENCES furniture (index)
)
Мне нужно создать запрос, который позволит мне выбрать запись или выбрать все записи из таблицы, но до сих пор я придумал это, но я не знаю, обязательно ли это лучший способ сделать это.
String query =
"SELECT furniture.board, furniture.wood, furniture.mass, " +
"furniture.price, furniture.shipping_price, " +
"dresser.width, dresser.length, dresser.height, dresser.drawers " +
"FROM furniture, dresser " +
"WHERE " +
"furniture.index = dresser.index";
Это был бы мой запрос, чтобы выбрать все записи (поле предоставления можно безопасно игнорировать).
Как это можно улучшить? Кроме того, как я могу сделать запрос для выбора определенной записи с определенным индексом или как обновить запись?
PD: я использую MySQL.