Data model and Relational Database Model


A data model

               The data model is used to represent real facts of the application. An application may contain many facts however one has to focus only on important facts ignoring the others. For example in case of student details application, student name, roll no, address have to be described however student may also contain other facts like fathers name etc. which may not be relevant.  Some of the salient features that model must may have are listed.
  • Data model mainly describes the data, which gets stored and processed in a given situation.
  • A data model may describe data and various levels and description may be at logical / physical levels or from the point of user.
  • A data model proposes a set of concepts for description of the nature of data and inter-relationships between them along with the syntax.
  • A model should have as minimum concepts, which are close to real world so that user can understand the model and verify.
  • The model should provide primitives by which meaning of data can be captured. The meaning contains type of value data items take their inter-relation to higher level entities and the correctness requirement for them.

Relational Database Model

             Insertion anomalies and redundant data are problems associated with an early database model known as a hierarchical table (parent-child table). Network database (owner-member table) models were problematic as well. These two models led to the development of the relational database model.

The relational model for database management is a database model based on first –order predicate logic (mathematical theories applied by Dr. E. F. Codd). A database model organized in terms of relational model is a relational database model (RDM).

In a RDM, data are stored in a relation or table (those terms may be used interchangeably.) Each table contains rows or records, (also called tuples), and columns which represent attributes or fields. Each record or row is represented by a unique field known as the Primary key. The categories of relationships in a RDM are one-to-one, one-to-many, and many-to-many. A many-to-many relationship must be broken down into numerous one-to-many relationships. If a pair of tables share a relationship, data can be retrieved based on matching values of a shared field between the tables. Data is retrieved by specifying fields and tables using a standard query language known as Structured Query Language (SQL). Most DBMSs (Database Managements Systems) use SQL to build, modify, maintain and manipulate databases. Thorough knowledge of SQL isn’t always necessary since most DMBSs use a graphical interface to generate SQL statements and retrieve data. It is good, however, to have basic knowledge of SQL.



Database Management System (DBMS)


Data: Data is raw fact or figures or entity. When activities in the organization takes place, the effect of these activities need to be recorded which is known as Data.

          For example, the raw material to be purchased may have many facts like type of raw material, vendor name, address, quantity etc. Likewise Organization will have many transactions and entities which are to be recorded.

Information: Processed data is called information.

A database management system (DBMS) is a collection of program that enables user to create and maintain a database. In other words, the systematic organization of data is called database.

The DBMS is hence general purpose software system that facilities the process of defining constructing and manipulating database for various applications.
  •       Defining a database involves specifying the data types, structures and constraints for the data to be stored in the database.
  •      Constructing the database is the process of storing the data itself on some stored medium that is controlled by the DBMS.
  •       Manipulating database includes such functions as querying the database to retrieve specific data updating the database to reflect change and generation of reports from the data.

DBMS Characteristics

The data processing system should have some characteristics to produce the information. Some of the requirements are listed below.
  •  To incorporate the requirements of the organization, system should be designed for easy maintenance.
  •    Information systems should allow interactive access to data to obtain new information without writing fresh programs.
  •  System should be designed to co-relate different data to meet new requirements.
  •  Data should be stored with minimum redundancy to ensure consist in stored data across different application.
  •  An independent central repository, which gives information and meaning of available data, is required.
  •    Integrated database will helps in understanding the inter-relationships between data stored in different applications.
  •  The stored data should be made available for access by different users simultaneously.
  •  Automatic recovery feature has to be provided to overcome the problems with processing system failure.


Advantage of using a DBMS

The following are the advantages of using DBMS.
1.       Controlling redundancy
2.       Restricting unauthorized access.
3.       Providing persistent storage for program object and data structures.
4.       Permitting interface and actions by using rules.
5.       Providing multiple user interfaces.
6.       Presenting complex relationships among data.
7.       Enforcing integrity constraints.
8.       Providing backup and recovery.


E-commerce Security Issues

First of all e-commerce is surrounded by different issues such as commercial, Network infrastructure, Social and Cultural and Security issues are presented below which are important for successful business. E-commerce security issues are frequently aired in the press and are certainly important. Customers are concerned that the item ordered won’t materialize, or be as described. As (much worse) they worry about their social security number and credit card details being misappropriated. However rare, these things do happen, and customers need to be assured that all e-commerce security issues have been covered. Your guarantees and returns policies must be stated on the website and they must be adhered to. Let us first state the security attacks on e-commerce process and Security goals we want to achieve for successful e-commerce.

