形式化关系查询语言习题解答
自考数据库系统原理 第四章 关系运算 课后习题答案
自考数据库系统原理第四章关系运算课后习题答案2009-09-15 10:454.1 名词解释(1)关系模型:用二维表格结构表示实体集,外键表示实体间联系的数据模型称为关系模型。
(2)关系模式:关系模式实际上就是记录类型。
它的定义包括:模式名,属性名,值域名以及模式的主键。
关系模式不涉及到物理存储方面拿枋觯 鼋鍪嵌允 萏匦缘拿枋觥?(3)关系实例:元组的集合称为关系和实例,一个关系即一张二维表格。
(4)属性:实体的一个特征。
在关系模型中,字段称为属性。
(5)域:在关系中,每一个属性都有一个取值范围,称为属性的值域,简称域。
(6)元组:在关系中,记录称为元组。
元组对应表中的一行;表示一个实体。
(7)超键:在关系中能唯一标识元组的属性集称为关系模式的超键。
(8)候选键:不含有多余属性的超键称为候选键。
(9)主键:用户选作元组标识的一个候选键为主键。
(单独出现,要先解释“候选键”)(10)外键:某个关系的主键相应的属性在另一关系中出现,此时该主键在就是另一关系的外键,如有两个关系S和SC,其中S#是关系S的主键,相应的属性S#在关系SC中也出现,此时S#就是关系SC的外键。
(11)实体完整性规则:这条规则要求关系中元组在组成主键的属性上不能有空值。
如果出现空值,那么主键值就起不了唯一标识元组的作用。
(12)参照完整性规则:这条规则要求“不引用不存在的实体”。
其形式定义如下:如果属性集K是关系模式R1的主键,K也是关系模式R2的外键,那么R2的关系中, K的取值只允许有两种可能,或者为空值,或者等于R1关系中某个主键值。
这条规则在使用时有三点应注意: 1)外键和相应的主键可以不同名,只要定义在相同值域上即可。
2)R1和R2也可以是同一个关系模式,表示了属性之间的联系。
3)外键值是否允许空应视具体问题而定。
(13)过程性语言:在编程时必须给出获得结果的操作步骤,即“干什么”和“怎么干”。
如Pascal和C语言等。
形式语言第三章参考答案
第三章作业答案1.已知DFA M1与M2如图3-18所示。
(敖雪峰 02282068)(1) 请分别给出它们在处理字符串1011001的过程中经过的状态序列。
(2) 请给出它们的形式描述。
Sq q1q q图3-18 两个不同的DFA解答:(1)M1在处理1011001的过程中经过的状态序列为q 0q 3q 1q 3q 2q 3q 1q 3;M2在处理1011001的过程中经过的状态序列为q 0q 2q 3q 1q 3q 2q 3q 1;(2)考虑到用形式语言表示,用自然语言似乎不是那么容易,所以用图上作业法把它们用正则表达式来描述:M1: [01+(00+1)(11+0)][11+(10+0)(11+0)]*M2: (01+1+000){(01)*+[(001+11)(01+1+000)]*}******************************************************************************* 2.构造下列语言的DFA( 陶文婧 02282085 )(1){0,1}*,1(2){0,1}+,1(3){x|x {0,1}+且x 中不含00的串}(设置一个陷阱状态,一旦发现有00的子串,就进入陷阱状态)(4){ x|x∈{0,1}*且x中不含00的串}(可接受空字符串,所以初始状态也是接受状态)(5){x|x∈{0,1}+且x中含形如10110的子串}(6){x|x∈{0,1}+且x中不含形如10110的子串}(设置一个陷阱状态,一旦发现有00的子串,就进入陷阱状态)(7){x|x∈{0,1}+且当把x看成二进制时,x模5和3同余,要求当x为0时,|x|=1,且x≠0时,x的首字符为1 }1.以0开头的串不被接受,故设置陷阱状态,当DFA在启动状态读入的符号为0,则进入陷阱状态2.设置7个状态:开始状态q s,q0:除以5余0的等价类,q1:除以5余1的等价类,q2:除以5余2的等价类,q3:除以5余3的等价类,q4:除以5余4的等价类,接受状态q t3.状态转移表为(8){x|x∈{0,1}+且x的第十个字符为1}(设置一个陷阱状态,一旦发现x的第十个字符为0,进入陷阱状态)(9){x|x∈{0,1}+且x以0开头以1结尾}(设置陷阱状态,当第一个字符为1时,进入陷阱状态)(10){x|x∈{0,1}+且x中至少含有两个1}(11){x|x∈{0,1}+且如果x以1结尾,则它的长度为偶数;如果x以0结尾,则它的长度为奇数}可将{0,1}+的字符串分为4个等价类。
第2章习题解1
习题一、单项选择题1.A 2.C 3.B 4.C 5.A 6.B 7.B 8.B 9.C 10.C二、填空1、关系中主码的取值必须惟一且非空,这条规则是实体完整性规则。
2、关系代数中专门的关系运算包括:选择、投影、连接和除法,主要实现查询类操作。
3、关系数据库的关系演算语言是以谓词演算为基础的DML语言。
4、关系数据库中,关系称为表,元组亦称为行,属性亦称为列。
5、数据库描述语言的作用是定义数据库。
6、一个关系模式可以形式化地表示为R(U,D,dom,F)。
7、关系数据库操作的特点是一次一集合式操作。
8.数据库的所有关系模式的集合构成关系数据库模型,所有的关系集合构成关系数据库。
9、在关系数据模型中,两个关系R1与R2之间存在1:m的联系,可以通过在一个关系R2中的外键或外码或外部关键字在相关联的另一个关系R1中检索相对应的记录。
10、将两个关系中满足一定条件的元组连接到一起构成新表的操作称为θ-连接操作。
三、简单、计算或查询1、试述关系模型的三要素内容。
解:(1)关系模型的数据结构——关系关系模型的数据结构:非常单一,在用户看来,关系模型中数据的逻辑结构是一张二维表。
但关系模型的这种简单的数据结构能够表达丰富的语义,描述出现实世界的实体以及实体间的各种联系。
(2)关系模型的关系操作:关系模型给出了关系操作的能力,它利用基于数学的方法来表达关系操作,关系模型给出的关系操作往往不针对具体的RDBMS语言来表述。
关系模型中常用的关系操作包括:选择(select)、投影(project)、连接(join)、除(divide)、并(union)、交(intersection)、差(difference)等查询(query)操作和添加(insert)、删除(delete)、修改(update)等更新操作两大部分。
查询的表达能力是其中最主要的部分。
早期的关系操作能力通常用代数方式或逻辑方式来表示,分别称为关系代数和关系演算。
蔡延光《数据库原理与应用》课后习题四答案
习题四1.试述关系模型的三个组成部分。
2.试述关系数据语言的特点和分类。
3.定义并解释下列术语,说明它们之间的联系与区别。
1)主码、候选码、外码。
2)笛卡尔积、关系、元组、属性、域。
3)关系、关系模式、关系数据库。
4. 试述关系模型的完整性规则。
在参照完整性中,为什么外码属性的值也可以为空?什么情况下才可以为空?5. 试述等值连接与自然连接的区别和联系。
6. 对于学生选课关系,其关系模式为:学生(学号,姓名,年龄,所在系);课程(课程名,课程号,先行课);选课(学号,课程号成绩)。
用关系代数完成如下查询。
1)求学过数据库课程的学生的姓名和学号。
2)求学过数据库和数据结构的学生姓名和学号。
3)求没学过数据库课程的学生学号。
4)求学过数据库的先行课的学生学号。
7. 设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNANE,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。
试用关系代数完成如下查询:1)求供应工程J1 零件的供应商号码SNO。
2)求供应工程J1 零件P1的供应商号码SNO。
3)求供应工程J1 零件为红色的供应商号码SNO。
4)求没有使用天津供应商生产的红色零件的工程号。
5)求至少用了供应商S1所供应的全部零件的工程号。
4结构化查询语言SQL习题与答案
第四章结构化查询语言SQL一、选择题1. 在SQL包含的功能中,最重要的功能是_______。
A) 数据查询B) 数据操纵C) 数据定义D) 数据控制2. 使用SQL语言有两种方式,它们是_______。
A) 菜单式和交互式B) 嵌入式和程序式C) 交互式和嵌入式D) 命令式和解释式3. SQL的全部功能可以用9个动词概括,其中动词INSERT是属于下列__ ____功能。
A) 数据查询B) 数据操纵C) 数据定义D) 数据控制4. SQL语言支持数据库的三级模式结构,其中模式对应于______。
A) 存储文件B) 视图C) 基本表D) 视图和基本表5. 在创建数据表时,可以给字段规定NULL或NOT NULL值,NULL值的含义是______。
A) 0 B) 空格C) NULL D) 不确定6. 在SQL的ALTER语句中,用于删除字段的子句是______。
A) ALTER B) DELETE C) DROP D) MODIFY7. SQL中的INSERT语句可以用于______。
A) 插入一条记录B) 插入一个字段C) 插入一个索引D) 插入一个表8. 下列描述错误的是______。
A)用INSERT-SQL语句可以插入一条记录B)用INSERT-SQL语句可以插入多条记录C)使用INSERT-SQL语句可以插入记录的部分数据D)使用INSERT-SQL语句插入记录时列名的排列顺序必须与表定义时的顺序一致9. INSERT-SQL语句中所使用的数据不能来自于______。
A) 数组B) 变量C) 查询D) 索引10. SQL中的UPDATE语句可以用于______。
A) 更新数据表的结构B) 更新数据表的值C) 更新索引D) 更新查询11. 下列描述错误的是______。
A)SQL中的UPDATE语句可以修改一条记录B)SQL中的UPDATE语句可以修改多条记录C)SQL中的UPDATE语句可以用子查询提供要修改的值D)SQL中的UPDATE语句可以修改子查询的结果12. SQL中的DELETE语句可以用于______。
3_第六章 形式化关系查询语言2
course_id ( semester=“Spring”
Λ year=2010 (section))
集合差运算
符号: r – s 定义:
r – s = { t | t r Λ t
第六章 形式化关系查询语言
关系代数
元组关系演算
域关系演算
关系代数
一种过程化查询语言
具有6个基本运算:
选择: 投影: 并: 集合差: – 笛卡尔积: x 更名:
符号: p(r) p 是选择谓词
选择运算
定义:
p(r) = {t | t r Λ p(t)}
10101 12121 15151
Comp. Sci. Finance Music
关系 teaches
ID 10101 12121 76766 course_id CS-101 FIN-201 BIO-101
外连接——举例
连接
instructor
ID 10101 12121
teaches
name Srinivasan Wu dept_name Comp. Sci. Finance course_id CS-101 FIN-201
查询举例
找出物理系所有教师,以及他们教授的所有课程。
查询1 instructor.ID,course_id (dept_name=“Physics” ( instructor.ID=teaches.ID (instructor x teaches)))
查询2 instructor.ID,course_id (instructor.ID=teaches.ID ( dept_name=“Physics” (instructor) x teaches))
数据库系统概论Ch2(部分)习题解答
第二章关系数据库本章系统地讲解了关系数据库的重要概念,并着重对关系模型进行了阐述。
关系模型包括关系数据结构、关系操作集合以及关系完整性约束三个组成部分。
本章分别对这三个部分的内容进行了详细的分析与论述。
一、基本知识点关系模型和关系数据库是《数据库系统概论》一书的重点,在全书中占有较大的篇幅(包括第二、三、四、五章)。
因此,掌握本章的关键内容是学习后续各章的基础。
(1)需要了解的:关系数据库理论产生和发展的过程,关系数据库产品的发展及沿革;关系演算的概念;域关系演算语言不包括在本科教学大纲内。
(2)需要牢固掌握的:关系模型的三个组成部分及各部分所包括的主要内容;牢固关系数据结构及其形式化定义;关系的三类完整性约束的概念。
(3)需要举一反三的:关系代数(包括抽象的语言及具体的语言);关系代数中的各种运算(包括并、交、差、选择、投影、连接、除及广义笛卡儿积等)、元组关系演算语言ALPHA及域关系演算语言QBE等,能够使用这些语言完成各种数据操纵。
(4)难点:本章的难点在于关系代数。
由于关系代数较为抽象,因此在学习的过程中一定要结合具体的实例进行学习。
同时,要注意把握由具体语言到抽象语言的原则,即通过对具体语言如ALPHA和QBE的学习过渡到对抽象的关系演算的把握。
二、习题解答和解析1、试述关系模型的三个组成部分。
答关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。
2、试述关系数据语言的特点和分类。
答关系数据语言可以分为三类:关系代数语言例如ISBL元组关系演算语言例如APLHA,QUEL 关系数据语言关系演算语言域关系演算语言例如QBE具有关系代数和关系演算双重特点的语言例如SQL这些关系数据语言的共同特点是:具有完备的表达能力;是非过程化的集合操作语言;功能强;能够嵌入高级语言中使用。
3、定义并理解下列术语,说明它们之间的联系与区别:(1)域,笛卡儿积,关系,元组,属性答域:域是一组具有相同数据类型的值的集合。
形式语言第四章参考答案
1.写出表示下列语言的正则表达式。
⑴{0, 1}*。
解:所求正则表达式为:(0+1)*。
⑵{0, 1}+。
解:所求正则表达式为:(0+1)+。
⑶{ x│x∈{0,1}+ 且x中不含形如00的子串 }。
解:根据第三章构造的FA,可得所求正则表达式为:1*(01+)*(01+0+1)。
⑷{ x│x∈{0,1}*且x中不含形如00的子串 }。
解:根据上题的结果,可得所求正则表达式为:ε+1*(01+)*(01+0+1)。
⑸{ x│x∈{0,1}+ 且x中含形如10110的子串 }。
解:所求正则表达式为:(0+1)*10110(0+1)*。
⑹ { x│x∈{0,1}+ 且x中不含形如10110的子串 }。
解:根据第三章的习题,接受x的FA为:要求该FA对应的正则表达式,分别以q0、q1、q2、q3、q4为终结状态考虑:q0为终态时的正则表达式:(0*(11*0(10)*(ε+111*11*0(10)*)0)*)*q1为终态时的正则表达式:0*1(1*(0(10)*111*1)*(0(10)*00*1)*)*q2为终态时的正则表达式:0*11*0((10)*(111*11*0)*(00*11*0)*)*q3为终态时的正则表达式:0*11*0(10)*1(11*11*0((10)*(00*11*0)*)*1)* q4为终态时的正则表达式:0*11*0(10)*11(1*(11*0((00*11*0)*(10)*)*11)*)*将以上5个正则表达式用“+”号相连,就得到所要求的正则表达式。
⑺ { x│x∈{0,1}+ 且当把x看成二进制数时,x模5与3同余和x为0时,│x│=1且x≠0时,x的首字符为1}。
解:先画出状态转移图,设置5个状态q0、q1、q2、q3、q4,分别表示除5的余数是0、1、2、3、4的情形。
另外,设置一个开始状态q.由于要求x模5和3同余,而3模5余3,故只有q3可以作为终态。
由题设,x=0时,│x│=1,模5是1,不符合条件,所以不必增加关于它的状态。
软件工程-理论与实践(许家珆)习题答案
软件⼯程-理论与实践(许家珆)习题答案习题答案习题⼀答案⼀、选择题1. 软件的主要特性是(A B C)。
A) ⽆形 B) ⾼成本C) 包括程序和⽂档D) 可独⽴构成计算机系统2. 软件⼯程三要素是(C D)。
A) 技术、⽅法和⼯具B) ⽅法、⼯具和过程C) ⽅法、对象和类D) 过程、模型、⽅法3. 包含风险分析的软件⼯程模型是(A)。
A) 螺旋模型 B) 瀑布模型C) 增量模型 D) 喷泉模型4. 软件⼯程的主要⽬标是(C)。
A) 软件需求B) 软件设计C) 风险分析D) 软件实现5. 下列属于⾯向对象开发⽅法的是(A B C D)。
A) Booch B) UML C) Coad D) OMT6. 软件危机的主要表现是(B D)。
A) 软件成本太⾼B) 软件产品的质量低劣C) 软件开发⼈员明显不⾜D) 软件⽣产率低下7. 软件开发⽅法的主要⼯作模型有(A B C)A) 螺旋模型B) 循环模型C) 瀑布模型D) 专家模型8. 软件⼯程的⽬标有(A B C)。
A) 易于维护B) 低的开发成本C) ⾼性能D) 短的开发期9. 软件⼯程学的⽬的和意义是( )。
A) 应⽤科学的⽅法和⼯程化的规范管理来指导软件开发B) 克服软件危机C) 作好软件开发的培训⼯作D) 以较低的成本开发出⾼质量的软件⼆、判断题1. 软件就是程序,编写软件就是编写程序。
(×)2. 瀑布模型的最⼤优点是将软件开发的各个阶段划分得⼗分清晰。
(×)3. 结构化⽅法的⼯作模型是使⽤螺旋模型进⾏开发。
(×)4. 结构化⽅法和JSP⽅法都不适合于⼤型软件的开发。
(√)5. 原型化开发⽅法包括⽣成原型和实现原型两个步骤。
(×)6. ⾯向对象的开发⽅法包括⾯向对象的分析、⾯向对象的设计和⾯向对象的程序设计。
( √)7. 软件危机的主要表现是软件的需求量迅速增加,软件价格上升。
(×)8. 软件⼯具的作⽤是为了延长软件产品的寿命。
编译原理-第2章 形式语言的基本知识-习题答案
第2章形式语言的基本知识习题答案第 1 题文法G=({A,B,S},{a,b,c},P,S)其中P 为:S→Ac|aBA→abB→bc写出L(G[S])的全部元素。
答案:L(G[S])={abc}第 2 题文法G[N]为:N→D|NDD→0|1|2|3|4|5|6|7|8|9G[N]的语言是什么?答案: 允许0 开头的非负整数或者G[N]的语言是V+。
V={0,1,2,3,4,5,6,7,8,9}第3题为只包含数字、加号和减号的表达式,例如9-2+5,3-1,7等构造一个文法。
答案:G[S]:S->S+D|S-D|DD->0|1|2|3|4|5|6|7|8|9第 4 题已知文法G[Z]:Z→aZb|ab写出L(G[Z])的全部元素。
答案:L(G[Z])={a n b n|n>=1}第 5 题(答案不唯一)写一文法,使其语言是偶正整数的集合。
要求:(1) 允许0 打头;(2)不允许0 打头。
答案:(1)允许 0 开头的偶正整数合的文法E→NT|DT→NT|DN→D|1|3|5|7|9D→0|2|4|6|8(2)不允许 0 开头的偶正整数集合的文法E→NT|DT→FT|GN→D|1|3|5|7|9D→2|4|6|8F→N|0G→D|0第 6 题已知文法G:<表达式>::=<项>|<表达式>+<项><项>::=<因子>|<项>*<因子><因子>::=(<表达式>)|i试给出下述表达式的最左推导及语法树。
(1)i+(i+i)(2)i+i*i答案:(1) <表达式>=><表达式>+<项>=><表达式>+<因子>=><表达式>+(<表达式>)=><表达式>+(<表达式>+<项>)=><表达式>+(<表达式>+<因子>)=><表达式>+(<表达式>+i)=><表达式>+(<项>+i)=><表达式>+(<因子>+i)=><表达式>+(i+i)=><项>+(i+i)=><因子>+(i+i)=>i+(i+i)(2) <表达式>=><表达式>+<项>=><表达式>+<项>*<因子>=><表达式>+<项>*i=><表达式>+<因子>*i=><表达式>+i*i=><项>+i*i=><因子>+i*i=>i+i*i第7 题为句子i+i*i 构造两棵语法树,从而证明下述文法G[〈表达式〉]是二义的。
形式语言第一章参考答案
1.3 给出下列集合的幂集.(02282075 冯蕊) (1) Φ (2) {Φ} (3) {Φ,{Φ}} (4) {ε,0,00} (5) {0,1} 解答: (1) {Φ} (2) {Φ,{Φ}} (3) {Φ,{Φ},{{Φ}},{Φ,{Φ}}} (4) {Φ,{ε},{0},{00},{ε,0},{ε,00},{0,00},{ε,0,00}} (5) {Φ,{0},{1},{0,1}}
1.5 解答: 1、3、8、10、11、12、16 正确
2
1.6 证明下列各题目
1)A=B,iff A 是 B 的子集且 B 是 A 的子集
证明: 充分条件: ∵A=B 则由集合相等的定义知 对于任何 x∈A,有 x∈B ∴A 为 B 的子集 同理,B 为 A 的子集 必要条件: ∵A 为 B 的子集 ∴ 对于任何 x∈A,都有 x∈B 又∵B 为 A 的子集, ∴对于任何 x∈B 有,x∈A 由集合相等的定义知,A=B
(02282081 刘秋雯)
2)如果 A 为 B 的子集,则|A|〈=|B|
证明: A 为 B 的子集,则对于任何 x∈A 有 x∈B, ∴存在一个集合 C 使 B=A∪C 且 A∩C 为空集 则|B|=|A|+|C| |C|〉=0 ∴|A|〈=|B|
3)如果 A 为 B 的真子集,则|A|〈=|B|
第一章参考答案 1.1 请用列举法给出下列集合。
(吴贤珺 02282047)
⑴ 你知道的各种颜色。 解:{红,橙,黄,绿,青,蓝,紫} ⑵ 大学教师中的各种职称。 解:{助教,讲师,副教授,教授} ⑶ 你所学过的课程。 解:{语文,数学,英语,物理,化学,生物,历史,地理,政治} ⑷ 你的家庭成员。 解:{父亲,母亲,妹妹,我} ⑸ 你知道的所有交通工具。 解:{汽车,火车,飞机,轮船,马车} ⑹ 字母表{a , b}上长度小于 4 的串的集合。 解:{a,b,aa,bb,ab,ba,aaa,aab,aba,abb,baa,bab,bba,bbb} ⑺ 集合{1,2,3,4}的幂集。 解:{Φ,{1},{2},{3},{4},{1,2},{1,3},{1,4},{2,3},{2,4},{3,4},{1,2,3},{1,2,4}, {1,3,4},{2,3,4},{1,2,3,4} } ⑻ 所有的非负奇数。 解:{1,3,5,7,„} ⑼ 0~100 的所有正整数。 解:{1,2,3,„,100} (10) 1~10 之间的和为 10 的整数集合的集合。 解:设所求的集合为 A,集合 A 中的元素为 Ai(i=1,2,3,„) ,Ai 也是集合,Ai 中的元素 在 1~10 之间,并且和为 10。根据集合元素的彼此可区分性,可以计算出 Ai 中元素的 最多个数,方法是:把 1 开始的正整数逐个相加,直到等于 10(即 10=1+2+3+4) ,这样, Ai 中最多有 4 个元素。原因是:从最小的 1 开始,每次加入新的元素都只依次增加 1, 这样相加的和最小,要加到 10,元素个数就最多。 求出最大的∣Ai∣=4 后,再求出元素个数为 3,2,1 的集合就可以了。 故 A={{10},{1,9},{2,8},{3,7},{4,6},{1,2,7},{1,3,6},{1,4,5},{2,3,5},{1,2,3,4}}
编译原理形式语言题+答案
编译原理形式语言题+答案第一篇:编译原理形式语言题+答案第2章形式语言1.试分别构造产生下列语言的文法:(1){an#bn|n≥0}∪{cn#dn|n≥0};(2)任何不是以0打头的所有奇整数所组成的集合。
答:(1)对应文法为G(S)=({S,X,Y},{a,b,c,d,#}, {S→X, S→Y, X→aXb|#, Y→cYd|# },S)(2)G(S)=({S,A,B,I,J},{0,1,2,3,4,5,6,7,8,9}, {S→J|IBJ, B→0B|IB|ε, I→J|2|4|6|8, J→1|3|5|7|9},S)2.对于下列的文法S→AB|cA→bA|aB→aSb|c试给出句子bbaacb的最右推导。
答:S=>AB=>AaSb=> Aacb=>bAacb=>bbAacb=>bbaacb3.已知文法G[S]:S->(AS)|(b)A->(SaA)|(a)请找出符号串(a)和(A((SaA)(b)))的短语、简单短语和句柄。
答:因为S 不能⇒(a), 所以(a)不是文法的句型。
没有短语、直接短语和句柄。
因为S ⇒(AS)⇒(A(AS))⇒(A((SaA)S))⇒(A((SaA)(b))),所以(A((SaA)(b)))是文法的句型。
短语:(A((SaA)(b))),((SaA)(b)),(SaA),(b)直接短语:(SaA),(b)句柄:(SaA)S(AS)(AS)(S a A)(b)4.试描述由下列文法所产生的语言的特点:(1)S→10S0S→aAA→bAA→a(2)S→aSSS→a答:(1)本文法构成的语言集为:L(G)={(10)nabma0n|n,m≥0}。
(2)由L(G)={a2n-1|n≥1}可知,该语言特点是:产生的句子是奇数个a。
附加题:试证明文法S→AB|DCA→aA|aB→bBc|bcC→cC|cD→aDb|ab 为二义性文法。
结构化查询语言答案
结构化查询语言答案试验二结构化查询语句一、简单查询1.查询XS表中各个同学的所有信息。
Select * from xs2.查询XS表中各个同学的姓名、专业名和总学分。
select xm,zym,zxf from xs;3.查询XS表中所有同学的学号、姓名和总学分,结果中各列的标题分别指定为“学号”、“姓名”和“总学分”。
Select xh as 学号, xm as 姓名,zxf as 总学分 from xs;4.查询XS表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。
Select distinct zym from xs;5.查询XS表中每个学生的学号、姓名和年龄信息。
Select xh,xm,to_number(to_char(sysdate,'yyyy'))-to_number(to_char(cssj,'yyyy')) as nl from xs;6.查询XS表中专业为“计算机”的同学的情况。
Select * from xs where zym='计算机';7.查询XS表中1980年出生的学生姓名和专业情况。
Select xm,zym from xs where to_number(to_char(cssj,'yyyy'))=1980;8.查询XS表中专业名为“计算机”或“电子”或“应用数学”的学生的情况。
Select * from xsWhere zym in ( '计算机','电子','应用数学');9.查询XS表中姓“张”且单名的学生的情况。
Select * from xsWhere xm like '张_';10.查询XS表中总学分尚未确定的学生情况。
Select * from xsWhere zxf is null11.查询XS表中专业为“计算机”且总学分尚未确定的学生情况。
形式语言第四章参考答案
1.写出表示下列语言的正则表达式。
⑴{0, 1}*。
解:所求正则表达式为:(0+1)*。
⑵{0, 1}+。
解:所求正则表达式为:(0+1)+。
⑶{ x│x∈{0,1}+ 且x中不含形如00的子串}。
解:根据第三章构造的FA,可得所求正则表达式为:1*(01+)*(01+0+1)。
⑷{ x│x∈{0,1}*且x中不含形如00的子串}。
解:根据上题的结果,可得所求正则表达式为:ε+1*(01+)*(01+0+1)。
⑸{ x│x∈{0,1}+ 且x中含形如10110的子串}。
解:所求正则表达式为:(0+1)*10110(0+1)*。
⑹ { x│x∈{0,1}+ 且x中不含形如10110的子串}。
解:根据第三章的习题,接受x的FA为:要求该FA对应的正则表达式,分别以q0、q1、q2、q3、q4为终结状态考虑:q0为终态时的正则表达式:(0*(11*0(10)*(ε+111*11*0(10)*)0)*)*q1为终态时的正则表达式:0*1(1*(0(10)*111*1)*(0(10)*00*1)*)*q2为终态时的正则表达式:0*11*0((10)*(111*11*0)*(00*11*0)*)*q3为终态时的正则表达式:0*11*0(10)*1(11*11*0((10)*(00*11*0)*)*1)* q4为终态时的正则表达式:0*11*0(10)*11(1*(11*0((00*11*0)*(10)*)*11)*)*将以上5个正则表达式用“+”号相连,就得到所要求的正则表达式。
⑺ { x│x∈{0,1}+ 且当把x看成二进制数时,x模5与3同余和x为0时,│x│=1且x≠0时,x的首字符为1}。
解:先画出状态转移图,设置5个状态q0、q1、q2、q3、q4,分别表示除5的余数是0、1、2、3、4的情形。
另外,设置一个开始状态q.由于要求x模5和3同余,而3模5余3,故只有q3可以作为终态。
由题设,x=0时,│x│=1,模5是1,不符合条件,所以不必增加关于它的状态。
第4章 关系数据库的结构化查询语言习题解答
第4章关系数据库的结构化查询语言习题解答一. 简答题1.SQL的特点是什么?(1)一体化特点。
SQL提供了一系列完整的数据定义和操纵功能,用SQL可以实现数据库生命周期中的全部活动,包括定义关系模式,录入数据以建立数据库、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求。
(2)高度非过程化。
SQL和其它数据操作语言不同的关键是SQL为非过程语言,它允许用户依据做什么来说明操作,而不用说明怎样做,存取路径的选择和SQL语句操作的过程由系统自动完成。
(3)语言简洁,易学易用。
SQL的语法很简单,语言十分简洁,完成核心功能只用了9个动词。
初学者经过短期的学习就可以使用SQL进行数据库的存取等操作,易学易用是它的最大特点。
(4)统一的语法结构对待不同的工作方式。
无论是联机交互使用方式,还是嵌入到高级语言中使用,其语法结构是基本一致的,这就大大改善了最终用户和程序设计人员之间的通信。
(5)面向集合的操作方式。
SQL采用集合操作方式,无论是操作对象还是查询更新的结果均是元组的集合。
(6) SQL语言可以对两种基本数据结构进行操作,一种是“表”,另一种是“视图(View)”。
2.什么是基本表? 什么是视图? 两者的区别和联系是什么?基本表是本身独立存在的表,一个(或多个)基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。
存储文件的逻辑结构组成了关系数据库的内模式。
视图是从一个或几个基本表导出的表,它本身不独立存储在数据库中,即数据库中只存储视图的定义而不存储对应的数据,因此视图是一个虚表。
用户可在视图和/或基本表上定义新的视图。
基本表是实表,而视图则是虚表。
用户可以用SQL语言对视图(View)和基本表(Base table)进行查询等操作,在用户观点里,视图和基本表一样都是关系。
3.视图是否都可以更新?试举例说明。
在一般情况下,只有行列子集视图才能更新,而由以下例子建立的视图不仅用到分组,而且还有avg函数,所以不能更新。
形式语言与自动机课后习题答案
形式语言与自动机课后作业答案第二章4.找出右线性文法,能构成长度为1至5个字符且以字母为首的字符串。
答:G={N,T,P,S}其中N={S,A,B,C,D} T={x,y} 其中x∈{所有字母} y∈{所有的字符} P如下: S→x S→xA A→y A→yBB→y B→yC C→y C→yD D→y6.构造上下文无关文法能够产生L={ω/ω∈{a,b}*且ω中a的个数是b的两倍}答:G={N,T,P,S}其中N={S} T={a,b} P如下:S→aab S→aba S→baaS→aabS S→aaSb S→aSab S→SaabS→abaS S→abSa S→aSba S→SabaS→baaS S→baSa S→bSaa S→Sbaa7.找出由下列各组生成式产生的语言(起始符为S)(1)S→SaS S→b(2)S→aSb S→c(3)S→a S→aE E→aS答:(1)b(ab)n /n≥0}或者L={(ba)n b/n≥0}(2) L={a n cb n /n≥0}(3)L={a2n+1 /n≥0}第三章1.下列集合是否为正则集,若是正则集写出其正则式。
(1)含有偶数个a和奇数个b的{a,b}*上的字符串集合(2)含有相同个数a和b的字符串集合(3)不含子串aba的{a,b}*上的字符串集合答:(1)是正则集,自动机如下(2) 不是正则集,用泵浦引理可以证明,具体见17题(2)。
(3) 是正则集先看L’为包含子串aba的{a,b}*上的字符串集合显然这是正则集,可以写出表达式和画出自动机。
(略)则不包含子串aba的{a,b}*上的字符串集合L是L’的非。
根据正则集的性质,L也是正则集。
4.对下列文法的生成式,找出其正则式(1)G=({S,A,B,C,D},{a,b,c,d},P,S),生成式P如下:S→aA S→BA→abS A→bBB→b B→cCC→D D→bBD→d(2)G=({S,A,B,C,D},{a,b,c,d},P,S),生成式P如下:S→aA S→BA→cC A→bBB→bB B→aC→D C→abBD→d答:(1) 由生成式得:S=aA+B ①A=abS+bB ②B=b+cC ③C=D ④D=d+bB ⑤③④⑤式化简消去CD,得到B=b+c(d+bB)即B=cbB+cd+b =>B=(cb)*(cd+b) ⑥将②⑥代入①S=aabS+ab(cb)*(cd+b)+(cb)*(cd+b) =>S=(aab)*(ab+ε)(cb)*(cd+b) (2) 由生成式得:S=aA+B ①A=bB+cC ②B=a+bB ③C=D+abB ④D=dB ⑤由③得 B=b*a ⑥将⑤⑥代入④ C=d+abb*a=d+ab+a ⑦将⑥⑦代入② A=b+a+c(d+b+a) ⑧将⑥⑧代入① S=a(b+a+c(d+ab+a))+b*a=ab+a+acd+acab+a+b*a5.为下列正则集,构造右线性文法:(1){a,b}*(2)以abb结尾的由a和b组成的所有字符串的集合(3)以b为首后跟若干个a的字符串的集合(4)含有两个相继a和两个相继b的由a和b组成的所有字符串集合答:(1)右线性文法G=({S},{a,b},P,S)P: S→aS S→bS S→ε(2) 右线性文法G=({S},{a,b},P,S)P: S→aS S→bS S→abb(3) 此正则集为{ba*}右线性文法G=({S,A},{a,b},P,S)P: S→bA A→aA A→ε(4) 此正则集为{{a,b}*aa{a,b}*bb{a,b}*, {a,b}*bb{a,b}*aa{a,b}*}右线性文法G=({S,A,B,C},{a,b},P,S)P: S→aS/bS/aaA/bbBA→aA/bA/bbCB→aB/bB/aaCC→aC/bC/ε7.设正则集为a(b a)*(1)构造右线性文法(2)找出(1)中文法的有限自动机答:(1)右线性文法G=({S,A},{a,b},P,S)P: S→aA A→bS A→ε(2)自动机如下:9.对应图(a)(b)的状态转换图写出正则式。
数据库实用教程课后习题参考答案
第1、2章1.1 名词解释:◆ DB:数据库(Database),DB是统一管理的相关数据的集合。
DB能为各种用户共享,具有最小冗余度,数据间联系密切,而又有较高的数据独立性。
◆ DBMS:数据库管理系统(Database Management System),DBMS是位于用户与操作系统之间的一层数据管理软件,为用户或应用程序提供访问DB的方法,包括DB的建立、查询、更新及各种数据控制。
DBMS总是基于某种数据模型,可以分为层次型、网状型、关系型、面向对象型DBMS。
◆ DBS:数据库系统(Database System),DBS是实现有组织地、动态地存储大量关联数据,方便多用户访问的计算机软件、硬件和数据资源组成的系统,即采用了数据库技术的计算机系统。
◆ 1:1联系:如果实体集E1中的每个实体最多只能和实体集E2中的一个实体有联系,反之亦然,好么实体集E1对E2的联系称为“一对一联系”,记为“1:1”。
◆ 1:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,而E2中每个实体至多和E1中的一个实体有联系,那么E1对E2的联系是“一对多联系”,记为“1:N”。
◆ M:N联系:如果实体集E1中每个实体与实体集E2中任意个(零个或多个)实体有联系,反之亦然,那么E1对E2的联系是“多对多联系”,记为“M:N”。
◆ 数据模型:表示实体类型及实体类型间联系的模型称为“数据模型”。
它可分为两种类型:概念数据模型和结构数据模型。
◆ 概念数据模型:它是独门于计算机系统的模型,完全不涉及信息在系统中的表示,只是用来描述某个特定组织所关心的信息结构。
◆ 结构数据模型:它是直接面向数据库的逻辑结构,是现实世界的第二层抽象。
这类模型涉及到计算机系统和数据库管理系统,所以称为“结构数据模型”。
结构数据模型应包含:数据结构、数据操作、数据完整性约束三部分。
它主要有:层次、网状、关系三种模型。
24答案
1.结构化查询语言(Structured Query Language,简称SQL)是集数据定义、数据操纵和数据控制功能于一体的数据库语言。
本题答案为C。
2.调试的关键在于推断程序内部的错误位置及原因。
主要的调试方法有强行排错法、回溯法和原因排除法。
本题答案为B。
3.数据流相当于一条管道,并有一级数据(信息)流经它。
在数据流图中,用标有名字的箭头表示数据流。
数据流可以从加工流向加工,也可以从加工流向文件或从文件流向加工,并且可以从外部实体流向系统或从系统流向外部实体。
本题答案为C。
4.滥用goto语句将使程序流程无规律,可读性差;添加的注解行有利于对程序的理解,不应减少或取消;程序的长短要依照实际需要而定,并不是越短越好。
本题答案为A。
5.快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩下的子表采用同样的方法,直到表空为止;归并排序是将两个或两个以上的有序表组合成一个新的有序表。
本题答案为D。
6.依据后序遍历序列可确定根结点为c;再依据中序遍历序列可知其左子树由deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成。
求得该二叉树的前序遍历序列为选项A。
本题答案为A。
7.视图设计一般有3种设计次序,它们分别是自顶向下、自底向上和由内向外,它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握,可以单独使用也可混合使用。
本题答案为B。
8.计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库系统概念
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
返回
14
第六章 形式化关系查询语言
注:∞为自然连接符号
3
第六章 形式化关系查询语言
数据库系统概念
6.2.b. Find the names of all employees in this database who do not work for “First Bank Corporation”. 找出此数据库中不在First Bank Corporation工作的所有 员工的姓名。
(manager-name=employee2.person-name∧employee.street=employee2.street∧employee.city=employee2.city)(ρemployee2(employee)))
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
返回
5
第六章 形式化关系查询语言
数据库系统概念
6.8 考虑图6-22关系数据库,对于下列每个要求,给出一 个关系代数表达式:
a. 修改数据库,使Jones现在居住在Newtown。 b. 为数据库中所有经理都提高工资10%。
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
数据库系统概念
6.15.d. 找出所有居住地与工作的公司所在城市相同的员工的姓 名
参考解答: d. ∏person-name(employee ∞ works ∞ company)
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
2
第六章 形式化关系查询语言
数据库系统概念
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
7
第六章 形式化关系查询语言
数据库系统概念
6
第六章 形式化关系查询语言
6.8.a. 修改数据库,使Jones现在居住在Newtown
数据库系统概念
参考解答: a.employee←∏emplyee-name,street,city←“Newtown”(σ employee=“Jones”(employee))∪ (employee-σ employee=“Jones”(employee))
参考解答: b.1)如果每个员工都有一个确定的公司: ∏person-name(σcompany-name≠“First Bank Corporation”(works)) 2)如果存在有些员工不属于任何公司或者属于多个公司的情况: ∏person-name(employee) — ∏person-name(σcompany-name=“First Bank Corporation”(works))
数据库系统概念
6.15 考虑图6-22所示关系数据库,主码加了下划线。 给出关系代数表达式来表示下列的每一个查询:
a. 找出First Bank Corporation的所有员工的姓名。 b. 找出First Bank Corporation所有员工的姓名和居住的城市。 c. 找出First Bank Corporation所有年收入在10 000美元以上的员工的姓 名和居住的街道、城市。 d. 找出所有居住地与工作的公司在同一城市的员工的姓名。 e. 假设公司可以位于几个城市中。找出位于Small Bank Corporation所在 的各个城市的所有公司。
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
11
第六章 形式化关系查询语言
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
15
第六章 形式化关系查询语言
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
9
第六章 形式化关系查询语言
6.15.a. 找出First Bank Corporation所有员工的姓名
数据库系统概念
6.15.c. 找出First Bank Corporation所有年收入在10 000美元 以上的员工的姓名和居住的街道、城市。
参考解答: c. ∏person-name,street,city (σcompany-name=“First Bank Corporation”∧salary>10000(works ∞ emplyee))
6.2.c. Find the names of all employees who earn more than every employee of “Small Bank Corporation ”. 找出比Small Bank Corporation的所有员工收入都高 的所有员工的姓名。
参考解答: c. ∏person-name (works)—(∏works.person-name (works ∞
10
第六章 形式化关系查询语言
数据库系统概念
6.ቤተ መጻሕፍቲ ባይዱ5.b. 找出First Bank Corporation的所有员工的姓名和居住的 城市
参考解答: b. ∏person-name,city (employee ∞ (σcompany-name=“First Bank Corporation”(works)))
数据库系统概念
6.11.a. 为First Bank Corporation的所有员工都提高工资10%
参考解答: a. works←∏salary←salary*1.1 (σ company-name=“First Bank Corporation”(works)) ∪(works-σ company-name=”First Bank Corporation”(works))
数据库系统概念
习题分析与解答
第六章 形式化关系查询语言
第六章 形式化关系查询语言
数据库系统概念
6.2 考虑图6-22所示关系数据库,主码加了下划线。给 出关系代数表达式来表示下列的每一个查询:
a. 找出与其经理居住在同一城市同一街道的所有员工的姓名。 b. 找出此数据库中不在First Bank Corporation工作的所有员工的姓名。 c. 找出比Small Bank Corporation的所有员工收入都高的所有员工的姓名。
6.8.b. 修改数据库,为数据库中所有经理都提高工资10%
参考解答: b. t1 ← Πworks.person-name,company-name,salary (σ works.person-name=manager-name(works × manages)) t2 ← Πperson-name,company-name,1.1*salary(t1) works ← (works − t1) ∪ t2
找出所有经理 提高工资
employee(person_name,street,city) works(person_name,company_name,salary) company(company_name,city) manages(person_name,manager_name)
返回
8
第六章 形式化关系查询语言
(works.salary≤works2.salary∧pany-name=“Small Bank Corporation”)