diff --git a/core/modules/action/tests/action_bulk_test/config/install/views.view.test_bulk_form.yml b/core/modules/action/tests/action_bulk_test/config/install/views.view.test_bulk_form.yml
index 90a46ff..e418001 100644
--- a/core/modules/action/tests/action_bulk_test/config/install/views.view.test_bulk_form.yml
+++ b/core/modules/action/tests/action_bulk_test/config/install/views.view.test_bulk_form.yml
@@ -9,7 +9,7 @@ label: form
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/block_content/src/BlockContentViewsData.php b/core/modules/block_content/src/BlockContentViewsData.php
index 7950d78..200d18f 100644
--- a/core/modules/block_content/src/BlockContentViewsData.php
+++ b/core/modules/block_content/src/BlockContentViewsData.php
@@ -21,7 +21,7 @@ public function getViewsData() {
 
     $data = parent::getViewsData();
 
-    $data['block_content']['id']['field']['id'] = 'block_content';
+    $data['block_content_field_data']['id']['field']['id'] = 'block_content';
 
     $data['block_content_field_data']['info']['field']['id'] = 'block_content';
     $data['block_content_field_data']['info']['field']['link_to_entity default'] = TRUE;
diff --git a/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_block_content_view.yml b/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_block_content_view.yml
index a5a9592..2e12c10 100644
--- a/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_block_content_view.yml
+++ b/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_block_content_view.yml
@@ -8,7 +8,7 @@ label: test_block_content_view
 module: views
 description: ''
 tag: ''
-base_table: block_content
+base_table: block_content_field_data
 base_field: id
 core: 8.x
 display:
@@ -70,7 +70,7 @@ display:
       fields:
         id:
           id: id
-          table: block_content
+          table: block_content_field_data
           field: id
           relationship: none
           group_type: group
@@ -123,7 +123,7 @@ display:
       sorts:
         id:
           id: id
-          table: block_content
+          table: block_content_field_data
           field: id
           relationship: none
           group_type: group
@@ -144,7 +144,7 @@ display:
       arguments:
         type:
           id: type
-          table: block_content
+          table: block_content_field_data
           field: type
           relationship: none
           group_type: group
diff --git a/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_filters.yml b/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_filters.yml
index a004f43..057cd61 100644
--- a/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_filters.yml
+++ b/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_filters.yml
@@ -8,7 +8,7 @@ label: 'Test field filters'
 module: views
 description: ''
 tag: ''
-base_table: block_content
+base_table: block_content_field_data
 base_field: id
 core: 8.x
 display:
diff --git a/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_type.yml b/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_type.yml
index 5c8fe27..c11426b 100644
--- a/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_type.yml
+++ b/core/modules/block_content/tests/modules/block_content_test_views/test_views/views.view.test_field_type.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: block_content
+base_table: block_content_field_data
 base_field: id
 core: '8'
 display:
diff --git a/core/modules/comment/comment.views.inc b/core/modules/comment/comment.views.inc
index cdd7ec0..5e31876 100644
--- a/core/modules/comment/comment.views.inc
+++ b/core/modules/comment/comment.views.inc
@@ -26,7 +26,7 @@ function comment_views_data_alter(&$data) {
       continue;
     }
     $fields = \Drupal::service('comment.manager')->getFields($entity_type_id);
-    $base_table = $entity_type->getBaseTable();
+    $base_table = $entity_type->getDataTable() ?: $entity_type->getBaseTable();
     $args = array('@entity_type' => $entity_type_id);
 
     if ($fields) {
diff --git a/core/modules/comment/config/install/views.view.comments_recent.yml b/core/modules/comment/config/install/views.view.comments_recent.yml
index a5dca72..dd4ba6a 100644
--- a/core/modules/comment/config/install/views.view.comments_recent.yml
+++ b/core/modules/comment/config/install/views.view.comments_recent.yml
@@ -9,7 +9,7 @@ label: 'Recent comments'
 module: views
 description: 'Recent comments.'
 tag: default
-base_table: comment
+base_table: comment_field_data
 base_field: cid
 core: 8.x
 display:
@@ -208,7 +208,7 @@ display:
           entity_field: created
         cid:
           id: cid
-          table: comment
+          table: comment_field_data
           field: cid
           relationship: none
           group_type: group
diff --git a/core/modules/comment/src/CommentViewsData.php b/core/modules/comment/src/CommentViewsData.php
index 2a7083c..7c68bb7 100644
--- a/core/modules/comment/src/CommentViewsData.php
+++ b/core/modules/comment/src/CommentViewsData.php
@@ -20,16 +20,16 @@ class CommentViewsData extends EntityViewsData {
   public function getViewsData() {
     $data = parent::getViewsData();
 
-    $data['comment']['table']['base']['help'] = t('Comments are responses to content.');
-    $data['comment']['table']['base']['access query tag'] = 'comment_access';
+    $data['comment_field_data']['table']['base']['help'] = t('Comments are responses to content.');
+    $data['comment_field_data']['table']['base']['access query tag'] = 'comment_access';
 
-    $data['comment']['table']['wizard_id'] = 'comment';
+    $data['comment_field_data']['table']['wizard_id'] = 'comment';
 
     $data['comment_field_data']['subject']['title'] = t('Title');
     $data['comment_field_data']['subject']['help'] = t('The title of the comment.');
     $data['comment_field_data']['subject']['field']['id'] = 'comment';
 
-    $data['comment']['cid']['field']['id'] = 'comment';
+    $data['comment_field_data']['cid']['field']['id'] = 'comment';
 
     $data['comment_field_data']['name']['title'] = t('Author');
     $data['comment_field_data']['name']['help'] = t("The name of the comment's author. Can be rendered as a link to the author's homepage.");
@@ -190,7 +190,7 @@ public function getViewsData() {
           'relationship' => array(
             'title' => $entity_type->getLabel(),
             'help' => t('The @entity_type to which the comment is a reply to.', array('@entity_type' => $entity_type->getLabel())),
-            'base' => $entity_type->getBaseTable(),
+            'base' => $entity_type->getDataTable() ?: $entity_type->getBaseTable(),
             'base field' => $entity_type->getKey('id'),
             'relationship field' => 'entity_id',
             'id' => 'standard',
@@ -245,7 +245,7 @@ public function getViewsData() {
       // {comment_entity_statistics} for each field as multiple joins between
       // the same two tables is not supported.
       if (\Drupal::service('comment.manager')->getFields($type)) {
-        $data['comment_entity_statistics']['table']['join'][$entity_type->getBaseTable()] = array(
+        $data['comment_entity_statistics']['table']['join'][$entity_type->getDataTable() ?: $entity_type->getBaseTable()] = array(
           'type' => 'INNER',
           'left_field' => $entity_type->getKey('id'),
           'field' => 'entity_id',
diff --git a/core/modules/comment/src/Plugin/views/argument/UserUid.php b/core/modules/comment/src/Plugin/views/argument/UserUid.php
index 77ed0cc..b20a116 100644
--- a/core/modules/comment/src/Plugin/views/argument/UserUid.php
+++ b/core/modules/comment/src/Plugin/views/argument/UserUid.php
@@ -86,8 +86,8 @@ public function query($group_by = FALSE) {
     $this->ensureMyTable();
 
     // Use the table definition to correctly add this user ID condition.
-    if ($this->table != 'comment') {
-      $subselect = $this->database->select('comment', 'c');
+    if ($this->table != 'comment_field_data') {
+      $subselect = $this->database->select('comment_field_data', 'c');
       $subselect->addField('c', 'cid');
       $subselect->condition('c.uid', $this->argument);
 
diff --git a/core/modules/comment/src/Plugin/views/field/StatisticsLastUpdated.php b/core/modules/comment/src/Plugin/views/field/StatisticsLastUpdated.php
index 860d5bd..69de338 100644
--- a/core/modules/comment/src/Plugin/views/field/StatisticsLastUpdated.php
+++ b/core/modules/comment/src/Plugin/views/field/StatisticsLastUpdated.php
@@ -20,7 +20,7 @@ class StatisticsLastUpdated extends Date {
 
   public function query() {
     $this->ensureMyTable();
-    $this->node_table = $this->query->ensureTable('node', $this->relationship);
+    $this->node_table = $this->query->ensureTable('node_field_data', $this->relationship);
     $this->field_alias = $this->query->addField(NULL, "GREATEST(" . $this->node_table . ".changed, " . $this->tableAlias . ".last_comment_timestamp)", $this->tableAlias . '_' . $this->field);
   }
 
diff --git a/core/modules/comment/src/Plugin/views/filter/UserUid.php b/core/modules/comment/src/Plugin/views/filter/UserUid.php
index ebef422..16d4fb0 100644
--- a/core/modules/comment/src/Plugin/views/filter/UserUid.php
+++ b/core/modules/comment/src/Plugin/views/filter/UserUid.php
@@ -22,7 +22,7 @@ class UserUid extends FilterPluginBase {
   public function query() {
     $this->ensureMyTable();
 
-    $subselect = db_select('comment', 'c');
+    $subselect = db_select('comment_field_data', 'c');
     $subselect->addField('c', 'cid');
     $subselect->condition('c.uid', $this->value, $this->operator);
 
diff --git a/core/modules/comment/src/Plugin/views/row/Rss.php b/core/modules/comment/src/Plugin/views/row/Rss.php
index 5f6f512..2412892 100644
--- a/core/modules/comment/src/Plugin/views/row/Rss.php
+++ b/core/modules/comment/src/Plugin/views/row/Rss.php
@@ -18,7 +18,7 @@
  *   help = @Translation("Display the comment as RSS."),
  *   theme = "views_view_row_rss",
  *   register_theme = FALSE,
- *   base = {"comment"},
+ *   base = {"comment_field_data"},
  *   display_types = {"feed"}
  * )
  */
@@ -27,7 +27,7 @@ class Rss extends RssPluginBase {
   /**
    * {@inheritdoc}
    */
-  protected $base_table = 'comment';
+  protected $base_table = 'comment_field_data';
 
   /**
    * {@inheritdoc}
diff --git a/core/modules/comment/src/Plugin/views/wizard/Comment.php b/core/modules/comment/src/Plugin/views/wizard/Comment.php
index 34908ad..aa89369 100644
--- a/core/modules/comment/src/Plugin/views/wizard/Comment.php
+++ b/core/modules/comment/src/Plugin/views/wizard/Comment.php
@@ -19,7 +19,7 @@
  *
  * @ViewsWizard(
  *   id = "comment",
- *   base_table = "comment",
+ *   base_table = "comment_field_data",
  *   title = @Translation("Comments")
  * )
  */
diff --git a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rest.yml b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rest.yml
index 7df6536..0c53369 100644
--- a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rest.yml
+++ b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rest.yml
@@ -14,7 +14,7 @@ label: 'Comments by node'
 module: views
 description: ''
 tag: ''
-base_table: comment
+base_table: comment_field_data
 base_field: cid
 core: 8.x
 display:
diff --git a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_row.yml b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_row.yml
index fa3a4f0..6063d89 100644
--- a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_row.yml
+++ b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_row.yml
@@ -10,7 +10,7 @@ label: test_comment_row
 module: views
 description: ''
 tag: ''
-base_table: comment
+base_table: comment_field_data
 base_field: cid
 core: 8.x
 display:
diff --git a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rss.yml b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rss.yml
index b9b4c48..a3ca208 100644
--- a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rss.yml
+++ b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_rss.yml
@@ -10,7 +10,7 @@ label: test_comment_rss
 module: views
 description: ''
 tag: ''
-base_table: comment
+base_table: comment_field_data
 base_field: cid
 core: 8.x
 display:
diff --git a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml
index 6c1ffee..9b0b973 100644
--- a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml
+++ b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_comment_user_uid.yml
@@ -11,7 +11,7 @@ label: test_comment_user_uid
 module: comment_test_views
 description: ''
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -41,7 +41,7 @@ display:
         nid:
           field: nid
           id: nid
-          table: node
+          table: node_field_data
           plugin_id: node
           entity_type: node
           entity_field: nid
diff --git a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_field_filters.yml b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_field_filters.yml
index 2a950fc..7b848df 100644
--- a/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_field_filters.yml
+++ b/core/modules/comment/tests/modules/comment_test_views/test_views/views.view.test_field_filters.yml
@@ -10,7 +10,7 @@ label: 'Test field filters'
 module: views
 description: ''
 tag: ''
-base_table: comment
+base_table: comment_field_data
 base_field: cid
 core: 8.x
 display:
diff --git a/core/modules/content_translation/tests/modules/content_translation_test_views/test_views/views.view.test_entity_translations_link.yml b/core/modules/content_translation/tests/modules/content_translation_test_views/test_views/views.view.test_entity_translations_link.yml
index 6a0515d..143d1f0 100644
--- a/core/modules/content_translation/tests/modules/content_translation_test_views/test_views/views.view.test_entity_translations_link.yml
+++ b/core/modules/content_translation/tests/modules/content_translation_test_views/test_views/views.view.test_entity_translations_link.yml
@@ -9,7 +9,7 @@ label: People
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
@@ -75,7 +75,7 @@ display:
       filters:
         uid_raw:
           id: uid_raw
-          table: users
+          table: users_field_data
           field: uid_raw
           operator: '!='
           value:
diff --git a/core/modules/entity_reference/src/Tests/Views/SelectionTest.php b/core/modules/entity_reference/src/Tests/Views/SelectionTest.php
index 5e98176..d324b12 100644
--- a/core/modules/entity_reference/src/Tests/Views/SelectionTest.php
+++ b/core/modules/entity_reference/src/Tests/Views/SelectionTest.php
@@ -118,7 +118,7 @@ public function testSelectionHandlerRelationship() {
     $view->displayHandlers->get('default')->setOption('relationships', array(
       'test_relationship' => array(
         'id' => 'uid',
-        'table' => 'users',
+        'table' => 'node_field_data',
         'field' => 'uid',
       ),
     ));
@@ -127,7 +127,7 @@ public function testSelectionHandlerRelationship() {
     $view->displayHandlers->get('default')->setOption('filters', array(
       'uid' => array(
         'id' => 'uid',
-        'table' => 'users',
+        'table' => 'users_field_data',
         'field' => 'uid',
         'relationship' => 'test_relationship',
       )
diff --git a/core/modules/entity_reference/tests/modules/entity_reference_test/config/install/views.view.test_entity_reference.yml b/core/modules/entity_reference/tests/modules/entity_reference_test/config/install/views.view.test_entity_reference.yml
index 645be9e..2abda30 100644
--- a/core/modules/entity_reference/tests/modules/entity_reference_test/config/install/views.view.test_entity_reference.yml
+++ b/core/modules/entity_reference/tests/modules/entity_reference_test/config/install/views.view.test_entity_reference.yml
@@ -11,7 +11,7 @@ label: 'Entity reference'
 module: entity_reference_test
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/file/src/FileViewsData.php b/core/modules/file/src/FileViewsData.php
index 5a977a2..17a0138 100644
--- a/core/modules/file/src/FileViewsData.php
+++ b/core/modules/file/src/FileViewsData.php
@@ -77,30 +77,30 @@ public function getViewsData() {
         'field' => 'fid',
         'left_field' => 'fid',
       ),
-      // Link ourself to the {node} table
+      // Link ourself to the {node_field_data} table
       // so we can provide node->file relationships.
-      'node' => array(
+      'node_field_data' => array(
         'field' => 'id',
         'left_field' => 'nid',
         'extra' => array(array('field' => 'type', 'value' => 'node')),
       ),
-      // Link ourself to the {users} table
+      // Link ourself to the {users_field_data} table
       // so we can provide user->file relationships.
-      'users' => array(
+      'users_field_data' => array(
         'field' => 'id',
         'left_field' => 'uid',
         'extra' => array(array('field' => 'type', 'value' => 'user')),
       ),
-      // Link ourself to the {comment} table
+      // Link ourself to the {comment_field_data} table
       // so we can provide comment->file relationships.
-      'comment' => array(
+      'comment_field_data' => array(
         'field' => 'id',
         'left_field' => 'cid',
         'extra' => array(array('field' => 'type', 'value' => 'comment')),
       ),
-      // Link ourself to the {taxonomy_term_data} table
+      // Link ourself to the {taxonomy_term_field_data} table
       // so we can provide taxonomy_term->file relationships.
-      'taxonomy_term_data' => array(
+      'taxonomy_term_field_data' => array(
         'field' => 'id',
         'left_field' => 'tid',
         'extra' => array(array('field' => 'type', 'value' => 'taxonomy_term')),
@@ -126,12 +126,12 @@ public function getViewsData() {
       'help' => t('Content that is associated with this file, usually because this file is in a field on the content.'),
       // Only provide this field/relationship/etc.,
       // when the 'file_managed' base table is present.
-      'skip base' => array('node', 'node_field_revision', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'),
+      'skip base' => array('node_field_data', 'node_field_revision', 'users_field_data', 'comment_field_data', 'taxonomy_term_field_data', 'taxonomy_vocabulary'),
       'real field' => 'id',
       'relationship' => array(
         'title' => t('Content'),
         'label' => t('Content'),
-        'base' => 'node',
+        'base' => 'node_field_data',
         'base field' => 'nid',
         'relationship field' => 'id',
         'extra' => array(array('table' => 'file_usage', 'field' => 'type', 'operator' => '=', 'value' => 'node')),
@@ -142,7 +142,7 @@ public function getViewsData() {
       'help' => t('A file that is associated with this node, usually because it is in a field on the node.'),
       // Only provide this field/relationship/etc.,
       // when the 'node' base table is present.
-      'skip base' => array('file_managed', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'),
+      'skip base' => array('file_managed', 'users_field_data', 'comment_field_data', 'taxonomy_term_field_data', 'taxonomy_vocabulary'),
       'real field' => 'fid',
       'relationship' => array(
         'title' => t('File'),
@@ -159,7 +159,7 @@ public function getViewsData() {
       'help' => t('A user that is associated with this file, usually because this file is in a field on the user.'),
       // Only provide this field/relationship/etc.,
       // when the 'file_managed' base table is present.
-      'skip base' => array('node', 'node_field_revision', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'),
+      'skip base' => array('node_field_data', 'node_field_revision', 'users_field_data', 'comment_field_data', 'taxonomy_term_field_data', 'taxonomy_vocabulary'),
       'real field' => 'id',
       'relationship' => array(
         'title' => t('User'),
@@ -175,7 +175,7 @@ public function getViewsData() {
       'help' => t('A file that is associated with this user, usually because it is in a field on the user.'),
       // Only provide this field/relationship/etc.,
       // when the 'users' base table is present.
-      'skip base' => array('file_managed', 'node', 'node_field_revision', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'),
+      'skip base' => array('file_managed', 'node_field_data', 'node_field_revision', 'comment_field_data', 'taxonomy_term_field_data', 'taxonomy_vocabulary'),
       'real field' => 'fid',
       'relationship' => array(
         'title' => t('File'),
@@ -192,12 +192,12 @@ public function getViewsData() {
       'help' => t('A comment that is associated with this file, usually because this file is in a field on the comment.'),
       // Only provide this field/relationship/etc.,
       // when the 'file_managed' base table is present.
-      'skip base' => array('node', 'node_field_revision', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'),
+      'skip base' => array('node_field_data', 'node_field_revision', 'users_field_data', 'comment_field_data', 'taxonomy_term_field_data', 'taxonomy_vocabulary'),
       'real field' => 'id',
       'relationship' => array(
         'title' => t('Comment'),
         'label' => t('Comment'),
-        'base' => 'comment',
+        'base' => 'comment_field_data',
         'base field' => 'cid',
         'relationship field' => 'id',
         'extra' => array(array('table' => 'file_usage', 'field' => 'type', 'operator' => '=', 'value' => 'comment')),
@@ -208,7 +208,7 @@ public function getViewsData() {
       'help' => t('A file that is associated with this comment, usually because it is in a field on the comment.'),
       // Only provide this field/relationship/etc.,
       // when the 'comment' base table is present.
-      'skip base' => array('file_managed', 'node', 'node_field_revision', 'users', 'taxonomy_term_data', 'taxonomy_vocabulary'),
+      'skip base' => array('file_managed', 'node_field_data', 'node_field_revision', 'users_field_data', 'taxonomy_term_field_data', 'taxonomy_vocabulary'),
       'real field' => 'fid',
       'relationship' => array(
         'title' => t('File'),
@@ -225,7 +225,7 @@ public function getViewsData() {
       'help' => t('A taxonomy term that is associated with this file, usually because this file is in a field on the taxonomy term.'),
       // Only provide this field/relationship/etc.,
       // when the 'file_managed' base table is present.
-      'skip base' => array('node', 'node_field_revision', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'),
+      'skip base' => array('node_field_data', 'node_field_revision', 'users_field_data', 'comment_field_data', 'taxonomy_term_field_data', 'taxonomy_vocabulary'),
       'real field' => 'id',
       'relationship' => array(
         'title' => t('Taxonomy Term'),
@@ -241,40 +241,7 @@ public function getViewsData() {
       'help' => t('A file that is associated with this taxonomy term, usually because it is in a field on the taxonomy term.'),
       // Only provide this field/relationship/etc.,
       // when the 'taxonomy_term_data' base table is present.
-      'skip base' => array('file_managed', 'node', 'node_field_revision', 'users', 'comment', 'taxonomy_vocabulary'),
-      'real field' => 'fid',
-      'relationship' => array(
-        'title' => t('File'),
-        'label' => t('File'),
-        'base' => 'file_managed',
-        'base field' => 'fid',
-        'relationship field' => 'fid',
-      ),
-    );
-
-    // Describes relationships between files and taxonomy_vocabulary items.
-    $data['file_usage']['file_to_taxonomy_vocabulary'] = array(
-      'title' => t('Taxonomy Vocabulary'),
-      'help' => t('A taxonomy vocabulary that is associated with this file, usually because this file is in a field on the taxonomy vocabulary.'),
-      // Only provide this field/relationship/etc.,
-      // when the 'file_managed' base table is present.
-      'skip base' => array('node', 'node_field_revision', 'users', 'comment', 'taxonomy_term_data', 'taxonomy_vocabulary'),
-      'real field' => 'id',
-      'relationship' => array(
-        'title' => t('Taxonomy Vocabulary'),
-        'label' => t('Taxonomy Vocabulary'),
-        'base' => 'taxonomy_vocabulary',
-        'base field' => 'vid',
-        'relationship field' => 'id',
-        'extra' => array(array('table' => 'file_usage', 'field' => 'type', 'operator' => '=', 'value' => 'taxonomy_vocabulary')),
-      ),
-    );
-    $data['file_usage']['taxonomy_vocabulary_to_file'] = array(
-      'title' => t('File'),
-      'help' => t('A file that is associated with this taxonomy vocabulary, usually because it is in a field on the taxonomy vocabulary.'),
-      // Only provide this field/relationship/etc.,
-      // when the 'taxonomy_vocabulary' base table is present.
-      'skip base' => array('file_managed', 'node', 'node_field_revision', 'users', 'comment', 'taxonomy_term_data'),
+      'skip base' => array('file_managed', 'node_field_data', 'node_field_revision', 'users_field_data', 'comment_field_data', 'taxonomy_vocabulary'),
       'real field' => 'fid',
       'relationship' => array(
         'title' => t('File'),
diff --git a/core/modules/file/tests/modules/file_test_views/test_views/views.view.test_file_user_file_data.yml b/core/modules/file/tests/modules/file_test_views/test_views/views.view.test_file_user_file_data.yml
index 9387275..07f3e22 100644
--- a/core/modules/file/tests/modules/file_test_views/test_views/views.view.test_file_user_file_data.yml
+++ b/core/modules/file/tests/modules/file_test_views/test_views/views.view.test_file_user_file_data.yml
@@ -9,7 +9,7 @@ label: test_file_user_file_data
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
diff --git a/core/modules/history/history.views.inc b/core/modules/history/history.views.inc
index 50e12aa..4b98136 100644
--- a/core/modules/history/history.views.inc
+++ b/core/modules/history/history.views.inc
@@ -19,7 +19,7 @@ function history_views_data() {
   // Explain how this table joins to others.
   $data['history']['table']['join'] = array(
      // Directly links to node table.
-    'node' => array(
+    'node_field_data' => array(
       'table' => 'history',
       'left_field' => 'nid',
       'field' => 'nid',
diff --git a/core/modules/image/tests/modules/image_test_views/test_views/views.view.test_image_user_image_data.yml b/core/modules/image/tests/modules/image_test_views/test_views/views.view.test_image_user_image_data.yml
index 62a82bd..5a504cb 100644
--- a/core/modules/image/tests/modules/image_test_views/test_views/views.view.test_image_user_image_data.yml
+++ b/core/modules/image/tests/modules/image_test_views/test_views/views.view.test_image_user_image_data.yml
@@ -9,7 +9,7 @@ label: test_image_user_image_data
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
diff --git a/core/modules/node/config/install/views.view.archive.yml b/core/modules/node/config/install/views.view.archive.yml
index 0e37d99..209346d 100644
--- a/core/modules/node/config/install/views.view.archive.yml
+++ b/core/modules/node/config/install/views.view.archive.yml
@@ -8,7 +8,7 @@ label: Archive
 module: node
 description: 'All content, by month.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/node/config/install/views.view.content.yml b/core/modules/node/config/install/views.view.content.yml
index bb1e2c0..794bdf7 100644
--- a/core/modules/node/config/install/views.view.content.yml
+++ b/core/modules/node/config/install/views.view.content.yml
@@ -9,7 +9,7 @@ label: Content
 module: node
 description: 'Find and manage content.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/node/config/install/views.view.content_recent.yml b/core/modules/node/config/install/views.view.content_recent.yml
index bc12a13..0fb273d 100644
--- a/core/modules/node/config/install/views.view.content_recent.yml
+++ b/core/modules/node/config/install/views.view.content_recent.yml
@@ -9,7 +9,7 @@ label: 'Recent content'
 module: node
 description: 'Recent content.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/node/config/install/views.view.frontpage.yml b/core/modules/node/config/install/views.view.frontpage.yml
index d9dc888..2d9f093 100644
--- a/core/modules/node/config/install/views.view.frontpage.yml
+++ b/core/modules/node/config/install/views.view.frontpage.yml
@@ -9,7 +9,7 @@ label: Frontpage
 module: node
 description: 'All content promoted to the front page.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/node/config/install/views.view.glossary.yml b/core/modules/node/config/install/views.view.glossary.yml
index 7060764..da43946 100644
--- a/core/modules/node/config/install/views.view.glossary.yml
+++ b/core/modules/node/config/install/views.view.glossary.yml
@@ -9,7 +9,7 @@ label: Glossary
 module: node
 description: 'All content, by letter.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/node/src/NodeViewsData.php b/core/modules/node/src/NodeViewsData.php
index f7a5dee..57654b2 100644
--- a/core/modules/node/src/NodeViewsData.php
+++ b/core/modules/node/src/NodeViewsData.php
@@ -20,12 +20,12 @@ class NodeViewsData extends EntityViewsData {
   public function getViewsData() {
     $data = parent::getViewsData();
 
-    $data['node']['table']['base']['weight'] = -10;
-    $data['node']['table']['base']['access query tag'] = 'node_access';
-    $data['node']['table']['wizard_id'] = 'node';
+    $data['node_field_data']['table']['base']['weight'] = -10;
+    $data['node_field_data']['table']['base']['access query tag'] = 'node_access';
+    $data['node_field_data']['table']['wizard_id'] = 'node';
 
-    $data['node']['nid']['field']['id'] = 'node';
-    $data['node']['nid']['field']['argument'] = [
+    $data['node_field_data']['nid']['field']['id'] = 'node';
+    $data['node_field_data']['nid']['field']['argument'] = [
       'id' => 'node_nid',
       'name field' => 'title',
       'numeric' => TRUE,
@@ -255,41 +255,41 @@ public function getViewsData() {
     $data['node_field_data']['uid_revision']['filter']['id'] = 'node_uid_revision';
     $data['node_field_data']['uid_revision']['argument']['id'] = 'node_uid_revision';
 
-    $data['node_revision']['table']['wizard_id'] = 'node_revision';
+    $data['node_field_revision']['table']['wizard_id'] = 'node_revision';
 
     // Advertise this table as a possible base table.
-    $data['node_revision']['table']['base']['help'] = t('Content revision is a history of changes to content.');
-    $data['node_revision']['table']['base']['defaults']['title'] = 'title';
+    $data['node_field_revision']['table']['base']['help'] = t('Content revision is a history of changes to content.');
+    $data['node_field_revision']['table']['base']['defaults']['title'] = 'title';
 
-    $data['node_revision']['nid']['argument'] = [
+    $data['node_field_revision']['nid']['argument'] = [
       'id' => 'node_nid',
       'numeric' => TRUE,
     ];
     // @todo the NID field needs different behaviour on revision/non-revision
     //   tables. It would be neat if this could be encoded in the base field
     //   definition.
-    $data['node_revision']['nid']['relationship']['id'] = 'standard';
-    $data['node_revision']['nid']['relationship']['base'] = 'node';
-    $data['node_revision']['nid']['relationship']['base field'] = 'nid';
-    $data['node_revision']['nid']['relationship']['title'] = t('Content');
-    $data['node_revision']['nid']['relationship']['label'] = t('Get the actual content from a content revision.');
+    $data['node_field_revision']['nid']['relationship']['id'] = 'standard';
+    $data['node_field_revision']['nid']['relationship']['base'] = 'node_field_data';
+    $data['node_field_revision']['nid']['relationship']['base field'] = 'nid';
+    $data['node_field_revision']['nid']['relationship']['title'] = t('Content');
+    $data['node_field_revision']['nid']['relationship']['label'] = t('Get the actual content from a content revision.');
 
-    $data['node_revision']['vid'] = array(
+    $data['node_field_revision']['vid'] = array(
       'argument' => array(
         'id' => 'node_vid',
         'numeric' => TRUE,
       ),
       'relationship' => array(
         'id' => 'standard',
-        'base' => 'node',
+        'base' => 'node_field_data',
         'base field' => 'vid',
         'title' => t('Content'),
         'label' => t('Get the actual content from a content revision.'),
       ),
     ) + $data['node_revision']['vid'];
 
-    $data['node_revision']['langcode']['help'] = t('The language the original content is in.');
-    $data['node_revision']['langcode']['field']['id'] = 'node_language';
+    $data['node_field_revision']['langcode']['help'] = t('The language the original content is in.');
+    $data['node_field_revision']['langcode']['field']['id'] = 'node_language';
 
     $data['node_revision']['revision_log']['field']['id'] = 'xss';
 
@@ -298,8 +298,8 @@ public function getViewsData() {
 
     $data['node_field_revision']['table']['wizard_id'] = 'node_field_revision';
 
-    $data['node_field_revision']['table']['join']['node']['left_field'] = 'vid';
-    $data['node_field_revision']['table']['join']['node']['field'] = 'vid';
+    $data['node_field_revision']['table']['join']['node_field_data']['left_field'] = 'vid';
+    $data['node_field_revision']['table']['join']['node_field_data']['field'] = 'vid';
 
     $data['node_field_revision']['status']['field']['output formats'] = [
       'published-notpublished' => [t('Published'), t('Not published')],
@@ -346,7 +346,7 @@ public function getViewsData() {
 
     // For other base tables, explain how we join.
     $data['node_access']['table']['join'] = array(
-      'node' => array(
+      'node_field_data' => array(
         'left_field' => 'nid',
         'field' => 'nid',
       ),
@@ -379,11 +379,10 @@ public function getViewsData() {
         // Use a Views table alias to allow other modules to use this table too,
         // if they use the search index.
         $data['node_search_index']['table']['join'] = array(
-          'node' => array(
+          'node_field_data' => array(
             'left_field' => 'nid',
             'field' => 'sid',
             'table' => 'search_index',
-            'left_table' => 'node_field_data',
             'extra' => "node_search_index.type = 'node_search' AND node_search_index.langcode = node_field_data.langcode",
           )
         );
diff --git a/core/modules/node/src/Plugin/views/field/Node.php b/core/modules/node/src/Plugin/views/field/Node.php
index d5ee4cc..43077e2 100644
--- a/core/modules/node/src/Plugin/views/field/Node.php
+++ b/core/modules/node/src/Plugin/views/field/Node.php
@@ -33,7 +33,7 @@ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$o
 
     // Don't add the additional fields to groupby
     if (!empty($this->options['link_to_node'])) {
-      $this->additional_fields['nid'] = array('table' => 'node', 'field' => 'nid');
+      $this->additional_fields['nid'] = array('table' => 'node_field_data', 'field' => 'nid');
     }
   }
 
diff --git a/core/modules/node/src/Plugin/views/field/RevisionLink.php b/core/modules/node/src/Plugin/views/field/RevisionLink.php
index 569532f..b510e50 100644
--- a/core/modules/node/src/Plugin/views/field/RevisionLink.php
+++ b/core/modules/node/src/Plugin/views/field/RevisionLink.php
@@ -29,7 +29,7 @@ class RevisionLink extends Link {
   public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
     parent::init($view, $display, $options);
 
-    $this->additional_fields['node_vid'] = array('table' => 'node_revision', 'field' => 'vid');
+    $this->additional_fields['node_vid'] = array('table' => 'node_field_revision', 'field' => 'vid');
   }
 
   /**
diff --git a/core/modules/node/src/Plugin/views/row/Rss.php b/core/modules/node/src/Plugin/views/row/Rss.php
index 0b1acac..55d62a5 100644
--- a/core/modules/node/src/Plugin/views/row/Rss.php
+++ b/core/modules/node/src/Plugin/views/row/Rss.php
@@ -24,14 +24,14 @@
  *   help = @Translation("Display the content with standard node view."),
  *   theme = "views_view_row_rss",
  *   register_theme = FALSE,
- *   base = {"node"},
+ *   base = {"node_field_data"},
  *   display_types = {"feed"}
  * )
  */
 class Rss extends RssPluginBase {
 
   // Basic properties that let the row style follow relationships.
-  var $base_table = 'node';
+  var $base_table = 'node_field_data';
 
   var $base_field = 'nid';
 
diff --git a/core/modules/node/src/Plugin/views/wizard/Node.php b/core/modules/node/src/Plugin/views/wizard/Node.php
index 288e7aa..829f852 100644
--- a/core/modules/node/src/Plugin/views/wizard/Node.php
+++ b/core/modules/node/src/Plugin/views/wizard/Node.php
@@ -20,7 +20,7 @@
  *
  * @ViewsWizard(
  *   id = "node",
- *   base_table = "node",
+ *   base_table = "node_field_data",
  *   title = @Translation("Content")
  * )
  */
diff --git a/core/modules/node/src/Plugin/views/wizard/NodeRevision.php b/core/modules/node/src/Plugin/views/wizard/NodeRevision.php
index ade28e9..4a86948 100644
--- a/core/modules/node/src/Plugin/views/wizard/NodeRevision.php
+++ b/core/modules/node/src/Plugin/views/wizard/NodeRevision.php
@@ -18,7 +18,7 @@
  *
  * @ViewsWizard(
  *   id = "node_revision",
- *   base_table = "node_revision",
+ *   base_table = "node_field_revision",
  *   title = @Translation("Content revisions")
  * )
  */
diff --git a/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php b/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php
index 800b52f..7e1209b 100644
--- a/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php
+++ b/core/modules/node/src/Tests/Views/NodeRevisionWizardTest.php
@@ -54,13 +54,13 @@ public function testViewAdd() {
     /** @var \Drupal\views\Entity\View $view */
     $view = $view_storage_controller->load($view['id']);
 
-    $this->assertEqual($view->get('base_table'), 'node_revision');
+    $this->assertEqual($view->get('base_table'), 'node_field_revision');
 
     $executable = Views::executableFactory()->get($view);
     $this->executeView($executable);
 
     $this->assertIdenticalResultset($executable, array(array('vid' => 1), array('vid' => 3), array('vid' => 2), array('vid' => 4)),
-      array('node_field_revision_vid' => 'vid'));
+      array('vid' => 'vid'));
   }
 
 }
diff --git a/core/modules/node/src/Tests/Views/RevisionRelationshipsTest.php b/core/modules/node/src/Tests/Views/RevisionRelationshipsTest.php
index 1f862e9..e422d6e 100644
--- a/core/modules/node/src/Tests/Views/RevisionRelationshipsTest.php
+++ b/core/modules/node/src/Tests/Views/RevisionRelationshipsTest.php
@@ -48,8 +48,8 @@ public function testNodeRevisionRelationship() {
     $node_revision->save();
     $column_map = array(
       'vid' => 'vid',
-      'node_revision_nid' => 'node_revision_nid',
-      'node_node_revision_nid' => 'node_node_revision_nid',
+      'node_field_revision_nid' => 'node_revision_nid',
+      'node_field_data_node_field_revision_nid' => 'node_node_revision_nid',
     );
 
     // Here should be two rows.
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_contextual_links.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_contextual_links.yml
index f57640c..b25fafc 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_contextual_links.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_contextual_links.yml
@@ -9,7 +9,7 @@ label: 'Contextual links'
 module: node
 description: ''
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
@@ -82,7 +82,7 @@ display:
           field: nid
           id: nid
           relationship: none
-          table: node
+          table: node_field_data
           plugin_id: numeric
           entity_type: node
           entity_field: nid
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_filters.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_filters.yml
index 85465de..564867e 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_filters.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_filters.yml
@@ -9,7 +9,7 @@ label: 'Test field filters'
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_type.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_type.yml
index f7e1e82..d779464 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_type.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_field_type.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_filter_node_uid_revision.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_filter_node_uid_revision.yml
index f34d663..8e7264b 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_filter_node_uid_revision.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_filter_node_uid_revision.yml
@@ -9,7 +9,7 @@ label: test_filter_node_uid_revision
 module: views
 description: ''
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.0-dev
 display:
@@ -24,7 +24,7 @@ display:
       fields:
         nid:
           id: nid
-          table: node
+          table: node_field_data
           field: nid
           plugin_id: node
           entity_type: node
@@ -50,7 +50,7 @@ display:
       sorts:
         nid:
           id: nid
-          table: node
+          table: node_field_data
           field: nid
           order: ASC
           plugin_id: standard
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_language.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_language.yml
index c9ec769..581680f 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_language.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_language.yml
@@ -9,7 +9,7 @@ label: 'Test language'
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_bulk_form.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_bulk_form.yml
index 094f9ec..2e41114 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_bulk_form.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_bulk_form.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_nid.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_nid.yml
index 4c4c5fa..8c2c0bf 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_nid.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_nid.yml
@@ -8,7 +8,7 @@ label: null
 module: views
 description: ''
 tag: ''
-base_table: node_revision
+base_table: node_field_revision
 base_field: nid
 core: '8'
 display:
@@ -17,28 +17,28 @@ display:
       relationships:
         nid:
           id: nid
-          table: node_revision
+          table: node_field_revision
           field: nid
           required: true
           plugin_id: standard
       fields:
         vid:
           id: vid
-          table: node_revision
+          table: node_field_revision
           field: vid
           plugin_id: standard
           entity_type: node
           entity_field: vid
         nid_1:
           id: nid_1
-          table: node_revision
+          table: node_field_revision
           field: nid
           plugin_id: standard
           entity_type: node
           entity_field: nid
         nid:
           id: nid
-          table: node
+          table: node_field_data
           field: nid
           relationship: nid
           plugin_id: node
@@ -47,7 +47,7 @@ display:
       arguments:
         nid:
           id: nid
-          table: node_revision
+          table: node_field_revision
           field: nid
           plugin_id: node_nid
           entity_type: node
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_vid.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_vid.yml
index dea39a7..74bdb5c 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_vid.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_revision_vid.yml
@@ -8,7 +8,7 @@ label: null
 module: views
 description: ''
 tag: ''
-base_table: node_revision
+base_table: node_field_revision
 base_field: nid
 core: '8'
 display:
@@ -17,28 +17,28 @@ display:
       relationships:
         vid:
           id: vid
-          table: node_revision
+          table: node_field_revision
           field: vid
           required: true
           plugin_id: standard
       fields:
         vid:
           id: vid
-          table: node_revision
+          table: node_field_revision
           field: vid
           plugin_id: standard
           entity_type: node
           entity_field: vid
         nid_1:
           id: nid_1
-          table: node_revision
+          table: node_field_revision
           field: nid
           plugin_id: standard
           entity_type: node
           entity_field: nid
         nid:
           id: nid
-          table: node
+          table: node_field_data
           field: nid
           relationship: vid
           plugin_id: node
@@ -47,7 +47,7 @@ display:
       arguments:
         nid:
           id: nid
-          table: node_revision
+          table: node_field_revision
           field: nid
           plugin_id: node_nid
           entity_type: node
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_row_plugin.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_row_plugin.yml
index 3579def..7e76af9 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_row_plugin.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_row_plugin.yml
@@ -9,7 +9,7 @@ label: test_node_row_plugin
 module: views
 description: ''
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -28,7 +28,7 @@ display:
           field: status
           group: 1
           id: status
-          table: node
+          table: node_field_data
           value: true
           plugin_id: boolean
           entity_type: node
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_view.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_view.yml
index ac8e5df..3836f0c 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_view.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_node_view.yml
@@ -9,7 +9,7 @@ label: test_node_view
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
@@ -72,7 +72,7 @@ display:
       fields:
         nid:
           id: nid
-          table: node
+          table: node_field_data
           field: nid
           relationship: none
           group_type: group
diff --git a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_status_extra.yml b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_status_extra.yml
index 90029aa..c3e4cd6 100644
--- a/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_status_extra.yml
+++ b/core/modules/node/tests/modules/node_test_views/test_views/views.view.test_status_extra.yml
@@ -9,7 +9,7 @@ label: test_status_extra
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_numeric.yml b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_numeric.yml
index 8cbff7b..5763f70 100644
--- a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_numeric.yml
+++ b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_numeric.yml
@@ -11,7 +11,7 @@ label: 'test options list argument (numeric)'
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_string.yml b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_string.yml
index 00040da..7249f6d 100644
--- a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_string.yml
+++ b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_argument_string.yml
@@ -11,7 +11,7 @@ label: 'test options list argument (string)'
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_filter.yml b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_filter.yml
index 6028d96..ed6a530 100644
--- a/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_filter.yml
+++ b/core/modules/options/tests/options_test_views/test_views/views.view.test_options_list_filter.yml
@@ -11,7 +11,7 @@ label: test_options_list_filter
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/statistics/statistics.views.inc b/core/modules/statistics/statistics.views.inc
index fe9a9e6..c3fdaa1 100644
--- a/core/modules/statistics/statistics.views.inc
+++ b/core/modules/statistics/statistics.views.inc
@@ -12,7 +12,7 @@ function statistics_views_data() {
   $data['node_counter']['table']['group']  = t('Content statistics');
 
   $data['node_counter']['table']['join'] = array(
-    'node' => array(
+    'node_field_data' => array(
       'left_field' => 'nid',
       'field' => 'nid',
     ),
diff --git a/core/modules/statistics/tests/modules/statistics_test_views/test_views/views.view.test_statistics_integration.yml b/core/modules/statistics/tests/modules/statistics_test_views/test_views/views.view.test_statistics_integration.yml
index d455196..be29657 100644
--- a/core/modules/statistics/tests/modules/statistics_test_views/test_views/views.view.test_statistics_integration.yml
+++ b/core/modules/statistics/tests/modules/statistics_test_views/test_views/views.view.test_statistics_integration.yml
@@ -9,7 +9,7 @@ label: 'Test statistics integration'
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/taxonomy/config/install/views.view.taxonomy_term.yml b/core/modules/taxonomy/config/install/views.view.taxonomy_term.yml
index 3d74812..d7bbb87 100644
--- a/core/modules/taxonomy/config/install/views.view.taxonomy_term.yml
+++ b/core/modules/taxonomy/config/install/views.view.taxonomy_term.yml
@@ -9,7 +9,7 @@ label: 'Taxonomy term'
 module: taxonomy
 description: 'Content belonging to a certain taxonomy term.'
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php b/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php
index 81fd898..e8ad1e5 100644
--- a/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php
+++ b/core/modules/taxonomy/src/Plugin/views/field/TaxonomyIndexTid.php
@@ -72,7 +72,7 @@ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$o
       $this->additional_fields['nid'] = array('table' => 'node_field_revision', 'field' => 'nid');
     }
     else {
-      $this->additional_fields['nid'] = array('table' => 'node', 'field' => 'nid');
+      $this->additional_fields['nid'] = array('table' => 'node_field_data', 'field' => 'nid');
     }
   }
 
diff --git a/core/modules/taxonomy/src/Plugin/views/relationship/NodeTermData.php b/core/modules/taxonomy/src/Plugin/views/relationship/NodeTermData.php
index a49b4ec..a5e5650 100644
--- a/core/modules/taxonomy/src/Plugin/views/relationship/NodeTermData.php
+++ b/core/modules/taxonomy/src/Plugin/views/relationship/NodeTermData.php
@@ -117,7 +117,7 @@ public function query() {
     $this->ensureMyTable();
 
     $def = $this->definition;
-    $def['table'] = 'taxonomy_term_data';
+    $def['table'] = 'taxonomy_term_field_data';
 
     if (!array_filter($this->options['vids'])) {
       $taxonomy_index = $this->query->addTable('taxonomy_index', $this->relationship);
@@ -134,7 +134,7 @@ public function query() {
       $def['type'] = empty($this->options['required']) ? 'LEFT' : 'INNER';
       $def['adjusted'] = TRUE;
 
-      $query = db_select('taxonomy_term_data', 'td');
+      $query = db_select('taxonomy_term_field_data', 'td');
       $query->addJoin($def['type'], 'taxonomy_index', 'tn', 'tn.tid = td.tid');
       $query->condition('td.vid', array_filter($this->options['vids']), 'IN');
       $query->addTag('term_access');
@@ -148,7 +148,7 @@ public function query() {
     // use a short alias for this:
     $alias = $def['table'] . '_' . $this->table;
 
-    $this->alias = $this->query->addRelationship($alias, $join, 'taxonomy_term_data', $this->relationship);
+    $this->alias = $this->query->addRelationship($alias, $join, 'taxonomy_term_field_data', $this->relationship);
   }
 
   /**
diff --git a/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php b/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php
index 3e6ce9a..848ef1b 100644
--- a/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php
+++ b/core/modules/taxonomy/src/Plugin/views/wizard/TaxonomyTerm.php
@@ -14,7 +14,7 @@
  *
  * @ViewsWizard(
  *   id = "taxonomy_term",
- *   base_table = "taxonomy_term_data",
+ *   base_table = "taxonomy_term_field_data",
  *   title = @Translation("Taxonomy terms")
  * )
  */
diff --git a/core/modules/taxonomy/src/TermViewsData.php b/core/modules/taxonomy/src/TermViewsData.php
index 4b4e578..f65b499 100644
--- a/core/modules/taxonomy/src/TermViewsData.php
+++ b/core/modules/taxonomy/src/TermViewsData.php
@@ -20,11 +20,11 @@ class TermViewsData extends EntityViewsData {
   public function getViewsData() {
     $data = parent::getViewsData();
 
-    $data['taxonomy_term_data']['table']['base']['help'] = t('Taxonomy terms are attached to nodes.');
-    $data['taxonomy_term_data']['table']['base']['access query tag'] = 'term_access';
-    $data['taxonomy_term_data']['table']['wizard_id'] = 'taxonomy_term';
+    $data['taxonomy_term_field_data']['table']['base']['help'] = t('Taxonomy terms are attached to nodes.');
+    $data['taxonomy_term_field_data']['table']['base']['access query tag'] = 'term_access';
+    $data['taxonomy_term_field_data']['table']['wizard_id'] = 'taxonomy_term';
 
-    $data['taxonomy_term_data']['table']['join'] = array(
+    $data['taxonomy_term_field_data']['table']['join'] = array(
       // This is provided for the many_to_one argument.
       'taxonomy_index' => array(
         'field' => 'tid',
@@ -32,19 +32,19 @@ public function getViewsData() {
       ),
     );
 
-    $data['taxonomy_term_data']['tid']['help'] = t('The tid of a taxonomy term.');
+    $data['taxonomy_term_field_data']['tid']['help'] = t('The tid of a taxonomy term.');
 
-    $data['taxonomy_term_data']['tid']['argument']['id'] = 'taxonomy';
-    $data['taxonomy_term_data']['tid']['argument']['name field'] = 'name';
-    $data['taxonomy_term_data']['tid']['argument']['zero is null'] = TRUE;
+    $data['taxonomy_term_field_data']['tid']['argument']['id'] = 'taxonomy';
+    $data['taxonomy_term_field_data']['tid']['argument']['name field'] = 'name';
+    $data['taxonomy_term_field_data']['tid']['argument']['zero is null'] = TRUE;
 
-    $data['taxonomy_term_data']['tid']['filter']['id'] = 'taxonomy_index_tid';
-    $data['taxonomy_term_data']['tid']['filter']['title'] = t('Term');
-    $data['taxonomy_term_data']['tid']['filter']['help'] = t('Taxonomy term chosen from autocomplete or select widget.');
-    $data['taxonomy_term_data']['tid']['filter']['hierarchy table'] = 'taxonomy_term_hierarchy';
-    $data['taxonomy_term_data']['tid']['filter']['numeric'] = TRUE;
+    $data['taxonomy_term_field_data']['tid']['filter']['id'] = 'taxonomy_index_tid';
+    $data['taxonomy_term_field_data']['tid']['filter']['title'] = t('Term');
+    $data['taxonomy_term_field_data']['tid']['filter']['help'] = t('Taxonomy term chosen from autocomplete or select widget.');
+    $data['taxonomy_term_field_data']['tid']['filter']['hierarchy table'] = 'taxonomy_term_hierarchy';
+    $data['taxonomy_term_field_data']['tid']['filter']['numeric'] = TRUE;
 
-    $data['taxonomy_term_data']['tid_raw'] = array(
+    $data['taxonomy_term_field_data']['tid_raw'] = array(
       'title' => t('Term ID'),
       'help' => t('The tid of a taxonomy term.'),
       'real field' => 'tid',
@@ -54,7 +54,7 @@ public function getViewsData() {
       ),
     );
 
-    $data['taxonomy_term_data']['tid_representative'] = array(
+    $data['taxonomy_term_field_data']['tid_representative'] = array(
       'relationship' => array(
         'title' => t('Representative node'),
         'label'  => t('Representative node'),
@@ -64,16 +64,16 @@ public function getViewsData() {
         'outer field' => 'taxonomy_term_field_data.tid',
         'argument table' => 'taxonomy_term_field_data',
         'argument field' =>  'tid',
-        'base'   => 'node',
+        'base'   => 'node_field_data',
         'field'  => 'nid',
-        'relationship' => 'node:term_node_tid'
+        'relationship' => 'node_field_data:term_node_tid'
       ),
     );
 
-    $data['taxonomy_term_data']['vid']['help'] = t('Filter the results of "Taxonomy: Term" to a particular vocabulary.');
-    unset($data['taxonomy_term_data']['vid']['field']);
-    unset($data['taxonomy_term_data']['vid']['argument']);
-    unset($data['taxonomy_term_data']['vid']['sort']);
+    $data['taxonomy_term_field_data']['vid']['help'] = t('Filter the results of "Taxonomy: Term" to a particular vocabulary.');
+    unset($data['taxonomy_term_field_data']['vid']['field']);
+    unset($data['taxonomy_term_field_data']['vid']['argument']);
+    unset($data['taxonomy_term_field_data']['vid']['sort']);
 
     $data['taxonomy_term_data']['edit_term'] = array(
       'field' => array(
@@ -167,7 +167,7 @@ public function getViewsData() {
         'left_field' => 'tid',
         'field' => 'tid',
       ),
-      'node' => array(
+      'node_field_data' => array(
         // links directly to node via nid
         'left_field' => 'nid',
         'field' => 'nid',
@@ -202,14 +202,14 @@ public function getViewsData() {
         'name field' => 'name',
         'empty field name' => t('Uncategorized'),
         'numeric' => TRUE,
-        'skip base' => 'taxonomy_term_data',
+        'skip base' => 'taxonomy_term_field_data',
       ),
       'filter' => array(
         'title' => t('Has taxonomy term'),
         'id' => 'taxonomy_index_tid',
         'hierarchy table' => 'taxonomy_term_hierarchy',
         'numeric' => TRUE,
-        'skip base' => 'taxonomy_term_data',
+        'skip base' => 'taxonomy_term_field_data',
         'allow empty' => TRUE,
       ),
     );
diff --git a/core/modules/taxonomy/src/Tests/Views/RelationshipRepresentativeNodeTest.php b/core/modules/taxonomy/src/Tests/Views/RelationshipRepresentativeNodeTest.php
index 3f0df58..d5592f2 100644
--- a/core/modules/taxonomy/src/Tests/Views/RelationshipRepresentativeNodeTest.php
+++ b/core/modules/taxonomy/src/Tests/Views/RelationshipRepresentativeNodeTest.php
@@ -29,7 +29,7 @@ class RelationshipRepresentativeNodeTest extends TaxonomyTestBase {
   public function testRelationship() {
     $view = Views::getView('test_groupwise_term');
     $this->executeView($view);
-    $map = array('node_taxonomy_term_data_nid' => 'nid', 'tid' => 'tid');
+    $map = array('node_field_data_taxonomy_term_field_data_nid' => 'nid', 'tid' => 'tid');
     $expected_result = array(
       array(
         'nid' => $this->nodes[1]->id(),
diff --git a/core/modules/taxonomy/src/Tests/Views/TaxonomyTermViewTest.php b/core/modules/taxonomy/src/Tests/Views/TaxonomyTermViewTest.php
index 615ae43..7496a7a 100644
--- a/core/modules/taxonomy/src/Tests/Views/TaxonomyTermViewTest.php
+++ b/core/modules/taxonomy/src/Tests/Views/TaxonomyTermViewTest.php
@@ -149,7 +149,7 @@ public function testTaxonomyTermView() {
     $tables = $query->getTables();
 
     // Ensure that the join to node_field_data is not added by default.
-    $this->assertEqual(['node', 'taxonomy_index'], array_keys($tables));
+    $this->assertEqual(['node_field_data', 'taxonomy_index'], array_keys($tables));
     // Ensure that the filter to the language column is not there by default.
     $condition = $query->conditions();
     // We only want to check the no. of conditions in the query.
diff --git a/core/modules/taxonomy/taxonomy.views.inc b/core/modules/taxonomy/taxonomy.views.inc
index fc7cc0b..3160ea1 100644
--- a/core/modules/taxonomy/taxonomy.views.inc
+++ b/core/modules/taxonomy/taxonomy.views.inc
@@ -11,13 +11,13 @@
  * Implements hook_views_data_alter().
  */
 function taxonomy_views_data_alter(&$data) {
-  $data['node']['term_node_tid'] = array(
+  $data['node_field_data']['term_node_tid'] = array(
     'title' => t('Taxonomy terms on node'),
     'help' => t('Relate nodes to taxonomy terms, specifying which vocabulary or vocabularies to use. This relationship will cause duplicated records if there are multiple terms.'),
     'relationship' => array(
       'id' => 'node_term_data',
       'label' => t('term'),
-      'base' => 'taxonomy_term_data',
+      'base' => 'taxonomy_term_field_data',
     ),
     'field' => array(
       'title' => t('All taxonomy terms'),
@@ -28,7 +28,7 @@ function taxonomy_views_data_alter(&$data) {
     ),
   );
 
-  $data['node']['term_node_tid_depth'] = array(
+  $data['node_field_data']['term_node_tid_depth'] = array(
     'help' => t('Display content if it has the selected taxonomy terms, or children of the selected terms. Due to additional complexity, this has fewer options than the versions without depth.'),
     'real field' => 'nid',
     'argument' => array(
@@ -42,7 +42,7 @@ function taxonomy_views_data_alter(&$data) {
     ),
   );
 
-  $data['node']['term_node_tid_depth_modifier'] = array(
+  $data['node_field_data']['term_node_tid_depth_modifier'] = array(
     'title' => t('Has taxonomy term ID depth modifier'),
     'help' => t('Allows the "depth" for Taxonomy: Term ID (with depth) to be modified via an additional contextual filter value.'),
     'argument' => array(
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.taxonomy_default_argument_test.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.taxonomy_default_argument_test.yml
index 3ebdcd3..5842b34 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.taxonomy_default_argument_test.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.taxonomy_default_argument_test.yml
@@ -9,7 +9,7 @@ label: taxonomy_default_argument_test
 module: views
 description: ''
 tag: ''
-base_table: taxonomy_term_data
+base_table: taxonomy_term_field_data
 base_field: tid
 core: 8.x
 display:
@@ -80,7 +80,7 @@ display:
       fields:
         name:
           id: name
-          table: taxonomy_term_data
+          table: taxonomy_term_field_data
           field: name
           label: ''
           alter:
@@ -122,7 +122,7 @@ display:
       arguments:
         tid:
           id: tid
-          table: taxonomy_term_data
+          table: taxonomy_term_field_data
           field: tid
           relationship: none
           group_type: group
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_field_filters.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_field_filters.yml
index 8787f42..ccde243 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_field_filters.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_field_filters.yml
@@ -9,7 +9,7 @@ label: 'Test field filters'
 module: views
 description: ''
 tag: ''
-base_table: taxonomy_term_data
+base_table: taxonomy_term_field_data
 base_field: tid
 core: 8.x
 display:
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_filter_taxonomy_index_tid.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_filter_taxonomy_index_tid.yml
index 674919b..7a9a7ee 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_filter_taxonomy_index_tid.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_filter_taxonomy_index_tid.yml
@@ -10,7 +10,7 @@ label: test_filter_taxonomy_index_tid
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml
index e2eee61..d1a732a 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_groupwise_term.yml
@@ -10,7 +10,7 @@ label: test_groupwise
 module: views
 description: ''
 tag: default
-base_table: taxonomy_term_data
+base_table: taxonomy_term_field_data
 base_field: tid
 core: 8.0-dev
 display:
@@ -34,7 +34,7 @@ display:
           field: nid
           id: nid
           relationship: tid_representative
-          table: node
+          table: node_field_data
           plugin_id: node
           entity_type: node
           entity_field: nid
@@ -57,7 +57,7 @@ display:
           subquery_regenerate: true
           subquery_sort: node.nid
           subquery_view: ''
-          table: taxonomy_term_data
+          table: taxonomy_term_field_data
           plugin_id: groupwise_max
       row:
         type: fields
@@ -66,7 +66,7 @@ display:
           field: tid
           id: tid
           order: DESC
-          table: taxonomy_term_data
+          table: taxonomy_term_field_data
           plugin_id: standard
           entity_type: taxonomy_term
           entity_field: tid
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_node_term_data.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_node_term_data.yml
index 5b482c1..848f83e 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_node_term_data.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_node_term_data.yml
@@ -10,7 +10,7 @@ label: test_taxonomy_node_term_data
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -29,7 +29,7 @@ display:
             number_of_records: 0
           summary_options:
             items_per_page: 25
-          table: taxonomy_term_data
+          table: taxonomy_term_field_data
           plugin_id: taxonomy
           entity_type: taxonomy_term
           entity_field: tid
@@ -43,7 +43,7 @@ display:
             number_of_records: 0
           summary_options:
             items_per_page: 25
-          table: taxonomy_term_data
+          table: taxonomy_term_field_data
           plugin_id: taxonomy
           entity_type: taxonomy_term
           entity_field: tid
@@ -60,14 +60,14 @@ display:
           field: term_node_tid
           id: term_node_tid
           admin_label: 'Term #1'
-          table: node
+          table: node_field_data
           vids: {}
           plugin_id: node_term_data
         term_node_tid_1:
           field: term_node_tid
           id: term_node_tid_1
           admin_label: 'Term #2'
-          table: node
+          table: node_field_data
           vids: {}
           plugin_id: node_term_data
       sorts:
@@ -75,7 +75,7 @@ display:
           field: nid
           id: nid
           order: DESC
-          table: node
+          table: node_field_data
           plugin_id: standard
           entity_type: node
           entity_field: nid
diff --git a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml
index a818f4e..1d7562a 100644
--- a/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml
+++ b/core/modules/taxonomy/tests/modules/taxonomy_test_views/test_views/views.view.test_taxonomy_tid_field.yml
@@ -9,7 +9,7 @@ label: test_taxonomy_tid_field
 module: views
 description: ''
 tag: ''
-base_table: taxonomy_term_data
+base_table: taxonomy_term_field_data
 base_field: tid
 core: 8.x
 display:
@@ -137,7 +137,7 @@ display:
       sorts:
         tid:
           id: tid
-          table: taxonomy_term_data
+          table: taxonomy_term_field_data
           field: tid
           relationship: none
           group_type: group
diff --git a/core/modules/tracker/tests/modules/tracker_test_views/test_views/views.view.test_tracker_user_uid.yml b/core/modules/tracker/tests/modules/tracker_test_views/test_views/views.view.test_tracker_user_uid.yml
index 2d00240..1b7940b 100644
--- a/core/modules/tracker/tests/modules/tracker_test_views/test_views/views.view.test_tracker_user_uid.yml
+++ b/core/modules/tracker/tests/modules/tracker_test_views/test_views/views.view.test_tracker_user_uid.yml
@@ -10,7 +10,7 @@ label: 'tracker test'
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
@@ -109,7 +109,7 @@ display:
       filters:
         uid_touch_tracker:
           id: uid_touch_tracker
-          table: node
+          table: node_field_data
           field: uid_touch_tracker
           relationship: none
           group_type: group
@@ -149,7 +149,7 @@ display:
       arguments:
         uid_touch_tracker:
           id: uid_touch_tracker
-          table: node
+          table: node_field_data
           field: uid_touch_tracker
           relationship: none
           group_type: group
diff --git a/core/modules/tracker/tracker.views.inc b/core/modules/tracker/tracker.views.inc
index 14c125e..b7e4b95 100644
--- a/core/modules/tracker/tracker.views.inc
+++ b/core/modules/tracker/tracker.views.inc
@@ -13,7 +13,7 @@ function tracker_views_data() {
 
   $data['tracker_node']['table']['group'] = t('Tracker');
   $data['tracker_node']['table']['join'] = array(
-    'node' => array(
+    'node_field_data' => array(
       'type' => 'INNER',
       'left_field' => 'nid',
       'field' => 'nid',
@@ -71,12 +71,12 @@ function tracker_views_data() {
 
   $data['tracker_user']['table']['group'] = t('Tracker - User');
   $data['tracker_user']['table']['join'] = array(
-    'node' => array(
+    'node_field_data' => array(
       'type' => 'INNER',
       'left_field' => 'nid',
       'field' => 'nid',
     ),
-    'user' => array(
+    'user_field_data' => array(
       'type' => 'INNER',
       'left_field' => 'uid',
       'field' => 'uid',
@@ -158,20 +158,20 @@ function tracker_views_data() {
  */
 function tracker_views_data_alter(&$data) {
   // Provide additional uid_touch handlers which are handled by tracker
-  $data['node']['uid_touch_tracker'] = array(
+  $data['node_field_data']['uid_touch_tracker'] = array(
     'group' => t('Tracker - User'),
     'title' => t('User posted or commented'),
     'help' => t('Display nodes only if a user posted the node or commented on the node.'),
     'argument' => array(
       'field' => 'uid',
-      'name table' => 'users',
+      'name table' => 'users_field_data',
       'name field' => 'name',
       'id' => 'tracker_user_uid',
       'no group by' => TRUE,
     ),
     'filter' => array(
       'field' => 'uid',
-      'name table' => 'users',
+      'name table' => 'users_field_data',
       'name field' => 'name',
       'id' => 'tracker_user_uid'
     ),
diff --git a/core/modules/user/config/install/views.view.user_admin_people.yml b/core/modules/user/config/install/views.view.user_admin_people.yml
index 3dbaf84..f2ea8c3 100644
--- a/core/modules/user/config/install/views.view.user_admin_people.yml
+++ b/core/modules/user/config/install/views.view.user_admin_people.yml
@@ -8,7 +8,7 @@ label: People
 module: user
 description: 'Find and manage people interacting with your site.'
 tag: default
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
@@ -733,7 +733,7 @@ display:
           entity_field: status
         uid_raw:
           id: uid_raw
-          table: users
+          table: users_field_data
           field: uid_raw
           relationship: none
           group_type: group
diff --git a/core/modules/user/config/install/views.view.who_s_new.yml b/core/modules/user/config/install/views.view.who_s_new.yml
index 9551a3c..0f10a8d 100644
--- a/core/modules/user/config/install/views.view.who_s_new.yml
+++ b/core/modules/user/config/install/views.view.who_s_new.yml
@@ -8,7 +8,7 @@ label: 'Who''s new'
 module: user
 description: 'Shows a list of the newest user accounts on the site.'
 tag: default
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
diff --git a/core/modules/user/config/install/views.view.who_s_online.yml b/core/modules/user/config/install/views.view.who_s_online.yml
index 34fbfc3..db54c5b 100644
--- a/core/modules/user/config/install/views.view.who_s_online.yml
+++ b/core/modules/user/config/install/views.view.who_s_online.yml
@@ -8,7 +8,7 @@ label: 'Who''s online block'
 module: user
 description: 'Shows the user names of the most recently active users, and the total number of active users.'
 tag: default
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
diff --git a/core/modules/user/src/Plugin/views/field/Permissions.php b/core/modules/user/src/Plugin/views/field/Permissions.php
index bec1689..9488c08 100644
--- a/core/modules/user/src/Plugin/views/field/Permissions.php
+++ b/core/modules/user/src/Plugin/views/field/Permissions.php
@@ -71,7 +71,7 @@ public static function create(ContainerInterface $container, array $configuratio
   public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
     parent::init($view, $display, $options);
 
-    $this->additional_fields['uid'] = array('table' => 'users', 'field' => 'uid');
+    $this->additional_fields['uid'] = array('table' => 'users_field_data', 'field' => 'uid');
   }
 
   public function query() {
diff --git a/core/modules/user/src/Plugin/views/field/Roles.php b/core/modules/user/src/Plugin/views/field/Roles.php
index 3f38496..4ba1309 100644
--- a/core/modules/user/src/Plugin/views/field/Roles.php
+++ b/core/modules/user/src/Plugin/views/field/Roles.php
@@ -61,7 +61,7 @@ public static function create(ContainerInterface $container, array $configuratio
   public function init(ViewExecutable $view, DisplayPluginBase $display, array &$options = NULL) {
     parent::init($view, $display, $options);
 
-    $this->additional_fields['uid'] = array('table' => 'users', 'field' => 'uid');
+    $this->additional_fields['uid'] = array('table' => 'users_field_data', 'field' => 'uid');
   }
 
   public function query() {
diff --git a/core/modules/user/src/Plugin/views/wizard/Users.php b/core/modules/user/src/Plugin/views/wizard/Users.php
index 1052476..aa6488e 100644
--- a/core/modules/user/src/Plugin/views/wizard/Users.php
+++ b/core/modules/user/src/Plugin/views/wizard/Users.php
@@ -18,7 +18,7 @@
  *
  * @ViewsWizard(
  *   id = "users",
- *   base_table = "users",
+ *   base_table = "users_field_data",
  *   title = @Translation("Users")
  * )
  */
diff --git a/core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php b/core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php
index 4a1ca4e..8312b11 100644
--- a/core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php
+++ b/core/modules/user/src/Tests/Views/HandlerFieldUserNameTest.php
@@ -35,18 +35,18 @@ public function testUserName() {
     $this->executeView($view);
 
     $username = $view->result[0]->users_field_data_name = $this->randomMachineName();
-    $view->result[0]->users_field_data_uid = 1;
+    $view->result[0]->uid = 1;
     $render = $view->field['name']->advancedRender($view->result[0]);
     $this->assertTrue(strpos($render, $username) !== FALSE, 'If link to user is checked the username should be part of the output.');
     $this->assertTrue(strpos($render, 'user/1') !== FALSE, 'If link to user is checked the link to the user should appear as well.');
 
     $view->field['name']->options['link_to_user'] = FALSE;
     $username = $view->result[0]->users_field_data_name = $this->randomMachineName();
-    $view->result[0]->users_field_data_uid = 1;
+    $view->result[0]->uid = 1;
     $render = $view->field['name']->advancedRender($view->result[0]);
     $this->assertIdentical($render, $username, 'If the user is not linked the username should be printed out for a normal user.');
 
-    $view->result[0]->users_field_data_uid = 0;
+    $view->result[0]->uid = 0;
     $anon_name = $this->config('user.settings')->get('anonymous');
     $view->result[0]->users_field_data_name = '';
     $render = $view->field['name']->advancedRender($view->result[0]);
@@ -56,7 +56,7 @@ public function testUserName() {
     $anon_name = $view->field['name']->options['anonymous_text'] = $this->randomMachineName();
     $render = $view->field['name']->advancedRender($view->result[0]);
     $this->assertIdentical($render, $anon_name , 'For user0 it should use the configured anonymous text if overwrite_anonymous is checked.');
-    $view->result[0]->users_field_data_uid = 1;
+    $view->result[0]->uid = 1;
     $render = $view->field['name']->advancedRender($view->result[0]);
     $this->assertNotIdentical($render, $anon_name , 'For registered user it should not use the configured anonymous text if overwrite_anonymous is checked.');
   }
diff --git a/core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php b/core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php
index 6e63885..0af2b6e 100644
--- a/core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php
+++ b/core/modules/user/src/Tests/Views/RelationshipRepresentativeNodeTest.php
@@ -29,7 +29,7 @@ class RelationshipRepresentativeNodeTest extends UserTestBase {
   public function testRelationship() {
     $view = Views::getView('test_groupwise_user');
     $this->executeView($view);
-    $map = array('node_users_nid' => 'nid', 'uid' => 'uid');
+    $map = array('node_field_data_users_field_data_nid' => 'nid', 'uid' => 'uid');
     $expected_result = array(
       array(
         'uid' => $this->users[1]->id(),
diff --git a/core/modules/user/src/UserViewsData.php b/core/modules/user/src/UserViewsData.php
index acf2100..b44345e 100644
--- a/core/modules/user/src/UserViewsData.php
+++ b/core/modules/user/src/UserViewsData.php
@@ -20,21 +20,21 @@ class UserViewsData extends EntityViewsData {
   public function getViewsData() {
     $data = parent::getViewsData();
 
-    $data['users']['table']['base']['help'] = t('Users who have created accounts on your site.');
-    $data['users']['table']['base']['access query tag'] = 'user_access';
+    $data['users_field_data']['table']['base']['help'] = t('Users who have created accounts on your site.');
+    $data['users_field_data']['table']['base']['access query tag'] = 'user_access';
 
-    $data['users']['table']['wizard_id'] = 'user';
+    $data['users_field_data']['table']['wizard_id'] = 'user';
 
-    $data['users']['uid']['field']['id'] = 'user';
-    $data['users']['uid']['argument']['id'] = 'user_uid';
-    $data['users']['uid']['argument'] += array(
+    $data['users_field_data']['uid']['field']['id'] = 'user';
+    $data['users_field_data']['uid']['argument']['id'] = 'user_uid';
+    $data['users_field_data']['uid']['argument'] += array(
       'name table' => 'users_field_data',
       'name field' => 'name',
       'empty field name' => \Drupal::config('user.settings')->get('anonymous'),
     );
-    $data['users']['uid']['filter']['id'] = 'user_name';
-    $data['users']['uid']['filter']['title'] = t('Name');
-    $data['users']['uid']['relationship'] = array(
+    $data['users_field_data']['uid']['filter']['id'] = 'user_name';
+    $data['users_field_data']['uid']['filter']['title'] = t('Name');
+    $data['users_field_data']['uid']['relationship'] = array(
       'title' => t('Content authored'),
       'help' => t('Relate content to the user who created it. This relationship will create one record for each content item created by the user.'),
       'id' => 'standard',
@@ -44,7 +44,7 @@ public function getViewsData() {
       'label' => t('nodes'),
     );
 
-    $data['users']['uid_raw'] = array(
+    $data['users_field_data']['uid_raw'] = array(
       'help' => t('The raw numeric user ID.'),
       'real field' => 'uid',
       'filter' => array(
@@ -53,17 +53,17 @@ public function getViewsData() {
       ),
     );
 
-    $data['users']['uid_representative'] = array(
+    $data['users_field_data']['uid_representative'] = array(
       'relationship' => array(
         'title' => t('Representative node'),
         'label'  => t('Representative node'),
         'help' => t('Obtains a single representative node for each user, according to a chosen sort criterion.'),
         'id' => 'groupwise_max',
         'relationship field' => 'uid',
-        'outer field' => 'users.uid',
-        'argument table' => 'users',
+        'outer field' => 'users_field_data.uid',
+        'argument table' => 'users_field_data',
         'argument field' => 'uid',
-        'base' => 'node',
+        'base' => 'node_field_data',
         'field' => 'nid',
         'relationship' => 'node_field_data:uid'
       ),
@@ -88,8 +88,8 @@ public function getViewsData() {
     $data['users_field_data']['mail']['help'] = t('Email address for a given user. This field is normally not shown to users, so be cautious when using it.');
     $data['users_field_data']['mail']['field']['id'] = 'user_mail';
 
-    $data['users']['langcode']['id'] = 'user_language';
-    $data['users']['langcode']['help'] = t('Original language of the user information');
+    $data['users_field_data']['langcode']['id'] = 'user_language';
+    $data['users_field_data']['langcode']['help'] = t('Original language of the user information');
     $data['users_field_data']['langcode']['help'] = t('Language of the translation of user information');
 
     $data['users_field_data']['preferred_langcode']['title'] = t('Preferred language');
@@ -288,7 +288,7 @@ public function getViewsData() {
     $data['user__roles']['table']['group']  = t('User');
 
     $data['user__roles']['table']['join'] = array(
-      'users' => array(
+      'users_field_data' => array(
         'left_field' => 'uid',
         'field' => 'entity_id',
       ),
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_access_perm.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_access_perm.yml
index 194d676..e66b30e 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_access_perm.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_access_perm.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_field_permission.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_field_permission.yml
index 4f7f6a3..a9090c0 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_field_permission.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_field_permission.yml
@@ -8,7 +8,7 @@ label: null
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
@@ -35,7 +35,7 @@ display:
       fields:
         uid:
           id: uid
-          table: users
+          table: users_field_data
           field: uid
           relationship: none
           group_type: group
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_filter_permission.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_filter_permission.yml
index a1daf8f..53c2355 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_filter_permission.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_filter_permission.yml
@@ -8,7 +8,7 @@ label: null
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
@@ -128,7 +128,7 @@ display:
       sorts:
         uid:
           id: uid
-          table: users
+          table: users_field_data
           field: uid
           relationship: none
           group_type: group
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_groupwise_user.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_groupwise_user.yml
index 4e90e9f..9b7c030 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_groupwise_user.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_groupwise_user.yml
@@ -9,7 +9,7 @@ label: test_groupwise_user
 module: views
 description: ''
 tag: default
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.0-dev
 display:
@@ -35,7 +35,7 @@ display:
           field: nid
           id: nid
           relationship: uid_representative
-          table: node
+          table: node_field_data
           plugin_id: node
           entity_type: node
           entity_field: nid
@@ -70,7 +70,7 @@ display:
           subquery_regenerate: true
           subquery_sort: node.nid
           subquery_view: ''
-          table: users
+          table: users_field_data
           plugin_id: groupwise_max
       row:
         type: fields
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_plugin_argument_default_current_user.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_plugin_argument_default_current_user.yml
index b9f33de..a67b1fb 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_plugin_argument_default_current_user.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_plugin_argument_default_current_user.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_bulk_form.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_bulk_form.yml
index 80ea23c..db53601 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_bulk_form.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_bulk_form.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
@@ -39,7 +39,7 @@ display:
       sorts:
         uid:
           id: uid
-          table: users
+          table: users_field_data
           field: uid
           order: ASC
           plugin_id: user
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_changed.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_changed.yml
index 60b55d4..9ad34a3 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_changed.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_changed.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: nid
 core: '8'
 display:
@@ -29,7 +29,7 @@ display:
       fields:
         name:
           id: uid
-          table: users
+          table: users_field_data
           field: uid
           entity_type: user
           entity_field: uid
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_data.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_data.yml
index d722152..eaf72e1 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_data.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_data.yml
@@ -8,7 +8,7 @@ label: test_user_data
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
@@ -112,7 +112,7 @@ display:
         uid:
           value:
             value: '2'
-          table: users
+          table: users_field_data
           field: uid
           id: uid
           expose:
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_name.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_name.yml
index 8674303..36a073e 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_name.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_name.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: nid
 core: '8'
 display:
@@ -29,14 +29,14 @@ display:
       fields:
         name:
           id: uid
-          table: users
+          table: users_field_data
           field: uid
           entity_type: user
           entity_field: uid
       filters:
         uid:
           id: uid
-          table: users
+          table: users_field_data
           field: uid
           exposed: true
           expose:
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_relationship.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_relationship.yml
index b7e6bc8..a2207e0 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_relationship.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_relationship.yml
@@ -9,7 +9,7 @@ label: test_user_relationship
 module: views
 description: ''
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -91,7 +91,7 @@ display:
           hide_empty: false
           id: uid
           link_to_user: true
-          table: users
+          table: users_field_data
           plugin_id: user
           entity_type: user
           entity_field: uid
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_uid_argument.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_uid_argument.yml
index cf824cc..5551280 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_uid_argument.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_user_uid_argument.yml
@@ -8,7 +8,7 @@ label: null
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: nid
 core: '8'
 display:
@@ -17,7 +17,7 @@ display:
       fields:
         uid:
           id: uid
-          table: users
+          table: users_field_data
           field: uid
           plugin_id: user
           entity_type: user
@@ -25,7 +25,7 @@ display:
       arguments:
         uid:
           id: uid
-          table: users
+          table: users_field_data
           field: uid
           title_enable: true
           title: '%1'
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_user.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_user.yml
index 496afc6..ed2922c 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_user.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_user.yml
@@ -6,7 +6,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_username.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_username.yml
index 3318782..a8f3718 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_username.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_view_argument_validate_username.yml
@@ -6,7 +6,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_views_handler_field_role.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_views_handler_field_role.yml
index 4833b1c..fa31be5 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_views_handler_field_role.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_views_handler_field_role.yml
@@ -8,7 +8,7 @@ label: test_views_handler_field_role
 module: views
 description: ''
 tag: ''
-base_table: users
+base_table: users_field_data
 base_field: uid
 core: 8.x
 display:
diff --git a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_views_handler_field_user_name.yml b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_views_handler_field_user_name.yml
index fe75705..4fd758c 100644
--- a/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_views_handler_field_user_name.yml
+++ b/core/modules/user/tests/modules/user_test_views/test_views/views.view.test_views_handler_field_user_name.yml
@@ -8,7 +8,7 @@ label: test_views_handler_field_user_name
 module: views
 description: ''
 tag: default
-base_table: users
+base_table: users_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/src/EntityViewsData.php b/core/modules/views/src/EntityViewsData.php
index 0efd164..1945cc3 100644
--- a/core/modules/views/src/EntityViewsData.php
+++ b/core/modules/views/src/EntityViewsData.php
@@ -129,20 +129,25 @@ public function getViewsData() {
     // Setup base information of the views data.
     $data[$base_table]['table']['group'] = $this->entityType->getLabel();
     $data[$base_table]['table']['provider'] = $this->entityType->getProvider();
-    $data[$base_table]['table']['base'] = [
+
+    $views_base_table = $base_table;
+    if ($data_table) {
+      $views_base_table = $data_table;
+    }
+    $data[$views_base_table]['table']['base'] = [
       'field' => $base_field,
       'title' => $this->entityType->getLabel(),
     ];
 
     if ($label_key = $this->entityType->getKey('label')) {
       if ($data_table) {
-        $data[$base_table]['table']['base']['defaults'] = array(
+        $data[$views_base_table]['table']['base']['defaults'] = array(
           'field' => $label_key,
           'table' => $data_table,
         );
       }
       else {
-        $data[$base_table]['table']['base']['defaults'] = array(
+        $data[$views_base_table]['table']['base']['defaults'] = array(
           'field' => $label_key,
         );
       }
@@ -158,7 +163,7 @@ public function getViewsData() {
 
     // Setup relations to the revisions/property data.
     if ($data_table) {
-      $data[$data_table]['table']['join'][$base_table] = [
+      $data[$base_table]['table']['join'][$data_table] = [
         'left_field' => $base_field,
         'field' => $base_field,
         'type' => 'INNER'
@@ -169,12 +174,17 @@ public function getViewsData() {
     if ($revision_table) {
       $data[$revision_table]['table']['group'] = $this->t('@entity_type revision', ['@entity_type' => $this->entityType->getLabel()]);
       $data[$revision_table]['table']['provider'] = $this->entityType->getProvider();
-      $data[$revision_table]['table']['base'] = array(
+
+      $views_revision_base_table = $revision_table;
+      if ($revision_data_table) {
+        $views_revision_base_table = $revision_data_table;
+      }
+      $data[$views_revision_base_table]['table']['base'] = array(
         'field' => $revision_field,
         'title' => $this->t('@entity_type revisions', array('@entity_type' => $this->entityType->getLabel())),
       );
       // Join the revision table to the base table.
-      $data[$revision_table]['table']['join'][$base_table] = array(
+      $data[$views_revision_base_table]['table']['join'][$views_base_table] = array(
         'left_field' => $revision_field,
         'field' => $revision_field,
         'type' => 'INNER',
@@ -481,11 +491,6 @@ protected function processViewsDataForTextLong($table, FieldDefinitionInterface
   /**
    * Gets the table of an entity type to be used as base table in views.
    *
-   * @todo Given that the base_table is pretty much useless as you often have to
-   *   join to the data table anyway, it could make a lot of sense to start with
-   *   the data table right from the beginning.
-   * @see https://drupal.org/node/2337509
-   *
    * @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
    *   The entity type.
    *
@@ -493,7 +498,7 @@ protected function processViewsDataForTextLong($table, FieldDefinitionInterface
    *   The name of the base table in views.
    */
   protected function getViewsTableForEntityType(EntityTypeInterface $entity_type) {
-    return $entity_type->getBaseTable();
+    return $entity_type->getDataTable() ?: $entity_type->getBaseTable();
   }
 
 }
diff --git a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
index 6c3a819..2216453 100644
--- a/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
+++ b/core/modules/views/src/Plugin/views/display/DisplayPluginBase.php
@@ -2569,10 +2569,12 @@ protected function buildRenderingLanguageOptions() {
   protected function isBaseTableTranslatable() {
     $view_base_table = $this->view->storage->get('base_table');
     foreach (\Drupal::entityManager()->getDefinitions() as $entity_type) {
-      if ($entity_type->isTranslatable() && $base_table = $entity_type->getBaseTable()) {
-        if ($base_table === $view_base_table) {
-          return TRUE;
-        }
+      if ($entity_type->isTranslatable()) {
+        $base_table = $entity_type->getBaseTable();
+        $data_table = $entity_type->getDataTable();
+        $revision_table = $entity_type->getRevisionTable();
+        $revision_data_table = $entity_type->getRevisionDataTable();
+        return in_array($view_base_table, [$base_table, $data_table, $revision_table, $revision_data_table]);
       }
     }
     return FALSE;
diff --git a/core/modules/views/src/Plugin/views/row/EntityRow.php b/core/modules/views/src/Plugin/views/row/EntityRow.php
index 071314f..a0df1e1 100644
--- a/core/modules/views/src/Plugin/views/row/EntityRow.php
+++ b/core/modules/views/src/Plugin/views/row/EntityRow.php
@@ -92,7 +92,7 @@ public function init(ViewExecutable $view, DisplayPluginBase $display, array &$o
 
     $this->entityTypeId = $this->definition['entity_type'];
     $this->entityType = $this->entityManager->getDefinition($this->entityTypeId);
-    $this->base_table = $this->entityType->getBaseTable();
+    $this->base_table = $this->entityType->getDataTable() ?: $this->entityType->getBaseTable();
     $this->base_field = $this->entityType->getKey('id');
   }
 
diff --git a/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php b/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
index cdf0723..fa80c98 100644
--- a/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
+++ b/core/modules/views/src/Plugin/views/wizard/WizardPluginBase.php
@@ -124,7 +124,7 @@ public function __construct(array $configuration, $plugin_id, $plugin_definition
 
     $entity_types = \Drupal::entityManager()->getDefinitions();
     foreach ($entity_types as $entity_type_id => $entity_type) {
-      if ($this->base_table == $entity_type->getBaseTable()) {
+      if ($this->base_table == $entity_type->getBaseTable() || $this->base_table == $entity_type->getDataTable()) {
         $this->entityType = $entity_type;
         $this->entityTypeId = $entity_type_id;
       }
diff --git a/core/modules/views/src/Tests/FieldApiDataTest.php b/core/modules/views/src/Tests/FieldApiDataTest.php
index 31c73ad..18eb0e89 100644
--- a/core/modules/views/src/Tests/FieldApiDataTest.php
+++ b/core/modules/views/src/Tests/FieldApiDataTest.php
@@ -61,12 +61,11 @@ function testViewsData() {
 
     $this->assertTrue(isset($data[$current_table]));
     $this->assertTrue(isset($data[$revision_table]));
-    // The node field should join against node.
-    $this->assertTrue(isset($data[$current_table]['table']['join']['node']));
-    $this->assertTrue(isset($data[$revision_table]['table']['join']['node_revision']));
+    // The node field should join against node_field_data.
+    $this->assertTrue(isset($data[$current_table]['table']['join']['node_field_data']));
+    $this->assertTrue(isset($data[$revision_table]['table']['join']['node_field_revision']));
 
     $expected_join = array(
-      'left_table' => 'node_field_data',
       'left_field' => 'nid',
       'field' => 'entity_id',
       'extra' => array(
@@ -74,9 +73,8 @@ function testViewsData() {
         array('left_field' => 'langcode', 'field' => 'langcode'),
       ),
     );
-    $this->assertEqual($expected_join, $data[$current_table]['table']['join']['node']);
+    $this->assertEqual($expected_join, $data[$current_table]['table']['join']['node_field_data']);
     $expected_join = array(
-      'left_table' => 'node_field_revision',
       'left_field' => 'vid',
       'field' => 'revision_id',
       'extra' => array(
@@ -84,7 +82,7 @@ function testViewsData() {
         array('left_field' => 'langcode', 'field' => 'langcode'),
       ),
     );
-    $this->assertEqual($expected_join, $data[$revision_table]['table']['join']['node_revision']);
+    $this->assertEqual($expected_join, $data[$revision_table]['table']['join']['node_field_revision']);
 
     // Test click sortable.
     $this->assertTrue($data[$current_table][$field_storage->getName()]['field']['click sortable'], 'String field is click sortable.');
diff --git a/core/modules/views/src/Tests/Handler/HandlerAliasTest.php b/core/modules/views/src/Tests/Handler/HandlerAliasTest.php
index 9f1b329..10f65b3 100644
--- a/core/modules/views/src/Tests/Handler/HandlerAliasTest.php
+++ b/core/modules/views/src/Tests/Handler/HandlerAliasTest.php
@@ -82,7 +82,7 @@ public function testPluginAliases() {
     $this->assertIdentical($filter->definition['real field'], 'uid');
 
     $this->assertIdentical($filter->field, 'uid_raw');
-    $this->assertIdentical($filter->table, 'users');
+    $this->assertIdentical($filter->table, 'users_field_data');
     $this->assertIdentical($filter->realField, 'uid');
   }
 
diff --git a/core/modules/views/src/Tests/Handler/HandlerAllTest.php b/core/modules/views/src/Tests/Handler/HandlerAllTest.php
index 7306c13..89339c9 100644
--- a/core/modules/views/src/Tests/Handler/HandlerAllTest.php
+++ b/core/modules/views/src/Tests/Handler/HandlerAllTest.php
@@ -63,8 +63,8 @@ public function testHandlers() {
       $view = $view->getExecutable();
 
       // @todo The groupwise relationship is currently broken.
-      $exclude[] = 'taxonomy_term_data:tid_representative';
-      $exclude[] = 'users:uid_representative';
+      $exclude[] = 'taxonomy_term_field_data:tid_representative';
+      $exclude[] = 'users_field_data:uid_representative';
 
       // Go through all fields and there through all handler types.
       foreach ($info as $field => $field_info) {
diff --git a/core/modules/views/src/Tests/Handler/HandlerTest.php b/core/modules/views/src/Tests/Handler/HandlerTest.php
index 1abb773..4904baf 100644
--- a/core/modules/views/src/Tests/Handler/HandlerTest.php
+++ b/core/modules/views/src/Tests/Handler/HandlerTest.php
@@ -272,7 +272,7 @@ public function testRelationshipUI() {
     $this->assertNoFieldByName($relationship_name, NULL, 'Make sure that no relationship option is available');
 
     // Create a view of comments with node relationship.
-    View::create(['base_table' => 'comment', 'id' => 'test_get_entity_type'])->save();
+    View::create(['base_table' => 'comment_field_data', 'id' => 'test_get_entity_type'])->save();
     $this->drupalPostForm('admin/structure/views/nojs/add-handler/test_get_entity_type/default/relationship', ['name[comment_field_data.node]' => 'comment_field_data.node'], t('Add and configure relationships'));
     $this->drupalPostForm(NULL, [], t('Apply'));
     // Add a content type filter.
diff --git a/core/modules/views/src/Tests/Handler/RelationshipTest.php b/core/modules/views/src/Tests/Handler/RelationshipTest.php
index d361a39..36f608b 100644
--- a/core/modules/views/src/Tests/Handler/RelationshipTest.php
+++ b/core/modules/views/src/Tests/Handler/RelationshipTest.php
@@ -33,7 +33,7 @@ class RelationshipTest extends RelationshipJoinTestBase {
    */
   protected $columnMap = array(
     'views_test_data_name' => 'name',
-    'users_views_test_data_uid' => 'uid',
+    'users_field_data_views_test_data_uid' => 'uid',
   );
 
   /**
@@ -58,7 +58,7 @@ public function testRelationshipQuery() {
     $view->displayHandlers->get('default')->overrideOption('filters', array(
       'uid' => array(
         'id' => 'uid',
-        'table' => 'users',
+        'table' => 'users_field_data',
         'field' => 'uid',
         'relationship' => 'uid',
       ),
@@ -68,7 +68,7 @@ public function testRelationshipQuery() {
     $view->displayHandlers->get('default')->overrideOption('fields', $fields + array(
       'uid' => array(
         'id' => 'uid',
-        'table' => 'users',
+        'table' => 'users_field_data',
         'field' => 'uid',
         'relationship' => 'uid',
       ),
diff --git a/core/modules/views/src/Tests/Plugin/JoinTest.php b/core/modules/views/src/Tests/Plugin/JoinTest.php
index 28dbc4c..e8fd85d 100644
--- a/core/modules/views/src/Tests/Plugin/JoinTest.php
+++ b/core/modules/views/src/Tests/Plugin/JoinTest.php
@@ -55,7 +55,7 @@ public function testExamplePlugin() {
     $configuration = array(
       'left_table' => 'views_test_data',
       'left_field' => 'uid',
-      'table' => 'users',
+      'table' => 'users_field_data',
       'field' => 'uid',
     );
     $join = $this->manager->createInstance('join_test', $configuration);
@@ -65,11 +65,11 @@ public function testExamplePlugin() {
     $join->setJoinValue($rand_int);
 
     $query = db_select('views_test_data');
-    $table = array('alias' => 'users');
+    $table = array('alias' => 'users_field_data');
     $join->buildJoin($query, $table, $view->query);
 
     $tables = $query->getTables();
-    $join_info = $tables['users'];
+    $join_info = $tables['users_field_data'];
     $this->assertTrue(strpos($join_info['condition'], "views_test_data.uid = $rand_int") !== FALSE, 'Make sure that the custom join plugin can extend the join base and alter the result.');
   }
 
@@ -88,7 +88,7 @@ public function testBasePlugin() {
     $configuration = array(
       'left_table' => 'views_test_data',
       'left_field' => 'uid',
-      'table' => 'users',
+      'table' => 'users_field_data',
       'field' => 'uid',
       'adjusted' => TRUE,
     );
@@ -100,15 +100,15 @@ public function testBasePlugin() {
     // Build the actual join values and read them back from the dbtng query
     // object.
     $query = db_select('views_test_data');
-    $table = array('alias' => 'users');
+    $table = array('alias' => 'users_field_data');
     $join->buildJoin($query, $table, $view->query);
 
     $tables = $query->getTables();
-    $join_info = $tables['users'];
+    $join_info = $tables['users_field_data'];
     $this->assertEqual($join_info['join type'], 'LEFT', 'Make sure the default join type is LEFT');
     $this->assertEqual($join_info['table'], $configuration['table']);
-    $this->assertEqual($join_info['alias'], 'users');
-    $this->assertEqual($join_info['condition'], 'views_test_data.uid = users.uid');
+    $this->assertEqual($join_info['alias'], 'users_field_data');
+    $this->assertEqual($join_info['condition'], 'views_test_data.uid = users_field_data.uid');
 
     // Set a different alias and make sure table info is as expected.
     $join = $this->manager->createInstance('standard', $configuration);
diff --git a/core/modules/views/src/Tests/Plugin/RelationshipJoinTestBase.php b/core/modules/views/src/Tests/Plugin/RelationshipJoinTestBase.php
index 83fb1cf..b85c235 100644
--- a/core/modules/views/src/Tests/Plugin/RelationshipJoinTestBase.php
+++ b/core/modules/views/src/Tests/Plugin/RelationshipJoinTestBase.php
@@ -49,7 +49,7 @@ protected function schemaDefinition() {
     $schema = parent::schemaDefinition();
 
     $schema['views_test_data']['fields']['uid'] = array(
-      'description' => "The {users}.uid of the author of the beatle entry.",
+      'description' => "The {users_field_data}.uid of the author of the beatle entry.",
       'type' => 'int',
       'unsigned' => TRUE,
       'not null' => TRUE,
@@ -71,7 +71,7 @@ protected function viewsData() {
       'help' => t('The test data UID'),
       'relationship' => array(
         'id' => 'standard',
-        'base' => 'users',
+        'base' => 'users_field_data',
         'base field' => 'uid'
       )
     );
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_access_none.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_access_none.yml
index 0c49729..292175c 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_access_none.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_access_none.yml
@@ -6,7 +6,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_alias.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_alias.yml
index dcf6e1d..9984358 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_alias.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_alias.yml
@@ -8,7 +8,7 @@ label: test_alias
 module: views
 description: ''
 tag: default
-base_table: users
+base_table: users_field_data
 base_field: nid
 core: 8.0-dev
 display:
@@ -78,7 +78,7 @@ display:
           is_grouped: false
           operator: '>'
           relationship: none
-          table: users
+          table: users_field_data
           value:
             max: ''
             min: ''
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_current_user.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_current_user.yml
index 8b7b5fb..2e774d1 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_current_user.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_current_user.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_fixed.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_fixed.yml
index 60f617d..4a32743 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_fixed.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_default_fixed.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_dependency.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_dependency.yml
index 9b8ac57..794dac8 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_dependency.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_argument_dependency.yml
@@ -17,7 +17,7 @@ label: test_argument_dependency
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_destroy.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_destroy.yml
index 5661a18..8eb8cbd 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_destroy.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_destroy.yml
@@ -10,7 +10,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -68,7 +68,7 @@ display:
         nid:
           field: nid
           id: nid
-          table: node
+          table: node_field_data
           plugin_id: node
           entity_type: node
           entity_field: nid
@@ -82,7 +82,7 @@ display:
         nid:
           field: nid
           id: nid
-          table: node
+          table: node_field_data
           plugin_id: numeric
           entity_type: node
           entity_field: nid
@@ -134,7 +134,7 @@ display:
         comment_cid:
           field: comment_cid
           id: comment_cid
-          table: node
+          table: node_field_data
           plugin_id: standard
         pid:
           field: pid
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_disabled_display.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_disabled_display.yml
index 352f0fb..711eefd 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_disabled_display.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_disabled_display.yml
@@ -11,7 +11,7 @@ label: test_disabled_display
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display.yml
index 4358c39..2208a66 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display.yml
@@ -9,7 +9,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display_feed.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display_feed.yml
index a88f655..e34e6d8 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display_feed.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display_feed.yml
@@ -9,7 +9,7 @@ label: test_display_feed
 module: views
 description: ''
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display_invalid.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display_invalid.yml
index 3d10813..ad2da89 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display_invalid.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_display_invalid.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -19,7 +19,7 @@ display:
       fields:
         id:
           id: nid
-          table: node
+          table: node_field_data
           field: nid
           plugin_id: numeric
           entity_type: node
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_dropbutton.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_dropbutton.yml
index 1b6ca39..16e8889 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_dropbutton.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_dropbutton.yml
@@ -9,7 +9,7 @@ label: test_dropbutton
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
@@ -38,7 +38,7 @@ display:
       fields:
         nid:
           id: nid
-          table: node
+          table: node_field_data
           field: nid
           plugin_id: node
           relationship: none
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_row.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_row.yml
index d0e1e7f..0c1a69b 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_row.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_row.yml
@@ -6,7 +6,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: taxonomy_term_data
+base_table: taxonomy_term_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_row_renderers.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_row_renderers.yml
index edf5b71..d9e80d7 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_row_renderers.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_row_renderers.yml
@@ -10,7 +10,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_type_filter.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_type_filter.yml
index 24b6430..ef2e0b3 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_type_filter.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_entity_type_filter.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -21,7 +21,7 @@ display:
       fields:
         nid:
           id: nid
-          table: node
+          table: node_field_data
           field: nid
           relationship: none
           entity_type: node
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_example_area.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_example_area.yml
index a8b6f8d..7f3acd9 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_example_area.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_example_area.yml
@@ -5,7 +5,7 @@ id: test_example_area
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_example_area_access.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_example_area_access.yml
index d92e672..5aab81c 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_example_area_access.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_example_area_access.yml
@@ -5,7 +5,7 @@ id: test_example_area_access
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_admin_ui.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_admin_ui.yml
index 280c930..a8d0c7a 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_admin_ui.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_admin_ui.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_block.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_block.yml
index 35050a1..1cc9f44 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_block.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_block.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_form_buttons.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_form_buttons.yml
index d3bc4c5..f0e110f 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_form_buttons.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_exposed_form_buttons.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_field_get_entity.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_field_get_entity.yml
index 55bf2a2..b228a1d 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_field_get_entity.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_field_get_entity.yml
@@ -10,7 +10,7 @@ label: test_field_get_entity
 module: views
 description: ''
 tag: default
-base_table: comment
+base_table: comment_field_data
 base_field: nid
 core: 8.0-dev
 display:
@@ -26,14 +26,14 @@ display:
         cid:
           field: cid
           id: cid
-          table: comment
+          table: comment_field_data
           plugin_id: comment
           entity_type: comment
           entity_field: cid
         nid:
           field: nid
           id: nid
-          table: node
+          table: node_field_data
           relationship: node
           plugin_id: node
           entity_type: node
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_date_between.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_date_between.yml
index 83521ca..f5f1c1e 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_date_between.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_date_between.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -24,7 +24,7 @@ display:
         nid:
           field: nid
           id: nid
-          table: node
+          table: node_field_data
           plugin_id: node
           entity_type: node
           entity_field: nid
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_group_override.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_group_override.yml
index 13e9e8f..1fb95ac 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_group_override.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_group_override.yml
@@ -9,7 +9,7 @@ label: test_filter_group_override
 module: views
 description: ''
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_groups.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_groups.yml
index 936b849..2e5fa8e 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_groups.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_groups.yml
@@ -9,7 +9,7 @@ label: test_filter_groups
 module: views
 description: ''
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -42,7 +42,7 @@ display:
           field: nid
           group: 2
           id: nid
-          table: node
+          table: node_field_data
           value:
             value: '1'
           plugin_id: numeric
@@ -52,7 +52,7 @@ display:
           field: nid
           group: 2
           id: nid_1
-          table: node
+          table: node_field_data
           value:
             value: '2'
           plugin_id: numeric
@@ -107,7 +107,7 @@ display:
           field: nid
           group: 2
           id: nid
-          table: node
+          table: node_field_data
           value:
             value: '1'
           plugin_id: numeric
@@ -117,7 +117,7 @@ display:
           field: nid
           group: 2
           id: nid_1
-          table: node
+          table: node_field_data
           value:
             value: '2'
           plugin_id: numeric
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_in_operator_ui.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_in_operator_ui.yml
index 0e97477..cf0d1b0 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_in_operator_ui.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_filter_in_operator_ui.yml
@@ -6,8 +6,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
-base_field: nid
+base_table: node_field_data
 core: '8'
 display:
   default:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_get_attach_displays.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_get_attach_displays.yml
index b07ee55..2465cd1 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_get_attach_displays.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_get_attach_displays.yml
@@ -9,7 +9,7 @@ label: test_get_attach_displays
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
@@ -61,7 +61,7 @@ display:
       filters:
         status:
           value: true
-          table: node
+          table: node_field_data
           field: status
           id: status
           plugin_id: boolean
@@ -73,7 +73,7 @@ display:
       sorts:
         created:
           id: created
-          table: node
+          table: node_field_data
           field: created
           order: DESC
           plugin_id: date
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_glossary.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_glossary.yml
index 716dbfb..7dde87c 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_glossary.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_glossary.yml
@@ -9,7 +9,7 @@ label: test_glossary
 module: views
 description: ''
 tag: default
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_group_rows.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_group_rows.yml
index a3c350c..71669eb 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_group_rows.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_group_rows.yml
@@ -9,7 +9,7 @@ label: test_group_rows
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_groupwise_term_ui.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_groupwise_term_ui.yml
index 43f5464..55747a7 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_groupwise_term_ui.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_groupwise_term_ui.yml
@@ -10,7 +10,7 @@ label: test_groupwise
 module: views
 description: ''
 tag: default
-base_table: taxonomy_term_data
+base_table: taxonomy_term_field_data
 base_field: tid
 core: 8.0-dev
 display:
@@ -34,7 +34,7 @@ display:
           field: nid
           id: nid
           relationship: tid_representative
-          table: node
+          table: node_field_data
           plugin_id: node
           entity_type: node
           entity_field: nid
@@ -55,9 +55,9 @@ display:
           subquery_namespace: ''
           subquery_order: DESC
           subquery_regenerate: false
-          subquery_sort: node.nid
+          subquery_sort: node_field_data.nid
           subquery_view: ''
-          table: taxonomy_term_data
+          table: taxonomy_term_field_data
           plugin_id: groupwise_max
       row:
         type: fields
@@ -66,7 +66,7 @@ display:
           field: tid
           id: tid
           order: DESC
-          table: taxonomy_term_data
+          table: taxonomy_term_field_data
           plugin_id: standard
           entity_type: taxonomy_term
           entity_field: tid
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_handler_relationships.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_handler_relationships.yml
index 62e3069..740f123 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_handler_relationships.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_handler_relationships.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -25,7 +25,7 @@ display:
       relationships:
         comment_cid:
           id: comment_cid
-          table: node
+          table: node_field_data
           field: comment_cid
           plugin_id: standard
         nid:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_history.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_history.yml
index feeeac8..7f13a2c 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_history.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_history.yml
@@ -10,7 +10,7 @@ label: test_history
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_http_status_code.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_http_status_code.yml
index 3d31fb7..4600650 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_http_status_code.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_http_status_code.yml
@@ -8,7 +8,7 @@ label: test_http_status_code
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
@@ -56,7 +56,7 @@ display:
       filters:
         status:
           value: true
-          table: node
+          table: node_field_data
           field: status
           id: status
           expose:
@@ -68,7 +68,7 @@ display:
       sorts:
         created:
           id: created
-          table: node
+          table: node_field_data
           field: created
           order: DESC
           entity_type: node
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_mini_pager.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_mini_pager.yml
index 4743186..e82101d 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_mini_pager.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_mini_pager.yml
@@ -9,7 +9,7 @@ label: test_mini_pager
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
@@ -76,7 +76,7 @@ display:
       sorts:
         nid:
           id: nid
-          table: node
+          table: node_field_data
           field: nid
           plugin_id: standard
           order: ASC
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_full.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_full.yml
index a347a76..36f54db 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_full.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_full.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_none.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_none.yml
index d72584d..6a4a388 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_none.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_none.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_some.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_some.yml
index 2d432a7..c95172e 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_some.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_pager_some.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_plugin_dependencies.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_plugin_dependencies.yml
index c7818d2..b969ad5 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_plugin_dependencies.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_plugin_dependencies.yml
@@ -13,7 +13,7 @@ label: test_plugin_dependencies
 module: views
 description: ''
 tag: default
-base_table: comment
+base_table: comment_field_data
 base_field: nid
 core: 8.0-dev
 display:
@@ -29,7 +29,7 @@ display:
         cid:
           field: cid
           id: cid
-          table: comment
+          table: comment_field_data
           plugin_id: comment
           entity_type: comment
           entity_field: cid
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_redirect_view.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_redirect_view.yml
index b3272bb..c4c5c6c 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_redirect_view.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_redirect_view.yml
@@ -9,7 +9,7 @@ label: test_redirect_view
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_relationship_dependency.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_relationship_dependency.yml
index 6b05cf1..97e217e 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_relationship_dependency.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_relationship_dependency.yml
@@ -10,7 +10,7 @@ label: test_relationship_dependency
 module: views
 description: ''
 tag: default
-base_table: comment
+base_table: comment_field_data
 base_field: nid
 core: 8.0-dev
 display:
@@ -26,7 +26,7 @@ display:
         cid:
           field: cid
           id: cid
-          table: comment
+          table: comment_field_data
           plugin_id: comment
           entity_type: comment
           entity_field: cid
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_search.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_search.yml
index bc86687..6495dcd 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_search.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_search.yml
@@ -9,7 +9,7 @@ label: 'Search Test'
 module: views
 description: 'Test view for Search integration'
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_store_pager_settings.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_store_pager_settings.yml
index 0be4da4..7dda22d 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_store_pager_settings.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_store_pager_settings.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_tag_cache.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_tag_cache.yml
index 79ab084..47df910 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_tag_cache.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_tag_cache.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
@@ -35,7 +35,7 @@ display:
           group_type: group
           hide_empty: false
           id: nid
-          table: node
+          table: node_field_data
           plugin_id: numeric
           entity_type: node
           entity_field: nid
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml
index 015262f..6465003 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_argument_validate_numeric.yml
@@ -6,7 +6,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_delete.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_delete.yml
index b1ad67d..2f8c5ad 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_delete.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_delete.yml
@@ -6,7 +6,7 @@ label: test_view_delete
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_pager_full_zero_items_per_page.yml b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_pager_full_zero_items_per_page.yml
index ead31fd..75f0fd3 100644
--- a/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_pager_full_zero_items_per_page.yml
+++ b/core/modules/views/tests/modules/views_test_config/test_views/views.view.test_view_pager_full_zero_items_per_page.yml
@@ -8,7 +8,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/modules/views_test_data/test_views/views.view.test_access_static.yml b/core/modules/views/tests/modules/views_test_data/test_views/views.view.test_access_static.yml
index 270fd81..dc69203 100644
--- a/core/modules/views/tests/modules/views_test_data/test_views/views.view.test_access_static.yml
+++ b/core/modules/views/tests/modules/views_test_data/test_views/views.view.test_access_static.yml
@@ -10,7 +10,7 @@ label: ''
 module: views
 description: ''
 tag: ''
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: '8'
 display:
diff --git a/core/modules/views/tests/src/Unit/EntityViewsDataTest.php b/core/modules/views/tests/src/Unit/EntityViewsDataTest.php
index c1aac0f..b387e6b 100644
--- a/core/modules/views/tests/src/Unit/EntityViewsDataTest.php
+++ b/core/modules/views/tests/src/Unit/EntityViewsDataTest.php
@@ -178,7 +178,8 @@ public function testBaseTables() {
    * Tests data_table support.
    */
   public function testDataTable() {
-    $entity_type = $this->baseEntityType->set('data_table', 'entity_test_mul_property_data')
+    $entity_type = $this->baseEntityType
+      ->set('data_table', 'entity_test_mul_property_data')
       ->set('id', 'entity_test_mul')
       ->setKey('label', 'label');
 
@@ -186,27 +187,32 @@ public function testDataTable() {
 
     // Tests the join definition between the base and the data table.
     $data = $this->viewsData->getViewsData();
-    $field_views_data = $data['entity_test_mul_property_data'];
+    $base_views_data = $data['entity_test'];
+
+    // Ensure that the base table it set to the data table.
+    $this->assertEquals('id', $data['entity_test_mul_property_data']['table']['base']['field']);
+    $this->assertEquals('Entity test', $data['entity_test_mul_property_data']['table']['base']['title']);
+    $this->assertFalse(isset($data['entity_test']['table']['base']));
 
     $this->assertEquals('entity_test_mul', $data['entity_test_mul_property_data']['table']['entity type']);
     $this->assertEquals('Entity test', $data['entity_test_mul_property_data']['table']['group']);
     $this->assertEquals('entity_test', $data['entity_test']['table']['provider']);
-    $this->assertEquals(['field' => 'label', 'table' => 'entity_test_mul_property_data'], $data['entity_test']['table']['base']['defaults']);
+    $this->assertEquals(['field' => 'label', 'table' => 'entity_test_mul_property_data'], $data['entity_test_mul_property_data']['table']['base']['defaults']);
 
     // Ensure the join information is set up properly.
-    $this->assertCount(1, $field_views_data['table']['join']);
-    $this->assertEquals(['entity_test' => ['left_field' => 'id', 'field' => 'id', 'type' => 'INNER']], $field_views_data['table']['join']);
+    $this->assertCount(1, $base_views_data['table']['join']);
+    $this->assertEquals(['entity_test_mul_property_data' => ['left_field' => 'id', 'field' => 'id', 'type' => 'INNER']], $base_views_data['table']['join']);
     $this->assertFalse(isset($data['revision_table']));
     $this->assertFalse(isset($data['revision_data_table']));
   }
 
   /**
-   * Tests revision table support.
+   * Tests revision table without data table support.
    */
-  public function testRevisionTable() {
+  public function testRevisionTableWithoutDataTable() {
     $entity_type = $this->baseEntityType
       ->set('revision_table', 'entity_test_mulrev_revision')
-      ->set('revision_data_table', 'entity_test_mulrev_property_revision')
+      ->set('revision_data_table', NULL)
       ->set('id', 'entity_test_mulrev')
       ->setKey('revision', 'revision_id')
     ;
@@ -214,8 +220,10 @@ public function testRevisionTable() {
 
     $data = $this->viewsData->getViewsData();
 
+    $this->assertEquals('Entity test revisions', $data['entity_test_mulrev_revision']['table']['base']['title']);
+    $this->assertEquals('revision_id', $data['entity_test_mulrev_revision']['table']['base']['field']);
+
     $this->assertEquals('entity_test_mulrev', $data['entity_test_mulrev_revision']['table']['entity type']);
-    $this->assertEquals('entity_test_mulrev', $data['entity_test_mulrev_property_revision']['table']['entity type']);
     $this->assertEquals('Entity test revision', $data['entity_test_mulrev_revision']['table']['group']);
     $this->assertEquals('entity_test', $data['entity_test']['table']['provider']);
 
@@ -224,9 +232,78 @@ public function testRevisionTable() {
     $revision_data = $data['entity_test_mulrev_revision'];
     $this->assertCount(1, $revision_data['table']['join']);
     $this->assertEquals(['entity_test' => ['left_field' => 'revision_id', 'field' => 'revision_id', 'type' => 'INNER']], $revision_data['table']['join']);
+    $this->assertFalse(isset($data['data_table']));
+  }
+
+  /**
+   * Tests revision table with data table support.
+   */
+  public function testRevisionTableWithRevisionDataTableAndDataTable() {
+    $entity_type = $this->baseEntityType
+      ->set('data_table', 'entity_test_mul_property_data')
+      ->set('revision_table', 'entity_test_mulrev_revision')
+      ->set('revision_data_table', 'entity_test_mulrev_property_revision')
+      ->set('id', 'entity_test_mulrev')
+      ->setKey('revision', 'revision_id')
+    ;
+    $this->viewsData->setEntityType($entity_type);
+
+    $data = $this->viewsData->getViewsData();
+
+    $this->assertEquals('Entity test revisions', $data['entity_test_mulrev_property_revision']['table']['base']['title']);
+    $this->assertEquals('revision_id', $data['entity_test_mulrev_property_revision']['table']['base']['field']);
+    $this->assertFalse(isset($data['entity_test_mulrev_revision']['table']['base']));
+
+    $this->assertEquals('entity_test_mulrev', $data['entity_test_mulrev_property_revision']['table']['entity type']);
+    $this->assertEquals('Entity test revision', $data['entity_test_mulrev_revision']['table']['group']);
+    $this->assertEquals('entity_test', $data['entity_test']['table']['provider']);
+
+    // Ensure the join information is set up properly.
+    // Tests the join definition between the base and the revision table.
     $revision_data = $data['entity_test_mulrev_property_revision'];
-    $this->assertCount(1, $revision_data['table']['join']);
-    $this->assertEquals(['entity_test_mulrev_revision' => ['left_field' => 'revision_id', 'field' => 'revision_id', 'type' => 'INNER']], $revision_data['table']['join']);
+    $this->assertCount(2, $revision_data['table']['join']);
+    $this->assertEquals([
+      'entity_test_mul_property_data' => [
+        'left_field' => 'revision_id', 'field' => 'revision_id', 'type' => 'INNER'
+      ],
+      'entity_test_mulrev_revision' => [
+        'left_field' => 'revision_id', 'field' => 'revision_id', 'type' => 'INNER'
+      ],
+    ], $revision_data['table']['join']);
+
+    $this->assertFalse(isset($data['data_table']));
+  }
+
+  /**
+   * Tests revision table with data table support.
+   */
+  public function testRevisionTableWithRevisionDataTable() {
+    $entity_type = $this->baseEntityType
+      ->set('revision_table', 'entity_test_mulrev_revision')
+      ->set('revision_data_table', 'entity_test_mulrev_property_revision')
+      ->set('id', 'entity_test_mulrev')
+      ->setKey('revision', 'revision_id')
+    ;
+    $this->viewsData->setEntityType($entity_type);
+
+    $data = $this->viewsData->getViewsData();
+
+    $this->assertEquals('Entity test revisions', $data['entity_test_mulrev_property_revision']['table']['base']['title']);
+    $this->assertEquals('revision_id', $data['entity_test_mulrev_property_revision']['table']['base']['field']);
+    $this->assertFalse(isset($data['entity_test_mulrev_revision']['table']['base']));
+
+    $this->assertEquals('entity_test_mulrev', $data['entity_test_mulrev_property_revision']['table']['entity type']);
+    $this->assertEquals('Entity test revision', $data['entity_test_mulrev_revision']['table']['group']);
+    $this->assertEquals('entity_test', $data['entity_test']['table']['provider']);
+
+    // Ensure the join information is set up properly.
+    // Tests the join definition between the base and the revision table.
+    $revision_data = $data['entity_test_mulrev_property_revision'];
+    $this->assertCount(2, $revision_data['table']['join']);
+    $this->assertEquals([
+      'entity_test' => ['left_field' => 'revision_id', 'field' => 'revision_id', 'type' => 'INNER'],
+      'entity_test_mulrev_revision' => ['left_field' => 'revision_id', 'field' => 'revision_id', 'type' => 'INNER'],
+    ], $revision_data['table']['join']);
     $this->assertFalse(isset($data['data_table']));
   }
 
@@ -366,7 +443,7 @@ public function testBaseTableFields() {
     $this->assertField($data['entity_test']['user_id'], 'user_id');
 
     $relationship = $data['entity_test']['user_id']['relationship'];
-    $this->assertEquals('users', $relationship['base']);
+    $this->assertEquals('users_field_data', $relationship['base']);
     $this->assertEquals('uid', $relationship['base field']);
   }
 
@@ -387,7 +464,7 @@ public function testDataTableFields() {
       ->setTranslatable(TRUE);
     $base_field_definitions = $this->setupBaseFields($base_field_definitions);
     $entity_test_type = new ConfigEntityType(['id' => 'entity_test_bundle']);
-    $user_entity_type = new ContentEntityType(['id' => 'user', 'base_table' => 'users', 'entity_keys' => ['id' => 'uid']]);
+    $user_entity_type = static::userEntityInfo();
     $this->entityManager->expects($this->any())
       ->method('getDefinition')
       ->willReturnMap([
@@ -475,7 +552,7 @@ public function testDataTableFields() {
     $this->assertEntityReferenceField($data['entity_test_mul_property_data']['user_id']);
     $this->assertField($data['entity_test_mul_property_data']['user_id'], 'user_id');
     $relationship = $data['entity_test_mul_property_data']['user_id']['relationship'];
-    $this->assertEquals('users', $relationship['base']);
+    $this->assertEquals('users_field_data', $relationship['base']);
     $this->assertEquals('uid', $relationship['base field']);
   }
 
@@ -586,7 +663,7 @@ public function testRevisionTableFields() {
     $this->assertEntityReferenceField($data['entity_test_mulrev_property_data']['user_id']);
     $this->assertField($data['entity_test_mulrev_property_data']['user_id'], 'user_id');
     $relationship = $data['entity_test_mulrev_property_data']['user_id']['relationship'];
-    $this->assertEquals('users', $relationship['base']);
+    $this->assertEquals('users_field_data', $relationship['base']);
     $this->assertEquals('uid', $relationship['base field']);
 
     // Check the property data fields.
@@ -610,7 +687,7 @@ public function testRevisionTableFields() {
     $this->assertEntityReferenceField($data['entity_test_mulrev_property_revision']['user_id']);
     $this->assertField($data['entity_test_mulrev_property_revision']['user_id'], 'user_id');
     $relationship = $data['entity_test_mulrev_property_revision']['user_id']['relationship'];
-    $this->assertEquals('users', $relationship['base']);
+    $this->assertEquals('users_field_data', $relationship['base']);
     $this->assertEquals('uid', $relationship['base field']);
   }
 
@@ -742,6 +819,7 @@ protected static function userEntityInfo() {
       'class' => 'Drupal\user\Entity\User',
       'label' => 'User',
       'base_table' => 'users',
+      'data_table' => 'users_field_data',
       'entity_keys' => [
         'id' => 'uid',
         'uuid' => 'uuid',
diff --git a/core/modules/views/views.api.php b/core/modules/views/views.api.php
index 2001c83..72a7fc5 100644
--- a/core/modules/views/views.api.php
+++ b/core/modules/views/views.api.php
@@ -183,7 +183,7 @@ function hook_views_data() {
     // for the other tables, given in their hook_views_data() implementations.
     // If the table listed here is from another module's hook_views_data()
     // implementation, make sure your module depends on that other module.
-    'node' => array(
+    'node_field_data' => array(
       // Primary key field in node to use in the join.
       'left_field' => 'nid',
       // Foreign key field in example_table to use in the join.
diff --git a/core/modules/views/views.views.inc b/core/modules/views/views.views.inc
index 2037645..ea865e2 100644
--- a/core/modules/views/views.views.inc
+++ b/core/modules/views/views.views.inc
@@ -342,8 +342,7 @@ function views_field_default_views_data(FieldStorageConfigInterface $field_stora
   $table_alias = $field_tables[EntityStorageInterface::FIELD_LOAD_CURRENT]['alias'];
   if ($data_table) {
     // Tell Views how to join to the base table, via the data table.
-    $data[$table_alias]['table']['join'][$base_table] = array(
-      'left_table' => $data_table,
+    $data[$table_alias]['table']['join'][$data_table] = array(
       'left_field' => $entity_type->getKey('id'),
       'field' => 'entity_id',
       'extra' => array(
@@ -367,8 +366,7 @@ function views_field_default_views_data(FieldStorageConfigInterface $field_stora
     $table_alias = $field_tables[EntityStorageInterface::FIELD_LOAD_REVISION]['alias'];
     if ($entity_revision_data_table) {
       // Tell Views how to join to the revision table, via the data table.
-      $data[$table_alias]['table']['join'][$entity_revision_table] = array(
-        'left_table' => $entity_revision_data_table,
+      $data[$table_alias]['table']['join'][$entity_revision_data_table] = array(
         'left_field' => $entity_type->getKey('revision'),
         'field' => 'revision_id',
         'extra' => array(
diff --git a/core/modules/views_ui/src/Tests/HandlerTest.php b/core/modules/views_ui/src/Tests/HandlerTest.php
index b376c16..4c9c786 100644
--- a/core/modules/views_ui/src/Tests/HandlerTest.php
+++ b/core/modules/views_ui/src/Tests/HandlerTest.php
@@ -56,7 +56,7 @@ protected function viewsData() {
       'help' => t('The test data UID'),
       'relationship' => array(
         'id' => 'standard',
-        'base' => 'users',
+        'base' => 'users_field_data',
         'base field' => 'uid'
       )
     );
diff --git a/core/modules/views_ui/src/Tests/ViewEditTest.php b/core/modules/views_ui/src/Tests/ViewEditTest.php
index 9048972..61342c4 100644
--- a/core/modules/views_ui/src/Tests/ViewEditTest.php
+++ b/core/modules/views_ui/src/Tests/ViewEditTest.php
@@ -144,7 +144,7 @@ public function testEditFormLanguageOptions() {
    */
   public function testRelationRepresentativeNode() {
     // Populate and submit the form.
-    $edit["name[taxonomy_term_data.tid_representative]"] = TRUE;
+    $edit["name[taxonomy_term_field_data.tid_representative]"] = TRUE;
     $this->drupalPostForm('admin/structure/views/nojs/add-handler/test_groupwise_term_ui/default/relationship', $edit, 'Add and configure relationships');
     // Apply changes.
     $edit = array();
diff --git a/core/modules/views_ui/tests/modules/views_ui_test/config/install/views.view.sa_contrib_2013_035.yml b/core/modules/views_ui/tests/modules/views_ui_test/config/install/views.view.sa_contrib_2013_035.yml
index b81c6f1..272a6a2 100644
--- a/core/modules/views_ui/tests/modules/views_ui_test/config/install/views.view.sa_contrib_2013_035.yml
+++ b/core/modules/views_ui/tests/modules/views_ui_test/config/install/views.view.sa_contrib_2013_035.yml
@@ -9,7 +9,7 @@ label: SA_CONTRIB_2013_035
 module: views
 description: ''
 tag: '<script>alert("foo");</script>, <marquee>test</marquee>'
-base_table: node
+base_table: node_field_data
 base_field: nid
 core: 8.x
 display:
