提交 86873f31 编写于 作者: W wizardforcel

2019-08-28 19:52:07

上级 0b97b38d
......@@ -2,23 +2,29 @@
> 原文: [https://beginnersbook.com/2018/11/dbms-generalization/](https://beginnersbook.com/2018/11/dbms-generalization/)
**泛化**是一个过程,其中多个实体的共同属性构成一个新实体。这个新形成的实体称为广义实体。
**泛化**是一个过程,其中多个实体的共同属性构成一个新实体。这个新形成的实体称为泛化实体。
## 泛化示例
让我们说我们有两个实体学生和老师。
实体学生的属性是:姓名,地址&实体教师的等级
属性是:姓名,地址和等级。薪水
实体学生的属性是:姓名,地址和年级。
实体教师的属性是:姓名,地址和薪水。
**泛化前的 ER 图如下所示:**
![DBMS Generalization example - before process ER model](img/9c57659c5da5d0fc700cbef20156415f.jpg)
这两个实体有两个共同的属性:`Name``Address`,我们可以使用这些公共属性创建一个通用实体。让我们看一下泛化后的 ER 模型。
这两个实体有两个共同的属性:`Name``Address`,我们可以使用这些公共属性创建一个泛化实体。让我们看一下泛化后的 ER 模型。
**泛化后的 ER 图:**
我们创建了一个新的广义实体`Person`,这个实体具有两个实体的共同属性。正如你在下面的 [ER 图](https://beginnersbook.com/2015/04/e-r-model-in-dbms/)中看到的那样,在泛化过程之后,实体`Student``Teacher`分别只有`Grade``Salary`的专用属性,它们的公共属性(`Name`& `Address`)现在与一个新的相关联实体与两个实体(学生和教师)有关系的人。
我们创建了一个新的泛化实体`Person`,这个实体具有两个实体的共同属性。正如你在下面的 [ER 图](https://beginnersbook.com/2015/04/e-r-model-in-dbms/)中看到的那样,在泛化过程之后,实体`Student``Teacher`分别只有`Grade``Salary`的专用属性,它们的公共属性(`Name``Address`)现在与新实体`Person`关联,它与两个实体(学生和教师)关联。
![DBMS Generalization ER diagram](img/b753eb4c3023930658c36e88b8cd6f72.jpg)
**注:**
1.泛化使用自下而上的方法,其中两个或多个较低级别的实体组合在一起形成更高级别的新实体。
2.新的广义实体可以进一步与较低级别的实体组合在一起,以创建更高级别的广义实体。
\ No newline at end of file
1. 泛化使用自下而上的方法,其中两个或多个较低级别的实体组合在一起形成更高级别的新实体。
2. 新的泛化实体可以进一步与较低级别的实体组合在一起,以创建更高级别的泛化实体。
\ No newline at end of file
......@@ -2,12 +2,12 @@
> 原文: [https://beginnersbook.com/2018/11/dbms-specialization/](https://beginnersbook.com/2018/11/dbms-specialization/)
**特化**是将实体划分为子实体的过程。您可以将其视为[泛化](https://beginnersbook.com/2018/11/dbms-generalization/)的逆过程,在概括中,两个实体组合在一起形成一个新的更高级别的实体。特化是一个自上而下的过程。
**特化**是将实体划分为子实体的过程。您可以将其视为[泛化](https://beginnersbook.com/2018/11/dbms-generalization/)的逆过程,其中两个实体组合在一起形成一个新的更高级别的实体。特化是一个自上而下的过程。
特化背后的想法是找到具有很少区分属性的实体子集。例如 - 考虑一个实体员工,可以进一步分类为子实体技术员,工程师和工作人员。会计,因为这些子实体具有一些区分属性。
特化背后的想法是找到没有区分属性的实体子集。例如 - 考虑一个实体员工,可以进一步分类为子实体技术员,工程师和会计,因为这些子实体没有区分属性。
## 特化示例
![DBMS Specialization example](img/aca49475bb2aa08ff8304967485ca0d3.jpg)
在上图中,我们可以看到我们有一个更高级别的实体“员工”,我们将其划分为子实体“技术员”,“工程师”和“工作人员”。 “会计”。所有这些只是公司的一名员工,但他们的角色完全不同,他们几乎没有不同的属性。仅举例来说,我已经证明技术人员处理服务请求,工程师处理项目,会计处理信贷和借记明细。所有这三种员工类型都具有很少的共同属性,例如名称和名称。我们留下的薪水与父母实体“员工”相关联,如上图所示。
\ No newline at end of file
在上图中,我们可以看到我们有一个更高级别的实体“员工”,我们将其划分为子实体“技术员”,“工程师”和“会计”。所有这些只是公司的一名员工,但他们的角色完全不同,他们几乎没有不同的属性。仅举例来说,我已经证明技术人员处理服务请求,工程师处理项目,会计处理信贷和借记明细。所有这三种员工类型都没有共同属性,例如我们留下的名称和薪水,与父实体“员工”相关联,如上图所示。
\ No newline at end of file
......@@ -2,10 +2,10 @@
> 原文: [https://beginnersbook.com/2018/11/dbms-aggregration/](https://beginnersbook.com/2018/11/dbms-aggregration/)
**聚合**是单独的单个实体无法在关系中有意义的过程,因此两个实体的关系充当一个实体。我知道这听起来令人困惑,但不要担心我们将采取的例子,将清除所有的疑虑。
**聚合**是单独的单个实体无法在关系中有意义,因此两个实体的关系充当一个实体的过程。我知道这听起来令人困惑,但不要担心我们将采取的例子,将清除所有的疑虑。
## 聚合示例
![DBMS Aggregration Example](img/2c3ba6746ca0c0e3be1763a16a679577.jpg)
在现实世界中,我们知道经理不仅管理在他们下工作的员工,而且还必须管理项目。在这种情况下,如果实体“经理”与“员工”或“项目”实体单独建立“管理”关系,那么它将没有任何意义,因为他必须管理两者。在这些情况下,两个实体的关系充当一个实体。在我们的例子中,“员工”和“员工”之间的“工作关系”关系。 “项目”充当一个与实体“经理”具有“管理”关系的实体。
\ No newline at end of file
在现实世界中,我们知道经理不仅管理在他们下工作的员工,而且还必须管理项目。在这种情况下,如果实体“经理”与“员工”或“项目”实体单独建立“管理”关系,那么它将没有任何意义,因为他必须管理两者。在这些情况下,两个实体的关系充当一个实体。在我们的例子中,“员工”和“项目”之间的关系“从事”充当一个实体,与实体“经理”具有“管理”关系。
\ No newline at end of file
......@@ -24,4 +24,4 @@
| 169 | C22 | Java |
| 169 | C39 | 计算机网络 |
这里是 `Stu_Id``Stu_Name`& `Stu_Age` 是表`Student`的属性,`Stu_Id``Course_Id`&`Course_Name``Course`表的属性。具有值的行是记录(通常称为元组)。
\ No newline at end of file
这里`Stu_Id``Stu_Name``Stu_Age` 是表`Student`的属性,`Stu_Id``Course_Id``Course_Name``Course`表的属性。具有值的行是记录(通常称为元组)。
\ No newline at end of file
......@@ -3,15 +3,16 @@
> 原文: [https://beginnersbook.com/2015/04/rdbms-concepts/](https://beginnersbook.com/2015/04/rdbms-concepts/)
**RDBMS** 代表关系数据库管理系统。关系模型可以表示为行和列的表。关系数据库有以下主要组成部分:
1.
2.记录或元组
3.字段或列名称或属性
4.
5.实例
6。架构
7.
## 1.表
1.
2. 记录或元组
3. 字段或列名称或属性
4.
5. 实例
6. 模式
7.
## 1\. 表
表是以行和列表示的数据的集合。每个表在数据库中都有一个名称。例如,下表`STUDENT`将学生的信息存储在数据库中。
......@@ -24,7 +25,7 @@
| 103 | 拉胡尔 | 古尔冈 | 24 |
| 104 | Shubham | 奈 | 25 |
## 2.记录或元组
## 2\. 记录或元组
表的每一行称为记录。它也被称为元组。例如,以下行是我们从上表中获取的记录。
......@@ -32,20 +33,20 @@
| --- | --- | --- | --- |
| 102 | Ajeet | Delhi | 26 |
## 3.字段或列名称或属性
## 3\. 字段或列名称或属性
上表`STUDENT`有四个字段(或属性):`Student_Id``Student_Name``Student_Addr`& `Student_Age`
## 4.域名
## 4\. 域
域是表中属性的一组允许值。例如,一个月的域可以接受 1 月,2 月,... 12 月作为值,日期域可以接受所有可能的有效日期等。我们在创建表时指定属性域。
域是表中属性的一组允许值。例如,月份的域可以接受 1 月,2 月,... 12 月作为值,日期的域可以接受所有可能的有效日期等。我们在创建表时指定属性的域。
属性不能接受域外的值。例如,在上表`STUDENT`中,`Student_Id`字段具有整数域,因此该字段不能接受非整数的值,例如,`Student_Id`不能具有`"First"``10.11`等值。
## 5.实例和架构
## 5\. 实例和模式
我已在单独的指南中介绍了实例和模式,您可以参考[指南](https://beginnersbook.com/2015/04/instance-and-schema-in-dbms/)
## 6.
## 6\.
这是我们的下一个主题,我在单独的教程中详细介绍了键。您可以在此处参考[键索引](https://beginnersbook.com/2015/04/keys-in-dbms/)
\ No newline at end of file
这是我们的下一个主题,我在单独的教程中详细介绍了键。您可以在此处参考:[](https://beginnersbook.com/2015/04/keys-in-dbms/)
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册