用sql语句帮我建立一个数据库某工厂(包括厂名、厂长名、地址、联系电话)需要建立一个数据库,其语义如下: 1)工厂拥有多个车间,每个车间有车间号、车间主任姓名、车间地点和电话; 2)一个车间有多个工人,每个工人有职工号、姓名、年龄、性别和工种; 3)一个车间生产多种产品,产品有产品编号、产品名称、规格型号和价格; 4)一种产品可由不同车间生产; 5)工厂拥有多个仓库,仓库有仓库号、仓库主任姓名和电话; 6)产品生产后均存放在仓库中,一个仓库可以存放不同的产品,但一种产品只存放在一个仓库中。
时间: 2023-05-31 12:07:49 浏览: 99
好的,以下是创建该数据库的 SQL 语句:
CREATE DATABASE 工厂数据库;
USE 工厂数据库;
CREATE TABLE 厂 (
厂名 VARCHAR(50) NOT NULL PRIMARY KEY,
厂长名 VARCHAR(20) NOT NULL,
地址 VARCHAR(100) NOT NULL,
联系电话 VARCHAR(20) NOT NULL
);
CREATE TABLE 车间 (
车间号 INT NOT NULL PRIMARY KEY,
车间主任姓名 VARCHAR(20) NOT NULL,
车间地点 VARCHAR(100) NOT NULL,
联系电话 VARCHAR(20) NOT NULL,
厂名 VARCHAR(50) NOT NULL,
FOREIGN KEY (厂名) REFERENCES 厂(厂名)
);
CREATE TABLE 工人 (
职工号 INT NOT NULL PRIMARY KEY,
姓名 VARCHAR(20) NOT NULL,
年龄 INT NOT NULL,
性别 VARCHAR(5) NOT NULL,
工种 VARCHAR(20) NOT NULL,
车间号 INT NOT NULL,
FOREIGN KEY (车间号) REFERENCES 车间(车间号)
);
CREATE TABLE 产品 (
产品编号 INT NOT NULL PRIMARY KEY,
产品名称 VARCHAR(50) NOT NULL,
规格型号 VARCHAR(50) NOT NULL,
价格 DECIMAL(10, 2) NOT NULL
);
CREATE TABLE 生产 (
车间号 INT NOT NULL,
产品编号 INT NOT NULL,
PRIMARY KEY (车间号, 产品编号),
FOREIGN KEY (车间号) REFERENCES 车间(车间号),
FOREIGN KEY (产品编号) REFERENCES 产品(产品编号)
);
CREATE TABLE 仓库 (
仓库号 INT NOT NULL PRIMARY KEY,
仓库主任姓名 VARCHAR(20) NOT NULL,
联系电话 VARCHAR(20) NOT NULL
);
CREATE TABLE 存放 (
仓库号 INT NOT NULL,
产品编号 INT NOT NULL,
PRIMARY KEY (仓库号, 产品编号),
FOREIGN KEY (仓库号) REFERENCES 仓库(仓库号),
FOREIGN KEY (产品编号) REFERENCES 产品(产品编号)
);
以上语句会创建一个名为“工厂数据库”的数据库,并建立相应的表格和外键关联,以满足上述语义的需求。