wordpress 소스 코드 분석 - 데이터베이스 테이블 구조 (2)

일반적인 사용자 라면 wordpress 데이터베이스 의 구 조 를 알 필요 가 없습니다.그러나 플러그 인 을 쓰 고 있다 면 워드 프 레 스 가 데이터 와 관 계 를 어떻게 처리 하 는 지 에 관심 이 있 을 것 입 니 다.만약 당신 이 이미 존재 하 는 wordpress api 를 사용 하여 당신 이 필요 로 하 는 데 이 터 를 방문 하려 고 시도 했다 면, 데이터 베 이 스 를 직접 방문 하지 않 는 상황 에서, 이것 은 불가능 합 니 다. WordPress 의 WPDB 제공 클래스 는 이 임 무 를 간단하게 합 니 다.
WordPress 데이터베이스 의 11 개의 데이터 시트 는 각각:
표 이름 (표 이름 을 클릭 하여 상세 한 소 개 를 보십시오)
묘사 하 다.
wp_commentmeta
문장 평론 추가 정보 표
wp_comments
문장 평론 정보 표
wp_links
링크 정보 표
wp_options
기본 설정 정보 표, 보통 getoption 으로 작 동 합 니 다. 이 표 는 보통 플러그 인 으로 데 이 터 를 저장 하 는 곳 입 니 다.
wp_postmeta
글 의 추가 데이터 시트, 예 를 들 어 글 조회 횟수, 글 의 사용자 정의 필드 등 이 여기에 저 장 됩 니 다.
wp_posts
글 정보 표 는 로그, 첨부 파일, 페이지 등 정 보 를 포함한다.워드 프레스 의 가장 중요 한 데이터 시트 입 니 다.
wp_terms
문장 분류, 링크 분류, 라벨 정보 표.
wp_term_relationships
문장 정보 표 (wp posts), 링크 표 (wp links) 와 의 관련 표를 분류 합 니 다.
wp_term_taxonomy
분류 정보 표, wp 구분terms 정보의 분류 유형, category, linkcategory 와 tag 세 가지 분류 유형.
wp_usermeta
사용자 추가 정보 표
wp_users
사용자 기본 정보 표.시스템 의 모든 사용자 기본 정 보 를 저장 합 니 다.
WordPress 데이터베이스 시트 간 의 관 계 는 무엇 입 니까?
이 문제 와 워드 프레스 데이터 시트 간 의 관 계 를 더욱 깊이 이해 하려 면 먼저 워드 프레스 블 로그 시스템 의 기능 을 생각해 보 자. 기본적으로 설 치 된 워드 프레스 2.6.2 버 전 블 로그 시스템 과 관련 된 데이터 정 보 는 주로 사용자 정보, 분류 메시지, 링크 정보, 글 정보, 글 평론 정보, 기본 설정 정보 등 6 가지 정 보 를 포함한다.
사용자 정보: 시스템 에 등 록 된 모든 사용자 의 계 정 정보.
분류 정보: 문장 분류, 링크 분류, 라벨 등 3 가지 분류 정 보 를 포함한다.
링크 정보: 바로 블 로그 시스템 의 우정 링크 정보 입 니 다.
글 정보: 블 로그 시스템 의 로그, 로그 에 생 성 된 첨부 파일, 페이지 등 정보.
글 평론 정보: 구체 적 인 로그 나 첨부 파일 에 대한 평론 정보.
기본 설정 정보: 시스템 의 기본 설정 정보, 예 를 들 어 블 로그 이름, 블 로그 주소 등.
WordPress 데이터베이스 의 11 개의 데이터 시트 는 상기 6 가지 데이터 정 보 를 저장 하기 위해 디자인 된 것 입 니 다. 이 표 들 간 의 전체적인 관계 구 조 는 다음 과 같 습 니 다.
위의 그림 에서 볼 수 있 듯 이 워드 프레스 블 로그 시스템 의 6 가지 데이터 정 보 는 각각 관련 된 데이터 시트 와 관 계 는 다음 과 같다.
정보 유형
관련 데이터 시트 및 관련 관계
사용자 정보
데이터 시트: wpusers、wp_usermeta, 관련 관계: wpusers.ID->wp_usermeta.user_id
분류 정보
데이터 시트: wpterms、wp_term_taxonomy 관련 관계: wpterms.term_id->wp_term_taxonomy.term_id
링크 정보
데이터 시트: wplinks、wp_term_relationships、wp_terms、wp_term_taxonomy、 wp_users、wp_usermeta 관련 관계: 1, 링크 소속 분류 확인 (1) wplinks.link_id->wp_term_relationships.object_id, (2)wp_term_relationships.term_taxonomy_id->wp_term_taxonomy.term_taxonomy_id (이 관 계 는 wp term taxonomy 표 의 taxonomy 분류 유형 과 "link category") (3) wpterms.term_id->wp_term_taxonom.term_id 2. 링크 소유자 확인 (4) wplinks.link_owner->wp_users.ID(5)wp_users.ID->wp_usermeta.user_id
글 정보
데이터 시트: wpposts、wp_postmeta、wp_comments、wp_term_relationships、wp_terms、 wp_term_taxonomy、wp_users、wp_usermeta 관련 관계: 1. 글 정보 확인 (1) wpposts.ID->wp_postsmeta.post_id 2. 글 댓 글 확인 (2) wpposts.ID->wp_comments.comment_post_id 3. 글 댓 글 작성 자 확인 (3) wpcomments.comment_author->wp_users.ID (4)wp_users.ID->wp_usermeta.user_id 4. 문장 소속 분류 확인 (5) wpposts.ID->wp_term_relationships.object_id, (6)wp_term_relationships.term_taxonomy_id->wp_term_taxonomy.term_taxonomy_id (이 관 계 는 wp term taxonomy 표 의 taxonomy 분류 유형 에 따라 'category' 또는 'tag') (7) wpterms->term_id->wp_term_taxonomy 5 、 글 쓴 이 확인 (8) wpposts.author->wp_users.ID; (9)wp_users.ID->wp_usermeta.user_id
문장 평론 정보
데이터 시트: wpcomments、wp_posts、wp_users、wp_usermeta 관련 관계: 1. 댓 글 을 확인 하 는 글 (1) wpcomments.comment_post_id->wp_posts. ID 2. 댓 글 작성 자 확인 (2) wpcomments.comment_author->wp_users.ID(3)wp_users.ID->wp_usermeta.user_id
기본 설정 정보
데이터 시트: wpoptions 는 관련 이 없습니다.
 
