sql脚本 create table product ( product_no char(6) primary key, product_name varchar(20), product_price numeric(8,1), product_quality int, workshop_no char(4) not null, storehouse_no char(4)not null, foreign key (workshop_no)references workshop(workshop_no), foreign key (storehouse_no)references storehouse(storehouse_no) ) 备注 无
6、 表element:零件表
表6.7零件表 表名 数据库用户 主键 其他排序字段 索引字段 序号 字段名称 Element element_no element_weight,element_quality,element_price,storehouse_no element_no 数据类型(精度范围) 允许为空Y/N 唯一区别默认约束条件/说明 Y/N 度 值 1 2 element_no char(6) 1) N Y N N N N 主码 element_weight element_price element_quality y storehouse_no numeric(8, Y numeric(8, Y 1) int char(4) Y N 3 4 5 外码 14
sql脚本 create table element ( element_no char(6) primary key, element_weight numeric(8,1), element_quality int, element_price numeric(8,1), storehouse_no char(4)not null, foreign key (storehouse_no)references storehouse(storehouse_no) ) 无 备注
7、 表element_production:零件生产表
表6.6零件生产表
表名 数据库用户 主键 其他排序字段 索引字段 序号 字段名称 element_production workshop_no,element_no element_date workshop_no,element_no 数据类型(精度范围) 允许为空Y/N 唯一区别默认约束条件/说明 Y/N 度 值 1 2 3 workshop_no element_no element_date sql脚本 char(4) char(4) Date ( N N Y N N N 主码,外码 主码,外码 create table element_production workshop_no char(4) not null, element_no char(6) not null, element_date date, primary key(workshop_no,element_no), foreign key (workshop_no)references workshop(workshop_no), foreign key (element_no)references element(element_no) ) 备注 无
8、 表install:组装表
表6.6组装表
15
表名 数据库用户 主键 其他排序字段 索引字段 序号 字段名称 Install product_no,element_no 无 product_no,element_no 数据类型(精度范围) 允许为空Y/N 唯一区别默认约束条件/说明 Y/N 度 值 1 2 product_no Char(4) N N N 主码,外码 主码,外码 product_name sql脚本 varchar(4) N ( create table install product_no char(6)not null, element_no char(6)not null, primary key(product_no,element_no), foreign key(product_no)references product(product_no), foreign key(element_no)references element(element_no) ) 备注 无
6.3视图的设计
1.创建不同仓库的容量视图: 视图名:v_storehouse
输出参数:仓库号、库存容量 功能:方便查看仓库容量详细状态 如图6.1:
图6.1 仓库库存容量视图
2.创建不同工种的职工人数视图 视图名:count_worker
输出参数:职工工种、人数
功能:方便查看各工种职工总人数详细状态
16
如图6.2:
图6.2 不同工种职工数视图
3.创建不同年龄的职工人数视图 视图名:V_worker
输出参数:职工年龄、人数
功能:方便查看不同年龄职工总人数详细状态 如图6.3:
图6.3 不同年龄职工人数视图
4.创建查询仓库不同产品质量<=1 视图名:v_p.
输出参数:仓库号、产品名、数量 功能:方便查看产品库存详细状态 如图6.4:
图6.4 产品库存视图
17
5. 创建产品的相关信息视图 视图名:v_product
输出参数:产品号、车间号、产品价格 功能:方便查看产品详细信息状态 如图6.5:
图6.5 产品信息视图
6.4 存储过程、函数及触发器的设计
1.存储过程
(1)产品入库
输入参数:产品相关信息
若产品质量<=3,检测合格,则产品入库成功并插入数据,否则提示入库失败 执行代码
execute proc_product 'p005','杨梅',13.6,2,'w002','s002' 执行代码之前产品表情况如图6.6
图6.6 运行结果
执行代码之后产品表情况如图6.7
18