study(sno,cno,score)查询至少选修了两门课程的学生学号:π1(σ(1=4Λ2!=5)(study x study))。
select sno(学生的学号) from sc(学生选课表)
group by sno having count()>1
select a学号,b姓名,acnt as 选修门数 from
(select 学号,count(1) as as cnt from 选课表 group by 学号
having count(1)=(select count(1) from 课程表)) a,
学生表 b where a学号=b学号;
扩展资料:
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作:
R-S={t|t∈R∧t∉S}
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作:
R∩S={t|t∈R∧t∈S}
这里的笛卡尔积严格地讲是广义笛卡尔积(Extended Cartesian Product)。在不会出现混淆的情况下广义笛卡尔积也称为笛卡尔积。
两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。
参考资料来源:百度百科-关系代数
1、这个题不清楚,楼主弄清楚了可以告诉我一下吗?这里有一个关于目的定义。D1xD2xDn的子集叫做在域D1,D2,,Dn上的关系,表示为R(D1,D2,,Dn)。其中R表示关系的名字,n是关系的目或度。n目关系必有n目属性。
2、A
至少选修c1和c2的学生编号:
select sno(学生的学号) from sc(学生选课表) group by sno having count()>1
SQL结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。SQL结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
扩展资料:
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差由属于R而不属于S的所有元组组成。其结果关系仍为n目关系。记作:
R-S={t|t∈R∧t∉S}
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交由既属于R又属于S的元组组成。其结果关系仍为n目关系。记作:
R∩S={t|t∈R∧t∈S}
这里的笛卡尔积严格地讲是广义笛卡尔积(ExtendedCartesianProduct)。在不会出现混淆的情况下广义笛卡尔积也称为笛卡尔积。
两个分别为n目和m目的关系R和S的广义笛卡尔积是一个(n+m)列的元组的集合。元组的前n列是关系R的一个元组,后m列是关系S的一个元组。若R有k1个元组,S有k2个元组,则关系R和关系S的广义笛卡尔积有k1×k2个元组。
参考资料来源:百度百科-关系代数
二目关系是说只有两个属性的表。证明它是3NF,从定义出发,首先证明它是2NF。要证明2NF,首先说明它是1NF,并且在这个关系中,无论A->B,还是B->A,都能说明非主属性完全函数依赖于候选键,因为是单个属性做主键,是吧?证明它是2NF了,再说明,这两个属性的表不可能产生传递依赖,因此是3NF。从定义出发,要发生传递依赖一定得要三个属性才能传递啊,是吧?
考点12关系数据模型
关系模型由关系数据结构、关系 *** 作集合和关系完整性约束3部分组成。
1关系数据结构
关系模型中的数据结构非常单一。实体及实体间的联系都用关系表示,一个关系就是一张二维表,是关系模型中数据的逻辑结构。
2关系 *** 作集合
关系模型中的关系 *** 作的理论依据为关系代数和关系演算。
关系模型中常用的关系 *** 作包括:选择(select)、投影(project)、连接(join)、除(divide)、并(union)交(intersection)和差(difference)等,以及查询(query) *** 作和增(insert)、删(delete)、改(update) *** 作两大部分。查询的表达能力是其中最主要的部分。
关系数据语言可以分为如下3类:关系代数语言、关系演算语言(包括元组关系演算语言和域关系演算语言)及具有关系代数和关系演算双重特点的语言。
3关系的完整性约束
数据库的数据完整性是指数据库中数据的正确性和相容性,那是一种语义概念,包括两个方面:与现实世界中应用需求的数据的相容性和正确性数据库内数据之间的相容性和正确性。
关系模型中有3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。
45关系模型的数据结构
考点13关系模型的数据结构和基本术语
(1)关系( Relation) ;关系是个元素个数为K(K,1 )的元组集合。一个关系对应一个二维表,二维表名就是关系名。
(2)属性(Attribute)和值域(Domain):二维表中的列(字段),称为属性,属性的个数称为关系的元数,列的值称为属性值.属性值的取值范围称为值域
(3)关系模式(Relation Schema):关系的描述称为关系模式。
(4)元组(Tuple):二维表中的行(记录的值)称为一个元组。关系模式和元组的集合通称为关系。
(5)候选码(Candidate Key)或候选键:如果在一个关系中,存在多个属性(或属性集合)都能用来标识该关系的元组,这些属性(或属性集合)都称为该关系的候选码或候选键。而包含在任何一个候选码中的属性称为主属性或码属性,相反,不包含的为非主属性或非码属性。关系模式的所有数据组是这个关系模式的候选码,称为全码。
(6)主码(Primary Key)或主键:在一个关系的若十个候选码中指定一个用来标识该关系的元组,这个的码称为该关系的主码或主键。
(7)外码(Foreign Key)或外键:当关系中的某个属性(或属性组)不是该关系的主码或只是主码的一部分,但却是另一个关系的主码时,称该属性(或属性组)为这个关系的外码。
(8)参照关系(Referencing Relation)与被参照关系( Referenced Relation):它们是指与外码相关联的两个关系。以外码作为主码的关系称为参照关系;外码所在的关系称为被参照关系或目标关系。
(9)分量(Component):元组中的一个属性值。
(10)主属性(Primary Attribute)和非主属性(Nonprimary Attribute):关系中包含在任何一个候选码中的属性称为主属性或码属性,不包含在任何一个候选码中的属性称为非主属性或非码属性。
考点14关系的形式定义和关系数据库对关系的限定
1关系的形式定义
关系从数学的观点来定义有以下两种解释。
(1)集合论观点:即前面所述,关系是一个元素个数为K(K,1)的元组集合。
(2)值域的观点:关系是属性值域笛卡儿积的一个子集。
2关系数据犀对关系的限定
当关系作为关系数据模型的数据结构时,关系数据库对关系有如下的限制。
(1)列是同质的.即每一列中的分量是同一类型的数据,来自同一个域。
(2)不同的列可以出自同一个域,称其中的每一列为一个属性,不同的属性要给予不同的属性名。
(3)列的顺序无关紧要,即列的次序可以任意交换。
(4)任意两个元组不能完全相同。
(5)行的顺序无关紧要,即行的次序可以任意交换。
(6)每一个属性是不可分解的这是关系数据库对关系的最基本的一条限定。分量必须取原子值,即每一个分量都必须是不可拆分的数据项。
46关系模型的完整性约束
考点15数据完整性规则的分类
关系模型的完整性规则是对关系的某种约束条件。关系模型中可以有3类完整性约束:实体完整性、参照完整性和用户自定义的完整性。其中实体完整性和参照完整性是关系模型必须满足的完整性约束条件,被称为两个不变性、应该由关系系统自动支持。
1实体完整性规则
实体完整性规则:若属性“是基本关系“的主属性,则属性A不能取空。实体完整性关系的所有主属性都不能取空值,而不仅是主码整体不能取空值。说明实体完整性规则应包括如下几个方面:
(1)实体完整性规则是针对基本关系而言的。一个关系(基本表)通常对应现实世界的一个实体集。
(2)现实世界中的实体是可区分的,即它们具有某种性标识。
(3)相应地,关系模型中以主码作为标识。
(4)主码中的属性即主属性不能取空值。所谓空值就是“不知道”或“不确定”的值。
2参照完整性规则
若属性(或属性组)F是基本关系R的外码,它与基本关系S的主码Ks相对应(基本关系R和S不一定是不同的关系),则对于R中每个元组在F上的值必须为:取空值(F的每个属性值均为空值)或者等于S中某个元组的主码值。
3用户有定义的完整性
用户定义的完整性通常是定义对关系中除外码与主码属性之外的其他属性取值的约束,即对其他属性值域的约束,也称为域完整性规则,包括数据类型、精度、取值范围、是否允许空值等。
47关系代数
考点16传统集合运算
传统的集合运算包括并、交、差和广义笛卡儿积4种运算。
1并(union)
设关系R和关系S具有相同的目n(即都有n个属性),且相应的属性取自同一个域,则关系R与S的并是由属于R或属于S的元组组成的,结果仍为n目关系,记做:
RUS={t/t∈R∨t∈S},t是元组变量。
2差(difference)
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的差是由属于R而不属于S的所有元组组成的,结果仍为n目关系,记做:
R-S={t/t∈R∧t¢S},t是元组变量
3交(intersection)
设关系R和关系S具有相同的目n,且相应的属性取自同一个域,则关系R与关系S的交是由既属于R而不属于S的所有元组组成的,结果仍为n目关系,记做:
R∩S={t|t∈R∧t∈S}t ER八:ES},t是元组变量。
显然R自s=R一(R一s)。
4广义笛卡儿积(Extended Cartesian Product)
设关系R和s的元数分别是厂和,,定义R和s的笛卡儿积是一个(r+s)元元组的集合,每一个元组的前r个分量来自R的一个元组,后s个分量来自S的一个元组。若R有m个元组,S有n个元组,则关系R 和S的广义笛卡儿积有m ×n个元组,记做:
R×S={t|t=<t¬¬¬¬r ,ts>∧t¬¬¬¬r ∈ts∈S
考点17专门的关系运算
专门的关系运算包括:对单个关系进行垂直分解(投影 *** 作)或水平分解(选择 *** 作)和对多个关系进行结合(连接 *** 作)等。
1选择(selection)
选择又称为限制,是在关系R中选择满足给定条件的各元组,记做:
(R)={t|t∈R∧F(t=′真′)},其中F表示选择条件,是一个逻辑表达式。
选择运算实际上是从关系R中选取使逻辑表达式F为真的元组。这是从行的角度进行的运算。
2投影(projection)
关系R上的投影是从R中选择出若干属性列组成新的关系,记做:
二1(R、={t[A〕I t ER{,A为R的属性列。
投影 *** 作实际上是从关系中选取某些列,即从列的角度进行的运算。
3连接(join )
连接是从两个关联的笛卡儿积中选取属性间满足一定条件的元组。
连接运算中有两种最为重要也是常用的连接,一种是等值连接( equi - join),一种是自然连接(naturaljoin)自然连接是构造新关系的有效方法。一般,自然连接使用在两个关系有公共属性的情况中。
4除(di%-ision)
给定关系R(X,州和别Y, Z),其中X,Y, Z为属性组。R中的Y与S中的Y可以有不同的属性名,但必须出自相同的域集R与S的除运算得到一个新的关系尸(X),P是R中满足下列条件的元组在X属性列上的投影:元组在X分量值的对象Yx包含S在Y上投影的集合。记做:
R÷S=t,[X]t,ER八二,(S) C-玖}
除 *** 作是同时从行和列的角度进行运算。
48 SQL概述:
考点18结构化查询语言SQL
SQL (Structured Query Language)称为结构化查询语言,是于1974年由Boyce和Chamberlin提出的,1975年IBM公司研制的关系数据库管理系统的原型系统System R实现了SQL语言。SQL是一个通用的、功能极强的关系数据库语言。我国制定了SQL的国家标准为GB12911, SQL已经成为关系数据库领域中的一种主流语言。
考点19 SQL的特点一
SQL语言集数据查询、数据 *** 纵、数据定义和数据控制功能于一体,主要特点包括以下几个方面:
(1)综合统一。
(2)高度非过程化。
(3)面向集合的 *** 作方式。
(4)以同一种语法结构提供两种使用方式。
(5)语言简洁,易学易用。
考点20 SQL数据库体系结构
SQL语言支持关系数据库三级模式结构:其中外模式对应于视图和部分基本表,模式对应于基本表,内模式对应于存储文件:
基本表是本身独立存在的表,在SQL中一个关系就是一个基本表。一个基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理结构是任意的,对用户是透明的。
视图是从一个或几个基本表导出的表二视图是一个虚表视图在概念上与基本表等同,用户可以在视上再定义视图。
49 SQL的数据定义
考点21基本表
1定义基本表
SQL语言使用CREATE TABLE语句定义基本表,其格式如下:
CREATE TABLE<表名>(<列名><数据类型>[列级完整性约束〕
[,<列名><数据类型>[列级完整性约束]…=
〔,<表级完整性约束>〕);
如果完整性约束条件涉及到该表的多个属性列,则必须定义在表级上,否则既可以定义在列级,也可以定义在表级。
2修改基本表
SQL语言用ALTER TABLE语句修改基本表,其格式为:
ALTER TABLE<表名>
「ADD<新列名><数据类型>[完整性约束〕〕
[DROP<完整性约束名>〕
[MODIFY<列名><数据类型>」;
ADD子句用于增加新列和新的完整性约束条件。DROP子句用于删除指定的完整性约束条件。MOD-IFY子句用于修改原有的列定义,包括修改列名和数据类型。
3删除基本表
当某个基本表不再需要时,可以用DROP TABLE语句进行删除,其格式为:
DROP TABLE<表名>
基本表一旦被删除,表中的数据、此表上建立的索引和视图都将自动被删除。因此执行删除基本表的 *** 作时一定要格外小心。
为了叙述上的方便,我们先引入几个记号。
⒈ 设关系模式为R(A1, A2, …, An)。它的一个关系设为R。t∈R表示t是R的一个元组。t[Ai]则表示元组t中相应于属性Ai的一个分量 。
⒉
若A={Ai1, Ai2, …, Aik},其中Ai1, Ai2, …, Aik是A1, A2, …,
An中的一部分,则A称为属性列或域列。フA则表示{A1, A2, …, An}中去掉{Ai1, Ai2, …,
Aik}后剩余的属性组。t[A]=(t[Ai1], t[Ai2], …, t[Aik])表示元组t在属性列A上诸分量的集合。
⒊
R为n目关系,S为m目关系。设tr∈R(r为下标),ts∈S(s为下标),则trts(整个式子上方加一个半弧,r和s为下标)
称为元组的连接(Concatenation)。它是一个(n+m)列的元组,前n个分量为R中的一个n元组,后m个分量为S中的一个m元组。
⒋ 给定一个关系R(X,Z),X和Z为属性组。我们定义,当t[X]=x时,x在R中的象集(Images Set)为:
Zx={t[Z]|t∈R, t[X]=x}
以上就是关于数据库中用关系代数表达式,查询至少选修两门课程的学生的学号和姓名怎么写全部的内容,包括:数据库中用关系代数表达式,查询至少选修两门课程的学生的学号和姓名怎么写、有关数据库、查询所有至少选修2门课程的学生的学号的语句怎么写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)