1.定义并理解下列术语,并说明它们之间的联系和区别。
(1)域,笛卡尔积,关系,元组,属性;

域: 一组具有相同数据类型的值的集合。
例如自然数,整数,大于0小于10的整数,{2,3}等都是域。

笛卡尔积: 域上的一种集合运算,给定一组域D1,D2,…,Dn,允许其中某些域是相同的。则D1,D2,…,Dn的笛卡尔积为:D1×D2×…×Dn = {(d1,d2,…,dn)|di属于Di,i=1,2,…,n}是所有域所有取值的一个组合。
例如 A = {a,b},B = {1,2,3},A × B = {(a,1),(a,2),(a,3),(b,1),(b,2),(b,3)}。

关系: D1×D2×…×Dn的 子集 叫作在域D1,D2,…,Dn上的
关系,表示为R(D1,D2,…,Dn), R:关系名,n:关系的目或度。
关系对应一个二维表,每行代表一个元组,而列对应一个域。

元组: 笛卡尔积中每一个元素(d1,d2,…,dn)叫作一个n元组或简称元组。
如笛卡尔积概念中A x B 里都是二元组,如(a,1)。

属性: 关系对应一个二维表,表的列对应一个域,由于域可以相同,所以对每列起名字,则称为属性,n目关系则有n个属性。

联系和区别: 笛卡尔积是在域上进行运算的,元组是笛卡尔积中的元素,关系是笛卡尔积的子集,属性是关系对应二维表的列。

(2)主码,候选码,外码;
主码: 一个关系有多个候选码,则选定其中一个为主码。
若一个班级所有学生的名字不重复,则名字也是候选码,课任选名字或学号其中之一为主码。

候选码: 若关系中的某一属性组的值能唯一地标识一个元组,则称该属性组为候选码。
元组属性组的值是唯一的,没有重复的,则这个属性组是候选码。学号,身份证号。

外码: 设F是基本关系R的一个或一组属性,但不是关系R的码。如果F与基本关系S的主码Ks相对应,则称F是R的外码。 基本关系R称为参照关系,基本关系S称为被参照关系。
学生(名字,专业名),专业(专业名,专业号),专业号是学生关系的非候选码,又是专业关系的主码,所以专业号属性是学生关系的外码。

联系和区别: 候选码只有一个时,主码就是候选码,候选码有多个时,主码是其中之一。一个关系的外码不是本关系的候选码,但它是其他关系的主码。

(3)关系模式,关系,关系数据库。
**关系模式:**关系模式是对关系的描述,可以形式化地表示为R(U,D,DOM,F)。R为关系名,U组成该关系的属性名集合,D为U中属性所来自的域,DOM为属性向域的映象的集合,F为属性间数据的依赖关系的集合。简记为R(U)。
学生的域是人,则DOM(学生) = 人。

关系: 关系模式在某一时刻的状态或内容。

关系数据库: 在一个给定的应用领域中,所有关系的集合构成一个关系数据库。关系数据库的型是关系数据库的模式,对是对关系数据库的描述。关系数据库的值: 关系模式在某一时刻对应的关系的集合,通常称为关系数据库。
存储关系的数据库。

联系和区别: 关系模式是对关系的描述。关系数据库是关系的集合。
关系模式是静态稳定的,关系是动态,随时间不断变化的,因为关系操作总是更新着数据。

2.试述关系模型的完整性规则。在参照完整性中,什么情况下外码属性的值可以为空值?
1 实体完整性: 若属性A是基本关系R的主属性,则属性A不能取空值。
主属性是候选码的属性,用来唯一表示元组的属性组,肯定不能为空。

2 参照完整性: 若属性(或属性组)F是基本关系R的外码它与基本关系S的主码Ks相对应,则对于R中每个元组在F上的值必须为:1、取空值(F的每个属性值均为空值);2、等于S中某个元组的主码值。
外码它是被参照关系的主码,它的取值要么是被参照关系的主码值,要么就什么都不取。

