IDENTIFYING AND NON-IDENTIFYING RELATIONSHIPS i...

===================================================================
简单翻译了一下(蓝色), 如果其中有错误 OR 不足之处, 完全不用客气, 请指出~
原文参考: http://blog.csdn.net/dbigbear/article/details/2116771
===================================================================

An identifying relationship means that the child table cannot be uniquely identified without the parent. For example, you have this situation in the intersection table used to resolve a many-to-many relationship where the intersecting table's Primary Key is a composite of the left and right (parents) table's Primary Keys.


identifying关系意思是: 如果没有父表, 子表无法独立定义, 举个例子: 有这么个情况,你建立了一个关系表, 用于解决多对多的关系, 而且这张关系表的主键是由左表和右表(父表)的主键复合组成 .

Example... 
Account (AccountID, AccountNum, AccountTypeID) 
PersonAccount (AccountID, PersonID, Balance)   
Person(PersonID, Name)  

The Account to PersonAccount relationship and the Person to PersonAccount relationship are identifying because the child row (PersonAccount) cannot exist without having been defined in the parent (Account or Person). In other words: there is no personaccount when there is no Person or when there is no Account.

Account 和 PersonAccount 的关系, 以及 Person 和 PersonAccount 的关系, 都是identifying关系, 因为(Account or Person)中未定义的数据不可能在PersonAccount中存在.换句话说: 如果没有Person或者没有Account,  就不会有personaccount .

A non-identifying relationship is one where the child can be identified independently of the parent ( Account - AccountType)

non-identifying关系: 字表可以独立定义, 与父表无关 .

Example... 
Account( AccountID, AccountNum, AccountTypeID ) 
AccountType( AccountTypeID, Code, Name, Description )

The relationship between Account and AccountType is non-identifying because each AccountType can be identified without having to exist in the parent table.

Account 和 AccountType之间的关系是non-identifying关系, 每一条定义在AccountType中数据不需要必须存在父表中 .

You can define the relationship type (identifying/non identifying) in the DeZign for Databases in the relationship dialog. Double click on the relationship line in the diagram window to display the relationship dialog.


mysql数据库设计软件mysqlworkbench中,  identifying关系和 non-identifying关系的表现形式 :

non-identifying关系:



identifying关系:








转载于:https://my.oschina.net/liuhui1990/blog/37688

Profiling is the process of analyzing the performance of a program or function in order to identify bottlenecks or areas for optimization. cProfile is a built-in Python module that allows you to profile your code and generate a report of the performance metrics. To optimize the performance of a slow-running function using cProfile, you can follow these steps: 1. Import the cProfile module at the top of your Python file: ``` import cProfile ``` 2. Define the function that you want to profile: ``` def my_function(): # code goes here ``` 3. Run the function with cProfile: ``` cProfile.run('my_function()') ``` This will generate a report of the performance metrics for your function. 4. Analyze the report to identify bottlenecks or areas for optimization. The cProfile report will show you the number of times each function was called, the total time spent in each function, and the amount of time spent in each function call. Look for functions that are called frequently or that take a long time to execute. 5. Make changes to optimize the function. Once you have identified the bottlenecks, you can make changes to your code to optimize the function. This may involve simplifying the code, reducing the number of function calls, or using more efficient algorithms or data structures. 6. Repeat the profiling process to measure the impact of your changes. After making changes to your code, run the function again with cProfile to see if the performance has improved. If not, you may need to make additional changes or try a different approach. By using cProfile to profile your code and identify bottlenecks, you can optimize the performance of slow-running functions and improve the overall efficiency of your Python programs.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值