RentalItems テーブルの作成

-- 商品ID。自動インクリメントされる主キー
item_id INT AUTO_INCREMENT PRIMARY KEY,
-- 商品の名前。最大255文字。NULL不可
name VARCHAR(255) NOT NULL,
-- 商品の説明。長いテキストを保存可能
description TEXT,
-- 商品のカテゴリ。最大100文字
category VARCHAR(100),
-- 在庫数量。NULL不可。デフォルトは1
quantity INT NOT NULL DEFAULT 1,
-- 商品の価格8桁。NULL不可
price DECIMAL(10, 2) NOT NULL,
-- レンタル可能開始日時
available_from DATETIME,
-- レンタル可能終了日時
available_to DATETIME,
-- レコードの作成日時。デフォルトは現在のタイムスタンプ
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-- レコードの更新日時。デフォルトは現在のタイムスタンプ。更新時に自動更新
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

RentalItems テーブルにデータを挿入

-- RentalItems テーブルにデータを挿入
INSERT INTO RentalItems (name, description, category, quantity, price, available_from, available_to)
VALUES
-- プレゼンテーション用の高解像度プロジェクター
('Projector', 'High resolution projector for presentations', 'Electronics', 5, 120.00, '2024-01-01 09:00:00', '2024-12-31 18:00:00'),
-- キャンプ旅行用の広々とした4人用テント
('Camping Tent', 'Spacious 4-person tent for camping trips', 'Outdoor', 10, 45.00, '2024-01-01 09:00:00', '2024-12-31 18:00:00'),
-- フルサスペンション付きのオールテレーンマウンテンバイク
('Mountain Bike', 'All-terrain mountain bike with full suspension', 'Sports', 8, 30.00, '2024-01-01 09:00:00', '2024-12-31 18:00:00');




RentalHistory テーブルの作成

-- レンタル履歴ID。自動インクリメントされる主キー
rental_id INT AUTO_INCREMENT PRIMARY KEY,
-- レンタルされた商品のID。RentalItemsテーブルのitem_idへの外部キー
item_id INT NOT NULL,
-- レンタルを行ったユーザーのID
user_id INT NOT NULL,
-- レンタル開始日時。NULL不可
start_time DATETIME NOT NULL,
-- レンタル終了日時。NULL不可
end_time DATETIME NOT NULL,
-- レコードの作成日時。デフォルトは現在のタイムスタンプ
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-- レコードの更新日時。デフォルトは現在のタイムスタンプ。更新時に自動更新
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
-- item_idに対する外部キー制約。RentalItemsテーブルのitem_idを参照
CONSTRAINT fk_item_id FOREIGN KEY (item_id) REFERENCES RentalItems(item_id)

RentalHistory テーブルにデータを挿入

-- RentalHistory テーブルにデータを挿入
INSERT INTO RentalHistory (item_id, user_id, start_time, end_time)
VALUES
-- ユーザーID 101 によるプロジェクターのレンタル
(1, 101, '2024-06-01 10:00:00', '2024-06-05 18:00:00'),
-- ユーザーID 102 によるキャンプ用テントのレンタル
(2, 102, '2024-06-02 12:00:00', '2024-06-06 12:00:00'),
-- ユーザーID 103 によるマウンテンバイクのレンタル
(3, 103, '2024-06-03 08:00:00', '2024-06-10 20:00:00');
sqlCopy code

実行結果の例

データベースへの接続に成功しました。
名前: 今井
誕生日: 1990-05-25

以上。

最後までお読みいただきありがとうございます。