读帖笔记

来源:互联网 发布:思科网络防火墙 编辑:程序博客网 时间:2024/05/22 15:38

面向对象思想来源于分类学理论。  
  你们讨论的问题好像是抽象和划分。  
  在进行阐述我的理解之前,先看几个概念的定义(以前学习时候的笔记)。  
  客体:   客观存在并可观察到的事物,也包括想象产生的事物.任一客体都具有众多特性.  
  (可以认为这些客体就是这些特性的集合).  
  概念:   根据一群客体所共有的特性形成某一概念.    
        (可以看作特性的集合,这些特性是集合空间里面的所有客体共有的)  
  内涵:一个概念所反映的客体的全部特征称为概念的内涵。  
  外延:一个概念所指客体的范围称为概念的外延.  
  抽象:抽取事物的共有特性将其概括为概念的过程.  
  划分:同一概念可以依据不同的分类标准(这些标准也叫做维度)划分为若干个不同的概念组.  
  (分类标准就是集合论里面的等价关系--自反,对称,传递)  
   
   
  继承是一种特化关系,它刚好和抽象相反,  
  抽象是一种泛化关系.这两种关系在集合论里面是偏序关系(自反,反对称和传递的)。  
  在进行讨论继承之前,先讨论讨论抽象。因为继承依赖的模型来源抽象的过程。  
  抽象的过程是自底向上的。  
  给定一个集合空间,空间里有5个元素,  
  比如都是由三条直线线段组成的封闭的东西。  
  A(10,20,15)        
  B(15,15,20)        
  C(10,10,10)        
  D(11,12,13)  
  E(30,30,31)  
   
  A-E都是客体,每一个客体都若干相同的特征如  
  1.都是直线段  
  2.直线段的数目是三个  
  3.三条线段每一条的两端都和分别和另外两条的一端相连。  
  假设就抽象出这么些特征吧。我们把这些特征集合称作一个叫三角形概念。  
  注意三角形这个东西是一个抽象的东西,没有任何的实体。  
  如果没有别的需要,这样的抽象就够了。  
  直接实例化就是需要的客体了。  
   
  但是你们觉得不够用,然后在这一层概念上,  
  你们尝试做一种划分,  
  根据等价关系   每两条鞭相等   划分出等价类,  
  {三条边都相等三角形--等边三角形}  
  {两条边都相等,但不等于第三条边三角形--   等腰非等边三角形}  
  {三条都不相等的三角形   --非等边非等腰三角形}  
  这三个概念是并列概念。  
  是属于三角形这个上位概念的下位概念。  
  也可以说是三角形的外延。    
  三角形和等边三角形的关系是层级关系,确切地说是层级关系中的属种关系。  
   
  可是另外一些人尝试了另外一个划分。  
  根据等价关系     三条边都相等   得到了另外一个划分  
  {三条边都相等三角形--等边三角形   --   等边三角形}  
  {不是三条边都相等的三角形               --   非等边三角形}  
  这两个子概念是三角形的得下位概念,同上一个的分析。  
  他们对这样的划分还不满意,所以对非等边三角形进行再次细化。  
  比如依据等价关系   两条边相等   划分出  
  {等腰三角(实际上在上位概念的限制下,是等腰非等边三角形)}  
  {非等腰三角(实际上在上位概念的限制下,是非等腰非等边三角形)}  
   
  这样得到的是两个不同的分类体系。  
  哪个合理,哪个不合理没有定论,根据不同的专业领域和研究需要而定,如steedhorse(晨星)   所说。  
   
  而且得到分类的体系的方法有几种  
  一种是纯自顶向下的。  
  一种是纯自底向上的。  
  一种是混合的,上下求索。  
   
  你们讨论的分歧,个人觉得是概念有重叠了,也就是讨论的东西不是在同一个划分标准下。  
  举个形象的例子,如果三角形还有颜色的话,如集合空间变成  
  A(10,20,15,红)        
  B(15,15,20,黄)        
  C(10,10,10,绿)        
  D(11,12,13,红)  
  E(30,30,31,黄)  
   
  那么上面的第一个种类体系中在  
  三角形的概念下,还存在一个另外一个维度的划分。  
  等价关系:颜色相同  
  {红颜色的三角形}  
  {黄颜色的三角形}  
  {绿颜色的三角形}  

 

 

I would work hard to NOT use CHAR() or VARCHAR() as a PK but use an int with an auto_increment instead. This allows you to use that user_id in child tables if needed and queries on the PK should be faster.

 

主键和外键是相对于整个数据库来说的,总体来说就是要实现数据库的实体完整性、参照完整性等完整性的约束。并满足数据库规范化的要求 1NF 2NF...
对于一个表定义了一个主键,对于该表可以为通过该键唯一地表示表中的每一记录。外键是相对于表中的一个列给它的一个约束,一般是另一个表中的主键,该列的值必须在另一个表中出现。另一个表中的数据如果被该表引用,就必须先删除该表的引用才能删除另一个表的记录

原创粉丝点击