Giter Site home page Giter Site logo

emovies-redux's Introduction

eMovies-redux

A modern-day reimaging of the eMovies data model(s) in erwin DM.

In my overhaul of the eMovies data models, I've preserved the fundamental core assets from the previous iteration and added new objects/concepts to help eMovies acclimate with the times.

First, let's go over several Points of Interest (POI) in the CDM changes/updates:

  • Payment methods are now classified into either CC or ePayment to normalize logical model.

alt text

  • Customers can now opt into rental tiers (default is "Basic") to receive rewards benefits (such as faster delivery and more robust content servers). In addition, each movie rental purchase is now associated with CDN for online rentals and delivery providers for warehouse purchases. This information will be useful in gauging the transition from brick-and-mortar to completely online viewing trends.

alt text

  • Brick-and-mortar stores have been repurposed into warehouses, where fulfillment robots will now perform fulfillment duties alongside human workers.

alt text

  • To confidently assess viewing demographics and trends for the future, we've expanded our Movies aspect of the data model to include Stars (actors and directors), Nationality, and Genres .

alt text

Next, let's have a closer look at additions and updates to the logical model:

  • In the customer-related schema, there is now a prominent Tier entity with non-identifying relationships to the Customer, DeliveryProvider, and CDNProvider tables.

alt text

  • Payment entity has been normalized with the introduction of CCPayment and EPayment subtypes.

alt text

  • Turning to Movies, I've included new Star, Nationality, and Genre entities and have settled on a many-many cardinality that will best serve the Movie-Star and Movie-Genre relationships, to better assist with eventual queries for film-related data.

alt text

  • Speaking of robots, as warehouse robots now work alongside humans in warehouses, they are represented via a Robot entity class in the Employee portion of the schema.

alt text

And lastly, we'll dig into the changes to the physical data model.

  • Another optimization involved lookup tables to reduce storage requirements for certain columns that previously had varchar datatypes: some examples were Robot.Condition, MovieCopy.Format, MovieCopy.Condition, MovieRentalRecord.RentalStatus, MovieRentalRecord, Star.StarNationality, etc. Replacing this attribute with an int will greatly speed lookup and centralize additions and deletions of lookup datatypes. Non-varchar columns, notably address-related columns in Customer, Employee, and Warehouse tables, also now reference lookup tables as well.

alt text

alt text

  • Columns pertaining to financial information were replaced with money datatypes to better deal with potential precision issues.

alt text

alt text

alt text

  • In the Movie table, Rating is now numeric and MovieClip is now a varchar(4000) of its associated Youtube trailer (should one exist).

alt text

  • Link tables galore: link tables have been added to make tangible the many-many relationship between the Movies-Star and Movies-Genre tables, to assist with queries for such data. We anticipate the addition of more link tables as data engineers mine our data for more viewer insights.

alt text

More changes to come in the pipeline. Thank you for your time.

emovies-redux's People

Contributors

ydz6708277239 avatar

Stargazers

Roman avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.