所以基本上我試圖從 lucidchart 的物體關系圖同時創建多個表,它生成 ER 的查詢
CREATE TABLE `Centro_Vacunacion` (
`ID_Centro_Vacunacion` INT,
`Direccion_Centro_Vacunacion` NVARCHAR,
`Fecha_Inicio_Operacion` DATE,
`ID_Provincia` INT,
PRIMARY KEY (`ID_Centro_Vacunacion`)
);
CREATE TABLE `Personal_Medico` (
`ID_Personal_Medico` INT,
`Nombre_Personal_Medico` NVARCHAR,
`Apellido_Personal_Medico` NVARCHAR,
`Cedula_Personal_Medico` TINYINT,
PRIMARY KEY (`ID_Personal_Medico`),
KEY `UNIQUE` (`Cedula_Personal_Medico`)
);
CREATE TABLE `Personal_Centro` (
`ID_Personal_Medico` INT,
`ID_Centro_Vacunacion` INT,
FOREIGN KEY (`ID_Personal_Medico`) REFERENCES `Centro_Vacunacion`(`Fecha_Inicio_Operacion`),
FOREIGN KEY (`ID_Personal_Medico`) REFERENCES `Personal_Medico`(`Nombre_Personal_Medico`)
);
CREATE TABLE `Provincia` (
`ID_Provincia` INT,
`Nombre_Provincia` NVARCHAR,
`ID_Pais` INT,
PRIMARY KEY (`ID_Provincia`)
);
CREATE TABLE `Almacen` (
`ID_Almacen` INT,
`Nombre_Almacen` NVARCHAR,
`Direccion_Almacen` TINYTEXT,
`Cantidad_Vacunas` INT,
`Cantidad_Lotes` INT,
`ID_Vacuna` INT,
PRIMARY KEY (`ID_Almacen`)
);
CREATE TABLE `Persona` (
`ID_Persona` INT,
`Nombre_Persona` NVARCHAR,
`Apellido_Persona` NVARCHAR,
`Cedula_Persona` TINYINT,
`Fecha_Nacimiento` DATE,
`Sexo` NVARCHAR(12),
PRIMARY KEY (`ID_Persona`),
KEY `UNIQUE` (`Cedula_Persona`)
);
CREATE TABLE `Municipio` (
`ID_Municpio` INT,
`Nombre_Municipio` NVARCHAR,
`ID_Provincia` INT,
PRIMARY KEY (`ID_Municpio`),
FOREIGN KEY (`ID_Municpio`) REFERENCES `Provincia`(`ID_Provincia`)
);
CREATE TABLE `Pais` (
`ID_Pais` INT,
`Nombre_Pais` NVARCHAR,
PRIMARY KEY (`ID_Pais`)
);
CREATE TABLE `Laboratorio` (
`ID_Laboratorio` INT,
`Nombre_Laboratorio` NVARCHAR,
`Direccion_Laboratorio` NVARCHAR,
`Fecha_Registro` DATE,
`ID_Pais` INT,
`Vacunas_En_Laboratorio` INT,
PRIMARY KEY (`ID_Laboratorio`),
FOREIGN KEY (`Direccion_Laboratorio`) REFERENCES `Pais`(`ID_Pais`)
);
CREATE TABLE `Vacuna` (
`ID_Vacuna` INT,
`Nombre_Vacuna` NVARCHAR,
`Lote` NVARCHAR,
`Laboratorio_Fabricacion` TINYTEXT(50),
`Cantidad_Dosis` TINYINT,
`Intervalo_Dosis` TINYINT,
`Fecha_Creacion` DATE,
`Fecha_Vencimiento` DATE,
`ID_Almacen` INT,
PRIMARY KEY (`ID_Vacuna`)
);
CREATE TABLE `Datos_Vacunacion` (
`ID_Centro_Vacunacion` INT,
`ID_Persona` INT,
`Edad_Actual` TINYINT,
`ID_Vacuna` INT,
`Fecha_Vacunacion` DATE,
`ID_Personal_Medico` INT,
PRIMARY KEY (`ID_Centro_Vacunacion`),
FOREIGN KEY (`Edad_Actual`) REFERENCES `Persona`(`Apellido_Persona`),
FOREIGN KEY (`Edad_Actual`) REFERENCES `Vacuna`(`Laboratorio_Fabricacion`)
);
CREATE TABLE `Vacuna_Laboratorio` (
`ID_Vacuna` INT,
`ID_Laboratorio` INT,
`Vacunas_Totales_Producidas` INT
);
CREATE TABLE `Centro_Almacen` (
`ID_Centro_Vacunacion` INT,
`ID_Almacen` INT,
FOREIGN KEY (`ID_Almacen`) REFERENCES `Almacen`(`Direccion_Almacen`),
FOREIGN KEY (`ID_Centro_Vacunacion`) REFERENCES `Centro_Vacunacion`(`Direccion_Centro_Vacunacion`)
);
當我運行查詢時,我得到一個語法錯誤,但我不知道在哪里。我嘗試使用 mysql 表生成器重新創建一個表,但它似乎生成了相同的查詢。
uj5u.com熱心網友回復:
你必須為NVARCHARlike定義一個大小NVARCHAR(255)
CREATE TABLE `Personal_Medico` (
`ID_Personal_Medico` INT,
`Nombre_Personal_Medico` NVARCHAR(255),
`Apellido_Personal_Medico` NVARCHAR(255),
`Cedula_Personal_Medico` TINYINT,
PRIMARY KEY (`ID_Personal_Medico`),
KEY `UNIQUE` (`Cedula_Personal_Medico`)
);
我懷疑您的代碼不適用于 MYSQL
看到它在 MySQL 中運行VARCHAR
https://www.db-fiddle.com/f/nJMBURY4NcXG2hgYLFhbBf/0
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/464310.html
