数据库第八次作业-复习作业(工厂项目)【带源码】

目录

什么是数据库?

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

什么是数据库管理系统?

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

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

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

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

查看所有数据库

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

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

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

删除 temp_姓名全拼 数据库

退出MySQL

创建并使用了数据库 姓名全拼_factory

车间表 姓名全拼_workshop

职工表 姓名全拼_worker

产品表 姓名全拼_product

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

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

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

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

画好了ER图

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

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

3.同理职工表也需要添加联系方式字段方便管理

加好后查看车间表的字段信息

感觉非常赞,之后查看职工表的字段信息

发现联系方式被加在了最后,追求完美主义的你把联系方式的字段位置修改到了姓名之后

修改后再次查看职工表的字段信息

首先给车间表所有字段批量插入数据

插入成功后查看车间表所有字段数据

接下来打开员工信息表

所以你先用修改字段名的语句将职工表的WORK字段修改如下表所示:

之后用修改字段数据类型的语句将职工表的SENIORITY字段修改如下表所示:

修改成功后查看职工表的创建信息

之后使用指定字段批量插入数据的方式开始往职工表新增这些被标红的八条数据,在新增时不用指定工种、工龄字段

查询语句查看职工表中的工号、工种、工龄字段数据

所有字段批量新增的方式往职工表里新增了这些数据

新增完成后查看职工表中所有数据

查看车间表中车间号在WS1,WS2里的所有字段信息

首先修改职工表中Asa的联系方式为17349275853,工龄为3年

接着修改Tyler的联系方式为18934783924

最后修改August的联系方式为15597239204

之后查询车间表中WS1车间的职工姓名、联系方式、工龄字段信息

此时秘书打来电话说WS2车间的地址在Bleecker Street,主任的联系方式是17792847923,你修改了车间表中WS2车间的地址和主任联系方式

打电话给WS2车间主任,得知Jared和Moore的联系方式分别是18529723749和17697397496,你写了两条update语句来改这两条数据

职工表中添加了一个字段来记录职工是否在职

新增好字段后,再将Moore的是否在职字段修改为“0”,表示他已经离职了

修改完成后查看职工表中所有数据

发现所有的空都被填满了,之后查看车间表中的所有数据

你用查询语句查询了职工表中车间号为WS2并且是否在职字段为1的工号、车间号、职工姓名、在职状态字段数据

但是想到有工龄字段,你查询了职工表中工龄不等于0并且工种不是common的工号、车间号、职工姓名、工种、工龄字段数据

职工表中查看联系方式以177开头7923结尾的所有字段数据

车间表查看主任联系方式以177开头7923结尾的所有字段数据

你查看了产品表的字段信息

你删除了表中不需要的重量字段

添加了是否合格字段

观察表中数据发现产品编号应该用整数类型,并且设置自动增加,所以你修改了产品编号字段的数据类型,并查看了产品表的字段信息

指定字段批量新增数据的方式插入了所有数据

你查看了职工表中车间号为WS2的所有字段数据

查看了车间表中车间号为WS2的主任联系方式字段数据

你看到工种、工龄、是否在职都与表中设置的默认值相同,故使用指定字段添加数据的方式插入了这条数据,只指定了工号、车间号、职工姓名、联系方式字段

你还是用指定字段批量新增数据的方式插入了所有数据,只指定了工号字段

插入成功后你查看产品表中的所有字段数据

 truncate表名;   语句删除产品表所有数据

再次用指定字段批量新增数据的方式插入产品表所有数据,只指定工号字段

插入成功后你再次查看产品表中的所有字段数据

发现产品编号为6和9的两条记录产品应该是不合格的,你把产品表中产品编号在6,9里的是否合格状态改成了0

修改后再次查看产品表所有字段数据


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

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

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

什么是数据库?

答:组织、存储和管理数据(文字.音频等)的仓库

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

答:增、删、改、查。

什么是数据库管理系统?

答:管理数据库中的数据的系统;专门用于创建和管理数据库的软件

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

答:无数个

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

答:无数个

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

答:无数个

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

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

mysql -u root -prain

查看所有数据库

show databases;

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

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

create database temp_zhongjinlin;

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

alter database temp_zhongjinlin default character set gbk;

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

show  create database temp_zhongjinlin;

删除 temp_姓名全拼 数据库

drop database temp_zhongjinlin;

退出MySQL

\q

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

创建并使用了数据库 姓名全拼_factory

create database zhongjinlin_factory;

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

车间表 姓名全拼_workshop

字段名

数据类型

长度

主、外键

其他约束

备注信息

NO

CHAR

10

主键

车间号

ADDRESS

TEXT

地址

OPEN_DATE

DATE

开设时间

NAME

VARCHAR

10

非空,唯一

主任姓名

create table zhongjinlin_workshop(

    -> no char(10) comment "车间号",

    -> address text comment "地址",

    -> open_date date comment "开设时间",

    -> name varchar(10) not null unique comment "主任姓名",

    -> primary key(no)

    -> );

职工表 姓名全拼_worker

字段名

数据类型

长度

主、外键

其他约束

备注信息

NO

CHAR

10

主键

工号

SHOP_NO

CHAR

10

外键workshop (no)

车间号

NAME

VARCHAR

10

非空,唯一

姓名

WORK

VARCHAR

30

工种

create table zhongjinlin_worker(

    -> no char(10) comment "工号" primary key,

    -> shop_no char(10) comment "车间号",

    -> name varchar(10) not null unique comment "姓名",

    -> work varchar(30) comment "工种",

    -> constraint fk_shop_no foreign key (shop_no) references zhongjinlin_workshop(no)

    -> );

产品表 姓名全拼_product

字段名

数据类型

长度

主、外键

其他约束

备注信息

NO

CHAR

10

主键

产品编号

WORK_NO

CHAR

10

外键worker(no)

工号

WEIGHT

DOUBLE

重量

create table zhongjinlin_product(

    -> no char(10) comment "产品编号" primary key,

    -> work_no char(10) comment "工号",

    -> weight double comment "重量",

    -> constraint fk_work_no foreign key (work_no) references zhongjinlin_worker(no)

    -> );

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

show tables;

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

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

show  create table zhongjinlin_workshop;

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

show create table zhongjinlin_worker;

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

show create table zhongjinlin_product;

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

画好了ER图

 

 

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

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

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

字段名

数据类型

长度

主、外键

其他约束

备注信息

SENIORITY

TINYINT

2

工龄

alter table zhongjinlin_worker add seniority tinyint(2) comment "工龄";

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

字段名

数据类型

长度

主、外键

其他约束

备注信息

PHONE

VARCHAR

20

主任联系电话

alter table zhongjinlin_workshop add phone varchar(20) comment "主任联系电话";

3.同理职工表也需要添加联系方式字段方便管理

字段名

数据类型

长度

主、外键

其他约束

备注信息

PHONE

VARCHAR

20

联系电话

alter table zhongjinlin_worker add phone varchar(20) comment "联系电话";

加好后查看车间表的字段信息

desc zhongjinlin_workshop;

感觉非常赞,之后查看职工表的字段信息

desc zhongjinlin_worker;

发现联系方式被加在了最后,追求完美主义的你把联系方式的字段位置修改到了姓名之后

alter table zhongjinlin_worker modify phone varchar(20) after name;

修改后再次查看职工表的字段信息

desc zhongjinlin_worker;

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值