数据库例题(创建数据库SPJ包含S、P、J和SPJ表)

2024-03-13 23:18
文章标签 创建 数据库 例题 spj

本文主要是介绍数据库例题(创建数据库SPJ包含S、P、J和SPJ表),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

运行说明

例题

例题解答


运行说明

1、运行环境:win10

2、所需步骤:

  (1) 通过PowerDesigner软件创建逻辑数据模型(CDM),再将其转换为物理数据模型(PDM),再导出为SQL语句。

  (2)通过在NavicatPremium中运行所导出的SQL文件,自动生成数据库中的表。

  (3)完成问题。

3、数据库语句:My SQL

例题

创建一个数据库SPJ,包含S、P、J及SPJ 4个关系模式

      S(sno,sname,status,city)

      P(pno,pname,color,weight)

      J(jno,jname,city)

      SPJ(sno,pno,jno,qty)

1、表格详情:

(1)供应商(S)由供应商代码(sno)、供应商姓名(sname)、供应商状态(status)、供应商所在城市(scity)组成

(2)零件表(P)由零件代码(pno)、零件名(pname)、颜色(color)、重量(weight)组成

(3)工程项目表(J)由工程项目代码(jno)、工程项目名(jname)、工程项目所在城市(jcity)组成。

(4)供应情况表(SPJ)由供应商代码(sno)、零件代码(pno)、工程项目代码(jno)、供应数量(qty)组成,表示某供应商供应某种零件给某工程项目的数量为qty

2、表格数据

S表

 

P表

 

J表

 

 SPJ表

 

例题解答

1、通过PowerDesigner软件创建逻辑数据模型(CDM)

 结果如图所示:

 

2、将CDM图转换为物理数据模型(PDM):将实体转换为表,将实体的属性转换为表的列。

 

结果如图所示:

 

3、将其转换为SQL数据库语句 

4、在NavicatPremium的My SQLs数据库下运行SQL语句。

5、运用SQL语句完成下列问题

(1)找出所有供应商的姓名和所在城市

SELECT sname,scity FROM S;

 

(2)找出所有零件的名称、颜色、重量

SELECT pname,color,weight FROM P;

 

(3)找出使用供应商S1所供应零件的工程号码

SELECT jno FROM SPJ WHERE sno='S1';

查询结果为:     J1 、J3 、J4 、J2 

(4)找出工程项目J2使用的各种零件的名称及其数量

SELECT pname,qty FROM P,SPJ WHERE SPJ.pno=P.pno AND SPJ.jno='J2';

 

(5)找出上海厂商供应的所有零件号码

SELECT DISTINCT pno FROM SPJ WHERE sno=(SELECT sno FROM S WHERE scity='上海')

查询结果为:P2 、P3 、P6 

(6)找出使用上海产的零件的工程名称

SELECT jname FROM J WHERE jno IN (SELECT jno FROM SPJ WHERE sno=(SELECT sno FROM S WHERE scity='上海'));

查询结果为:造船厂、三建、一汽 

(7)找出没有使用天津产的零件的工程号码

SELECT DISTINCT jno FROM  SPJ WHERE sno NOT IN (SELECT sno FROM S WHERE scity='天津');

查询结果为:J1 、J2 、J4 、J5 

(8)查询供应工程J1零件的供应商号码sno

SELECT DISTINCT sno FROM SPJ WHERE jno='J1';

查询结果为:S1 、S2 、S3 、S4 、S5 

(9)查询供应工程J1零件P1的供应商号码sno

SELECT sno FROM SPJ WHERE jno='J1' AND pno='P1';

查询结果为:S1 、S3 

(10)查询供应工程J1零件为红色的供应商号码sno

SELECT SNO FROM spj WHERE JNO='J1'AND PNO IN(SELECT PNO FROM p WHERE COLOR='红');

查询结果为:S1 、S3 

(11)查询没有使用天津供应商生产的红色零件的工程号jno

SELECT DISTINCT jno FROM SPJ
WHERE jno NOT IN (SELECT jno FROM SPJ,S,PWHERE SPJ.sno = S.sno AND S.scity = '天津'AND SPJ.pno = P.pno AND P.color = '红');

查询结果为:J2 、J5 

这篇关于数据库例题(创建数据库SPJ包含S、P、J和SPJ表)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/806509

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

在cscode中通过maven创建java项目

在cscode中创建java项目 可以通过博客完成maven的导入 建立maven项目 使用快捷键 Ctrl + Shift + P 建立一个 Maven 项目 1 Ctrl + Shift + P 打开输入框2 输入 "> java create"3 选择 maven4 选择 No Archetype5 输入 域名6 输入项目名称7 建立一个文件目录存放项目,文件名一般为项目名8 确定

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

顺序表之创建,判满,插入,输出

文章目录 🍊自我介绍🍊创建一个空的顺序表,为结构体在堆区分配空间🍊插入数据🍊输出数据🍊判断顺序表是否满了,满了返回值1,否则返回0🍊main函数 你的点赞评论就是对博主最大的鼓励 当然喜欢的小伙伴可以:点赞+关注+评论+收藏(一键四连)哦~ 🍊自我介绍   Hello,大家好,我是小珑也要变强(也是小珑),我是易编程·终身成长社群的一名“创始团队·嘉宾”

Maven创建项目中的groupId, artifactId, 和 version的意思

文章目录 groupIdartifactIdversionname groupId 定义:groupId 是 Maven 项目坐标的第一个部分,它通常表示项目的组织或公司的域名反转写法。例如,如果你为公司 example.com 开发软件,groupId 可能是 com.example。作用:groupId 被用来组织和分组相关的 Maven artifacts,这样可以避免

深入理解数据库的 4NF:多值依赖与消除数据异常

在数据库设计中, "范式" 是一个常常被提到的重要概念。许多初学者在学习数据库设计时,经常听到第一范式(1NF)、第二范式(2NF)、第三范式(3NF)以及 BCNF(Boyce-Codd范式)。这些范式都旨在通过消除数据冗余和异常来优化数据库结构。然而,当我们谈到 4NF(第四范式)时,事情变得更加复杂。本文将带你深入了解 多值依赖 和 4NF,帮助你在数据库设计中消除更高级别的异常。 什么是

DM8数据库安装后配置

1 前言 在上篇文章中,我们已经成功将库装好。在安装完成后,为了能够更好地满足应用需求和保障系统的安全稳定运行,通常需要进行一些基本的配置。下面是一些常见的配置项: 数据库服务注册:默认包含14个功能模块,将这些模块注册成服务后,可以更好的启动和管理这些功能;基本的实例参数配置:契合应用场景和发挥系统的最大性能;备份:有备无患;… 2 注册实例服务 注册了实例服务后,可以使用系统服务管理,

速了解MySQL 数据库不同存储引擎

快速了解MySQL 数据库不同存储引擎 MySQL 提供了多种存储引擎,每种存储引擎都有其特定的特性和适用场景。了解这些存储引擎的特性,有助于在设计数据库时做出合理的选择。以下是 MySQL 中几种常用存储引擎的详细介绍。 1. InnoDB 特点: 事务支持:InnoDB 是一个支持 ACID(原子性、一致性、隔离性、持久性)事务的存储引擎。行级锁:使用行级锁来提高并发性,减少锁竞争