ChatGPT实战100例 - (08) 数据库设计转化为SQL并获取ER图

文章目录

  • ChatGPT实战100例 - (08) 数据库设计转化为SQL并获取ER图
    • 一、需求与思路
    • 二、SQL建表
    • 三、绘制
    • 四、 总结

ChatGPT实战100例 - (08) 数据库设计转化为SQL并获取ER图

一、需求与思路

在你还在手撸SQL?ChatGPT笑晕在厕所 这篇博文中
针对经典3表设计:
学生表 S(SNO,SNAME,AGE,SEX),其属性表示学生的学号、姓名、年龄和性别;
选课表 SC(SNO,CNO,GRADE),其属性表示学生的学号、所学课程的课程号和成绩;
课程表 C(CNO,CNAME,TEACHER),其属性表示课程号、课程名称和任课教师姓名。
写了一套增删查改,已经证明ChatGPT绝非浪得虚名。

但这篇文章并没有涉及ER图的部分,所以将基本的SQL建表和ER图单独列出。

二、SQL建表

问题:

作为一名优秀的数据库专家,针对经典3表设计:
学生表 S(SNO,SNAME,AGE,SEX),其属性表示学生的学号、姓名、年龄和性别;
选课表 SC(SNO,CNO,GRADE),其属性表示学生的学号、所学课程的课程号和成绩;
课程表 C(CNO,CNAME,TEACHER),其属性表示课程号、课程名称和任课教师姓名。
写出SQL建表语句,要求使用英文字段中文注释描述

回答:
这里是经典3表设计的SQL建表语句,使用英文字段名和中文注释:

-- 学生表S 
CREATE TABLE Student(SNO VARCHAR(10),      -- 学号SNAME VARCHAR(20),    -- 姓名AGE INT,              -- 年龄SEX VARCHAR(2) CHECK(SEX IN ('M','F')), -- 性别CONSTRAINT Student_PK PRIMARY KEY (SNO)   -- 主键约束
);  -- 选课表SC  
CREATE TABLE SelectCourse(SNO VARCHAR(10),       -- 学号 CNO VARCHAR(10),      -- 课程号GRADE DECIMAL(4,1),   -- 成绩CONSTRAINT SC_PK PRIMARY KEY(SNO,CNO),    -- 主键CONSTRAINT SC_FK_Student FOREIGN KEY(SNO) REFERENCES Student(SNO), -- 外键,引用学生表 CONSTRAINT SC_FK_Course FOREIGN KEY(CNO) REFERENCES Course(CNO)   -- 外键,引用课程表
);   -- 课程表C  
CREATE TABLE Course(CNO VARCHAR(10),     -- 课程号 CNAME VARCHAR(40),   -- 课程名称TEACHER VARCHAR(20), -- 任课教师CONSTRAINT Course_PK PRIMARY KEY(CNO)      -- 主键
);

表名称和属性使用英文,并在每行注释中给出对应的中文释义。该设计同样创建了学生表、选课表和课程表,并设置主键约束和外键约束。
相比直接使用中文表名和字段,此种方式可以最大限度地兼容不同的数据库和配置,同时也为不懂中文的人提供了属性的翻译,具有更好的通用性。
所以,如果要同时满足SQL语句的中文友好性,以及数据库的兼容性,此种使用英文字段加中文注释的方式是比较理想的设计方式。它可以让更多的人理解和使用该SQL语句。
请注意,这里的表名称和属性都使用英文,注释使用的是中文,所以实际存储的名称依然是英文,这也是为了数据库的通用性考虑。我们在SQL语句中采用中文注释只是为了人们更容易理解每个字段的含义。

这个说的有点详细

三、绘制

问题:

针对以上sql建表语句,使用plantuml语法绘制ER图

回答:
根据前面生成的SQL建表语句,这里使用Plantuml语法绘制相应的ER图:

@startuml' 设置字体大小和整图的方向
skinparam defaultTextAlignment center 
skinparam monochrome true  
skinparam size 14  
left to right direction  ' 定义实体类型,圆角实体表示弱实体
entity 学生 {*学号 姓名年龄 性别
}entity 选课 {*学号 *课程号成绩 
}   entity 课程{*课程号课程名称任课教师  
}' 连接选课与学生实体,并标注多对一关系 
选课 ||--o{ 学生 : 多对一' 连接选课与课程实体,并标注多对一关系
选课 }o--|| 课程 : 多对一' 设置实体的主键  
学生 : 学号 
课程 : 课程号
选课 : 学号 + 课程号  @enduml

