745 次浏览
许多用户认为主键是唯一键,因为两者都唯一标识一个表,但唯一键与主键不同。唯一键接受空值,而主键不能为 NULL。让我们比较主键和唯一键,并理解其概念——用法唯一键用于防止列中出现重复值。主键为表提供唯一性。NULL 值主键不能接受 NULL 值;这使得主键与唯一键不同,因为唯一键允许一个值为 NULL 值。数量一个表只能有一个主键,而唯一键可以……阅读更多
10K+ 次浏览
RDMS 术语包括数据库、表、列等。让我们逐一查看它们——数据库数据库是表的集合,例如、、、等。表表是行和列的集合,例如,StudentIdStudentNameStudentRank052Tom1035David2077John3列列位于表中——行行在 RDBMS 中也称为元组。数据库中的关系具有行和列。主键每个表都有一个主键,并且不能为 NULL 值。例如,ProjectID 是 Project 表中的主键,因为它唯一标识项目:ProjectIDProjectNameP01集群分组系统P02医院管理系统外键如果您想链接两个表,请使用外键。例如,Employee 表具有 DEPT_ID……阅读更多
3K+ 次浏览
外键在表之间创建链接。它引用另一个表中的主键并将其链接。例如,Employee 表中的 DeptID 是一个外键——EmpIDEmpNameEmpAgeDeptIDDeptIDDeptNameDeptZoneDepartment 表中的 DeptID 是 Department 表中的主键。Employee 表中的 DeptID 是 Employee 表中的外键。下图表示相同的内容——在上面,您可以看到我们的两个表。Employee 表的外键是 Department 表的主键。
5K+ 次浏览
备选键或次要键是未被选择为主键的键,但它们是候选键。但是,它被认为是主键的候选键。未被选为主键的候选键称为备选键或次要键。候选键是可以考虑为主键的属性或属性集。让我们来看一个例子——Student_IDStudent_EnrollStudent_NameStudent_Email0962717Manishaaa@[email protected]@gmail.com上面,Student_ID、Student_Enroll 和 Student_Email 是候选键。它们被认为是候选键,因为它们可以唯一标识学生记录。选择其中一个候选键作为主键。其余……阅读更多
1K+ 次浏览
每个表只有一个主键。每个关系可能有一个或多个候选键。这些候选键中的一个称为主键。每个候选键都符合主键的条件。因此,主键的候选者称为候选键。候选键可以是单列,也可以是多列的组合。最小超键称为候选键。示例EmployeeID 和 EmployeeEmail 都可以作为主键;因此,两者都是候选键。选择其中任何一个作为表的主键,因为表只能有一个主键。让我们再来看另一个例子……阅读更多
949 次浏览
代理键的唯一目的是在数据库中充当唯一标识符,例如增量键、GUID 等。它具有代理键没有任何实际意义,用于表示存在。它只为了数据分析而存在。示例KeyProductIDPrice505_921987200698_561256170304_571898250458_661666110上面,代理键是表中的 Key。其他示例代理键的其他一些示例——计数器也可以显示为代理键。系统日期/时间戳随机字母数字字符串。
结构独立性当数据库结构发生变化时,不会影响 DBMS 访问数据的能力,则存在结构独立性。当数据库结构发生变化时,不会影响 DBMS 访问数据的能力,则存在结构相关性。数据独立性在较低级别进行的更改不会影响较高级别。两种类型是——物理数据独立性逻辑数据独立性让我们从物理数据独立性开始——物理数据独立性修改物理模式而不影响模式或逻辑数据。它更容易实现。它是通过数据库的内部级别实现的,并将逻辑级别映射到内部级别。概念模式……阅读更多
超键是一个属性(或一组属性),它唯一标识一个元组,即实体集中的一个实体。它是候选键的超集,因为候选键是从超键中选择的。示例让我们来看一个例子——Student_IDStudent_EnrollStudent_NameStudent_EmailS024545Daveddd@[email protected]@gmail.com以下是上表中的超键——{Student_ID}{Student_Enroll}{Student_Email}{Student_ID, Student_Enroll}{Studet_ID, Student_Name}{Student_ID, Student_Email}{Student_Name, Student_Enroll}{Student_ID, Student_Enroll, Student_Name}{Student_ID, Student_Enroll, Student_Email}{Student_ID, Student_Enroll, Student_Name, Student_Email}以下是上述候选键——{Student_ID}{Student_Enroll}{Student_Email}阅读更多
4K+ 次浏览
什么是 4NF?4NF 出现在 1NF、2NF、3NF 和 Boyce-Codd 范式之后。它是由 Ronald Fagin 于 1977 年提出的。要处于 4NF,关系应该处于 Bouce-Codd 范式中,并且可能不包含多个多值属性。示例让我们来看一个例子——Movie_NameShooting_LocationListingMovieOneUKComedyMovieOneUKThrillerMovieTwoAustraliaActionMovieTwoAustraliaCrimeMovieThreeIndiaDrama上表不是 4NF,因为多个电影可能有相同的列表许多拍摄地点可能有相同的电影让我们将上表转换为 4NF——Movie_NameShooting_LocationMovieOneUKMovieOneUKMovieTwoAustraliaMovieTwoAustraliaMovieThreeIndiaMovie_NameListingMovieOneComedyMovieOneThrillerMovieTwoActionMovieTwoCrimeMovieThreeDrama现在违规行为已消除,表处于 4NF。
对于实体完整性规则,每个表都有一个主键。主键不能为 NULL 值。Student_IDStudent_AwardsStudent_Awards上面,您可以看到我们的主键是 Student_ID。我们不能将 Student_Awards 视为主键,因为并非每个学生都获得过奖项。让我们来看另一个例子——Employee_IDEmployee_NameEmployee_AgeEmployee_Location在上表中,主键是 Employee_ID。现在让我们总结一下实体完整性规则——确保表中的每个元组都是唯一的。每个表都必须有一个主键,例如 Student 表的 Student_ID。每个实体都是唯一的。关系的主键必须为每一行提供唯一值。主键不能为 NULL……阅读更多