初学者 - 如何在表中放置信息 - CREATE TABLE

时间:2016-01-01 18:00:53

标签: mysql sql database-design create-table

我必须建立一个数据库,而且我已经陷入了困境。我想创建一个数据库,我将有5个表。用户,投诉,遗失,通缉和被盗物品。

所以我想创建一个用户放置信息的数据库,然后提出投诉。用户可以选择3个投诉主题:丢失,想要或被盗的对象。因此,投诉后,应将其放在正确的表格中。

我不确定如何在正确的表格中放置正确的信息,我是mySQL的新手..

目前这是我的数据库:

CREATE TABLE User (
    user_id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(15) NOT NULL,
    sexe VARCHAR(1) NOT NULL,
    age INT(3) NOT NULL,
    birthplace VARCHAR(50),
    phoneNumber VARCHAR(20) NOT NULL,
    email VARCHAR(50),
    PRIMARY KEY (user_id)
);

CREATE TABLE complaint (
    complaint_id INT NOT NULL AUTO_INCREMENT,
    user INT NOT NULL,
    complaint_sort VARCHAR(16),
    title VARCHAR(150),
    name VARCHAR(15),
    date_complaint,
    place VARCHAR(50) NOT NULL,
    description VARCHAR(2000) NOT NULL,
    PRIMARY KEY (complaint_id),
    FOREIGN KEY (user_id)
        REFERENCES Gebruiker (gebruiker_id)
);

CREATE TABLE missing (
    missing_id INT NOT NULL AUTO_INCREMENT,
    complaint_id INT,
    PRIMARY KEY (missing_id),
    FOREIGN KEY (complaint_id)
        REFERENCES Complaint (complaint_id)
);

CREATE TABLE wanted (
    wanted_id INT NOT NULL AUTO_INCREMENT,
    complaint_id INT,
    PRIMARY KEY (wanted_id),
    FOREIGN KEY (complaint_id)
        REFERENCES Complaint (complaint_id)
);

CREATE TABLE Stolen_objects (
    Stolen_objects_id INT NOT NULL AUTO_INCREMENT,
    complaint_id INT,
    PRIMARY KEY (stolen_objects_id),
    FOREIGN KEY (complaint_id)
        REFERENCES Complaint (complaint_id)
);

1 个答案:

答案 0 :(得分:1)

无需为投诉类型创建三个表 - 缺失,通缉,stolen_objects。

不要创建三个表,只需在ENUM投诉表中添加一个标记CREATE TABLE USER ( user_id INT NOT NULL AUTO_INCREMENT, NAME VARCHAR(15) NOT NULL, sexe VARCHAR(1) NOT NULL, age INT(3) NOT NULL, birthplace VARCHAR(50), phoneNumber VARCHAR(20) NOT NULL, email VARCHAR(50), PRIMARY KEY (user_id) ); CREATE TABLE complaint ( complaint_id INT NOT NULL AUTO_INCREMENT, USER INT NOT NULL, complaintType ENUM('Missing','Wanted','stolenObjects') NOT NULL, complaint_sort VARCHAR(16), title VARCHAR(150), NAME VARCHAR(15), date_complaint DATETIME, place VARCHAR(50) NOT NULL, description VARCHAR(2000) NOT NULL, PRIMARY KEY (complaint_id), FOREIGN KEY (user_id) REFERENCES USER (user_id) ); 作为数据类型,其值为missing,wanted,stolenObjects。

试试这个:

public sealed class GenericHandler : IHandleMessages<IEvent> { }