支持简单数据库结构[教程]

数据库表

要创建一个能够高效存储新闻文章的灵活数据库,最好使用三个表设计,以允许文章和类别之间存在多对多关系。这些表如下所示:

表名 描述
新闻文章 用于存储每篇文章的内容
新闻类别 用于存储新闻类别
新闻文章类别 用于将类别链接到文章

用于存储每篇文章的内容:

新闻文章
字段名 描述 必修的?
身份证件 主键。通过API提供的唯一新闻项id(请参阅新闻项协议参考) Y
大字标题 新闻标题 Y
摘录 新闻摘要 N
编码 使用的字符编码系统,如UTF-8 Y
文本 新闻项的文本内容 Y
出版日期 文章发表日期 Y
署名行 新闻项目的作者 N
推文 140个字符的推特新闻项目特别版 N
来源 文章的原始来源 N
状态 文章的当前状态,例如:激活/批准/起草/删除 Y
客户报价 引用为其编写新闻项的客户端文本 N
创建日期 文章的创建日期 Y
最后修改日期 文章最后修改的日期 Y
HTMLITLE 要插入的文本

</pre><p>页面元素</p></td>
          <td>N</td>
         </tr>
         <tr>
          <td>htmlMetaDescription</td>
          <td>要插入页面新闻项的描述元标记的文本正在上呈现</td>
          <td>N</td>
         </tr>
         <tr>
          <td>HTMLEMetakeywords</td>
          <td>要插入页面新闻项的关键字元标记的文本正在上呈现</td>
          <td>N</td>
         </tr>
         <tr>
          <td>htmlMetaLangauge</td>
          <td>要插入页面新闻项的语言元标记的语言选项将在上呈现</td>
          <td>N</td>
         </tr>
         <tr>
          <td>标签</td>
          <td>以逗号分隔的自由文本标记列表</td>
          <td>N</td>
         </tr>
         <tr>
          <td>优先事项</td>
          <td>优先级标志30=高,norma=20用于将新闻与发布日期一起排序</td>
          <td>N</td>
         </tr>
         <tr>
          <td>总体安排</td>
          <td>HTML或原始文本内容的格式</td>
          <td>Y</td>
         </tr>
         <tr>
          <td>摄影技术</td>
          <td>显示在图像的可选文本属性中的文本</td>
          <td>N</td>
         </tr>
         <tr>
          <td>光定向</td>
          <td>照片的方向可以是纵向的,也可以是横向的</td>
          <td>N</td>
         </tr>
         <tr>
          <td>照片宽度</td>
          <td>照片缩略图实例的宽度(以像素为单位)</td>
          <td>N</td>
         </tr>
         <tr>
          <td>摄影高度</td>
          <td>照片缩略图实例的高度(以像素为单位)</td>
          <td>N</td>
         </tr>
         <tr>
          <td>照片网址</td>
          <td>指向缩略图照片源位置的URL</td>
          <td>N</td>
         </tr>
        </tbody>
       </table>
       <p>用于存储新闻类别:</p>
       <table cellspacing="5">
        <tbody>
         <tr>
          <th colspan="3">新闻类别</th>
         </tr>
         <tr>
          <th>字段名</th>
          <th>描述</th>
          <th>必修的?</th>
         </tr>
         <tr>
          <td>身份证件</td>
          <td>通过API提供的唯一类别id(请参阅<a href="//m.gingerarcher.com/support/reference" target="_blank">类别协议参考</a>)</td>
          <td>Y</td>
         </tr>
         <tr>
          <td>类型名</td>
          <td>类别的文本名称</td>
          <td>Y</td>
         </tr>
        </tbody>
       </table>
       <p>用于存储类别和文章之间的关联,例如,给定文章所属的类别:</p>
       <table cellspacing="5">
        <tbody>
         <tr>
          <th colspan="3">新闻文章类别</th>
         </tr>
         <tr>
          <th>字段名</th>
          <th>描述</th>
          <th>必修的?</th>
         </tr>
         <tr>
          <td>身份证件</td>
          <td>主键。自动生成的唯一整数</td>
          <td>Y</td>
         </tr>
         <tr>
          <td>新闻文章ID</td>
          <td>NewsArticle表中的有效id</td>
          <td>Y</td>
         </tr>
         <tr>
          <td>新闻分类</td>
          <td>NewsCategory表中类别的有效id。</td>
          <td>Y</td>
         </tr>
        </tbody>
       </table>
       <p align="center">[<a href="#top" class="jump">跳到顶端</a>]</p>
       <h3><a name="mssql">Microsoft SQL Server创建脚本</a></h3>
       <p>数据库的默认名称设置为DNContentDBSimple。下面提供了创建脚本:</p>
       <p><code class="sql" lang="sql">创建数据库BasicSampleDB;<br>去<br>创建表BasicSampleDB.dbo.“新闻类别”(<br>“id”INT不为空,<br>“name”VARCHAR(255)不为空,<br>主键(“id”)<br>)<br><br>创建表BasicSampleDB.dbo.“新闻文章”(<br>“id”INT不为空,<br>“headline”VARCHAR(255)不为空,<br>“提取”文本,<br>“encoding”VARCHAR(45)不为空,<br>“文本”文本不为空,<br>“publishDate”日期时间不为空,<br>“byLine”VARCHAR(255)默认为空,<br>“tweetText”VARCHAR(140)默认为空,<br>“source”VARCHAR(255)默认为空,<br>“state”VARCHAR(20)不为空,<br>“clientQuote”文本默认为空,<br>“createdDate”日期时间不为空,<br>“lastModifiedDate”日期时间不为空,<br>“htmlTitle”VARCHAR(255)默认为空,<br>“htmlMetaDescription”VARCHAR(255)默认为空,<br>“htmlMetaKeywords”VARCHAR(255)默认为空,<br>“htmlMetaLangauge”VARCHAR(255)默认为空,<br>“tags”VARCHAR(255)默认为空,<br>“优先级”INT默认为空,<br>“format”VARCHAR(10)不为空,<br>“photoHtmlAlt”VARCHAR(255)默认为空,<br>“photoOrientation”VARCHAR(45)默认为空,<br>“photoWidth”SMALLINT默认为空,<br>“photoHeight”SMALLINT默认为空,<br>“photoURL”文本,<br>主键(“id”)<br>)<br><br>创建表BasicSampleDB.dbo.“NewsArticleCategories”(<br>“id”整数标识(1,1),<br>“newsCategoryID”INT不为空,<br>“newsArticleID”INT不为空,<br>主键(“id”),<br>约束fk_catID<br>外键(“newsCategoryID”)<br>参考BasicSampleDB.dbo.“NewsCategories”(id)关于更新级联的删除级联,<br>约束fk_feedID_cat<br>外键(“newsArticleID”)<br>参考BasicSampleDB.dbo.更新级联中删除级联中的“新闻文章”(id)<br>)</code></p>
       <p align="center">[<a href="#top" class="jump">跳到顶端</a>]</p>
       <h3><a name="mysql">MySQL创建脚本</a></h3>
       <p>数据库的默认名称设置为DNContentDBSimple。下面提供了创建脚本:</p>
       <p><code class="sql" lang="sql">创建数据库BasicSampleDB/*!40100默认字符集latin1*/;<br><br>删除表(如果存在)BasicSampleDB.`NewsCategories`;<br>创建表BasicSampleDB.`NewsCategories`(<br>`id`INT(10)无符号非空,<br>`name`VARCHAR(255)不为空,<br>主键(`id`)<br>)ENGINE=InnoDB默认字符集=1;<br><br>删除表(如果存在)BasicSampleDB.`NewsArticles`;<br>创建表BasicSampleDB.`NewsArticles`(<br>`id`INT(10)无符号非空,<br>`标题'VARCHAR(255)不为空,<br>`摘录`文本,<br>`编码'VARCHAR(45)不为空,<br>`text`文本不为空,<br>`publishDate`datetime不为空,<br>`署名`VARCHAR(255)默认为空,<br>`tweetText`VARCHAR(140)默认为空,<br>`source`VARCHAR(255)默认为空,<br>`state`VARCHAR(20)不为空,<br>`clientQuote`文本默认为空,<br>`createdDate`datetime不为空,<br>`lastModifiedDate`datetime不为空,<br>`htmlTitle`VARCHAR(255)默认为空,<br>`htmlMetaDescription`VARCHAR(255)默认为空,<br>`htmlMetaKeywords`VARCHAR(255)默认为空,<br>`htmlMetaLangauge`VARCHAR(255)默认为空,<br>`标签'VARCHAR(255)默认为空,<br>`priority`INT(10)无符号默认为空,<br>`格式'VARCHAR(10)不为空,<br>`photoHtmlAlt`VARCHAR(255)默认为空,<br>`photoOrientation`VARCHAR(45)默认为空,<br>`photoWidth`SMALLINT默认为空,<br>`photoHeight`SMALLINT默认为空,<br>`photoURL`文本,<br><br>主键(`id`)<br>)ENGINE=InnoDB默认字符集=1;<br><br>删除表(如果存在)BasicSampleDB.`NewsArticleCategories`;<br>创建表BasicSampleDB.`NewsArticleCategories`(<br>`id`INT(10)无符号非空自动增量,<br>`newsCategoryID`INT(10)无符号非空,<br>`newsArticleID`INT(10)无符号非空,<br>主键(`id`),<br>键'FK_feedcategories_1'('NewsCategoriId'),<br>键'FK_feedcategories_2'('newsArticleID'),<br>约束'FK_feedcategories_1'外键(`newscapegoryid`)在更新级联的删除级联上引用'newscapes`(`id`),<br>约束'FK_feedcategories_2'外键(`newsactionid`)在更新级联的删除级联上引用'newsactions`(`id`)<br>)ENGINE=InnoDB AUTO_INCREMENT=937默认字符集=latin1;</code></p>
       <p align="center">[<a href="#top" class="jump">跳到顶端</a>]</p>
       <h3><a name="diagram">实体关系图</a></h3>
       <p></p>
       <p align="center"></p>
       <div id="attachment_16972" style="width: 308px" class="wp-caption aligncenter">
        <a href="//m.gingerarcher.com/wp-content/uploads/2011/01/SimlpeDBDiagram.png" class="single_image"><img aria-describedby="caption-attachment-16972" loading="lazy" src="//m.gingerarcher.com/wp-content/uploads/2011/01/SimlpeDBDiagram.png" alt="简单数据库关系示意图" title="Simple Database Relationship Schematic" width="298" height="300" class="size-medium wp-image-16972" srcset="//m.gingerarcher.com/wp-content/uploads/2011/01/SimlpeDBDiagram.png 700w, //m.gingerarcher.com/wp-content/uploads/2011/01/SimlpeDBDiagram-220x220.png 220w, //m.gingerarcher.com/wp-content/uploads/2011/01/SimlpeDBDiagram-350x351.png 350w" sizes="(max-width: 298px) 100vw, 298px"></a>
        <p id="caption-attachment-16972" class="wp-caption-text">点击放大。</p>
       </div>
       <p></p>
       <p align="center">[<a href="#top" class="jump">跳到顶端</a>]</p>
      </section>
      <footer class="article-footer cf"></footer>
     </article>
    </div>
   </div>
  </div>
  <footer class="footer" role="contentinfo" itemscope itemtype="http://schema.org/WPFooter">
   <div id="inner-footer" class="wrap cf">
    <div class="social">
     <a target="_blank" rel="noreferrer" href="https://www.twitter.com/Brafton"><i class="fa fa-twitter" aria-hidden="true"></i><span class="hide">啁啾</span></a>
     <a target="_blank" rel="noreferrer" href="https://www.facebook.com/Brafton"><i class="fa fa-facebook" aria-hidden="true"></i><span class="hide">脸谱网</span></a>
     <a target="_blank" rel="noreferrer" href="https://www.linkedin.com/company/brafton/"><i class="fa fa-linkedin" aria-hidden="true"></i><span class="hide">LinkedIn</span></a>
    </div>
    <div id="nav_menu-4" class="widget widget_nav_menu">
     <div class="menu-contact-us-container">
      <ul id="menu-contact-us" class="menu">
       <li id="menu-item-89754" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89754"><a href="//m.gingerarcher.com/contact-us/">联系!</a></li>
       <li id="menu-item-89912" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-89912"><a href="//m.gingerarcher.com/support">支持中心</a></li>
       <li id="menu-item-94842" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-94842"><a href="//m.gingerarcher.com/privacy/">隐私声明</a></li>
      </ul>
     </div>
    </div>
    <div id="nav_menu-5" class="widget widget_nav_menu">
     <h4 class="widgettitle">我们的故事</h4>
     <div class="menu-about-us-container">
      <ul id="menu-about-us" class="menu">
       <li id="menu-item-89731" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89731"><a href="//m.gingerarcher.com/about/">关于布拉夫顿</a></li>
       <li id="menu-item-89751" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89751"><a href="//m.gingerarcher.com/about/leadership/">布拉夫顿领导</a></li>
       <li id="menu-item-89752" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89752"><a href="//m.gingerarcher.com/about/our-writers/">内容作者</a></li>
      </ul>
     </div>
    </div>
    <div id="nav_menu-6" class="widget widget_nav_menu">
     <h4 class="widgettitle">我们的工作</h4>
     <div class="menu-resources-container">
      <ul id="menu-resources" class="menu">
       <li id="menu-item-89729" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89729"><a href="//m.gingerarcher.com/clients/">我们的工作</a></li>
       <li id="menu-item-89730" class="menu-item menu-item-type-post_type menu-item-object-page current_page_parent menu-item-89730"><a href="//m.gingerarcher.com/brafton-blog/">博客</a></li>
       <li id="menu-item-89750" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89750"><a href="//m.gingerarcher.com/resource-center/">资源中心</a></li>
       <li id="menu-item-126964" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-126964"><a href="//m.gingerarcher.com/content-marketing/">什么是内容营销?</a></li>
      </ul>
     </div>
    </div>
    <div id="nav_menu-7" class="widget widget_nav_menu">
     <h4 class="widgettitle">我们的服务</h4>
     <div class="menu-content-marketing-container">
      <ul id="menu-content-marketing" class="menu">
       <li id="menu-item-89971" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-89971"><a href="//m.gingerarcher.com/content-marketing-services/">内容营销服务</a>
        <ul class="sub-menu">
         <li id="menu-item-89741" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89741"><a href="//m.gingerarcher.com/content-creation/">内容创建服务</a></li>
         <li id="menu-item-89744" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89744"><a href="//m.gingerarcher.com/writing/">文案服务</a></li>
         <li id="menu-item-89745" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89745"><a href="//m.gingerarcher.com/graphic-design/">平面设计服务</a></li>
         <li id="menu-item-89748" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89748"><a href="//m.gingerarcher.com/video/">视频服务</a></li>
        </ul></li>
       <li id="menu-item-89743" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-89743"><a href="//m.gingerarcher.com/content-strategy/">内容营销策略</a>
        <ul class="sub-menu">
         <li id="menu-item-89740" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89740"><a href="//m.gingerarcher.com/consulting/">营销咨询服务</a></li>
         <li id="menu-item-89738" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89738"><a href="//m.gingerarcher.com/analytics/">内容分析</a></li>
         <li id="menu-item-89746" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89746"><a href="//m.gingerarcher.com/seo/">SEO内容写作服务</a></li>
        </ul></li>
       <li id="menu-item-89742" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-89742"><a href="//m.gingerarcher.com/promotions-engagement/">社交媒体营销服务</a>
        <ul class="sub-menu">
         <li id="menu-item-89747" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89747"><a href="//m.gingerarcher.com/social-media-marketing/">社交媒体咨询服务</a></li>
         <li id="menu-item-89739" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89739"><a href="//m.gingerarcher.com/arch/">拱</a></li>
        </ul></li>
      </ul>
     </div>
    </div>
    <div id="text_icl-7" class="widget widget_text_icl">
     <h4 class="widgettitle">我们</h4>
     <div class="textwidget">
      <div class="logo">
       <img src="//m.gingerarcher.com/wp-content/themes/brafton2016/library/images/full_logo.png" alt="Brafton-内容营销机构">
      </div>
      <div class="cities">
       波士顿<div class="sep">
        <img src="//m.gingerarcher.com/wp-content/themes/brafton2016/library/images/Bullet1.png" alt="九月">
       </div>芝加哥<div class="sep">
        <img src="//m.gingerarcher.com/wp-content/themes/brafton2016/library/images/Bullet1.png" alt="九月">
       </div>旧金山<div class="sep">
        <img src="//m.gingerarcher.com/wp-content/themes/brafton2016/library/images/Bullet1.png" alt="九月">
       </div>悉尼<div class="sep">
        <img src="//m.gingerarcher.com/wp-content/themes/brafton2016/library/images/Bullet1.png" alt="九月">
       </div>伦敦</div>
      <div class="contact-info">
       <span class="phone">p、 +1617-206-3040</span>
       <span class="phone">p、 +61 2 8973 1908</span>
       <span class="fax">f、 866.272.8112</span>
       <span class="email">E<a href="mailto:info@brafton.com">info@brafton.com</a></span>
       <span class="email">支持:<a href="mailto:techsupport@brafton.com">techsupport@brafton.com</a></span>
      </div>
     </div>
    </div>
   </div>
   <div class="source-org copyright">
    <div class="wrap">
     ©2021布拉夫顿。<span style="display:none;">2021/09/25 05:10:11</span>
    </div>
   </div>
  </footer>
  <!-- Cookie Notice plugin v2.1.0 by Hu-manity.co https://hu-manity.co/ -->
  <div id="cookie-notice" role="banner" class="cookie-notice-hidden cookie-revoke-hidden cn-position-bottom" aria-label="Cookie Notice" style="background-color: rgba(33,33,33,1);">
   <div class="cookie-notice-container" style="color: #fff;">
    <span id="cn-notice-text" class="cn-text-container">我们使用cookie来改善您的浏览体验。您可以在我们的<a href="//m.gingerarcher.com/privacy/">隐私声明。</a></span>
    <span id="cn-notice-buttons" class="cn-buttons-container"><a href="#" id="cn-accept-cookie" data-cookie-set="accept" class="cn-set-cookie cn-button green-btn" aria-label="Accept Cookies">接受饼干</a></span>
    <a href="javascript:void(0);" id="cn-close-notice" data-cookie-set="accept" class="cn-close-icon" aria-label="Accept Cookies"></a>
   </div>
  </div>
  <!-- / Cookie Notice plugin -->
  <!-- temporary for marketo -->
  <!-- end of site. what a ride! -->
 </body>
</html>