该ER图清晰地描述了3个实体(学生、选课、课程)之间的结构化关系:

  • 学生实体和选课实体之间的多对一关系,表示一个学生可以选多门课程。
  • 选课实体和课程实体之间的多对一关系,表示一门课程可以被多名学生选择。
  • 各实体的主键也被明确标注出来,如学生实体的主键为学号,课程实体的主键为课程号,选课实体的主键为学号和课程号的组合。
    在这里插入图片描述

所以,通过简单的Plantuml语法,我们就可以很直观地描述SQL语句中的表结构和键约束关系,生成一个清晰准确的ER图。这也体现了Plantuml作为一款文本绘图工具,在数据库设计领域的实用性。

四、 总结

回顾一下,本节主要prompt知识点:

  • CPU大法
作为一名优秀的{高帽子},请{干啥}
  • 根据需求建表
针对{某某某设计},写出SQL建表语句,要求使用英文字段中文注释描述
  • 根据建表SQL绘制ER图
针对以上sql建表语句,使用plantuml语法绘制ER图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26077.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微软官方亲自出教程,拿捏「Prompt工程」高级玩法

大模型有了,下一步就是设计 Prompt 了。 几个月来,ChatGPT、GPT-4 等大模型陆续发布。这些模型表现出了强大的涌现能力,但模型生成的结果是随机的,时好时坏,部分原因与 Prompt 的设计密切相关。 很多人将 Prompt 比喻为…

微软官方亲自出教程,拿捏「Prompt工程」高级玩法!

Datawhale干货 最新:Prompt教程,编译:机器之心 大模型有了,下一步就是设计 Prompt 了。 几个月来,ChatGPT、GPT-4 等大模型陆续发布。这些模型表现出了强大的涌现能力,但模型生成的结果是随机的&#xff0…

【一种思路】域名Bing.com但还是国内版界面,无法使用Bing Chat。搜索引擎URL不能编辑。

Bing chat已经加入学习工作流,极大地提高了效率。 但最近有点奇怪,明明已经“科学”,进入的却是国内版界面,而且时好时坏。网络没有问题,能够正常访问google,网上搜了许多教程,都没有用&#x…

【大模型】

​ 分享几个大模型: 360智脑 — 探索全新的人机协作模式 文心一言 讯飞星火认知大模型 acwing 1. 点应用 2. 找娱乐类,这个里面是chatgpt的一个接口(时好时坏) 3. 一个拓展​​ 至于chatgpt, 那个我也没搞到&a…

安装WIN10Ubuntu双系统二三事

目录 第一章 安装WIN10&Ubuntu双系统二三事 文章目录 目录前言一、个人电脑上安装Linux环境二、Ubuntu的U盘引导盘制作三、Ubuntu磁盘分区四、安装Ubuntu系统五、双系统碰到的问题总结 前言 本文主要就个人电脑安装双系统碰到的问题加以总结,以及记录实践中碰…

人为惨案之kube-controller-manager 不断重启根因溯源

文章目录 背景问题发现排查CSI provision排查kube-controller-manager查看controller log紧急恢复求助chatgpt 面试题daemonset 的tolerationkubelet 的配置node的status 字段k8s 如何保证节点状态? 背景 2023年4月21日10:38:07,在集群中测试RBAC的时候…

C++子类继承父类时如何写构造函数

先摘一段别人的: 构造方法用来初始化类的对象,与父类的其它成员不同,它不能被子类继承(子类可以继承父类所有的成员变量和成员方法,但不继承父类的构造方法)。因此,在创建子类对象时&#xff0…

如何将亚马逊Seller Central 用到极致~

不论是新手卖家还是有经验的老手,亚马逊卖家中心都是一个可以帮助卖家发展业务的好工具,对于许多新手小白来说,亚马逊这样巨大的平台仍有许多功能与服务等着挖掘。 什么是亚马逊卖家中心? 亚马逊卖家中心是第三方卖家用来管理和…

虾皮、Lazada怎么选爆款?测评有哪些方法?

