数据库第八次作业--工厂情景类设定Mysql的运用

本文讲述了作者作为计算机专业学生如何利用MySQL数据库管理系统为家族工厂实现数字化管理。通过创建车间、职工、产品三张表,详细解释了数据库的基础知识,并展示了SQL操作,包括数据插入、修改和查询。在实践中遇到问题,如添加新字段、处理外键约束等,最终实现了工厂数据的有效管理。
摘要由CSDN通过智能技术生成

(还没完成等等马上)

身份设定:你的父亲是厂长,在毕业后计划继承家业

随着“互联网+”的不断深入,经济、社会发展加速,各位厂长副厂长会议决定传统的工厂管理方法需要革新,要紧跟时代潮流数字化的管理工厂。他们一致认为你作为厂长接班人,又是计算机相关专业的大专生有义务也有能力做好这件事。

你告诉大家最近正在学习MySQL数据库,作为70/80后他们不知道什么是MySQL,你深知解释了他们也不懂,但碍于面子还是说了MySQL是一种数据库管理系统。他们看你愿意解释所以争先恐后的问,问题越来越多……

什么是数据库?

存储数据的仓库

用户可以对数据库执行什么操作?

可以进行增删查改操作

什么是数据库管理系统?

是一个操纵和管理数据库的大型软件

数据库管理系统可以管理多少个数据库?

无数个

那一个数据库有多少张表呢?

无数张

每张表是否可以有很多条数据呢?

无数条

你解释了这么多他们终于明白了点基础知识,这时他们又问道,这个数据库管理系统这么强大,你要用什么来操作呢?你说要使用SQL语言来操作数据库,他们觉得你好厉害,居然会一种他们从没听过的“外语”,强烈要求你演示一下

你打开了控制台,输入指令登录MySQL

查看所有数据库

告诉他们在学校学习了很多内容,自己也创建了很多个数据库,并一一指给他们看

看完后随手创建了一个新的数据库,名为 temp_姓名全拼

create database temp_yangbin;

将 temp_姓名全拼 数据库的默认字符集改成了 gbk

alter database temp_yangbin default character set gbk;

查看 temp_姓名全拼 数据库创建信息,告诉大家刚才的修改已经生效了

status;

删除 temp_姓名全拼 数据库

drop database temp_yangbin;

\q

他们看到你的展示后更坚信要你来完成工厂数据库创建,你就数据库创建所需内容和大家讨论,讨论结果是需要创建车间、职工、产品三张表,会后你创建并使用了数据库 姓名全拼_factory

CREATE DATABASE yangbin_factory;

之后根据会议内容整理出每张表的字段信息,并开始创建表

车间表 姓名全拼_workshop

字段名

数据类型

长度

主、外键

其他约束

备注信息

NO

CHAR

10

主键

车间号

ADDRESS

TEXT

地址

OPEN_DATE

DATE

开设时间

NAME

VARCHAR

10

非空,唯一

主任姓名

字段名 数据类型 长度 主、外键 其他约束 备注信息
NO CHAR 10 主键 车间号
ADDRESS TEXT 地址
OPEN_DATE DATE 开设时间
NAME VARCHAR 10 非空,唯一 主任姓名

职工表 姓名全拼_worker

字段名

数据类型

长度

主、外键

其他约束

备注信息

NO

CHAR

10

主键

工号

SHOP_NO

CHAR

10

外键workshop (no)

车间号

NAME

VARCHAR

10

非空,唯一

姓名

WORK

VARCHAR

30

工种

字段名 数据类型 长度 主、外键 其他约束 备注信息
NO CHAR 10 主键 工号
SHOP_NO CHAR 10 外键workshop (no) 车间号
NAME VARCHAR 10 非空,唯一 姓名
WORK VARCHAR 30 工种

create table yangbin_worker(
    -> NO CHAR(10) comment"工号" primary key,
    -> SHOP_NO CHAR(10) comment"车间号",
    -> NAME VARCHAR(10) comment "姓名" not null unique,
    -> WORK VARCHAR(30) comment "工种",
    -> constraint fk_shop_no foreign key (shop_no) references yangbin_workshop(NO)
    -> );

产品表 姓名全拼_product

字段名

数据类型

长度

主、外键

其他约束

备注信息

NO

CHAR

10

主键

产品编号

WORK_NO

CHAR

10

外键worker(no)

工号

WEIGHT

DOUBLE

重量

产品表 姓名全拼_product
字段名 数据类型 长度 主、外键 其他约束 备注信息
NO CHAR 10 主键 产品编号
WORK_NO CHAR 10 外键worker(no) 工号
WEIGHT DOUBLE 重量

create table yangbin_product(
    -> NO CHAR(10) comment"产品编号"primary key,
    -> WORK_NO CHAR(10) comment"工号",
    -> WEIGHT DOUBLE comment"重量",
    -> constraint fk_WORK_NO foreign key (WORK_NO) references yangbin_worker(NO)
    -> );

创建完三张表后你查看数据库中所有表

show tables;

看到了所有自己创建的表非常有成就感,继续逐个查看表的创建信息

首先查看车间表的创建信息

show create table yangbin_workshop;

之后查看职工表的创建信息

show create table yangbin_worker;

最后查看产品表的创建信息

show create table yangbin_product;

心满意足的拿给老爸(厂长)看,没想到他说你这个我也看不懂啊,受到吐槽的你内心非常不爽,想到可以画ER图给他看,打开https://www.processon.com/网站(可直接微信登陆),画好了ER图

老爸看后非常满意,立即通知秘书召开厂长会议

在会上你讲解了数据库的搭建过程以及目前成果,获得了极大的好评,同时收到了3条建议

1.职工表需要添加工龄字段,在之后计算工资以及年终奖会用到

字段名

数据类型

长度

主、外键

其他约束

备注信息

SENIORITY

TINYINT

2

工龄

alter table yangbin_worker add SENIORITY TINYINT(2) comment"工龄";

2.车间表需要添加主任的联系电话字段,方便之后管理车间

字段名

数据类型

长度

主、外键

其他约束

备注信息

PHONE

VARCHAR

20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值