关于弱实体的浅谈

直上干货:

      弱实体和强实体的区别是什么呢?

      强实体指的是在这个关系中(比如说银行系统中),用户这个实体 是强实体;为什么?因为不论为啥,银行总要有用户,用户不依赖于其他实体而存在;

      相对而言,弱实体就有些弱势了,他需要----依靠!

为什么他需要依靠?
举个例子,在一个订单(一张表)中,有:当日订单号、物品编号、数量(假设订单号每天都从1开始)
那么有个问题,昨天和今天完全可能出现一行数据一模一样的出现
1   花生  5(昨天的)
1   花生  5(今天的)
就区别不开了对不对,(在讲解的时候,我们用时间把他们俩区别开),所以我们要和  时间有关的某项属性  作为主码  的表  联系在一起,利用时间来唯一标志我们的两张订单。


如果我们加上一个总的订单号,如 20180821 和 20180822,如果加上这个,那么我们就可以确定某一天的某一单的具体内容,我们就能唯一的标志出来而不会重复。
那么问题来了,这个总的订单号哪里来?如果是你设计,你会把这个从哪里拉过来给这个弱实体使用?


假设有多个小工,每个人负责一天(一个天就是一个总的订单号),这就是一张新的表(小工ID,负责的订单号【谁做主码都可以】)
我把这个表的主码(订单号)拉过来帮助订单表完成唯一识别的任务。
订单表就是依赖于这个新表,而且没他还不行(因为没有就不能唯一标识了),所以他就很弱,要依靠。


  • 那么弱实体一般有什么特点呢?
    1. 依靠,没别人 我不能唯一标识我table里面的一行(也叫  元组)
    2. 没主码(只有  部分码   partial key【附上英文】)
    3. 在和所依附的实体集的联系中,要弱实体要全部参与(上面那个订单为例,想想也是,没有总的订单号怎么唯一识别我的订单呢)
  • 希望能帮到大家,欢迎大家提出自己的看法和观点,共同思考。

### 关于 PowerDesigner 中弱实体的定义与使用 在数据库建模工具 PowerDesigner 中,弱实体是一种特殊的实体类型,用于表示其存在依赖于另一个强实体的存在。具体来说,弱实体无法独立存在,它必须依附于某个父实体(即强实体)。这种关系通常反映了一种“部分-整体”的关联。 #### 弱实体的特点 弱实体的主要特点包括以下几点: - **主键派生**:弱实体的主键通常是通过继承自其父实体的部分或全部主键字段来构成[^1]。 - **强制外键约束**:由于弱实体的存在完全依赖于父实体,因此在其设计中会自动建立对外部父实体的引用关系。 - **图形化标识**:在 CDM(概念数据模型)或 PDM(物理数据模型)中,弱实体一般以矩形框加双下划线的形式显示,以此与其他标准实体区分开来。 #### 创建弱实体的方法 以下是创建弱实体的具体方法: 1. 在 PowerDesigner 的绘图区域右击并选择“New Entity”,或者直接拖拽一个新的实体到工作空间。 2. 将新创建的实体标记为弱实体。这可以通过修改该实体的属性实现,在弹出窗口中的“Type”选项卡里勾选“Is Weak Entity”复选框。 3. 建立与父实体之间的联系。对于弱实体而言,这一连接不仅代表逻辑上的父子关系,还隐含着主键传递的信息流。 #### 实践案例分析 假设我们正在构建一个图书馆管理系统,其中涉及两个主要对象:“Book”(书本)和“CopyOfBook”(某本书的一个副本)。这里,“CopyOfBook”可以被看作是一个典型的弱实体实例,因为每一个具体的书籍副本都必然隶属于某一特定种类的图书。“CopyOfBook”实体可以从“Book”那里获得唯一识别码作为自己的一部分主键组成部分。 ```sql CREATE TABLE Book ( ISBN VARCHAR(13) PRIMARY KEY, Title NVARCHAR(200), Author NVARCHAR(100) ); CREATE TABLE CopyOfBook ( ISBN VARCHAR(13), -- 继承自Book表的ISBN列 CopyNumber INT, Status CHAR(1), CONSTRAINT PK_CopyOfBook PRIMARY KEY (ISBN, CopyNumber), FOREIGN KEY (ISBN) REFERENCES Book(ISBN) ); ``` 上述 SQL 脚本展示了如何基于规范化原则将 “Book” 和 “CopyOfBook” 表之间建立起必要的参照完整性机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值