Attacks on Security
Security attacks can be classified in the following categories depending on the nature of the attacker.

a)      Passive Attacks
The attacker can only eavesdrop or monitor the network traffic. Typically, this is the easiest form of attack and can be performed without difficulty in many networking environments, e.g. broadcast type networks such as Ethernet and wireless networks.

b)      Active Attacks
The attacker is not only able to listen to the transmission but is also able to actively alter or obstruct it. Furthermore, depending on the attackers actions, the following subcategories can be used to cover to cover the majority to cover the majority of attacks.

c)       Eavesdropping
This is attack is used to gain knowledge of the transmitted data. This is passive attack which is easily performed in many networking environments as motioned above. However, this attack can easily perform in many networking environments. However this attack can easily be prevented by using an encryption scheme to protect the transmitted data.

d)      Traffic Analysis
The main goal of this attack is not to gain direct knowledge about the transmitted data, but to extra information from the characteristics of the transmission, e.g. amount of data transmitted, identity of the communicating nodes etc. This information may allow the attacked to deduce sensitive information, e.g., the roes of the communicating nodes, their position etc. Unlike the previously described attack, this one is more difficult to prevent.

e)      Impersonation
Here, the attacker uses the identity of another node to gain unauthorized access to resource or data. This attack is often used as a prerequisite to eavesdropping. By impersonating a legitimate node, the attacker can try to gain access to the encryption key used to protect the transmitted data. Once, this key is known by the attacker, she can successfully perform the eavesdropping attack.


f)       Modification
This attack modifies data during the transmission between the communicating nodes, implying that the communicating nodes do not share the same view of the transmitted data. An example could be when the transmitted data represents a financial transaction where the attacker has modified the transactions value.

g)      Insertion
This attack involves an unauthorized party, who inserts new data claiming that it originates from a legitimate party. This attack is related to that of impersonation.