Wp - config. php 에서 데이터베이스 에 대한 설정 입 니 다.
      array(  
                array(  
                    'db_host' => SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,  
                    'db_user'=> SAE_MYSQL_USER,  
                    'db_password'=> SAE_MYSQL_PASS,  
                    'db_name'=> SAE_MYSQL_DB,  
                    'db_charset'=> 'utf8'  
                    )  
                ),  
            'read'=> array(  
                array(  
                    'db_host' => SAE_MYSQL_HOST_S.':'.SAE_MYSQL_PORT,  
                    'db_user'=> SAE_MYSQL_USER,  
                    'db_password'=> SAE_MYSQL_PASS,  
                    'db_name'=> SAE_MYSQL_DB,  
                    'db_charset'=> 'utf8'  
                    )  
                ),  
            );  
    $global_db_list = $db_list['write'];  
      
    /**#@+ 
     *       。 
     * 
     *            
     *        {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org       }, 
     *          cookie   ,          。 
     * 
     * @since 2.6.0 
     */  
    define('AUTH_KEY',         hash_hmac('sha1', SAE_ACCESSKEY . 'AUTH_KEY', SAE_SECRETKEY ));  
    define('SECURE_AUTH_KEY',  hash_hmac('sha1', SAE_ACCESSKEY . 'SECURE_AUTH_KEY', SAE_SECRETKEY ));  
    define('LOGGED_IN_KEY',    hash_hmac('sha1', SAE_ACCESSKEY . 'LOGGED_IN_KEY', SAE_SECRETKEY ));  
    define('NONCE_KEY',        hash_hmac('sha1', SAE_ACCESSKEY . 'NONCE_KEY', SAE_SECRETKEY ));  
    define('AUTH_SALT',        hash_hmac('sha1', SAE_ACCESSKEY . 'AUTH_SALT', SAE_SECRETKEY ));  
    define('SECURE_AUTH_SALT', hash_hmac('sha1', SAE_ACCESSKEY . 'SECURE_AUTH_SALT', SAE_SECRETKEY ));  
    define('LOGGED_IN_SALT',   hash_hmac('sha1', SAE_ACCESSKEY . 'LOGGED_IN_SALT', SAE_SECRETKEY ));  
    define('NONCE_SALT',       hash_hmac('sha1', SAE_ACCESSKEY . 'NONCE_SALT', SAE_SECRETKEY ));  
      
    /**#@-*/  
      
    /** 
     * WordPress      。 
     * 
     *                 WordPress    ,     WordPress           。 
     *         、      。 
     */  
    $table_prefix  = 'wp_';  
      
    /** 
     * WordPress     ,     。 
     * 
     *         WordPress         。 
     * wp-content/languages         .mo     。 
     *     WordPress       ,     zh_CN。 
     */  
    define ('WPLANG', 'zh_CN');  
      
    /** 
     *      :WordPress     。 
     * 
     *       “true”,WordPress              。 
     *                     。 
     */  
    define('WP_DEBUG', false);  
      
    /*   !        。      。 */  
      
    /** WordPress        。 */  
    if ( !defined('ABSPATH') )  
        define('ABSPATH', dirname(__FILE__) . '/');  
      
    /**    WordPress        。          ,     */  
    require_once(ABSPATH . 'wp-settings.php');  

wp - db. php 는 wpdb 클래스 를 포함 하고 데이터베이스 조작 API 입 니 다.$wpdb 의 전역 변 수 를 만 듭 니 다. wpdb 클래스 의 대상 입 니 다.매우 길 어서 문장 에 붙 이 는 것 은 너무 비대 하 다.
참고:
http://wenku.baidu.com/view/6448da5bbe23482fb4da4c94.html?from_page=view&from_mod=download
http://codex.wordpress.org/Database_Description
http://codex.wordpress.org/Function_Reference/wpdb_Class
http://www.jakc.net/post/272

좋은 웹페이지 즐겨찾기