西南交通大学智能监测 培训课程练习1

news/2024/11/25 13:24:10/

2023.05.24培训

task1:ER的用法、对应数据库的设计

task2:熟悉数据库基本操作、使用Navicat

目录

一、E-R图是什么

二、E-R图的组成要素

三、E-R图绘制

四、E-R图实例

4.1E-R图转换到关系模式

4.2具体数据表设计

五、Mysql基础操作

5.1操作数据库

5.1.1命令行远程连接数据库

 5.1.2查看所有数据库

 5.1.3选择需要操作的库

 5.1.4退出数据库

5.2操作数据表

5.2.1查看表中的数据

六、使用Navicat操作数据库

6.1连接数据库

6.2操作数据库

6.2.1选择数据库

6.3操作数据表 

6.3.1查看数据表

 6.3.2添加数据表

 6.3.3添加数据

6.4数据查询

6.4.1查询全部数据

6.4.2条件查询

6.4.3分组查询

6.4.4排序查询

6.4.5修改数据

6.4.6删除数据

代码合集


 

一、E-R图是什么

E-R图也称为实体-联系图,提供了表示实体类型,属性和联系的方法,用来描述现实世界的概念模型。简单来说,就是将现实中的业务场景的属性和它们之间的联系用图绘制出来。

二、E-R图的组成要素

1)实体(entity),现实世界客观存在,并区别于其他对象的“事件”或“物体”,比如产品。

2)属性(attribute),每个实体的特征,比如产品的名称、分类。

3)主键(key),能唯一区分这个实体的属性,比如产品ID。

4)联系(relationship),实体与实体之间的联系,有一对一,一对多,多对多三种,比如产品和销售员。
 

三、E-R图绘制

四、E-R图实例

4.1E-R图转换到关系模式

一个订单可能会有一个或多个产品,同时一个产品也可能会有相应的多个订单。

因此,订单和产品两个实体是多对多的联系,即n-m。

订单详情作为中间关系将二者联系起来。

4.2具体数据表设计

根据E-R图可以很容易的得到数据表

抽取订单和产品两个实体分别作一张表,额外加订单详情作一张表

抽取对应属性作为字段,得到如下设计:

订单表(order):订单编码(order_id), 日期(date), 单据状态(document_status)

产品表(product):产品编码(product_id), 产品名(name), 产品分类(type)

订单详情表(order_details):订单编码(order_id)产品编码(product_id), 数量(number), 金额(price)

五、Mysql基础操作

5.1操作数据库

5.1.1命令行远程连接数据库

mysql -h 127.0.0.1 -uroot --port=3306 -p   

 

 5.1.2查看所有数据库

show databases;

 

 5.1.3选择需要操作的库

use summerytempdb; (选择其中名为summerytempdb的数据库)

show tables; (查看该数据库中所有的表)

 

 5.1.4退出数据库

exit; 或者  quit;

 

 

5.2操作数据表

5.2.1查看表中的数据

select *from t_lyh_app; (查看表中所有数据)

 

 (建表等操作在Navicat等数据库可视化软件上更方便)

六、使用Navicat操作数据库

6.1连接数据库

左上角点击连接,选择Mysql

 输入连接名,对应的IP,用户名和密码,点击确定

 

 连接成功后下方就是数据库

 

6.2操作数据库

直接点击数据库或是新建查询使用sql语句进行操作

6.2.1选择数据库

use summerytempdb;

 

6.3操作数据表 

6.3.1查看数据表

show tables;

 6.3.2添加数据表

根据4.2 添加三个数据表

 

 6.3.3添加数据

在表中添加相应数据

单值添加 (末尾有';')

INSERT INTO t_ykx_order VALUE(2023052501,'2023-05-25 11:10:20','transport');

 

批量添加(使用values,中间用','隔开)

INSERT INTO t_ykx_order VALUES(2023052502,'2023-05-24 01:19:33','transport'),
(2023052503,'2023-01-25 10:23:40','transport'),(2023052504,'2023-05-11 14:10:20','complete'),
(2023052505,'2023-02-25 04:11:21','complete'),(2023052506,'2023-03-22 17:10:50','transport'),
(2023052507,'2023-03-25 13:08:38','transport'),(2023052508,'2023-02-22 23:19:31','complete');

 

剩下的表也同样插入数据

INSERT INTO t_ykx_product VALUES(1,'book1','book'),(2,'book2','book'),(3,'book3','book'),
(4,'book4','book'),(5,'pen1','pen'),(6,'pen2','pen'),(7,'pen3','pen'),(8,'cup1','cup'),
(9,'cup2','cup'),(10,'cup3','cup');

 INSERT INTO t_ykx_order_details VALUES(2023052501,3,10,99),(2023052503,7,4,88),(2023052505,10,1,9.9),
(2023052502,4,3,66),(2023052508,8,7,520),(2023052507,2,22,1024);

 

6.4数据查询

6.4.1查询全部数据

SELECT *FROM t_ykx_order;

 