3 用户定义的完整性: 针对某一具体关系数据库的约束条件,反映某一具体应用所涉及的数据必须满足的语义要求。

什么情况下外码属性为空?
当它没有这个属性的值。学生(学号,姓名,班长),当学生所在班级没有选出班长时,班长就为空。

3.设有一个SPJ数据库,包括S、P、J及SPJ4个关系模式:
S(SNO,SBAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY).
供应商表S由供应商代码(SNO),供应商姓名(SNAME),供应商状态(STATUS),供应商所在城市组成(CITY)。
零件表P由零件代码(PNO),零件名(PNAME),颜色(COLOR),重量(WEIGHT)组成。
工程项目表(JNO),工程项目名(JNAME),工程项目所在城市(CITY)组成。
供应情况表SPJ由供应商代码(SNO),供应商姓名(SNAME),供应商状态(STATUS),供应数量(QTY),表示某供应商供应某种零件给某工程项目的数量为QTY。
今有若干数据:


(1)求供应课程J1零件的供应商号码SNO;
ΠSNO(σJNO=‘J1’(SPJ))\Pi_{SNO}(\sigma_{JNO = ‘J1’}(SPJ))ΠSNO​(σJNO=‘J1’​(SPJ)) ;

(2)求供应课程J1零件P1的供应商号码SNO;
ΠSNO(σJNO=‘J1’∧PNO=‘P1’(SPJ))\Pi_{SNO}(\sigma_{JNO = ‘J1’ \wedge PNO = ‘P1’}(SPJ))ΠSNO​(σJNO=‘J1’∧PNO=‘P1’​(SPJ)) ;

