【发布时间】:2020-10-02 19:57:10
【问题描述】:
由于此错误,我无法完成我的数据库。它似乎在粗线中。
创建数据库医院;
create table medico(
CRM INT NOT NULL,
NomeMedico VARCHAR (40) NOT NULL,
NomeDepto VARCHAR (40),
ChefeDepto VARCHAR (40),
Especialidade1 VARCHAR(40),
Especialidade2 VARCHAR (40),
PRIMARY KEY (CRM)
)ENGINE = INNODB;
create table paciente(
Registro INT NOT NULL,
NomePac VARCHAR (40) NOT NULL,
DataNascimento DATE NOT NULL,
SexoPac ENUM ('M','F') NOT NULL,
Rua VARCHAR (40),
Numero INT,
PRIMARY KEY (Registro)
)ENGINE = INNODB;
create table telefonepaciente(
RegistroCE INT NOT NULL,
Telefone INT NOT NULL,
PRIMARY KEY (RegistroCE, Telefone),
FOREIGN KEY (RegistroCE) REFERENCES paciente (Registro)
)ENGINE = INNODB;
create table andar(
NumAndar TINYINT NOT NULL,
DescAndar TEXT,
PRIMARY KEY (NumAndar)
)ENGINE = INNODB;
create table especialidade(
CodEspec INT NOT NULL,
NomeEspec VARCHAR (40),
PRIMARY KEY (CodEspec)
)ENGINE = INNODB;
create table enfermaria(
NumAndarCE TINYINT NOT NULL,
CodEnfermaria INT NOT NULL,
NomeEnfermaria VARCHAR (40),
SituacaoEnfermaria TEXT,
PRIMARY KEY (NumAndarCE, CodEnfermaria),
FOREIGN KEY (NumAndarCE) REFERENCES andar (NumAndar)
)ENGINE = INNODB;
create table tipo(
CodTipo INT NOT NULL,
NomeTipo VARCHAR (40),
PRIMARY KEY (CodTipo)
)ENGINE = INNODB;
create table leito(
NumLeito INT NOT NULL,
SituacaoLeito TEXT,
CodTipoCE INT NOT NULL,
CodEspecCE INT NOT NULL,
NumAndarCE TINYINT NOT NULL,
CodEnfermariaCE INT NOT NULL,
TipoEspecialidade TEXT,
PRIMARY KEY (NumLeito),
FOREIGN KEY (CodTipoCE) REFERENCES tipo (CodTipo),
FOREIGN KEY (CodEspecCE) REFERENCES especialidade (CodEspec),
FOREIGN KEY (NumAndarCE) REFERENCES andar (NumAndar),
**FOREIGN KEY (CodEnfermariaCE) REFERENCES enfermaria (CodEnfermaria)**
)ENGINE = INNODB;
create table internado(
RegistroCE INT NOT NULL,
NumLeitoCE SMALLINT NOT NULL,
CRMCE INT NOT NULL,
Naturalidade VARCHAR (40),
DataInternacao DATE,
DataAlta DATE,
QtdeDiasInternado MEDIUMINT,
PRIMARY KEY (RegistroCE, NumLeitoCE, CRMCE),
FOREIGN KEY (RegistroCE) REFERENCES paciente (Registro),
FOREIGN KEY (NumLeitoCE) REFERENCES leito (NumLeito),
FOREIGN KEY (CRMCE) REFERENCES medico (CRM)
) ENGINE = INNODB;*
【问题讨论】:
-
我已经删除了您添加的 SQL Server 标签,因为您特别声明您正在使用 MySQL SQL Server 是属于 Microsoft 的特定 RDBMS 产品。请不要通过添加实际上不适用于您的帖子的标签来标记垃圾邮件,并在添加标签之前阅读标签说明。标签在这里具有意义和目的,不正确地使用它们是不合适的。另外,请努力格式化您问题中的代码;您可以使用编辑器工具栏上的 ? 图标找到格式化帮助。当您 edit 这样做时,您还应该在帖子中添加 exact 错误消息。
-
这是一个常见问题解答。请在考虑发布之前阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:stackoverflow.com 和标签;阅读许多答案。如果您发布问题,请使用一个短语作为标题。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。
-
请在代码问题中给出minimal reproducible example--cut & paste & runnable code,包括最小的代表性示例输入作为代码;期望和实际输出(包括逐字错误消息);标签和版本;明确的规范和解释。给出尽可能少的代码,即您显示的代码可以通过您显示的代码扩展为不正常的代码。 (调试基础。)对于包含 DBMS 和 DDL(包括约束和索引)和输入为格式化为表的代码的 SQL。 How to Ask 暂停整体目标的工作,将代码砍到第一个表达式,没有给出你期望的内容,说出你期望的内容和原因。
-
您可以添加的实际错误是什么?粗体不适用于代码。
标签: mysql sql foreign-keys mysql-workbench create-table