You may also wanted to view the following related posts

    Risk of e-commerce

    As e-commerce evolves, it will present huge risks for those who don’t take advantage of it. The main risk of e-commerce is that the business won’t capitalize on all it has to offer, while the competition moves ahead. The traditional supply chain consists of the manufacturer, the distributor; the traditional supply chain consists of the manufacturer, the distributor, the retailer, and the end consumer. E-commerce is changing this linear view of the supply chain. Instead of goods flowing from one participant to the next, this new online marketplace can connect each participant to the end-consumer. For some links in the supply chain, increased access to customers could be dangerous as partners could even become competitors.

    In the physical world today, there are requirements for documents to be in writing and for hand-written signatures. Such requirements need to be translated into the electronic realm with the rapid development of electronic commerce and to resolve questions raised regarding the applicability of such legislation to the unique features of the electronic regime. The advent or e-commerce and the use of the digital medium as an alternative to the physical, have created some novel legal issues where there are no clear answers.

    The users of information technology must have trust in the security of information and communication infrastructures, network and systems, in the confidentiality, integrity, and availability of data on them, and in the ability to prove the origin and receipt of data. For communication and transactions occurring over a faceless network, there is a need or reliable methods to authenticate a person’s identity and to ensure the integrity of the electronically transmitted documents.

    The concepts of a secure electronic record and a secure electronic signature, and the rebuttable presumptions that flow from that status, are thus necessary for a viable system of electronic commerce. In the context of electronic commerce, none of the usual indicators of reliability present in a paper-based transaction (the use of paper, letterhead, etc.) exist, making it difficult to know when one can rely on the integrity and authenticity of an electronic record. This lack of reliability can make proving one’s case in court virtually impossible. Rebuttable presumptions with respect to secure records and secure signatures put a relying partying a position to know, at the time of receipt and/or reliance, whether the message is authentic and the integrity of its contents intact and, equally important, whether it will be able to establish both of these facts in court in the event of subsequent disputes.

    You may also wanted to view the following related posts

    Benefits of e-commerce

    Use of e-commerce technologies helps speed up the flow of information and to eliminate unnecessary human intervention; the computer can now accomplish what computers do better than people process routine business transactions quickly and accurately, 24 hours a day. This in turn, frees up people to handle tasks that computers may never be able to do exercising judgment, creativity, and experience to manage exceptions, solve problems and continually improve business processes.

            E-commerce is growing in importance and means unprecedented opportunities for everyone. When a business takes advantage of the power of e-commerce, it will be able to.


            i.            Increase customer satisfaction
    Internet is always open, even on holidays; business is thus always open, 24 hours a day, 7 days a week and 365 days a year. Customers will appreciate the extra access to product updates, shipping details, billing information and more. And since the internet knows no boundaries, customers can shop from home, work, or anywhere they can make a connection. Besides, by connecting the e-commerce and shipping systems, it would be possible to ship products faster and for less money.

          ii.            Increase sales volumes
    The Internet is a new channel to reach new customers. With a web site, a company can automatically become a global provider of goods and services, with an edge over even the largest competitors. Interactive selling is advantageous because a company is no longer limited by shelf-space or inventory concerns but instead offer all products to suit the customers exact specifications.

        iii.            Decrease costs of doing business
    E-commerce helps cut out or streamline processes that eat away profits. For instance exchange of information from advertising to availability updates, can add to the cost of sale. However, the web site can be an efficient, cost-effective communication vehicle. Customers can find timely accurate information in one place when they need it. By using e-commerce, everything from purchase orders to funds transfer can be handled faster and more efficiently. Even payment processing and bookkeeping are easier.

    Graph Definition


    A graph is a kind of data structure, which is a collection of nodes, called vertices and line segments called arcs or edges that connect pairs of nodes.

             In the concept of mathematics, a graph G is defined as follows: G=(V,E), where V is a finite, non-empty set of vertices (singular vertex) and E is a set of edges (links between pairs of vertices).  When the edges in a graph have no direction, the graph is called undirected, otherwise called directed.

    Cycle:A cycle is a path consisting of at least three vertices that starts and ends with same vertex. Two vertices are said to be connected if there is a path between them.
    • A directed graph is strongly connected if there is a path from each vertex to every other vertex in the graph.
    • A directed graph is weakly connected if at least two vertices are not connected.
    • Adjacency list: An adjacency list is the representation of all edges or arcs in a graph as a list.
    • Adjacency matrix: The adjacency matrix uses a vector (one-dimensional array) for the vertices and a matrix (two –dimensional array) to store the edges.
    • Depth First Traversal: In the depth first traversal. We process all of the vertex’s descendants before we move to an adjacent vertex. It uses stack to store the nodes.
    • Breadth – First Traversal: In the breadth – first traversal of a graph, we process all adjacent vertices of a vertex before going to the next level. The breadth – first traversal uses a queue rather than a stack. As we process each vertex, we place all of its adjacent vertices in the queue.

    • Spanning trees: A spanning tree of a graph is an undirected tree consisting of only those edges necessary to connect all the nodes in the original graph.
    • Network: A network is a graph that has weights or costs associated with its edges. It is also called weighted graph.
    • Minimum Spanning Tree: This is a spanning tree that covers all vertices of a network such that the sum of costs of its edges is minimum. There are two algorithms which are:
               1)      Kruskals algorithm     2) Prims algorithm

    • Forest: An undirected graph which contains no cycles is called a forest.  A directed acyclic graph is often referred to as dag.
    • Complete graph: A graph is said to be complete if there is an edge between every pair of vertices.
    • Bipartite graph: A graph is said to be bipartite if the vertices can be split into sets V1 and V2. Such there are no edges between two vertices of V1 or vertices of V2.

    • Uniformed search: A problem consists of four parts: the initial state, a set of operators, a goal test function, a path cost function. A path through the state space from the initial state to a goal state is a solution.
    Search algorithms are judged on the basis of completeness, optimally, time complexity and space complexity.
    • Completeness:It is the strategy guaranteed to find a solution when there in one.
    • Time complexity: It is the how long does it take to find a solution.
    • Space complexity: It is the how much memory needs to perform the search.
    • Optimality: Does the strategy find the highest quality solution when there are several different solutions.
    Breadth first search: Expands the shallowest node in the search tree first. It is complete optimal for unit-cost operations, and has time and space complexity of O(b^d). The space complexity makes it impractical in most cases. Using BFS Strategy, the root node is expanded first, then all the nodes generated by the root node are expanded next, and their successors and so on.

    Uniform cost search: Expands the least – cost leaf nod first. It is complete, and unlike breadth-first search is optimal even when operators have differing costs. It’s space and time complexity are the same as BFS.

    Depth- First search: Expands the deepest node in the search tree first. It is neither complete nor optimal, and has time complexity of O(b^m) and space complexity of O(bm), where m is the maximum depth. In search trees of large of finite depth, the time complexity makes this impractical.

    Depth-Limited search: Places a limit on how deep a depth-first search can go. If the limit happens to be equal to the depth of shallowest goal state, then the time and space complexity are minimized.

    Iterative deepening search: Calls depth – limited search with increasing limits until a goal is found. It is completed and optimal, and has time complexity of O(b^d).

    Bidirectional search: Can enormously reduce time complexity, but is not always applicable. Its memory requirements may be impractical. BDS simultaneously search both forward form the initial state and backward from the goal and stop when the two search meet in the middle.

    Definition of Tree


    A tree is a combination of a finite set of elements, called nodes and a finite set of directed lines, called branches that connect the nodes.

    The number of branches associated with a node is the degree of the node. When the branch is directed towards the node, it is an indegree branch. When the branch is directed away from the node, it is an out degree branch, the sum of outdegree and indegree branches equal to the degree of the node.

    Some important terms:

    Definition of Tree
      Definition of Tree
    • Root node: If the tree is non empty, then the first node is called as root. The indegree of root by definition is zero.
    • Leaf node: A node with no successors (nodes after it). There will usually be many leaves in a tree.
    • Non Leaf node: A node which has both a parent and at least one child.
    • Internal nodes: Nodes that are not root and not leaf are called as internal nodes
    • Parent node: A node is a parent if it has successor nodes; means out degree greater than zero.
    • Child node: A node is child node if indegree is one.
    • Siblings: Two or more nodes with same parent are siblings.
    • Ancestor node: An ancestor is any node in the path from the root to the node.
    • Descendant node: A descendent is any node on the path below the parent node.
    • Subtree: A subtree is any connected structure below the root.
    • Directed tree: A directed tree is an acyclic digraph, which has only one node with indegree 0, and others nodes have indegree 1.
    • Binary tree: A binary tree is a tree in which no node can have more than two subtrees. In other word it is a directed tree in which outdegree of each node is less than or equal to two. (i.e. zero, one or two). An empty tree is also a binary tree.
    • Strictly binary tree: If the outdegree of every node in a tree is either 0 or 2, then the tree is said to be strictly binary tree. i.e. each node can have maximum two children or empty left and empty right child.
    • Complete binary tree: A strictly binary tree in which the number of nodes at any level i is 2 i-1 then the tree is said to be complete binary tree.
    • Almost binary tree: A tree of depth d is an almost complete binary tree, if the tree is complete up to the level d-1.
    • Tree traversals: Tree traversal is the technique in which each node in the tree is processed or visited exactly once systematically one after the other. The different tree traversal techniques are Inorder, Preorder and Postorder.Algorithm for tree traversal
         i) Inorder (Left-Root-Right)
    • Traverse the left sub tree in inorder [L]
    • Process the root node [N]
    •  Traverse the right sub tree in inorder [R]
         ii) Preorder (Root-Left-Right)
    • Process the root node [N]
    • Traverse the left sub tree in preorder [L]
    • Traverse the right sub tree in Preorder [R]
         iii) Postorder (Left-Right-Root)
    • Traverse the left subtree in post order. [L]
    • Traverse the Right sub tree in postorder [R]
    • Process the root node [N]
    Binary Search tree: A binary search tree is a binary tree in which for each node say x in the tree elements in the left subtree are less than info(x) and elements in the left subtree are greater or equal to info(x).

    The operations performed on binary search tree are:

    •  Insertion: An item is inserted
    •  Searching: Search for a specific item in the tree.
    •  Deletion: Deleting a node from a given tree.

      Balanced Search trees: Balanced search tree is on that exhibits a good ratio of breadth to depth. There are special classes of Balanced Search Trees that are self-balancing. That is as new nodes are added or existing nodes are deleted, these Balanced search Trees automatically adjust their topology to maintain an optimal balance. With an ideal balance, the running time for inserts, searches, and deletes even in the worst case is log2n.
      AVL trees, Red-Black trees, Lemma are the examples of balanced search trees.


      AVL Trees: An AVL tree is a binary search tree whose left subtree and right subtree differ in height by at most 1 unit, and whose left and right trees are also AVL trees.
      To maintain balance in a height balanced binary tree, each node will have to keep an additional piece of information that is needed to efficiently maintain balance in the tree after every insert and delete operation has been performed. For an AVL tree, this additional piece of information is called the balance factor and it indicates if the difference in height between the left and right subtrees is the same or, if not, which of the two subtrees has height one unit larger. If a node has a balance factor rh(right high). It indicates that the height of the left subtree. Similarly the balance factor for a node could be lh(left height) or eh(equal height).



      Binary Heap tree: A binary heap is a complete binary tree. A tree that is completely filled except possibly at the bottom level, which is filled from left to right with no missing nodes.

      فيديو الأسبوع