创建实体关系图

时间:2013-01-22 15:18:00

标签: sql sql-server

我创建了系统的ERD,现在我想创建一个SQL代码。

That's one of the table from my ERD

那么SQL代码应该是这样的吗?:

CREATE TABLE Student
(
    StudentID    INT NOT NULL IDENTITY PRIMARY KEY,
    FirstName    VARCHAR(255),
    LastName     VARCHAR(255),
    ADDRESS      VARCHAR(255),
    PhoneNumber  VARCHAR(255),
    Email        VARCHAR(255),
    GroupID      INT NOT NULL FOREIGN KEY
);

2 个答案:

答案 0 :(得分:3)

您的问题出在查询的FOREIGN KEY部分,您没有在那里定义外键。如果您现在删除它,您的查询将起作用,但没有定义的FK:

CREATE TABLE Student
(
    StudentID    INT NOT NULL IDENTITY PRIMARY KEY,
    FirstName    VARCHAR(255),
    LastName     VARCHAR(255),
    ADDRESS      VARCHAR(255),
    PhoneNumber  VARCHAR(255),
    Email        VARCHAR(255),
    GroupID      INT NOT NULL 
);

如果要创建外键,则需要执行以下操作(使用正确的表和列):

CREATE TABLE Student
(
    StudentID    INT NOT NULL IDENTITY PRIMARY KEY,
    FirstName    VARCHAR(255),
    LastName     VARCHAR(255),
    ADDRESS      VARCHAR(255),
    PhoneNumber  VARCHAR(255),
    Email        VARCHAR(255),
    GroupID      INT NOT NULL REFERENCES Group(Group_ID)
);

答案 1 :(得分:2)

您的“FOREIGN KEY”声明不完整 - 您需要说出外键引用的表/列。

如果您只想构建表格,

CREATE TABLE Student
(
    StudentID    INT NOT NULL IDENTITY PRIMARY KEY,
    FirstName    VARCHAR(255),
    LastName     VARCHAR(255),
    ADDRESS      VARCHAR(255),
    PhoneNumber  VARCHAR(255),
    Email        VARCHAR(255),
    GroupID      INT NOT NULL);

应该有效。