首页 > 试题广场 >

关于数据库,下列描述中,正确的是

[不定项选择题]

关于数据库,下列描述中,正确的是

  • having 和where都是用来筛选用的,having是筛选组,而where是筛选记录
  • 在sql中,关键字delete表示直接删除表,而drop表示删除表中数据
  • 主键是能确定一条记录的唯一标识,不能有重复,允许为空
  • 在数据库设计中,一个多对多的关系可通过一个中间表分为两个一对多的关系
  • 数据库设计的三大范式当中,第二范式要求一个数据库表中不包含已在其他表中包含的非主关键字信息
D选项为什么不是两个一对多的关系?
发表于 2017-03-27 09:18:47 回复(2)
第二范式:首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。 
第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。 
发表于 2017-08-16 19:33:59 回复(2)
1、delete:删除表中的行,用法:delete from 表明 where 列名=值。
2、drop:删除整个表,drop table 表名。
3、truncate:删除表中的数据,相当于delete不加where条件。
发表于 2018-04-27 15:43:58 回复(0)
E:
数据库设计应遵循三大范式分别为:
第一范式:确保表中每列的原子性(不可拆分);

 第二范式:确保表中每列与主键相关,而不能只与主键的某部分相关(主要针对联合主键),主键列与非主键列遵循完全函数依赖关系(完全依赖);

第三范式:非主键列之间没有传递函数依赖关系(消除传递依赖);

发表于 2020-05-12 09:51:28 回复(0)
答案是AD
B明显错误,C主键不能为空,E是第三范式
编辑于 2016-12-13 16:25:07 回复(0)
第二范式:首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。 
第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。 
发表于 2021-07-25 22:12:41 回复(1)
当你不再需要该表时, 用 drop;
当你仍要保留该表,但要删除所有记录时, 用 truncate;
当你要删除部分记录时(always with a WHERE clause), 用 delete.
发表于 2017-12-01 20:43:06 回复(1)
第二范式:首先是 1NF,另外包含两部分内容,一是表必须有一个主键;二是没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。 
第三范式(3NF):首先是 2NF,另外非主键列必须直接依赖于主键,不能存在传递依赖。即不能存在:非主键列 A 依赖于非主键列 B,非主键列 B 依赖于主键的情况。 
发表于 2017-05-05 10:28:56 回复(0)
drop删表 drop table
delete 删除数据相 
DELETE FROM table_name [WHERE Clause]
发表于 2018-07-10 13:58:47 回复(0)
D选项不太理解,为什么是这样的吗
发表于 2021-10-03 18:39:02 回复(0)
A. where用来筛选行,having用来筛选组(通常与聚合函数一起使用),通常,where在数据检索前使用,having在数据分组后使用;
B. 在SQL中,DELETE用来删除表中数据,DROP用来删除整个表,包括表结构与数据;
C. 主键不允许为空,主键的目的是确保表中的每条记录都有唯一的一个标识符;
D. 多对多关系通常需要一个中间表(也称连接表和关联表)来实现,这个中间表包含两个外键,分别连接两个一对多关系,从而将多对多关系拆分成两个一对多关系;
E. 第二范式要求确保数据库表中的每一列都与表的候选键(包括主键)相关,而不是依赖于非主关键字信息,这有助于减少数据冗余和提高数据的一致性。
发表于 2023-09-14 20:22:52 回复(0)
数据库范式是用于规范化数据库结构的原则,其中主要有三大范式:
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。

让我为您详细解释每个范式,并提供相应的例子。

1.第一范式(1NF):
        第一范式要求数据库表中的每个列都是原子性的,即不可再分解的数据项。每个列中的值是原子值,不包含多个值或重复值。

示例:
考虑一个存储学生信息的数据库表,包含以下列:学生ID、姓名、电话号码。
学生ID 姓名 电话号码
1 Alice 123-456-7890
2 Bob 987-654-3210
3 Charlie 456-123-7890
        这个示例表符合第一范式,因为每个列都包含原子值,没有重复值或多个值。

2.第二范式(2NF):
        第二范式要求表中的非主键列依赖于整个主键而非部分主键。换句话说,非主键列应该完全依赖于主键,而不是主键的一部分。

示例:
        继续考虑上述的学生信息表,现在我们添加了课程信息。表被拆分为两个表:一个存储学生信息,另一个存储课程信息。

学生表(Students):
学生ID 姓名 电话号码
1 Alice 123-456-7890
2 Bob 987-654-3210
3 Charlie 456-123-7890

课程表(Courses):
课程ID 课程名称 学生ID
1 数学 1
2 英语 2
3 物理 1
4 化学 3

        在此示例中,学生ID是学生表的主键,而在课程表中,课程ID是主键,学生ID是外键。课程表中的课程信息依赖于主键(课程ID),而不是部分主键(学生ID)。

3.第三范式(3NF):
        第三范式要求表中的非主键列之间不应存在传递依赖关系。换句话说,非主键列之间不应相互依赖。
示例:
        继续用上述的学生和课程表示例,我们将课程表进一步拆分为两个表:一个存储课程信息,另一个存储学生选课信息。

学生表(Students):
学生ID 姓名 电话号码
1 Alice 123-456-7890
2 Bob 987-654-3210
3 Charlie 456-123-7890

课程表(Courses):
课程ID 课程名称
1 数学
2 英语
3 物理
4 化学

学生选课表(CourseEnrollment):
课程ID 学生ID
1 1
2 2
3 1
4 3

        在这个示例中,课程表和学生表都符合第三范式,因为不存在非主键列之间的传递依赖。学生选课表关联了学生和课程表,将学生ID和课程ID作为外键,使得数据更加规范化。

通过以上示例,您可以看到数据库范式的演变过程,从规范化表结构的角度来优化数据库设计,以减少数据冗余和维护复杂性,提高数据库的灵活性和可扩展性。
发表于 2023-07-20 10:30:48 回复(0)
主键不能为空,2NF消除了非主属性对码的部分函数依赖。
发表于 2023-04-01 20:10:13 回复(0)
第二范式:没有包含在主键中的列必须完全依赖于主键,而不能只依赖于主键的一部分。
发表于 2020-07-08 16:44:48 回复(0)
先有where+分组ground by返回分组结果,才能走对分组后的结果进行进一步的筛选having, having与ground by区别:能用聚合函数如count,sum...
发表于 2018-03-07 15:21:01 回复(0)