数据库问题
二设学生---社团数据库有三个基本表:学生(学号,姓名,年龄,性别);社团(编号,名称,负责人,办公地点);参加(学号,编号,参加日期);其中:学生表的主码为学号;社团表...
二 设学生---社团数据库有三个基本表:
学生(学号,姓名,年龄,性别);
社团(编号,名称,负责人,办公地点);
参加(学号,编号,参加日期);
其中:
学生表的主码为学号;社团表的主码为编号;外码为负责人,被参照表为学生表,对应属性为学号;参加表的学号和编号为主码;学号为外码,其被参照表为职工表,对应属性为学号;编号为外码,其被参照表为社团表,对应属性为编号。
试用SQL语句表达1-5小题操作,并请写出第3小题的关系代数表达式。
1)定义社团表,说明其主码和参照关系。
2)建立视图:
社团负责人(社团编号,名称,负责人学号,负责人姓名,负责人性别);
3)查询参加科协的学生学号、姓名和性别。
4)求每个社团的参加人数。
5)把对社团表的插入和删除数据的权力赋给用户李平,并允许他将此权力授予其他用户。 展开
学生(学号,姓名,年龄,性别);
社团(编号,名称,负责人,办公地点);
参加(学号,编号,参加日期);
其中:
学生表的主码为学号;社团表的主码为编号;外码为负责人,被参照表为学生表,对应属性为学号;参加表的学号和编号为主码;学号为外码,其被参照表为职工表,对应属性为学号;编号为外码,其被参照表为社团表,对应属性为编号。
试用SQL语句表达1-5小题操作,并请写出第3小题的关系代数表达式。
1)定义社团表,说明其主码和参照关系。
2)建立视图:
社团负责人(社团编号,名称,负责人学号,负责人姓名,负责人性别);
3)查询参加科协的学生学号、姓名和性别。
4)求每个社团的参加人数。
5)把对社团表的插入和删除数据的权力赋给用户李平,并允许他将此权力授予其他用户。 展开
1个回答
展开全部
两个不同实体间的1:n关系
上图中表示的是一辆汽车与零件之间的1:n关系,一辆汽车由许多个零件构成。“汽车”这个实体具有型号、单价和牌号等属性,“零件”这个实体具有名称、单价和厂家等属性,“数量”是它们之间的关系“组成”的一个属性。
当然E-R图还可以表示1:1关系,例如夫妻关系以及姓名与学号间的关系等。
E-R图还可以表示m:n关系,例如教材中中讲的“学生”与“课程”之间通过“学习”联系,一个学生要学习多门课程,反之同一门课程有很多学生在学习。
在E-R图中,有时为了使其简洁明了,图中可以略去各属性,着重表示实体间的联系情况,而属性可以单独以表格形式单独列出。
4.E-R图的设计
E-R图的设计虽然没有一个绝对固定的方法,但一般来说应遵循以下两条基本原则:
(1)首先要针对每一个用户做出该用户信息的局部E-R图,确定该用户视图的实体、属性和联系。
[注意]
在设计E-R图时,能作为属性的就不要作为实体,这样有利于E-R图的简化。
(2)把每一个局部的E-R图综合起来,产生出总体的E-R图。
[注意]
在E-R图的综合的过程中,同名实体只能出现一次,还要去掉不必要的联系,这样才能消除冗余。
一般来说,从总体E-R图必须能导出原来所有局部E-R视图,包括所有的实体、属性和联系。
任何一个系统的E-R图都不是惟一的,强调的侧面不同,所作出的E-R图就可能差别很大。总体的E-R图所表示的实体联系模型,只能说明实体间的联系关系,还需要把它转换成数据模型才能被实际的DBMS所接受。
2.3.3 从E-R图导出关系模型
E-R图是现实世界各实体的具体反映,与数据库具体实现毫无关系,但它却是构造数据模型的主要依据。本章的重点也是难点是:正确地应用E-R图反映实体间联系并从E-R图中导出关系模型。
1.从E-R图中导出关系模型的原则
(1)对于E-R图中的每一个实体,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性(或哪几个属性组合)作为“主键”。键在关系模型中是实现联系的主要手段。
(2)对于E-R图中的联系,情况比较复杂,要根据实体联系的方式的不同,采取不同的手段加以实现。
2.从E-R图中导出关系模型
(1)两实体间1:n联系
对于两实体间1:n联系,导出关系模型的原则是:可以将“1”方实体的“主键”纳入“n”方实体对应的关系中作为“外部键”,同时把联系的属性也一并纳入“n”方对应的关系中。
(2)同一实体内部个体间1:n联系
对于同一实体集内部个体间的1:n联系,导出关系模型的原则是:可在这个实体所对应的关系中多设一个属性,用来作为与该实体相联系的另一个体的“主键”。
(3)两实体间m:n联系
对于两实体间的m:n联系,导出关系模型的原则是:必须对“联系”单独建立一个关系,用来联系双方实体;该关系的属性中至少要包括被它所联系的双方实体的“主键”,并且如果联系有属性,也要归入这个关系中。
(4)同一实体内部存在m:n的联系
如果同一实体内部存在m:n的联系,那么从E-R图导出关系模型的原则是“为这个联系单独建立一个关系;该关系中至少应包括被它所联系的双方实体的“主键”,如果联系有属性,也要归入这个关系中。
(5)两个以上实体间m:n多元联系
对于两个以上实体之间的m:n多元联系,从E-R图导出关系模型的原则是:必须为联系单独建立一个关系,该关系中最少应包括被它联系的各个实体的“主键”,若是联系有属性,也要归入这个关系中。
(6)两实体间1:1联系
对于两实体间1:1联系,只需在一个关系模型中增加另一个关系模型的主键,并可省略两实体间的联系模型。例如:书中所讲到的厂家与工厂的关系,可以省去“管理”这个模型,在“工厂”模型中加入属性“姓名”或在“厂长”模型中加入“工厂”的主键“厂号”,这样关系模型就形成了。
上图中表示的是一辆汽车与零件之间的1:n关系,一辆汽车由许多个零件构成。“汽车”这个实体具有型号、单价和牌号等属性,“零件”这个实体具有名称、单价和厂家等属性,“数量”是它们之间的关系“组成”的一个属性。
当然E-R图还可以表示1:1关系,例如夫妻关系以及姓名与学号间的关系等。
E-R图还可以表示m:n关系,例如教材中中讲的“学生”与“课程”之间通过“学习”联系,一个学生要学习多门课程,反之同一门课程有很多学生在学习。
在E-R图中,有时为了使其简洁明了,图中可以略去各属性,着重表示实体间的联系情况,而属性可以单独以表格形式单独列出。
4.E-R图的设计
E-R图的设计虽然没有一个绝对固定的方法,但一般来说应遵循以下两条基本原则:
(1)首先要针对每一个用户做出该用户信息的局部E-R图,确定该用户视图的实体、属性和联系。
[注意]
在设计E-R图时,能作为属性的就不要作为实体,这样有利于E-R图的简化。
(2)把每一个局部的E-R图综合起来,产生出总体的E-R图。
[注意]
在E-R图的综合的过程中,同名实体只能出现一次,还要去掉不必要的联系,这样才能消除冗余。
一般来说,从总体E-R图必须能导出原来所有局部E-R视图,包括所有的实体、属性和联系。
任何一个系统的E-R图都不是惟一的,强调的侧面不同,所作出的E-R图就可能差别很大。总体的E-R图所表示的实体联系模型,只能说明实体间的联系关系,还需要把它转换成数据模型才能被实际的DBMS所接受。
2.3.3 从E-R图导出关系模型
E-R图是现实世界各实体的具体反映,与数据库具体实现毫无关系,但它却是构造数据模型的主要依据。本章的重点也是难点是:正确地应用E-R图反映实体间联系并从E-R图中导出关系模型。
1.从E-R图中导出关系模型的原则
(1)对于E-R图中的每一个实体,都应转换为一个关系,该关系应包括对应实体的全部属性,并应根据关系所表达的语义确定哪个属性(或哪几个属性组合)作为“主键”。键在关系模型中是实现联系的主要手段。
(2)对于E-R图中的联系,情况比较复杂,要根据实体联系的方式的不同,采取不同的手段加以实现。
2.从E-R图中导出关系模型
(1)两实体间1:n联系
对于两实体间1:n联系,导出关系模型的原则是:可以将“1”方实体的“主键”纳入“n”方实体对应的关系中作为“外部键”,同时把联系的属性也一并纳入“n”方对应的关系中。
(2)同一实体内部个体间1:n联系
对于同一实体集内部个体间的1:n联系,导出关系模型的原则是:可在这个实体所对应的关系中多设一个属性,用来作为与该实体相联系的另一个体的“主键”。
(3)两实体间m:n联系
对于两实体间的m:n联系,导出关系模型的原则是:必须对“联系”单独建立一个关系,用来联系双方实体;该关系的属性中至少要包括被它所联系的双方实体的“主键”,并且如果联系有属性,也要归入这个关系中。
(4)同一实体内部存在m:n的联系
如果同一实体内部存在m:n的联系,那么从E-R图导出关系模型的原则是“为这个联系单独建立一个关系;该关系中至少应包括被它所联系的双方实体的“主键”,如果联系有属性,也要归入这个关系中。
(5)两个以上实体间m:n多元联系
对于两个以上实体之间的m:n多元联系,从E-R图导出关系模型的原则是:必须为联系单独建立一个关系,该关系中最少应包括被它联系的各个实体的“主键”,若是联系有属性,也要归入这个关系中。
(6)两实体间1:1联系
对于两实体间1:1联系,只需在一个关系模型中增加另一个关系模型的主键,并可省略两实体间的联系模型。例如:书中所讲到的厂家与工厂的关系,可以省去“管理”这个模型,在“工厂”模型中加入属性“姓名”或在“厂长”模型中加入“工厂”的主键“厂号”,这样关系模型就形成了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询