Database Reference
In-Depth Information
Figure 3.6. Complete model of a movie-lover's social network
Andthat'sit—youhaveamodelthatrepresentsthesocialnetworkrequirements,illustrated
in the diagram, or the whiteboard if you're doing this exercise in the office.
Thismodelingprocessistypically performedintheinitial stagesofeverysoftwareproject.
The drawings help you understand the requirements of the project and make the architec-
tural decision-making easier and more transparent. The modeling exercise outcome often
takes the form of documentation about the model, requirements, and architecture decisions
and suggestions, along with diagrams.
After the model is ready, the development team would generally take over the project and
start writing code to build the software product, based on the model and architecture. As
part of that process, the model would be normalized and mapped to the persistence layer,
which is typically a relational database.
Interestingly, the social network modeled in figure 3.6 represents a graph, with users
and movies as nodes, and relationships connecting friends ( IS_FRIEND_OF ) and rated
movies ( HAS_SEEN ). The same graph structure would typically be used in the code, using
object-oriented programming (OOP) techniques. Yet the data would be stored in a number
of tables, and accessed using the relational algebra. This “translation” from a graph object
 
Search WWH ::




Custom Search