(3)求供应课程J1零件为红色的供应商号码SNO;
ΠSNO(σJNO=‘J1’(SPJ)⋈ΠSNO(σCOLOR=‘红’(J))\Pi_{SNO}(\sigma_{JNO = ‘J1’}(SPJ) \Join \Pi_{SNO}(\sigma_{COLOR = ‘红’}(J) )ΠSNO​(σJNO=‘J1’​(SPJ)⋈ΠSNO​(σCOLOR=‘红’​(J)) ;

(4)求没有使用天津供应商生产的红色零件的工程号JNO;
ΠJNO(ΠPNO(σCOLOR=′红′(P))⋈SPJ−ΠJNO(σCITY=′天津′(J))\Pi_{JNO}(\Pi_{PNO}(\sigma_{COLOR='红'}(P)) \Join SPJ - \Pi_{JNO}(\sigma_{CITY = '天津'}(J))ΠJNO​(ΠPNO​(σCOLOR=′红′​(P))⋈SPJ−ΠJNO​(σCITY=′天津′​(J)) ;

(5)求至少用了供应商S1所供应的全部零件的工程号JNO。
ΠJNO,PNO(SPJ)÷ΠPNO(σSNO=′S1′(SPJ))\Pi_{JNO,PNO}(SPJ) \div\Pi_{PNO}(\sigma_{SNO='S1'}(SPJ))ΠJNO,PNO​(SPJ)÷ΠPNO​(σSNO=′S1′​(SPJ));

4.关系代数的基本运算有哪些?如何用这些基本运算来表示其他运算
基本运算有∪(并);-(差);×(笛卡尔积);σ(选择);π(投影);
∩(交):A∩B = A-(A-B) = B-(B-A);
⋈(连接):?
÷(除):?

数据库作业:关系数据库及相关概念相关推荐

  1. 数据库作业17:第六章总结

    数据库作业17:第六章总结 关系模式 关系的描述称为关系模式.他可以形式化地表示为 R(U,D,DOM,F) 其中 R为关系名 U为组成该关系的属性名集合 D为U中属性所来自的域 DOM为属性向域的映 ...

  2. 第二次数据库作业--gui

    第二次数据库作业--gui 1 package gui; 2 3 import action.C2SAction; 4 import action.CourseAction; 5 import act ...

  3. 数据库之关系数据库之超码,候选码,主码,主属性,非主属性(非码属性)之间的关系

    数据库之关系数据库之超码,候选码,主码,主属性,非主属性(非码属性)之间的关系 超码(Super Key): 在关系模型中能唯一标识一个元组的属性集称为关系模式的超码. 候选码(Candidate K ...

  4. 数据库作业-sql语句查询

    建表的插入数据的表数据库作业-sql建表和插入数据_快乐的xiao何的博客-CSDN博客create table supplier( supplierno char(6) primary key, s ...

  5. day 1 学习MySQL数据库作业 - 创建员工表思考与表之间的关系

    day 1 学习MySQL数据库作业 创建员工表 (工号.姓名.性别.出生日期.入职日期.月薪.职位) 思考员工表跟部门表之间有没有关系?如果有是什么关系?如何建立两张表的关系? 1.创建员工表 (工 ...

  6. SqlServer数据库作业执行dtsx包出错

    一直正常执行的数据库作业(运行一个dtsx包)在 SqlServer 2005数据库升级为sp3后执行出错,报错如下: a connection because the package Offline ...

  7. 数据库作业3:第二章课后题(关系数据库及相关概念)

    一.定义并理解下列术语,说明它们之间的联系和区别 1.域,笛卡尔积,关系,元组,属性 2.候选码,主码,外部码 3.关系模式,关系,关系数据库 1.(1)域:一种具有相同数据类型的值的集合. (2)笛 ...

  8. 数据库作业:相关概念的解释和理解

    以下是 数据库系统概论(第五版)中的一些概念和理解 1.试述数据,数据库,数据库管理系统,数据库系统的概念. 数据:描述事物的符号记录. 理解:数字,文本,图形,图像,音频,视频等都是数据,他们可以用 ...

  9. oracle数据库作业1,北京语言20秋《Oracle数据库开发》作业1(100分)

    -[北京语言大学]20秋<Oracle数据库开发>作业1 试卷总分:100    得分:100 第1题,Orcacle提供了(),用于支持采用向导方式创建数据库. A.SQL*Plus B ...

最新文章

  1. python创建列向量_关于Numpy中的行向量和列向量详解
  2. Mac解决中文matplotlib乱码问题
  3. Spring Boot常见企业开发场景应用、自动配置原理结构分析
  4. SQL连接查询和嵌套查询详解
  5. JavaScript- BOM, DOM
  6. 【数据结构笔记30】拓扑排序、AOV网络、AOE网络、关键工序
  7. 快来,前方美女出没!!
  8. 创业阶段如何找客户_如何找创业合伙人
  9. Python学习之路 第3次笔记!
  10. 「OC」点语法和成员变量的作用域
  11. 办公专用计算机配置,办公电脑用什么配置的好 2017办公电脑配置推荐
  12. 练习4.4 萨提亚冰山理论应用
  13. 艾永亮:从小公司到行业龙头,一路披荆斩棘,最后输给了电商
  14. 地图随意搜---情景地图
  15. 用一个开关,控制LEP灯的亮和灭
  16. Linux(6)RedHat7 基本命令五-hwclock(clock)命令详解
  17. obs多推流地址_OBS如何进行多路推流
  18. 【万里征程——Windows App开发】使用Toast通知
  19. linux中|管道符的作用
  20. TCP建连过程详解/160805

热门文章

  1. 基于matlab的全阶观测器三自由度运动系统状态反馈控制系统的仿真
  2. 2020煤矿安全监测监控考试题及煤矿安全监测监控复审模拟考试
  3. 51单片机仿真例程-PWM直流电动机
  4. 类之间的继承java,Java类与类之间的继承关系
  5. 惠民“大数据”强化共享发展
  6. 使用hMailServer搭建邮件服务器(windows邮件服务器)
  7. Android 10 SSL双向认证握手失败
  8. Servlet 01
  9. php判断股票涨停,情绪周期的简单判断与选股(图解)
  10. python做情感分析