vaib-dev / Courses

Course for understanding GitHub, Data Structures, Algorithms, Software Engineering, DBMS, Computer-Networks, Scrum, Adobe-Illustrator, LinkedIn and Freelance from scratch.
12 stars 7 forks source link

DBMS #24

Closed udeysingh95 closed 4 years ago

udeysingh95 commented 4 years ago

DBMS

Database is a collection of inter-related data which helps in efficient retrieval, insertion and deletion of data from database and organizes the data in the form of tables, views, schemas, reports etc. A database management system refers to the technology for creating and managing databases. DBMS is a software tool to organize (create, retrieve, update, and manage) data in a database. The main aim of a DBMS is to supply a way to store up and retrieve database information that is both convenient and efficient.

Course Content

Chapter 1 - Introduction

1. Databases and types 
2. Importance and Applications
3. DBMS
4. Types of DBMS
5. Advantages

Chapter 2 - Data Modeling

1. Relation data model (relational algebra) 
2. Semantic Modeling 
    - Using entity Concepts and Terminology and UML
    - Logical data modelling using the Relational Model 
3. ER Model 
    - Terminologies
    - Relations
    - Mapping
    - Graphical representation
4. Enhanced ER Model
    - Specialization
    - Aggregation
    - Composition

Chapter 3 - SQL

1. Overview

Chapter 4 - Database Architecture

1. Design Phases 
    - Conceptual Design
    - Logical Design
    - Physical Design
2. Database Storages
3. Database Backup
4. Database Transaction Handling
    - ACID Properties
    - Deadlock
    - Concurrent modifications

Chapter 5 - RDBMS

1. Terminology
2. Normalization
3. Joins
4. Advance Database Applications
5. Limitations of RDBMS

Chapter 7 - ORDBMS

1. Overview
2. Row & Reference types
3. User-defined types
4. Supertype / Subtype relationships
5. User-defined procedures, functions, and methods
6. Table Inheritance
7. Collection Types
8. Large objects

Chapter 8 - Advanced Management of Data

1. Distributed Databases
    - Overview
    - DDBMS
    - Heterogenenous DDBMS
    - Homogeneous DDBMS
    - Scalability
    - Network Partitioning
    - Partition Tolerance
    - Data Fragmentation
2. Advantages of DDBMS
3. NoSQL Databases
    - Structured Data 
    - Semi-structured Data 
    - CAP Theorem
    - NoSQL characteristics
4. Types of NoSQL Systems
    - Document Stores 
    - Key-value Stores
    - Wide Column Stores
    - Graph-Databases
    - Hybrid Systems

Chapter 9 - MongoDB

1. Overview 
2. MongoDB Data Model
3. Creating Collections
4. CRUD Operation
5. Sharding
6. Replication 

Workflow

Root Directory Structure

5-dbms

README

This will contain an overview of each file in this folder. This would be updated with each new file added.

Chapter 9 Directory Structure

9-mongodb

Branching could be named as dbms-mongo-1 or dbms-mongo-2

Challenge

PR Review Guidelines

  1. Branch is named properly (all small-letters, format 'dbms-'). for eg., branch name for chapter 5 would be 'dbms-rdbms'
  2. MD File is named according to the given format
  3. The document is formatted consistently
  4. Content is given in an easy-to-understand language
  5. There are no English errors
  6. File has at most 250 lines
  7. File has at most 15 visualizations (images+tables)
  8. PR is linked to this issue
  9. Reviewed by at least two reviewers

PR Reviewers

@siddharth2848 @udeysingh95 @giteshk11

udeysingh95 commented 4 years ago

@siddharth2848 @giteshk11 could you support me here with the course outline design. Maybe by writing the first draft of the course outline here. Then we can refine it together. What do you say? I would really appreciate your expert input here. and what is your opinion about - shall we go for Modern DBs as well or keep it straight forward and simple?

udeysingh95 commented 4 years ago

AMD Notes_.pdf A sample course outline could be fetched from this file. i am looking for a better outline still.

udeysingh95 commented 4 years ago

Basics

Med Level or Req for Advanced Topics

Advanced Topics

giteshk11 commented 4 years ago

The topics you mentioned above are good enough acc. to me

udeysingh95 commented 4 years ago

There are further topics - that could be added - and also need to add the points in those topics. I want to touch MongoDB and Neo4j here in this course MongoDB is must because that's really hot lately.

siddharth2848 commented 4 years ago

What is DBMS? Database is a collection of inter-related data which helps in efficient retrieval, insertion and deletion of data from database and organizes the data in the form of tables, views, schemas, reports etc. A database management system refers to the technology for creating and managing databases. DBMS is a software tool to organize (create, retrieve, update, and manage) data in a database. The main aim of a DBMS is to supply a way to store up and retrieve database information that is both convenient and efficient.

udeysingh95 commented 4 years ago

AMD - Lecture 07.pdf AMD - Lecture 08.pdf AMD - Lecture 09.pdf AMD - Lecture 10.pdf

Here are some reference files for you to have help in chapter 7 and chapter 8. These are some lecture Slides from Advanced Management of Data course in TUC Master Program.

udeysingh95 commented 4 years ago

AMD - Lecture 01.pdf Semantic modelling is basically modelling design for database. What would be the elements, relations, keys in it. These are the semantics of a database. and Semantic Modeling means to create a model to accommodate all the semantics in a database - meeting all the requirements. it could be achieved using ER model or Enhanced ER model - these are the ways to do semantic modelling. Check from slide no. 26 onwards in the attachment.

vaib-dev commented 4 years ago

@siddharth2848 @udeysingh95 can u tell me some subtopics of database storages in chapter- 4. What I found is data storages are of two types:

  1. Row-oriented storage
  2. Column-oriented storage

Is this correct??

udeysingh95 commented 4 years ago

It includes backups and types of memories used in backups - types of backups and all as well. RAID and stuff also falls in this only.

vaib-dev commented 4 years ago

It includes backups and types of memories used in backups - types of backups and all as well. RAID and stuff also falls in this only.

I think u misunderstood you have told about data backup, but I wanted to know about data storage. Plz check it once 👍

vaib-dev commented 4 years ago

@siddharth2848 @udeysingh95, can u tell me something about Concurrent modifications which comes under Database Transaction Handling in chapter-4.

udeysingh95 commented 4 years ago

When multiple transactions can happen on single data source. here is a link for further info: https://infocenter.informationbuilders.com/wf80/index.jsp?topic=%2Fpubdocs%2Fmaintain%2FMaintainDevelopingApps%2Fsource%2Ftopic187.htm

udeysingh95 commented 4 years ago

Chapter 6

As our DB is deployed, I think it would be a good idea to talk about the deployment quickly in README file. Also, for the readers and reviewers - it would be helpful to have an understanding of where and how it was hosted. What do you say? @Vaibhavpratapsingh22

udeysingh95 commented 4 years ago

@Vaibhavpratapsingh22 anything moving here?

vaib-dev commented 4 years ago

@Vaibhavpratapsingh22 anything moving here?

Yes @udeysingh95 i have started with chapter 7 which is ORDBMS. Branch is also published, will file a PR in one or two days.