在表MySQL上声明和填充属性

时间:2017-11-30 20:03:56

标签: mysql database

我正在为大学任务做一个游戏数据库。

创建表格并声明属性时,我会立即用值填充它们,然后插入#34; INSERT INTO ..."

我遇到了困难:

  • 拥有名为" rental_limit" 的属性,该属性是在"游戏" 表,并将" rental_date" 作为" txn" table,如何声明" retur_date" 属性,这是其他两个的组合?

我认为这是可能的,但我是数据库/ SQL的新手,到目前为止在任何地方都找不到答案,也没有在我的大学书籍中找到答案。

请注意以下两个表示例:

CREATE TABLE game
(
    game_id SMALLINT PRIMARY KEY NOT NULL AUTO_INCREMENT,
    title VARCHAR (255) NOT NULL,
    publisher VARCHAR (255) NOT NULL,
    genre VARCHAR(255) NOT NULL,
    **rental_limit** TINYINT NOT NULL DEFAULT 3,
    rental_rate DECIMAL(4,2) NOT NULL DEFAULT 4.50
);

INSERT INTO game (title, publisher, genre, rental_limit, rental_rate)  
VALUES ("A Game of Thrones: Genesis", "Focus Home Interactive", "Strategy", 5, "5.50"), 
       ("Ace of Spades", "Sierra Entertainment", "FPS", 3, "24.50"),
       (...etc)

CREATE TABLE Txn
(
    txn_id SMALLINT PRIMARY KEY AUTO_INCREMENT,
    rental_date DATE NOT NULL,
    **return_date** DATE NOT NULL,
    game_id SMALLINT,
    staff_ID SMALLINT,
    cst_ID SMALLINT,

    FOREIGN KEY (game_id) REFERENCES game(game_id),
    FOREIGN KEY (staff_ID) REFERENCES Staff(staff_ID),
    FOREIGN KEY (cst_ID) REFERENCES Customer(cst_ID)
);

INSERT INTO Customer (rental_date) 
VALUES ("11/24/18"), ("03/20/12"), (etc...)

我的问题有道理,我的FK声明也没问题?将使用REFERENCES从其他表填充?

干杯:)

0 个答案:

没有答案