Book Image

CouchDB and PHP Web Development Beginner's Guide

By : Tim Juravich
Book Image

CouchDB and PHP Web Development Beginner's Guide

By: Tim Juravich

Overview of this book

CouchDB is a NoSQL database which is making waves in the development world. It's the tool of choice for many PHP developers so they need to understand the robust features of CouchDB and the tools that are available to them.CouchDB and PHP Web Development Beginner's Guide will teach you the basics and fundamentals of using CouchDB within a project. You will learn how to build an application from beginning to end, learning the difference between the "quick way"ù to do things, and the "right way"ù by looking through a variety of code examples and real world scenarios. You will start with a walkthrough of setting up a sound development environment and then learn to create a variety of documents manually and programmatically. You will also learn how to manage their source control with Git and keep track of their progress. With each new concept, such as adding users and posts to your application, the author will take you through code step-by-step and explain how to use CouchDB's robust features. Finally, you will learn how to easily deploy your application and how to use simple replication to scale your application.
Table of Contents (17 chapters)
CouchDB and PHP Web Development Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Preface
4
Starting your Application

Posts


We have a placeholder for posts on our profile. But, let's get into filling it in with some real content. We are going to do this by allowing users to post small pieces of content and by having them tied to the user account.

Modeling Posts

Let's talk through what needs to happen in order for us to save posts to CouchDB and relate them to a user. Before we get into how to do this with CouchDB, let's try to bring it into perspective by looking at how we would do it with MySQL.

How to model posts in MySQL

If we were modeling this relationship for MySQL (or another RDBMS), it might look similar to the following screenshot:

In a nutshell, this diagram shows a posts table that has a foreign key user_id that references the id of the users table. This one-to-many relationship is a common occurrence in most applications and, in this case, means that one user can have many posts.

Now that we've looked at a familiar diagram, let's look at the same relationship as it pertains to CouchDB.

How to model...