首页 > 数据库 >数据库系统概论-- p70第6题,用关系代数完成题目要求

数据库系统概论-- p70第6题,用关系代数完成题目要求

时间:2024-04-17 10:58:33浏览次数:32  
标签:p70 -- SNO J1 SPJ PNO 数据库系统 JNO SELECT

6.设有一个SPJ数据库,包括s、P、J、SPJ四个关系模式: S(SNO,SNAME,STATUS,CITY); P(PNO,PNAME,COLDR,WEIGHT); J(JNO,JNAME,CITY); SPJ(SNO,PNO,JNO,QTY); 供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成; 零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、质量(WEIGHT)组成; 工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成; 供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。 今有若干数据如下: 试分别用关系代数、ALPHA语言、QBE语言完成下列操作:

(1) 求供应工程J1零件的供应商号码SNO:

关系代数表示:π_SNO(σ_JNO='J1'(SPJ))

ALPHA语言表示:SELECT SNO FROM SPJ WHERE JNO = 'J1'

QBE语言表示:[Suppliers].[SNO] = SPJ.SNO AND SPJ.JNO = 'J1'

(2) 求供应工程J1零件P1的供应商号码SNO:

关系代数表示:π_SNO(σ_JNO='J1'^_PNO='P1'(SPJ))

ALPHA语言表示:SELECT SNO FROM SPJ WHERE JNO = 'J1' AND PNO = 'P1'

QBE语言表示:[Suppliers].[SNO] = SPJ.SNO AND SPJ.JNO = 'J1' AND SPJ.PNO = 'P1'

(3) 求供应工程J1零件为红色的供应商号码SNO:

关系代数表示:π_SNO(σ_COLOR='红色'(σ_JNO='J1'(SPJ)⨝P))

ALPHA语言表示:SELECT SNO FROM SPJ, P WHERE SPJ.JNO = 'J1' AND SPJ.PNO = P.PNO AND P.COLOR = '红色'

QBE语言表示:[Suppliers].[SNO] = SPJ.SNO AND SPJ.JNO = 'J1' AND [Parts].[PNO] = SPJ.PNO AND [Parts].[COLOR] = '红色'

(4) 求没有使用天津供应商生产的红色零件的工程号JNO:

关系代数表示:π_JNO(σ_COLOR='红色'(σ_CITY≠'天津'(SPJ)⨝P))

ALPHA语言表示:SELECT JNO FROM SPJ, P WHERE SPJ.PNO = P.PNO AND P.COLOR = '红色' AND NOT EXISTS (SELECT * FROM Suppliers WHERE Suppliers.SNO = SPJ.SNO AND Suppliers.CITY = '天津')

QBE语言表示:[Projects].[JNO] = SPJ.JNO AND [Parts].[PNO] = SPJ.PNO AND [Parts].[COLOR] = '红色' AND NOT EXISTS (SELECT * FROM Suppliers WHERE Suppliers.SNO = SPJ.SNO AND Suppliers.CITY = '天津')

(5) 求至少用了供应商Sl所供应的全部零件的工程号JNO:

关系代数表示:π_JNO(σ_PNO∈{π_PNO(σ_SNO='Sl'(SPJ))}(SPJ))

ALPHA语言表示:SELECT JNO FROM SPJ WHERE PNO IN (SELECT PNO FROM SPJ WHERE SNO = 'Sl')

QBE语言表示:[Projects].[JNO] = SPJ.JNO AND SPJ.PNO IN (SELECT PNO FROM SPJ WHERE SNO = 'Sl')

标签:p70,--,SNO,J1,SPJ,PNO,数据库系统,JNO,SELECT
From: https://www.cnblogs.com/whwh/p/18140066

相关文章

  • WPF中文网随笔(2)
    常用布局控件Panel其实是一个抽象类,不可以实例化,WPF所有的布局控件都从Panel继承而来publicabstractclassPanel:FrameworkElement,IAddChild它继承于FrameworkElement基类和IAddChild接口。所以,所有Panel元素都支持FrameworkElement定义的基本大小调整和定位属性,包......
  • Linux centos安装tesseract-ocr教程
    安装依赖依赖的包:autoconfautomakelibtoollibjpeg-devellibpng-devellibtiff-develzlib-develleptonica(1.67以上)(一下环境依赖,有则更新,无则安装)yuminstallautoconfautomakelibtoolyuminstalllibjpeg-devellibpng-devellibtiff-develzlib-develLeptonica库......
  • vue代理问题设置
    proxy:{'/api':{target:"http://192.168.10.253:8082",//跨域地址changeOrigin:true,//支持跨域rewrite:(path)=>path.replace(/^\/api/,"")//重写路径,替换/api}} c......
  • 「笔记」树同构
    目录写在前面树同构定义有根树同构无根树同构树哈希有根树无根树AHU算法例题UOJ#763.树哈希SP7826-TREEISO-TreeIsomorphismP5043【模板】树同构([BJOI2015]树的同构)写在最后写在前面vp的时候用到了于是来学一下。好水。抱歉了AHU,但是树哈希它实在是太好写了。树同......
  • Yii2-url路由配置
    Yii2-url路由配置没做任何处理的情况下,url地址如下http://www.yii2-basic.com/index.php?r=site/about去掉index.php和开启url美化/web/目录下添加.htaccess文件RewriteEngineon#如果是一个目录或者文件,就访问目录或文件RewriteCond%{REQUEST_FILENAME}!-d......
  • PR2024教程-2.1 欢迎导入面板
    欢迎界面(之前称之为项目界面):新建项目(点开后就是新建项目界面)打开项目(打开后就是让你找到对应项目路径打开)最近使用项(快速打开最近使用过的项目)筛选(快速定位找到你要的项目筛选查找标题内的内容)小知识:鼠标经过最近使用项上可以显示当前项目的目录所在最近使用......
  • antd pro table 单元格 loading
    前言:在protable单元格中增加loading,还真没思路,看render()方法的四个参数,感觉都用不上。后来在朋友的帮助下用如下方法解决。 importReact,{useState}from'react';import{Space,Spin,Table}from'antd';//发空投loadingconst[loading,setLoading]=useSt......
  • 928. 尽量减少恶意软件的传播 II【并查集加暴力删边判断】
    题意不是很清晰:1.比如对于graph=[[1,1,0],[1,1,1],[0,1,1]],initial=[0,1]来说,可以发现结点的链接情况是0-1-2,感染源结点是0和1,若是按之前题目的要求,移除0和1都不会减少最终感染个数,但是应该返回结点0,因为其index小。但是应用此题的条件,就一定要返回结点1,因为移除结点1之......
  • MBR30100PT-ASEMI肖特基二极管MBR30100PT
    编辑:llMBR30100PT-ASEMI肖特基二极管MBR30100PT型号:MBR30100PT品牌:ASEMI封装:TO-247最大平均正向电流(IF):30A最大循环峰值反向电压(VRRM):100V最大正向电压(VF):0.54V~0.92V工作温度:-40°C~170°C反向恢复时间:5ns芯片个数:2芯片尺寸:122mil正向浪涌电流(IFMS):200AMBR30100PT特性:......
  • 脑图系列-操作系统
     打开电源操作系统做了什么?加载BIOS当计算机插上电源时,计算机主板的BIOS开始工作。BIOS会进行POST(Power-OnSelf-Test)自检,检测计算机的硬件是否正常,包括处理器、内存、硬盘、显卡、网卡等设备。如果有问题,则会在屏幕上显示错误信息。加载引导程序当自检完成后,BIOS会从预设......