Ihavepersonallyhadpositiveexperiencesinmycareerwithmodel-drivendevelopment.
Itleadstomanyhappypeople:
Engineers(oftenreferredtoas“datamodelers”,“dataarchitects”,and“database
administrators”inITprojects)arehappybecausetheyknowthatthedatabasethey
areresponsibleforistrulyundertheircontrol.Allchangesgothroughthem,and
theycanlookforthefar-reachingimplicationsofwhatmayappeartobesimple
changes.
Implementers(called“softwaredevelopers”and“databasedevelopers”inIT
projects)arehappybecausetheycantrustthatsomeonethoughtaboutpotential
unintendedconsequencesbeforeachangewasmade,andinfacttheengineers
includedtheminthatprocess.
Managers,operationalpersonnel,marketers,salespeople,andotherbusiness
stakeholdersarehappybecausechangerequestsarehandledquicklyandefficiently,
withtheutmostautomationpossible.
Everyoneishappybecausethedesigndocumentationisaliving,breathingthingthat
isanassettothecorporation.
Ihavewrittenthisbookformanyreasons,butmanyofthosereasonscouldbesummedup
as my desire to see model-driven development become the norm in information
technology.
Therearetwobarrierstothishappeningandthisbookisaimedatdestroyingbothofthem.
First, there aren’t enough people who know what data modeling is and how to use it
effectively.Thereneedstobeacadreofwell-traineddatamodelerswhoknowhowtouse
datamodelingnotations,techniques,andtoolstodoforwardand reverseengineering of
databases.Thisbookisintendedtoeducatesuchpeople.
Second, existing theories of data aren’t enough. Although data modeling tools can do
forward and reverse engineering of SQL databases, there is a relatively new set of
databasetechnologiescollectivelycalledNoSQLdatabasemanagementsystems(DBMSs)
not yet supported by traditional tools. Some of the difficulties the data modeling tool
vendorsarehavingadaptingtothesenewertoolsoriginatewithdefectivetheoriesofdata.
This book refines our current data theories so they work just as well with NoSQL
databasesastheydowithSQLdatabases.Theseupdatedtheoriesofdataalsomeshwith
semanticsandwithsoftwaredesign,sothatdatadesignscanmakesenseasadescription
of real world objects and concepts, can meet business requirements, and can guide
implementation.
Business stakeholders, software developers, and many others need to learn about the
pitfalls of poorly managed data and the advantages of model-driven development. For
them, there will bewhite papers, seminars, conferencepresentations, and more. Butfor
you—whether you are a seasoned data modeler or just getting started—this book will
teachyouhowtobethemasterofanydatadesignproblemthatcomesyourway.
As the title implies, NoSQL and SQL Data Modeling teaches techniques for database
designthatareapplicabletoboththenewerNoSQL(NoSQLorNotOnlySQL)databases