Evaluation of Database Modeling & RDBMS

Database Model: A database model is a blueprint for how data is stored in a database and is similar to an architectural approach for how data is stored—a pretty picture commonly known as an entity relationship diagram (a database on paper). A database, on the other hand, is the implementation or creation of a physical database on a computer. A database model is used to create a database.

The evolution of database modeling techniques

File System: Using a file system database model implies that no modeling techniques are applied and that the database is stored in flat files in a file system, utilizing the structure of the operating system alone. The term “flat file” is a way of describing a simple text file, containing no structure whatsoever—data is simply dumped in a file.

Hierarchical Database Model: The hierarchical database model is an inverted tree-like structure. The tables of this model take on a child-parent relationship. Each child table has a single parent table, and each parent table can have multiple child tables. Child tables are completely dependent on parent tables; therefore, a child table can exist only if its parent table does. The result of this structure is that the hierarchical database model supports one-to-many relationships.

Network Database Model: The network database model is essentially a refinement of the hierarchical database model. The network model allows child tables to have more than one parent, thus creating a networked-like table structure. Multiple parent tables for each child allows for many-to-many relationships, in addition to one-to-many relationships. In an example, an employee can be assigned many tasks, and a task can be assigned to many different employees.

Relational Database Model: The relational database model improves on the restriction of a hierarchical structure, not completely abandoning the hierarchy of data. Any table can be accessed directly without having to access all parent objects. The trick is to know what to look for—if you want to find the address of a specific employee, you have to know which employee to look for, or you can simply examine all employees. You don’t have to search the entire hierarchy, from the company downward, to find a single employee.

According to Gavin Powell:

Relational Database Management System: A relational database management system (RDBMS) is a term used to describe an entire suite of programs for both managing a relational database and communicating with that relational database engine. In other words, an RDBMS is both the database engine and any other tools that come with it. RDBMS is just another name for a relational database product. It’s no big deal.

According to Gartner: 

A database management system (DBMS) that incorporates the relational-data model, normally including a Structured Query Language (SQL) application programming interface. It is a DBMS in which the database is organized and accessed according to the relationships between data items. In a relational database, relationships between data items are expressed by means of tables. Interdependencies among these tables are expressed by data values rather than by pointers. This allows a high degree of data independence.

A relational DBMS is special system software that is used to manage the organization, storage, access, security and integrity of data.  This specialized software allows application systems to focus on the user interface, data validation and screen navigation.  When there is a need to add, modify, delete or display data, the application system simply makes a “call” to the RDBMS. 

Object Database Model: An object database model provides a three-dimensional structure to data where any item in a database can be retrieved from any point very rapidly. Whereas the relational database model lends itself to retrieval of groups of records in two dimensions, the object database model is efficient for finding unique items. Consequently, the object database model performs poorly when retrieving more than a single item, at which the relational database model is proficient. 

Object-Relational Database Model: The object database model is somewhat spherical in nature, allowing access to unique elements anywhere within a database structure, with extremely high performance. The object database model performs extremely poorly when retrieving more than a single data item. The relational database model, on the other hand, contains records of data in tables across two dimensions. The relational database model is best
suited for retrieval of groups of data, but can also be used to access unique data items fairly efficiently. The object-relational database model was created in answer to conflicting capabilities of relational and object database models.

Reference: Powell, Gavin. 2006. Beginning Database Design. Indiana, USA. Wiley Publishing, Inc.

ডাটাবেজ ডিজাইন এন্ড ডেভেলপমেন্ট – 2

………গত পর্বের পর

Using Arithmetic Operator:
                কলামের সাথে বিভিন্ন গাণিতিক চলক যুক্ত করে হিসাব-নিকাশের কাজ করা হয়। গাণিতিক চলক গুলো নাম্বার ও ডেট নিয়ে কাজ করতে পারে। ওরাকলে ব্যবহিত গাণিতিক চলক সমূহ হল…


   SELECT last_name, salary, 12*salary+100

      FROM   employees;

Concatenation Operator:

                দুইটি Column, Arithmetic Expressions অথবা Constant Value কে সংযুক্ত করতে Concatenation Operator (।।) ব্যবহার করা হয়।  যে দুইটি কলামকে সংযুক্ত করব তার মাঝে এই Operator কে বসাতে হবে।  
            Syntax: SELECT column1 ।। column2 alias from table_name;
Using literal character & Alternative Quote (q) Operator:literal character এবং Alternative Quote এর কাজ প্রায় একই। দুটোই কুয়েরির মাঝে অতিরিক্ত লেখা বা মন্তব্য যোগ করতে ব্যবহার করা হয়। literal character ব্যবহার করে সহজেই দুটি কলামের মাঝে মন্তব্য যোগ করা যায়। এ জন্য দুটি কলামের মাঝে Concatenation Operator (।।) দিয়ে তার মধ্যে আবার String দিয়ে মন্তব্য যোগ করা হয়। String এর মধ্যে প্রায় সব কিছু লিখা গেলেও Quote (‘) mark ব্যবহার করা যায় না। এ ক্ষেত্রে Alternative Quote Operator ব্যবহার করা হয়।
Literal character Syntax:
                                                column1 ||’comment‘|| column2
     Alternative Quote Syntax:
                                                Column1|| q'[comment]’ ||column2