对于一个店铺来说,想要让自己店铺获得更多的流量推广,那么打造出爆款是非常重要的,虾皮、Lazada作为跨境平台也是同样如此,下面就来介绍虾皮、Lazada怎么去选爆款? 1、跟卖 以Shopee、Lazada平台选品,直接“抄”同行…

亚马逊站内流量太少,如何拓展流量渠道增加产品销量?

近两年,经历了行业大洗牌之后,由于入驻平台卖家逐日增多,站内广告成本越来越高,想要抢占更多的站内流量变得愈发困难,一天出不了几单的情况也随处可见。因此,当站内流量的获取遭遇瓶颈,卖家想要…

AIGC技术与应用全解析

一、简介 近期,短视频平台上火爆的“AI绘画”,在各大科技平台上刷屏的智能聊天软件ChatGPT,引起了人们广泛关注。人工智能潜力再次被证明,而这两个概念均来自同一个领域:AIGC。AIGC到底是什么?为什么如此引…

音视频技术开发周刊 | 281

每周一期,纵览音视频技术领域的干货。 新闻投稿:contributelivevideostack.com。 ChatGPT背后的经济账 ChatGPT能否取代Google、百度这样的传统搜索引擎?为什么中国不能很快做出ChatGPT?当前,对这些问题的探讨大多囿于…

一周 AIGC 丨谷歌正面反击 GPT-4,Claude 一分钟看完万字长文,Stability AI 发布文生动画工具...

AIGC 再进化,谷歌在 2023 年 I/O 开发者大会上宣布面向所有用户开放 MusicLM 模型,输入文字描述即可生成音乐。GPT4 最强对手 Anthropic Claude 史诗升级,百页资料一分钟总结完毕。Stability AI 推出文本到动画工具 Stable Animation SDK&…

ChatGPT+Midjourney可量产“宫崎骏”,AI将会让多少设计师失业?

最近,大家都被横空出世的ChatGPT惊艳到了。 瞬间在全世界爆红的ChatGPT,除了陪聊,它还能写论文、写小说、写代码、编剧本……几乎无所不能。 ChatGPT让科技巨头谷歌发出了红色警报,一夜之间全世界的打工人们也都慌了——我们的很…

香港top5功能完善炒期货投资app软件排名(最新评测)

选择一款合适的炒期货投资软件对于投资者来说至关重要。考虑软件稳定、交易流畅度、交易品种、数据可靠性、而且还要考虑费用等多方面因素。 首先,软件的稳定性很重要。选用稳定性高的软件可以避免如断电、手机或电脑死机等突发状况,保证交易安全顺畅。…

量化交易软件哪家好?国内排名是?

一、量化交易软件是什么 量化交易软件是一种基于计算机程序和算法的交易系统,能够自动化地执行投资策略,降低交易成本、提高交易效率。它通过数据分析、技术分析等手段,对市场走势进行预测,并根据预测结果自动执行交易&#xff0…

贵金属实时行情看盘软件排行榜(top 10)

贵金属实时行情看盘软件哪个好,还是得看MT4软件,MT4是俄罗斯软件公司MetaQuotes生产的一款以外汇和贵金属交易为主的软件,其功能十分全面,目前全球有超过100家贵金属公司和30个国家的银行选择MT4软件作为网络交易平台。MT4综合行情…

重磅!ChatGPT席卷全球,Salesforce将推出EinsteinGPT!

2月9日,Salesforce首席执行官Marc Benioff在Twitter上发布了这样一则推文,表示将于3月7日的TrailblazerDX 23上发布Salesforce EinsteinGPT,随后Salesforce的官方Twitter也进行了转发。 虽然还没有正式的新闻稿,但不少业内人士猜测…

chatgpt赋能python:Python图片编辑-利用Python高效便捷地处理图片

Python 图片编辑 - 利用Python高效便捷地处理图片 介绍 随着互联网时代的发展,图片的运用也越来越广泛。对于经常需要处理大量图片的网站/应用程序而言,处理图片已经成为常见的需求之一。Python 作为一种功能强大的编程语言,也可以用来编辑…

2023人工智能发展五大趋势

点击蓝字 / 关注我们 源自:亿欧网 一、生成式AI 机器学习解决方案,正在引领新一代的产品和服务。但是,到目前为止,人工智能主要应用于数据驱动和分析工作流程。创造力和构思被认为非人工智能的能力。 但是,最近出现…