Data, Data Everywhere - abukhalil-LTUC-ASAC/amman-401d4 GitHub Wiki
What you might have thought about databases, is probably wrong.
MongoDB has proven that it is possible to have NoSQL that is also beautiful and efficient, make up for what it lacks in relational databases for simplicity of execution directly without tedious SQL queries.
Data models usually help visualize relationships between sets of data that would otherwise be a mess of numbers, planning it beforehand makes project execution more straightforward without much changing to the original unless new features demanded it. NoSQL however looks messy because it is not meant to be used the same way, not for me at least at this level. Raw data could be simply entered into NoSQL as entries and timestamps and other use monitoring data and such makes it much simpler and straightforward task. Thus all big data uses the format instead of relational for these various reasons.
CRUD aka create, read, update, and delete, constitute bulk of the tasks of every app out there, and makes it distinct of static web pages by the amount of operations it need for different users. There is no way to provide personalized content without saving them somewhere!
Past project involved simple objects that are related and saved into DB in SQL and NoSQL format. Both had users, product, location or other types of related input, the actual difference between NoSQL and SQL is yet to be observed.
Coverage and Definitions
NoSQL format looked daunting, and I was worried that it might be mixed up within JS code without real distinction. Apparently that was my problem of inexperience in organizing the codebase. More advanced formats using NoSQL is yet to be learned.
- **Databases **are the main body which contains tables and data entries.
- **Data **model describes which inputs are saved and how they are related.
- **Schema **defined the structure of each row entry defined by columns and data type for each column
- **Sanitize **is related to unexpected behavior of certain inputs and has to be removed.
- Structured Query Language (SQL) is the language to communicate with databases.
- **Non SQL (NoSQL) **is the not language, and rather uses functions and commands, and is rather a specialized datamodel for certain applications than a generic one.
- MongoDB our favorite NoSQL database program with its own functions to handle CRUD. (Not that I know of any other atm)
- **Mongoose **is the Node.js friendly Object Data Modeling for MongoDB, and allows for objects as inputs, schemas, output and such.
- **Record **is the row in a database that holds values.
- Document database is a special type of DB that can be interacted with using JSON objects.
- Object Relation Mapping (ORM) Have no idea, but the wiki helped, something related to incompatible type systems (such as when we have primitive vs objects in java) and solving it using OOP concepts, under the context of database solutions. Making it effectively a holo DB that does not exactly exist but acts as an intermediate. Might be wrong.