6.4.2条件查询

SELECT *FROM t_ykx_order WHERE order_id>2023052504;

 

 

6.4.3分组查询

SELECT TYPE,COUNT(*)FROM t_ykx_product GROUP BY TYPE;

 

 

6.4.4排序查询

SELECT * FROM t_ykx_order_details ORDER BY price DESC; (加上DESC表示降序,不加默认是升序)

6.4.5修改数据

UPDATE t_ykx_product SET TYPE = 'BOOK' WHERE TYPE = 'book';

 

 

6.4.6删除数据

DELETE FROM t_ykx_order WHERE order_id = 2023052501;

 

 

代码合集

USE summerytempdb;
SHOW TABLES;INSERT INTO t_ykx_order VALUE(2023052501,'2023-05-25 11:10:20','transport');
INSERT INTO t_ykx_order VALUES(2023052502,'2023-05-24 01:19:33','transport'),
(2023052503,'2023-01-25 10:23:40','transport'),(2023052504,'2023-05-11 14:10:20','complete'),
(2023052505,'2023-02-25 04:11:21','complete'),(2023052506,'2023-03-22 17:10:50','transport'),
(2023052507,'2023-03-25 13:08:38','transport'),(2023052508,'2023-02-22 23:19:31','complete');INSERT INTO t_ykx_product VALUES(1,'book1','book'),(2,'book2','book'),(3,'book3','book'),
(4,'book4','book'),(5,'pen1','pen'),(6,'pen2','pen'),(7,'pen3','pen'),(8,'cup1','cup'),
(9,'cup2','cup'),(10,'cup3','cup');INSERT INTO t_ykx_order_details VALUES(2023052501,3,10,99),(2023052503,7,4,88),(2023052505,10,1,9.9),
(2023052502,4,3,66),(2023052508,8,7,520),(2023052507,2,22,1024);SELECT *FROM t_ykx_order;SELECT *FROM t_ykx_order WHERE order_id>2023052504;SELECT TYPE,COUNT(*)FROM t_ykx_product GROUP BY TYPE;SELECT * FROM t_ykx_order_details ORDER BY price DESC;UPDATE t_ykx_product SET TYPE = 'BOOK' WHERE TYPE = 'book';DELETE FROM t_ykx_order WHERE order_id = 2023052501;


http://www.ppmy.cn/news/82508.html

相关文章

数字化转型入门

前言 数字化转型是指企业或组织利用数字化技术和数字化思维来提高业务效率、客户体验和创新能力的过程。在当今的数字化时代,企业或组织要想在激烈的市场竞争中获得竞争优势,就必须积极推进数字化转型。本指南将从数字化转型的概念、影响、挑战、关键因…

掌握RDD算子

文章目录 一、准备本地系统文件二、把文件上传到HDFS三、启动HDFS服务四、启动Spark服务五、启动Spark Shell六、映射算子案例任务1、将rdd1每个元素翻倍得到rdd2任务2、将rdd1每个元素平方得到rdd2任务3、利用映射算子打印菱形IDEA里创建项目实现 七、过滤算子案例任务1、过滤…

Google Cloud Natural Language情感分析教程

安装 Google Cloud SDK 支持的 Python 版本 Python 3(3.5 到 3.9)。 运行 PowerShell 命令: (New-Object Net.WebClient).DownloadFile("https://dl.google.com/dl/cloudsdk/channels/rapid/GoogleCloudSDKInstaller.exe", "…

苹果笔不用原装可以吗?apple pencil二代平替笔推荐

随着网络技术的飞速发展,移动电话、平板电脑、笔记本等移动设备正在逐渐走进人们的生活。就好比如我们现在用的是电容笔。我认为,如果我们可以运用它来学习记笔记,做笔记,或其他一些很简单的事情,我们将不必为一支原装…

理解 Delphi 的类(二) - 初识类的方法

说到"类", 就会提到: 属性、方法、事件 (这是类包含的内容);封装、继承、多态 (这是类的主要用途). 下面定义并调用了了一个过程 MyProc、一个函数 MyFun. unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dial…

Unity3D :运行时 UI 的性能注意事项

推荐:将 NSDT场景编辑器 加入你的3D工具链 3D工具集: NSDT简石数字孪生 运行时 UI 的性能注意事项 本页介绍如何提高运行时的性能用户界面 . 优化数据存储 您可以使用 usageHints 来设置元素在运行时的使用方式,以便相应地优化数据存储。例…

小松鼠踩一踩游戏

文章目录 一、 介绍和知识点九、UnityFacade 门面设计模式二、 声音全局管理器测试音频代码UI全局管理器父类抽象类 BaseManager子类 UIManager 四、 UI按钮的引用父类 BasePanel子类主面板 MainPanel子类 游戏中 GamePanel子类 游戏结果 ResultPanel 角色动画器、控制角色移动…

JAVA常用API - 正则表达式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一,正则表达式是什么? 二,正则表达式符号 三,常用正则表达式组合 四,正则表达…