WordPress galleries are implemented as shortcodes: the shortcode should appear in the post_content of your “basic” post (whose post_type="post"). The shortcode’s parameters specify the images to be included in the gallery by giving the post ID of the attachment-type post containing each image. So if you see two posts in wp_posts like this:
id | post_title | post_type | post_parent
1 | This post contains a gallery | post | 0
2 | IMG_0954 | attachment | 1
If the first post contains the second in a gallery, its post_content will contain something like this:
You’ll notice that the attachment post’s post_parent is set to the ID of the post containing it, but this doesn’t necessarily matter to the gallery: it will include whatever attachment post IDs are given in the ids="" parameter to the shortcode.
So there is no direct database relationship between a post with a gallery and that gallery’s contents; it’s all determined by the shortcode present in the post’s content.
For a more thorough understanding of how the gallery gets generated, including the fact that you can override its output with your own using the post_gallery filter hook, see the source for the gallery_shortcode function in media.php