(এখানে যে ব্র্যাকেট দিয়ে শুরু করব সেই ব্র্যাকেট দিয়েই শেষ করতে হবে এবং যে কোন ব্র্যাকেট ব্যবহার করা যাবে) 
iSQL *Plus Environment
SQL Statement versus iSQL *Plus Commands:
                SQL Statement:  
·         SQL  একটি ল্যাঙ্গুয়েজ
·         SQL  এটি ANSI স্ট্যান্ডার্ড
·         SQL  Keyword সংক্ষিপ্ত করা যায় না
·         ডাটাবেজে SQL Statement ডাটা এবং টেবিল নিয়ে কাজ করে
iSQL *Plus Commands:
·         iSQL *Plus  হল কাজের পরিবেশ
·         iSQL *Plus  এর স্বত্বাধিকারী ওরাকল
·         iSQL *Plus  Command সংক্ষিপ্ত করা যায়
·         Browser-Run করে

  চ্যাপটার ১ সমাপ্ত

ডাটাবেজ ডিজাইন এন্ড ডেভেলপমেন্ট – 1

ডাটাবেজ প্রগ্রামের ধারাবাহিক টিউটোরিয়াল
ভূমিকাঃডাটাবেজ অনেকটা লাইব্রেরীর মত। একটা লাইব্রেরীতে বইগুলো যেমন করে সাজানো থাকে, ঠিক তেমনি করে ডাটাবেজেও তথ্য সাজানো থাকে। যাতে করে ব্যবহারকারী তথ্য সহজেই খুজে পায়। ডাটাবেজ তৈরির জন্য এসকিউএল (SQL) একটি শক্তিশালী প্রোগ্রামিং ল্যাংগুয়েজ। এসকিউএল দিয়ে
ডাটাবেজ তৈরির জন্য কিছু বিভিন্ন সফটওয়্যার ব্যবহার করা হয়। আমি এখানে ওরাকলের ডাটাবেজ সফটওয়্যার ব্যবহার করব। প্র্যাকটিস করার ওরাকল ডাটাবেজের এক্সপ্রেস এডিশন এখান থেকে ডাউনলোড করে নিতে পারেন।

আমার লিসনগুলো ওরাকল সার্টিফাইড প্রোগ্রামার (OCP) পরীক্ষার যে সিলেবাস আছে সে অনুযায়ী সাজানো হয়েছেপ্রথমেই Oracle Database Fundamental I দিয়ে শুরু করছি। লিসন শুরু করার আগে মূল বইটি এখান থেকে ডাউনলোড করে নিন।

Chapter 1 :  Retrieving Data Using the SQL SELECT Statement

এই অধ্যায়ে আমরা যে বিষয় গুলো দেখব
            ১. SQL Select Statement দিয়ে যেসব কাজ করা যায় তার তালিকা
            ২. Select Statement সম্পাদনা
            ৩. SQL Statement এবং iSQL *Plus  Commands এর মধ্যে পার্থক্য

SQL Select Statement দিয়ে যেসব কাজ করা যায়: কোন Database থেকে তথ্য খুঁজে বের করে আনার জন্য Select Statement ব্যবহার করা হয়। Select Statement দিয়ে মূলত তিনটি কাজ করা হয়……
         ১. Projection: কোন টেবিল থেকে এক বা একাধিক কলাম খুঁজে আনতে ব্যবহার করা হয়
         . Selection: কোন একটা টেবিলের রো খুঁজে আনার জন্য ব্যবহার করা হয়
         . Joining: দুইটা টেবিলের ডাটাকে সংযুক্ত করার জন্য ব্যবহার করা হয়।

Basic SELECT Statement:   

  SELECT *|{[DISTINCT] column|expression [alias],…}
  FROM    table;
            Select         = এক বা একাধিক কলামের তালিকা
   *                 = সমস্ত কলাম
            Distin          = ডুপ্লিকেট ভ্যালু বাদ দেবার জন্য ব্যবহার করা হয়
            Column       = কলামের নাম
            Alias            = কলামের হেডিং
            From Table  = টেবিলের নাম
                        ;       = Closing Tag

Example: Select department_id “Departments”
       from departments;

SQL স্টেটমেন্ট এর বৈশিষ্টঃ
            ১.  SQL স্টেটমেন্ট Case sensitive নয়।
            ২. SQL স্টেটমেন্ট এক বা একাধিক লাইনে লিখা যায়
            . SQL স্টেটমেন্টকে সংক্ষিপ্ত বা ভাঙ্গা যায় না
            . Clause গুলো সাধারনত আলাদা লাইনে লিখা হয়।
            ৫. SQL *Plus এ প্রতিটি SQL স্টেটমেন্টর শেষে অবশ্যই সেমিকলন (;) দিতে হবে