Com 312 Lecture Notes2010

download Com 312 Lecture Notes2010

of 49

Transcript of Com 312 Lecture Notes2010

  • 8/2/2019 Com 312 Lecture Notes2010

    1/49

    1

    Chapter 1

    INTRODUCTION TO DATABASE

    Learning Objectives: After reading and studying this chapter you should be able to:

    Define Database Define Database management system (DBMS) State various Database system applications Explain purpose of database system Explain the factors driving development of database systems Describe briefly the history of database systems Explain modern organizations needs for information

    State the benefits of DBMS1.1 What is a Database?

    A database can be termed as a repository (or a store) of data. A collection of

    actual data which constitutes the information regarding an organisation is stored in a

    database (see figure 1.1). For example, there are 1000 students in a college & we have to

    store their personal details, marks details etc., these details will be recorded in a

    database.

    Database: A Formal Definition

    Several definitions could be given for the term database, but let us examine the

    following definition:

    A database is an ordered collection of related data elements intended to meet the

    information needs of an organization and designed to beshared by multiple users.

    Note the key terms in the definition:

    Ordered collection. A database is a collection of data elements. Not just a random

    assembly of data structures, but a collection of data elements put together deliberately

    with proper order. The various data elements are linked together in the most logical

    manner.

    Related data elements. The data elements in a database are not disjointed structures

    without any relationships among them. These are related among themselves and also

    pertinent to the particular organization.

    Information needs. The collection of data elements in a database is there for a specific

    purpose. That purpose is to satisfy and meet the information needs of the organization. In

  • 8/2/2019 Com 312 Lecture Notes2010

    2/49

  • 8/2/2019 Com 312 Lecture Notes2010

    3/49

    3

    1.3 Database System Applications

    There are many different types of DBMSs, ranging from small systems that run on

    personal computers to huge systems that run on mainframes. Databases are applied in

    wide no. of applications. Following are some of the examples:-

    Banking: For customer information, accounts, loans & other banking transactions

    Airlines: For reservation & schedule information

    Universities: For student information, course registration, grades etc.

    Credit card transaction: For purchase of credit cards & generation of monthly

    statements.

    Telecommunication: For keeping records of calls made, generating monthly bill etc.

    Finance: For storing information about holdings, sales & purchase of financial statements

    Sales: For customer, product & purchase information

    Manufacturing: For management of supply chain.

    Human Resource: For recording information about employees, salaries, tax, benefits etc.

    We can say that whenever we need to have a computerised system, we need a

    database system

    1.4 Purpose of Database system

    Before the evolution of DBMS, organisations used to store information in file-oriented

    systems. A file-oriented system is one in which we keep the information in files. A typical file

    processing system is supported by a conventional operating system. The system stores

    permanent records in various files & it need application program to extract records, or to

    add or delete records. We will compare both systems with the help of an example.

    Assume there is a saving bank enterprise that keeps information about all customers

    & saving accounts. Following manipulations has to be done with the system

    A program to debit or credit an account A program to add a new account.

    A program to find balance of an account.

    A program to generate monthly statements.

    As the need arises new applications can be added at a particular point of time for

    example current account deposit can be added into a saving account of customers who

    want lodge cheque into their savings. Using file system for storing data has got following

    disadvantages:-

  • 8/2/2019 Com 312 Lecture Notes2010

    4/49

    4

    1.Data Redundancy & Inconsistency:-

    Different programmers work on a single project, so various files is created by

    different programmers at some interval of time. These files are created in different formats

    & different programs are written in different programming languages.

    Also same information is repeated in these different files. For example name &

    address may appear in saving account file as well as in current account file. This

    redundancy results in higher storage space & access cost. It also leads to data

    inconsistency which means that if we change some record in one place the change will

    not be reflected in all the places. For example, a changed customer address may be

    reflected in saving record but not anywhere else.

    2. Difficulty in accessing data

    Accessing data from a list is also a difficulty in file-oriented system. Suppose we

    want to see the records of all customers who has a balance less than N10,000, we can

    either check the list & find the names manually or write an application program. If we

    write an application program & at some later time, we need to see the records of

    customer who have a balance of less than N20,000, then again a new program has to be

    written. It means that file processing system do not allow data to be accessed in a

    convenient manner.

    3. Data IsolationAs the data is stored in various files, & various files may be stored in different format,

    writing application program to retrieve the data is difficult.

    4. Integrity Problems

    Sometimes, we need that data stored should satisfy certain constraints as in a bank

    a minimum deposit should be of N1000. Developers enforce these constraints by writing

    appropriate programs but if later on some new constraint has to be added then it is

    difficult to change the programs to enforce them.

    5. Atomicity Problems

    Any mechanical or electrical device is subject to failure, and so is the computer

    system. In this case we have to ensure that data should be restored to a consistent state.

    For example an amount of N50 has to be transferred from Account A to Account B.

    Assume this amount has been debited from account A but have not been credited to

    Account B and in the mean time, some failure occurred. So, it will lead to an inconsistent

    state. So, we have to adopt a mechanism which ensures that either full transaction should

  • 8/2/2019 Com 312 Lecture Notes2010

    5/49

    5

    be executed or no transaction should be executed i.e. the fund transfer should be

    atomic.

    6. Concurrent access Problems

    Many systems allow multiple users to update the data simultaneously. It can also

    lead to data being in an inconsistent state. Suppose a bank account contains a balance

    of N500 & two customers want to withdraw N100 & N50 simultaneously from that same

    balance. Both the transaction reads the old balance( i.e. 500) & withdraw from that old

    balance which will result in N 450 & N 400 which is incorrect.

    7. Security Problems

    All the user of database should not be able to access all the data. For example a

    payroll personnel needs to access only that part of data which has information about

    various employees & are not needed to access information about customer accounts.

    1.5 The Driving Forces for Database system Development

    Among others, four major forces drove organizations to adopt database systems (see

    Figure 1-3 )

    Information as a Corporate Asset. Today, companies strongly realize that information is a

    corporate asset similar to other assets such as cash, plant and equipment, or inventory.

    Proper management of key assets is essential for success. Companies understand that it is

    essential to manage information as a key asset. They understand the need to findimproved methods for storing, retrieving, and using information.

    Explosive Growth of Computer Technology. Computer technology, especially data

    storage and retrieval systems, has grown in a phenomenal manner. Without growth in this

    sector, it is unlikely that we could have progressed to database systems that need

    sophisticated ways of data storage and retrieval.

    Escalating Demand for Information. We have noted the increase in demand for

    information by organizations, not only in volume but in the types of information as well. If

    companies did not need more and newer types of information, there would

    have been no impetus for development of database systems.The earlier data systems

    might have been satisfactory.

    Inadequacy of Earlier Data Systems. Suppose the earlier data systems were able to meet

    the escalating demand for information. Then why bother to find better methods? But the

    fact is that these earlier systems were grossly inadequate to meet the information

    demands. Storage and management of large volumes of data were not adequate.

  • 8/2/2019 Com 312 Lecture Notes2010

    6/49

    6

    Finding and retrieving information were extremely difficult. Protecting the information

    asset of a company was nearly impossible with the earlier data systems. Why was this so?

    How were the earlier systems inadequate? In what ways could they not meet the

    information demands? Understanding the limitations will give you a better appreciation

    for database systems.

    Figure 1.3: Forces behind development of Database systems

    1.6 History of Database systems

    Before the advent of computers business organizations kept records of their

    businesses in manual files. With the incoming of the computer, these manual files were

    converted to computer files using file-oriented systems. However, the problems with file

    processing system, growth in computer technology, increased demand for information

    encouraged the development of database systems

    Though the initial movement toward database systems began in the 1960s,software sophistication and widespread use of database systems began in the mid-1970s.

    More and more organizations began to adopt database technology to manage their

    corporate data. Figure 1.4 provides you with a historical summary of the database

    industry. The figure highlights the major events and developments in the various decades.

    Generalized Update Access Method (GUAM) contained the first trace of the

    forerunner to the hierarchical database systems. In early 1960s, Rockwell developed this

    software to manage the data usually associated with manufacturing operations. IBM

    picked this up and introduced Information Management System (IMS) as a hierarchical

    database management system. Integrated Data Store (IDS), developed at General

    Electric, formed the basis for database systems on the network data model. Database

    Task Group (DBTG) of the Conference on Data Systems and Languages (CODASYL)

    began to produce standards for the network model. CODASYL, a consortium of vendors

    and leading businesses, serves as a group to establish standards. Among the many

    standards established, a major contribution by CODASYL is the set of standards for

  • 8/2/2019 Com 312 Lecture Notes2010

    7/49

    7

    COBOL, a leading programming language. In the late 1960s, vendors started to release

    the first generation of commercial database systems supporting the network data model.

    Cincoms TOTAL database management system is a primary example.

    The 1970s ushered in the era of relational database technology. Dr. Codds

    foundational paper on the relational model revolutionized the thinking on data systems.

    The industry quickly realized the superiority of the relational model, and more and more

    vendors began to adapt their products to that model. During the 1980s, the use of

    database systems gained a lot of ground and a large percentage of businesses made

    the transition from file-oriented data systems to database systems. All the three leading

    data modelshierarchical, network, and relationalwere quite popular, although the

    relational model was steadily gaining ground.

    Essentially the 1990s may be considered as a period of maturity of the relational

    model and the emergence of that data model as the leading one. Companies

    considered moving their data to relational databases from hierarchical and network

    databases. Also, vendors started to incorporate the features of both relational and object

    technologies in their products. Object-relational database management systems

    (ORDBMSs) hit the market. Now in the new millennium, the usage of database technology

    is spreading into newer areas. Properly designed databases serve as a chief component

    in data warehousing (DW), enterprise resource planning (ERP), data mining (DM), on-lineanalytical processing (OLAP), and customer relationship management (CRM)

    applications.

    Figure 1.4: history of database systems

  • 8/2/2019 Com 312 Lecture Notes2010

    8/49

    8

    1.7 Organizations Demand for Information

    In globalised economy and competitive market of today, organizations are faced

    with increasing demand for information. This need for information is of several dimensions.

    Consider how billing requirements and sales analysis have changed. In the early years of

    computing, organizations were happy if they could bill their customers once a month and

    review total sales by product quarterly. Now it is completely different. Organizations must

    bill every sale right away to keep up the cash flow. They need up-to-date customer

    balance and daily and cumulative sales totals by products. What about inventory

    reconciliation? Earlier systems provided reports to reconcile inventory or to determine

    profitability only at the end of each month. Now organizations need daily inventory

    reconciliation to manage inventory better, daily profitability analysis to plan sales

    campaigns, and daily customer information to improve customer service.

    In the earlier period of computing, organizations were satisfied with information

    showing only current activity. They could use the information to manage day-to-day

    business and make operational decisions. In the changed business climate of

    globalization and fierce competition, this type of information alone is no longer

    adequate. Companies need information to plan and shape their future. They need

    information, not just to run day-to-day operations, but to make strategic decisions as well.What about the delivery of information now compared to the early days of computing?

    Today, online information is the norm for most companies. Fast response times and access

    to large volumes of data have become essential. Earlier computer systems just provided

    reports, mostly once a month, a few once a week, and a small number once a day.

    Organizations have come to realize that information is a key asset to be carefully

    managed and used for greater profitability.

    In summary, demand for information by todays enterprises contains the following

    attributes:

    More information

    Information newer purposes

    Different information types

    Integrated information

    Information to be shared

    Faster access to information

  • 8/2/2019 Com 312 Lecture Notes2010

    9/49

  • 8/2/2019 Com 312 Lecture Notes2010

    10/49

    10

    Data Sharing This benefit of database systems follows from data integration. The various

    departments in any enterprise need to share the companys data for proper

    functioning.The sales department needs to share the data generated by the accounting

    department through the billing application. Consider the customer service department. It

    needs to share the data generated by several applications. The customer service

    application needs information about customers, their orders, billings, payments, and

    credit ratings. With data integration in a database, the application can get data from

    distinct and consolidated data structures relating to customer, orders, invoices, payments,

    and credit status.

    Data sharing is a major benefit of database systems. Each department shares the

    data in the database that are most pertinent to it. Departments may be interested

    in data structures as follows:

    Sales departmentCustomer/Order

    Accounting departmentCustomer/Order/Invoice/Payment

    Order processing departmentCustomer/Product/Order

    Inventory control departmentProduct/Order/Stock Quantity/Back Order

    Quantity

    Database technology lets each application use the portion of the database that is

    needed for that application. User views of the database are defined and controlled. Wewill have more to say about user views in later chapters.

    Uniform Standards We have seen that, because of the spread of duplicate data across

    applications in file-oriented data systems, standards cannot be enforced easily and

    completely. Database systems remove this difficulty. As data duplication is controlled in

    database systems and as data is consolidated and integrated, standards can be

    implemented more easily. Restrictions and business rules for a single data element need

    to be applied in only one place. In database systems, it is possible to eliminate problems

    from homonyms and synonyms.

    Security Controls Information is a corporate asset and, therefore, must be protected

    through proper security controls. In file-oriented systems, security controls cannot be

    established easily. Imagine the data administrator wanting to restrict and control the use

    of data relating to employees. In file-oriented systems, control has to be exercised in all

    applications having separate employee files. However, in a database system, all data

    about employees are consolidated, integrated, and kept in one place. Security controls

  • 8/2/2019 Com 312 Lecture Notes2010

    11/49

    11

    on employee data need to be applied in only one place in the database. Database

    systems make centralized security controls possible. It is also easy to apply data access

    authorizations at various levels of data.

    Data Independence Remember the lack of data independence in file-oriented systems

    where computer programs have data structure definitions embedded within the

    programs themselves. In database systems, file or data definitions are separated out of

    the programs and kept within the database itself. Program logic and data structure

    definitions are not intricately bound together. In a client/server environment, data and

    descriptions of data structures reside on the database server ,whereas the code for

    application logic executes on the client machine or on a separate application server.

    Reduced Program Maintenance: This benefit of database systems results primarily from

    data independence in applications. If the customer data structure changes by the

    addition of a field for cellular phone numbers, then this change made in only one place

    within the database itself. Only those programs that need the new field need to be

    modified and recompiled to make use of the added piece of data. Within limits, you can

    change programs or data independently.

    Simpler Backup and Recovery In a database system, generally all data are in one place.

    Therefore, it becomes easy to establish procedures to back up data. All the relationships

    among the data structures are also in one place. The arrangement of data in databasesystems makes it easier not only for backing up the data but salso for initiating procedures

    for recovery of data lost because of malfunctions.

    POINTS TO PONDER

    A DBMS contains collection of inter-related data & collection of programs to access the

    data.

    The primary goal of DBMS is to provide an environment that is both convenient &

    efficient for people to use in retrieving & storing information.

    DBMS systems are ubiquitous today & most people interact either directly or indirectly

    with database many times every day.

    Database systems are designed to store large bodies of information.

    A major purpose of a DBMS is to provide users with an abstract view of data i.e. the

    system hides how the data is stored & maintained.

  • 8/2/2019 Com 312 Lecture Notes2010

    12/49

    12

    REVIEW TERMS

    Database

    DBMS

    Database System Application

    File System

    Data Inconsistency

    Consistency constraints

    Atomicity

    Redundancy

    Data isolation

    Data Security

    STUDENTS ACTIVITY1)What is database? Explain with example?

    2)What is DBMS? Explain with example?

    3)List four significant difference between file system & DBMS?

    4)What are the advantages of DBMS?

    5)Explain various applications of database?

    6)Explain data inconsistency with example?

    7)Explain data security? Why it is needed? Explain with example

    8 Explain isolation & atomicity property of database?

    9)Explain why redundancy should be avoided in database?

    10)Explain consistency constraints in database?

    STUDENTS NOTES

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    ___________________________________________________________________________________________________________________________________________________________________________________

  • 8/2/2019 Com 312 Lecture Notes2010

    13/49

    13

    Chapter 2

    DATA ABSTRACTION AND DATABASE LANGUAGES

    Learning objectives: After reading and studying this chapter you should be able to:

    Define data abstraction

    Explain Physical level of data abstraction Explain Logical level of data abstraction Explain View level of data abstraction Define query language Describe Data Definition Language Describe Data Manipulation Language

    2.1 VIEW OF DATA

    A database system contains a no. of files & certain programs to access & modify

    these files. But the actual data is not shown to the user, the system hides actual details of

    how data is stored & maintained.

    2.2 DATA ABSTRACTION

    Data abstraction is the process of distilling data down to its essentials. The data

    when needed should be retrieved efficiently. As all the details are not of use for all the

    users, so we hide the actual (complex) details from users. Various level of abstraction to

    data is provided which are listed below:-

    Physical level:- It is the lowest level of abstraction & specifies how the data is actually

    stored. It describes the complex data structure in details.

    Logical level: - It is the next level of abstraction & describes what data are stored in

    database & what relationship exists between various data. It is less complex than physical

    level & specifies simple structures. Though the complexity of physical level is required at

    logical level, but users of logical level need not know these complexities.

    View level:- This level contains the actual data which is shown to the users. This is the

    highest level of abstraction & the user of this level need not know the actual details

    (complexity) of data storage.

  • 8/2/2019 Com 312 Lecture Notes2010

    14/49

    14

    2.3 Database Language

    As a language is required to understand any thing, similarly to create or manipulate

    a database we need to learn a language. Database language is divided into mainly 2

    parts :-

    1)DDL (Data definition language)

    2)DML (Data Manipulation language)

    Data Definition Language (DDL)

    Used to specify a database scheme as a set of definitions expressed in a DDL

    1. DDL statements are compiled, resulting in a set of tables stored in a special file called a

    data dictionary ordata directory.

    2. The data directory contains meta data (data about data)3. The storage structure and access methods used by the database system are specified

    by a set of definitions in a special type of DDL called a data storage and definition

    language

    4. Basic idea: hide implementation details of the database schemes from the users

    Data Manipulation Language (DML)

    1. Data Manipulation includes:

    retrieval of information from the database insertion of new information into the database deletion of information in the database modification of information in the database

    2. A DML is a language which enables users to access and manipulate data. The goal is

    to provide efficient human interaction with the system.

    3. There are two types of DML:

    procedural: the user specifies what data is needed and how to get it nonprocedural: the user only specifies what data is needed. It easier for user and

    may not generate code as efficient as that produced by procedural languages

    4. A query language is a portion of a DML involving information retrieval only. The terms

    DML and query language are often used synonymously.

  • 8/2/2019 Com 312 Lecture Notes2010

    15/49

    15

    POINTS TO PONDER

    DBMS systems are ubiquitous today & most people interact either directly or indirectly

    with database many times every day.

    Database systems are designed to store large bodies of information.

    A major purpose of a DBMS is to provide users with an abstract view of data i.e. the

    system hides how the data is stored & maintained.

    Structure of a database is defined through DDL. & manipulated through DML.

    DDL statements are compiled, resulting in a set of tables stored in a special file called a

    data dictionary ordata directory.

    A query language is a portion of a DML involving information retrieval only. The terms

    DML and query language are often used synonymously.

    REVIEW TERMS

    Data Security

    Data Views

    Data Abstraction

    Physical level

    Logical level

    View level

    Database language

    DDL DML Query language

    STUDENTS ACTIVITY

    1) Define data abstraction?

    2)How many views of data abstraction are there? Explain in details?

    3)Explain database language? Differentiate between DDL & DML?

    STUDENTS NOTES

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

  • 8/2/2019 Com 312 Lecture Notes2010

    16/49

    16

    Chapter 3

    DATABASE CONCEPTS

    Learning objectives: After reading and studying this chapter you should be able to:

    Define Data dictionary

    Define Meta data Explain Database schema Distinguish different types of schema: physical schema, logical schema, subschema Define Database Instance Explain the term metadata Explain Data independence Differentiate logical data independence and physical data independence

    Data Repository All data in the database reside in a data repository. This is the data

    storage unit where physical data files are kept. The data repository contains the physical

    data. Mostly, it is a central place of storage for the data content.

    Data Dictionary The data repository contains the actual data. Let us say that you want to

    keep data about the customers of your company in your database. The structure of a

    customers data could include fields such as customer name, customer address, city,

    state, phone number, and so on. Data about a particular customer could be as follows in

    the respective fields: John Bello/1234 Lagos Street/Minna/Niger/08056342345. There are

    two aspects of the data about customers. One aspect is the structure of the data

    consisting of the field names, field sizes, data types, and so on. This part is the structure of

    the data for customers. The other part is the actual data for each customer consisting of

    the actual data values in the various fields.

    The first part relating to the structure resides separately in storage, and this is called

    the data dictionary or data catalog. A data dictionary contains the structures of the

    various data elements in the database. It also contains the relationships among data

    elements. The other part relating to the actual data about individual customers resides in

    the data repository. The data dictionary and the data repository work together to provide

    information to users.

    Database Software Are Oracle and Informix databases? Oracle and Informix are really the

    software that manages data. These are database software or database managementsystems (DBMS). Database software supports the storing, retrieving, and updating of data

  • 8/2/2019 Com 312 Lecture Notes2010

    17/49

    17

    in a database. Database software is not the database itself. The software helps you store,

    manage, and protect the data in a database.Data Abstraction Consider the example of customer data again. Data about each

    customer consist of several fields such as customer name, street address, city, state,

    phone no, credit status, and so on. We can look at customer data at three levels. The

    customer service representative can look at the customer from his or her point of view as

    consisting of only the fields that are of interest to the representative. This may be just

    customer name, phone number, and credit status. This is one level. The next level is the

    structure of the complete set of fields in customer data. This level is of interest to the

    database designer and application programmer. Another level is of interest to the

    database administrator, who is responsible for designing the physical layout for storing the

    data in files on disk storage.

    Now go through the three levels. The customer service representative is just

    interested in what he or she needs from customer data, not the entire set of fields or how

    the data is physically stored on disk storage. The complexities of the other two levels may

    be hidden from the customer service representative. Similarly, the physical level of how

    the data is stored on disk storage may be hidden from the application programmer. Only

    the database administrator is interested in all three levels. This concept is the abstraction

    of datathe ability to hide the complexities of data design at the levels where they arenot required. The database approach provides for data abstraction.

    Data Access The database approach includes the fundamental operations that can be

    applied to data. Every database management system provides for the following basic

    operations:

    READ data contained in the database

    ADD data to the database

    UPDATE individual parts of the data in the database

    DELETE portions of the data in the database

    Database practitioners refer to these operations by the acronym CRUD:

    CCreate or add data

    RRead data

    UUpdate data

    DDelete data

  • 8/2/2019 Com 312 Lecture Notes2010

    18/49

    18

    Transaction Support Imagine the business function of entering an order from a customer

    into the computer system. The order entry clerk types in the customer number, the

    product code, and the quantity ordered. The order entry program reads the customer

    data and allows the clerk to sight verify the customer data, reads product data and

    displays the product description, reads inventory data, and finally updates inventory or

    creates a back order if inventory is insufficient. All these tasks performed by the order entry

    program to enter a single order comprise a single order entry transaction.

    When a transaction is initiated it should complete all the tasks and leave the data in

    the database in a consistent state. That is, if the initial stock is 1000 units and the order is

    for 25 units, the stock value stored in the database after the transaction is completed

    must be 975 units. How can this be a problem? See what can happen in the execution of

    the transaction. First, the transaction may not be able to perform all its tasks because of

    some malfunction preventing its completion. Second, numerous transactions from

    different order entry clerks may be simultaneously looking for inventory of the same

    product. Database technology enables a transaction to complete a task in its entirety or

    back out intermediary data updates in case of malfunctions preventing completion.

    Database schema

    The overall structure of a database is called a database schema. Databaseschema is usually graphical presentation of the whole database. Tables are connected

    with external keys and key columns. When accessing data from several tables, database

    schema will be needed in order to find joining data elements and in complex cases to

    find proper intermediate tables. Some database products use the schema to join the

    tables automatically.

    Database system has several schemas according to the level of abstraction. The physical

    schema describes the database design at physical level. The logical schema describes

    the database design at logical level. A database can also have sub-schemas (view

    level) that describes different views of database.

    Database Instance

    1. Databases change over time.

    2. The information in a database at a particular point in time is called an instance of the

    database

    3. Analogy with programming languages:

  • 8/2/2019 Com 312 Lecture Notes2010

    19/49

  • 8/2/2019 Com 312 Lecture Notes2010

    20/49

    20

    REVIEW TERMS

    Database Instance

    Schema

    Database Schema

    Physical schema

    Logical schema

    Physical data independence

    Database Language

    DDL DML Query Language

    Data dictionary

    Metadata

    STUDENT ACTIVITY

    1)What is difference between database Schema & database instance?

    2) What do you understand by the structure of a database?

    3)Define physical schema and logical schema?

    4)Define data independence? Explain types of data independence?

    5) Define data dictionary, meta-data?

    6)Define various elements of data dictionary?

    STUDENTS NOTES

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    ___________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________

  • 8/2/2019 Com 312 Lecture Notes2010

    21/49

    21

    Chapter 4

    DATABASE ARCHITECTURE

    Learning objectives: After reading and studying this chapter you should be able to:

    Differentiate between database manager and database administrator

    State the different types of Database user Explain Role of Database administrator Explain Roles of Database users Describe the Database architecture

    4.1 DATABASE MANAGER

    The database manager is a program module which provides the interface

    between the low-level data stored in the database and the application programs and

    queries submitted to the system.

    1. Databases typically require lots of storage space (gigabytes). This must be stored on

    disks. Data is moved between disk and main memory (MM) as needed.

    2. The goal of the database system is to simplify and facilitate access to data.

    Performance is important. Views provide simplification.

    3. So the database manager module is responsible for

    Interaction with the file manager: Storing raw data on disk using the file systemusually provided by a conventional operating system. The database manager must

    translate DML statements into low-level file system commands (for storing, retrieving

    and updating data in the database).

    Integrity enforcement: Checking that updates in the database do not violateconsistency constraints (e.g. no bank account balance below $25)

    Security enforcement: Ensuring that users only have access to information they arepermitted to see

    Backup and recovery: Detecting failures due to power failure, disk crash, softwareerrors, etc., and restoring the database to its state before the failure

    Concurrency control: Preserving data consistency when there are concurrent users.4. Some small database systems may miss some of these features, resulting in simpler

    database managers. (For example, no concurrency is required on a PC running MS-DOS.)

    These features are necessary on larger systems

  • 8/2/2019 Com 312 Lecture Notes2010

    22/49

    22

    4.2 DATABASE ADMINISTRATOR

    The database administrator is a person having central control over data and

    programs accessing that data. Duties of the database administrator include:

    Scheme definition: the creation of the original database scheme. This involveswriting a set of definitions in a DDL (data storage and definition language),

    compiled by the DDL compiler into a set of tables stored in the data dictionary.

    Storage structure and access method definition: writing a set of definitionstranslated by the data storage and definition language compiler

    Scheme and physical organization modification: writing a set of definitions used bythe DDL compiler to generate modifications to appropriate internal system tables

    (e.g. data dictionary). This is done rarely, but sometimes the database scheme or

    physical organization must be modified.

    Granting of authorization for data access: granting different types of authorizationfor data access to various users

    Integrity constraint specification: generating integrity constraints. These areconsulted by the database manager module whenever updates occur.

    4.3 DATABASE USERS

    The database users fall into several categories: Application programmers are computer professionals interacting with the system

    through DML calls embedded in a program written in a host language (e.g. C, PL/1,

    Pascal).

    These programs are called application programs. The DML precompiler converts DML calls (prefaced by a special character like $,

    #, etc.) to normal procedure calls in a host language.

    The host language compiler then generates the object code. Some special types of programming languages combine Pascal-like control

    structures with control structures for the manipulation of a database.

    These are sometimes called fourth-generation languages. They often include features to help generate forms and display data.

    Sophisticated users interact with the system without writing programs. They form requests by writing queries in a database query language.

  • 8/2/2019 Com 312 Lecture Notes2010

    23/49

    23

    These requests are submitted to a query processor that breaks a DML statementdown into instructions for the database manager module.

    Specialized users are sophisticated users writing special database applicationprograms. These may be CADD systems, knowledge-based and expert systems,

    complex data systems (audio/video), etc.

    Naive users are unsophisticated users who interact with the system by usingpermanent application programs (e.g. automated teller machine).

    4.4 DATABASE SYSTEM ARCHITECTURE

    Database systems are partitioned into modules for different functions as you will observe

    in fig. Some functions (e.g. file systems) may be provided by the operating system.

    Components include:

    File manager manages allocation of disk space and data structures used torepresent information on disk.

    Database manager: The interface between low-level data and applicationprograms and queries.

    Query processor translates statements in a query language into low-levelinstructions the database manager understands. (May also attempt to find an

    equivalent but more efficient form.) DML precompiler converts DML statements embedded in an application program

    to normal procedure calls in a host language. The precompiler interacts with the

    query processor.

    DDL compiler converts DDL statements to a set of tables containing metadatastored in a data dictionary.

    In addition, several data structures are required for physical system implementation: Data files: store the database itself. Data dictionary: stores information about the structure of the database. It is used

    heavily. Great emphasis should be placed on developing a good design and

    efficient implementation of the dictionary.

    Indices: provide fast access to data items holding particular values.

  • 8/2/2019 Com 312 Lecture Notes2010

    24/49

    24

    Figure 4.1: The Database Architecture

    POINTS TO PONDER Database manager is a program module which provides the interface between the

    low-level data stored in the database and the application programs

    Database administrator is a person having central control over data

    Database user is a person who access the database at various level.

    Data files: store the database itself.

    Data dictionary: stores information about the structure of the database.

    DML precompiler converts DML statements embedded in an application program to

    normal procedure calls in a host language.

    Data Dictionary

  • 8/2/2019 Com 312 Lecture Notes2010

    25/49

  • 8/2/2019 Com 312 Lecture Notes2010

    26/49

    26

    Chapter 5

    DATA MODELS

    Learning objectives: After reading and studying this chapter you should be able to:

    Define data models

    Explain Different types of data models: Hierarchical data model Network data model Relational model

    State the property of relational tables5.1 Data models are a collection of conceptual tools for describing data, data

    relationships, data semantics and data constraints.

    A data model is a "description" of both a container for data and a methodology for

    storing and retrieving data from that container. Actually, there isn't really a data model

    "thing". Data models are abstractions, oftentimes mathematical algorithms and concepts.

    You cannot really touch a data model. But nevertheless, they are very useful. The analysis

    and design of data models has been the cornerstone of the evolution of databases. As

    models have advanced so has database efficiency.

    There are various kinds of data models i.e. in a database records can be arranged

    in various ways. The various ways in which data can be represented are:-

    1) Hierarchical data model

    2) Network data model

    3) Relational Model

    4) E-R-Model

    5.2 The Hierarchical Model

    Organization of the records is as a collection of trees. As its name implies, the

    Hierarchical Database Model defines hierarchically-arranged data.

    Perhaps the most intuitive way to visualize this type of relationship is by visualizing an

    upside down tree of data. In this tree, a single table acts as the "root" of the database

    from which other tables "branch" out.

    You will be instantly familiar with this relationship because that is how all windows-based directory management systems (like Windows Explorer) work these days.

  • 8/2/2019 Com 312 Lecture Notes2010

    27/49

    27

    Relationships in such a system are thought of in terms of children and parents such

    that a child may only have one parent but a parent can have multiple children. Parents

    and children are tied together by links called "pointers" (perhaps physical addresses inside

    the file system). A parent will have a list of pointers to each of their children. If we want to

    create a structure where in a course various students are there & these students are given

    certain marks in assignment.

    However, as you can imagine, the hierarchical database model has some serious

    problems. For one, you cannot add a record to a child table until it has already been

    incorporated into the parent table. This might be troublesome if, for example, you wanted

    to add a student who had not yet signed up for any courses.

    Worse, yet, the hierarchical database model still creates repetition of data within the

    database. You might imagine that in the database system shown above, there may be a

    higher level that includes multiple course. In this case, there could be redundancy

    because students would be enrolled in several courses and thus each "course tree" would

    have redundant student information.

    Redundancy would occur because hierarchical databases handle one-to-many

    relationships well but do not handle many-to-many relationships well. This is because a

    child may only have one parent. However, in many cases you will want to have the child

    be related to more than one parent. For instance, the relationship between student andclass is a "many-to-many". Not only can a student take many subjects but a subject may

    also be taken by many students. How would you model this relationship simply and

    efficiently using a hierarchical database? The answer is that you wouldn't.

    Though this problem can be solved with multiple databases creating logical links

    between children, the fix is very kludgy and awkward.

    Faced with these serious problems, the computer brains of the world got together and

    came up with the network model.

    5.3 Network Databases

    In many ways, the Network Database model was designed to solve some of the

    more serious problems with the Hierarchical Database Model. Specifically, the Network

    model solves the problem of data redundancy by representing relationships in terms of

    sets rather than hierarchy. The model had its origins in the Conference on Data Systems

  • 8/2/2019 Com 312 Lecture Notes2010

    28/49

    28

    Languages (CODASYL) which had created the Data Base Task Group to explore and

    design a method to replace the hierarchical model.

    The network model is very similar to the hierarchical model actually. In fact, the

    hierarchical model is a subset of the network model. However, instead of using a single-

    parent tree hierarchy, the network model uses set theory to provide a tree-like hierarchy

    with the exception that child tables were allowed to have more than one parent. This

    allowed the network model to support many-to-many relationships.

    Visually, a Network Database looks like a hierarchical Database in that you can see it as a

    type of tree. However, in the case of a Network Database, the look is more like several

    trees which share branches. Thus, children can have multiple parents and parents can

    have multiple children.

    Nevertheless, though it was a dramatic improvement, the network model was far

    from perfect. Most profoundly, the model was difficult to implement and maintain. Most

    implementations of the network model were used by computer programmers rather than

    real users. What was needed was a simple model which could be used by real end users

    to solve real problems.

    5.4 Relational Model

    The relational model was formally introduced by Dr. E. F. Codd in 1970 and hasevolved since then, through a series of writings. The model provides a simple, yet

    rigorously defined, concept of how users perceive data. Network model solves the

    problem of data redundancy by representing relationships in terms of sets. A relational

    database is a collection of two-dimensional tables. The organization of data into

    relational tables is known as the logical view of the database. That is, the form in which a

    relational database presents data to the user and the programmer. The way the

    database software physically stores the data on a computer disk system is called the

    internal view. The internal view differs from product to product and does not concern us

    here.

    A relational database allows the definition of data structures, storage and retrieval

    operations and integrity constraints. In such a database the data and relations between

    them are organised in tables. A table is a collection of records and each record in a table

    contains the same fields.

  • 8/2/2019 Com 312 Lecture Notes2010

    29/49

    29

    Properties of Relational Tables:

    Values Are Atomic

    Each Row is Unique

    Column Values Are of the Same Kind

    The Sequence of Columns is Insignificant

    The Sequence of Rows is Insignificant

    Each Column Has a Unique Name Certain fields may be designated as keys, which

    means that searches for specific values of that field will use indexing to speed them up.

    Where fields in two different tables take values from the same set, a join operation can be

    performed to select related records in the two tables by matching values in those fields.

    Often, but not always, the fields will have the same name in both tables. For example, an

    "orders" table might contain (customer-ID, product-code) pairs and a "products" table

    might contain (product-code, price) pairs so to calculate a given customer's bill you

    would sum the prices of all products ordered by that customer by joining on the product-

    code fields of the two tables. This can be extended to joining multiple tables on multiple

    fields. Because these relationships are only specified at retreival time, relational databases

    are classed as dynamic database management system. The RELATIONAL database

    model is based on the Relational Algebra.

    A basic understanding of the relational model is necessary to effectively userelational database software such as Oracle, Microsoft SQL Server, or even personal

    database systems such as Access or Fox, which are based on the relational model.

    POINTS TO PONDER

    Data models are a collection of conceptual tools for describing data, data

    relationships, data semantics and data constraints.

    Types of data models are:-

    1. Hierarchial data model

    2. Network data model

    3. Relational Model

    4. E-R-Model

    The Hierarchical Database Model defines hierarchically-arranged data.

    Network model solves the problem of data redundancy by representing relationships in

    terms of sets.

  • 8/2/2019 Com 312 Lecture Notes2010

    30/49

    30

    The relational model is the most popular model in use

    REVIEW TERMS

    Data models

    Hierarchical data model

    Network data model

    Relational data model

    STUDENTS ACTIVITY

    1)Define data models?

    2)Define hierarchical data model?

    3)Define network data model?

    4)Define relational data model?

    5) State the properties of relational table

    STUDENTS NOTES

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    _____________________________________________________________________________________________________

  • 8/2/2019 Com 312 Lecture Notes2010

    31/49

    31

    Chapter 6

    RELATIONAL DATABASE MANAGEMENT SYSTEM

    Learning objectives: After reading and studying this chapter you should be able to:

    Understand RDBMS Understand data structures Understand data manipulation Understand various relational algebra operations Understand data integrity

    The relational model was proposed by E. F. Codd in 1970. It deals with

    database management from an abstract point of view. The model provides

    specifications of an abstract database management system. To use the

    database management systems based on the relational model however,

    users do not need to master the theoretical foundations. Codd defined the

    model as consisting of the following three components:

    1. Data Structure - a collection of data structure types for building the

    database.

    2. Data Manipulation - a collection of operators that may be used toretrieve, derive or modify data stored in the data structures.

    3. Data Integrity - a collection of rules that implicitly or explicitly define a

    consistent database state or changes of states

    Data Structure

    Often the information that an organisation wishes to store in a computer and

    process is complex and unstructured. For example, we may know that a

    department in a university has 200 students, most are full-time with an

    average age of 22 years, and most are females. Since natural language is

    not a good language for machine processing, the information must be

    structured for efficient processing. In the relational model the information is

    structures in a very simple way

    We consider the following database to illustrate the basic concepts of the

    relational data model.

  • 8/2/2019 Com 312 Lecture Notes2010

    32/49

  • 8/2/2019 Com 312 Lecture Notes2010

    33/49

    33

    Subject_id Subject_name Department

    CP302CP304CH001PH101MA111

    Database ManagementSoftware EngineeringIntroduction to ChemistryPhysicsPure Mathematics

    Comp. ScienceComp. ScienceChemistryPhysicsMathematics

    The Relation Subject

    We list a number of properties of relations:

    1. Each relation contains only one record type.2. Each relation has a fixed number of columns that are explicitly named.

    Each attribute name within a relation is unique.

    3. No two rows in a relation are the same.

    4. Each item or element in the relation is atomic, that is, in each row, every

    attribute has only one value that cannot be decomposed and therefore no

    repeating groups are allowed.

    5. Rows have no ordering associated with them.

    6. Columns have no ordering associated with them (although most

    commercially available systems do).

    The above properties are simple and based on practical considerations. The

    first property ensures that only one type of information is stored in each

    relation. The second property involves naming each column uniquely. This

    has several benefits. The names can be chosen to convey what each

    column is and the names enable one to distinguish between the column and

    its domain. Furthermore, the names are much easier to remember than the

    position of the position of each column if the number of columns is large.

    The third property of not having duplicate rows appears obvious but is not

    always accepted by all users and designers of DBMS. The property is essential

    since no sensible context free meaning can be assigned to a number of rows

    that are exactly the same.

  • 8/2/2019 Com 312 Lecture Notes2010

    34/49

    34

    The next property requires that each element in each relation be atomic

    that cannot be decomposed into smaller pieces. In the relation model, the

    only composite or compound type (data that can be decomposed into

    smaller pieces) is a relation. This simplicity of structure leads to relatively

    simple query and manipulative languages.

    The relation is a set of tuples and is closely related to the concept of relation

    in mathematics. Each row in a relation may be viewed as an assertion. For

    example, the relation student asserts that a student by the name of Panam

    Bitrushasstudent_id 8654321 and lives at Makurdi, Benue.

    Similarly the relation subject asserts that one of the subjects offered by the

    Department of Computer Science is CP302 Database Management.

    In the relational model, a relation is the only compound data structure sincerelation do not allow repeating groups or pointers.

    We now define the relational terminology:

    Relation- essentially a table

    Tuple- a row in the relation

    Attribute- a column in the relation Degree of a relation - number of attributes

    in the relation

    Cardinality of a relation- number of tuples in the relation

    Domain- a set of values that an attribute is permitted to take. Same domain

    may be used by a number of different attributes.

    Primary key - as discussed in the last chapter, each relation must have an

    attribute (or a set of attributes) that uniquely identifies each tuple.

    Each such attribute (or a set of attributes) is called a candidate keyof the

    relation if it satisfies the following properties:

    (a) the attribute or the set of attributes uniquely identifies each tuple in the

    relation (called uniqueness), and

    (b) if the key is a set of attributes then no subset of these attributes has

    property (a) (called minimality).

  • 8/2/2019 Com 312 Lecture Notes2010

    35/49

    35

    There may be several distinct set of attributes that may serve as candidate

    keys. One of the candidate keys is arbitrarily chosen as the primary key of the

    relation.

    The three relations above student, enrolment andsubject have degree 3, 2

    and 3 respectively and cardinality 4, 6 and 5 respectively. The primary key of

    the the relation student is student_id, of relation enrolment is (student_id,

    subject_id), and finally the primary key of relation subject is subject_id. The

    relationstudent probably has another candidate key. If we can assume the

    names to be unique than thestudent_name is a candidate key. If the names

    are not unique but the names and address together are unique, then the

    two attributes (student_id, address) is a candidate key. Note that both

    student_id and (student_id, address) cannot be candidate keys, only one

    can. Similarly, for the relation subject, subject_name would be a candidatekey if the subject names are unique.

    The relational model is the most popular data model for commercial data

    processing applications. It is very much simple due to which the

    programmers work is reduced.

    Data Manipulation

    The manipulative part of relational model makes set processing (or relational

    processing) facilities available to the user. Since relational operators are able

    to manipulate relations, the user does not need to use loops in the

    application programs. Avoiding loops can result in significant increase in the

    productivity of application programmers.

    The primary purpose of a database in an enterprise is to be able to provide

    information to the various users in the enterprise. The process of querying a

    relational database is in essence a way of manipulating the relations that are

    the database. For example, one may wish to know

    1. names of all students enrolled in CP302, or

    2. names of all subjects taken by Esther Maidawa.

  • 8/2/2019 Com 312 Lecture Notes2010

    36/49

    36

    The Relational Algebra

    The relational algebra is a procedural query language. It consists of a set of

    operations that take one or two relations as input and produce a new

    relation as their result. The fundamental operations in the relational algebra

    are select, project, union, set difference, Cartesian product, and rename. In

    addition to the fundamental operations, there are several other operations-

    namely, set intersection, natural join, division, and assignment. We will define

    these operations in terms of the fundamental operations.

    Fundamental Operations

    The select, project, and rename operations are called unary operations,

    because they operate on one relation. The other three operations operate

    on pairs of relations and are, therefore, called binary operations.

    Various operations are shown as follows:

  • 8/2/2019 Com 312 Lecture Notes2010

    37/49

  • 8/2/2019 Com 312 Lecture Notes2010

    38/49

    38

    Projection

    Projection is the operation of selecting certain attributes from a relation R to

    form a new relation S. For example, one may only be interested in the list of

    names from a relation that has a number of other attributes. Projection

    operator may then be used. Like selection, projection is a unary operator.

    loan-number, amount (loan)

    loan-number amount

    L-11

    L-14

    L-15

    L-16

    L-17

    L-23

    L-93

    900000

    1500000

    1500000

    1300000

    1000000

    2000000

    500000

    Composition of Relational Operations

    The fact that the result of a relational operation is itself a relation is important.

    Consider the more complicated query Find those customers who live in

    Minna. We write:

    customer-name ( customer-city = Minna (customer))

    Notice that, instead of giving the name of a relation as the argument of theprojection operation, we give an expression that evaluates to a relation.

    In general, since the result of a relational-algebra operation is of the same

    type (relation) as its inputs, relational-algebra operations can be composed

    together into a relational-algebra expression. Composing relational-algebra

    operations into relational-algebra expressions is just like composing arithmetic

    operations (such as +, -, *, and %) into arithmetic expressions.

  • 8/2/2019 Com 312 Lecture Notes2010

    39/49

    39

    Cartesian product

    The cartesian product of two tables combines each row in one table with

    each row in the other table.

    Example: The table E (forEMPLOYEE)

    ENR ENAME DEPT

    121 John Bello A

    111 Esther Danmallam B

    131 Tunde Gana C

    Example: The table D (forDEPARTMENT)

    DNUMBER DNAME

    A Sales

    B Marketing

    C Legal

    E X D

    ENR ENAME DEPT DNUMBER DNAME RELATIONAL

    ALGEBRA

    121 John Bello A A Sales

    E X D

    121 John Bello A B Marketing

    121 John Bello A C Legal

    111 Esther

    Danmallam

    B A Sales

    111 Esther

    Danmallam

    B B Marketing

    111 Esther

    Danmallam

    B C Legal

    131 Tunde Gana C A Sales

    131 Tunde Gana C B Marketing

    131 Tunde Gana C C Legal

    Seldom useful in practice.

    Can give a huge result.

  • 8/2/2019 Com 312 Lecture Notes2010

    40/49

    40

    The Union Operation

    Consider a query to find the names of all bank customers who have either an

    account or a loan or both. Note that the customer relation does not contain

    the information, since a customer does not need to have either an account

    or a loan at the bank. To answer this query, we need the information in the

    depositor relation and in the borrower relation. We know how to find the

    names of all customers with a loan in the bank:

    customer-name (borrower)

    We also know how to find the names of all customers with an account in the

    bank:

    customer-name (depositor)

    To answer the query, we need the union of these two sets; that is, we need

    all customer names that appear in either or both of the two relations. We find

    these data by the binary operation union, denoted, as in set theory, by U. So

    the expression needed is

    customer-name (borrower) U customer-name (depositor)

    For a union operation r U s to be valid, we require that two conditions hold:

    1. The relations r and s must have the same number of attributes.

    2. The domains of the ith attribute of rand the ith attribute of s must be the

    same, for all i.

    Note that r and s can be, in general, temporary relations that are the result of

    relational-algebra expressions.

    The Set-Intersection Operation

    The first additional-relational algebra operation that we shall define is set

    intersection (). Suppose that we wish to find all customers who have both a

    loan and an account. Using set intersection, we can write

    customer-name (borrower) customer-name (depositor)

  • 8/2/2019 Com 312 Lecture Notes2010

    41/49

    41

    Note that we can rewrite any relational algebra expression that uses set

    intersection by replacing the intersection operation with a pair of set-

    difference operations as:

    rs =r(rs)

    Thus, set intersection is not a fundamental operation and does not add anypower to the relational algebra. It is simply more convenient to write r s

    than to writer(rs).

    The Set Difference Operation

    The set-difference operation, denoted by -, allows us to find tuples that are in

    one relation but are not in another. The expression rs produces a relation

    containing those tuples in r but not in s.

    We can find all customers of the bank who have an account but not a loan

    by writing

    customer-name (depositor) - customer-name (borrower)

    As with the union operation, we must ensure that set differences are taken

    between compatible relations. Therefore, for a set difference operation rsto be valid, we require that the relations r and s be of the same arity, and

    that the domains of the ith attribute of r and the ith attribute of s be the

    same.

    The Assignment Operation

    It is convenient at times to write a relational-algebra expression by assigning

    parts of it to temporary relation variables. The assignment operation,

    denoted by , works like assignment in a programming language.

    temp1 amount>1200000 (loan)

    temp2 loan-number, amount (loan)

    result = temp1temp2

    The evaluation of an assignment does not result in any relation being

    displayed to the user. Rather, the result of the expression to the right of the

  • 8/2/2019 Com 312 Lecture Notes2010

    42/49

  • 8/2/2019 Com 312 Lecture Notes2010

    43/49

    43

    Primary key

    Foreign key

    Relational algebra

    STUDENT ACTIVITY

    1) Why do we use RDBMS?

    2) Define relation, tuple, domain, keys?

    3) What is the difference between Intersection, Union & Cartesian product?

    RESEARCH THE FOLLOWING TERMS AND ANSWER QUESTIONS THAT FOLLOW:

    Aggregate functions

    Joins

    Natural join

    Outer join

    Right outer join

    Left outer join

    Rename operation1) Define aggregate functions with example?

    2)Define joins? What is natural join?

    3)Differentiate between inner join & outer join?

    4)Differentiate between left outer join & right outer join with the help of

    example?

    5)Define rename operators?STUDENTS NOTES

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    __________________________________________________________________________

    ________________________________________________________________________________________________________________________________________________

  • 8/2/2019 Com 312 Lecture Notes2010

    44/49

  • 8/2/2019 Com 312 Lecture Notes2010

    45/49

    45

    Entities defined by the same set of attributes can be grouped into an ENTITY

    SET (abbreviated as ESet) as shown in

    ESET: CarModel

    Name Power NseatsR1222

    HZ893

    R1293

    7.3

    6.8

    5.4

    5

    5

    4

    AN ENTITY SET

    A given set of attributes may be referred to as an entity type. All entities in a

    given ESet are of the same type, but sometimes there can be more than one

    set of the same type. The set of all persons who are customers at a given

    bank can be defined as an entity set customer. The individual entity that

    constitutes a set are said to be extension to entity set. So all the individual

    bank customers are the extension of entity set customer.

    Each entity has a value for each of its attributes. For each attribute, there is a

    set of permitted values called domain orvalue set.

    SIMPLE & COMPOSITE ATTRIBUTES

    A simple attribute has got one value for its attribute & a composite attribute

    is one which can be divided into sub-parts. For example an attribute namecan be divided into first name middle name & last name .

    SINGLE & MULTIVALUED ATTRIBUTES

    An attribute which have got only one value is known as single valued

    attribute. For ex. the loan_no attribute will have only one loan_no. There may

    be cases when an attribute has a set of values for a specific entity. For ex. an

    attribute phone_no. may have a value zero, one or several phone_no. This is

    known as multivalued attribute.

  • 8/2/2019 Com 312 Lecture Notes2010

    46/49

  • 8/2/2019 Com 312 Lecture Notes2010

    47/49

  • 8/2/2019 Com 312 Lecture Notes2010

    48/49

    48

    Mapping Cardinalities

    It express the number of entities to which other entity can be associated via

    a relationship set. It can be of the following types:-

    1. One to one: An entity in A is associated with at most one entity in B, & an

    entity in B is associated with at most one entity in A.

    2. One to many: An entity in A is associated with any number(zero or more) of

    entities in B. An entity in B however can be associated with at most one entity

    in A.

    3. Many to one: An entity in A is associated with at most one entity in B.An

    entity in B however can be associated with any number(zero or more) of

    entities in A.

    4. Many to many: An entity in A is associated with any number(zero or more)

    of entities in B & an entity in B is associated with any number(zero or more) of

    entities in A.

    One to many relationship

    Many to one relationship

    One to one relationship

    POINTS TO PONDER

    An ENTITY is a `thing' which can be distinctly identified, for example a

    person, a car, a subroutine, a wire, an event.

    A RELATIONSHIP is an association among entities, eg person OWNS car

    A given set of attributes may be referred to as an entity type

    A simple attribute has got one value for its attribute & a composite

    attribute is one which can be divided into sub-parts.

    value is derived from value of other related attributes or entities is known as

    derived attribute.

    A relationship is an association among several entities

    A relationship set is a subset of the cartesian product of entity setsREVIEW TERMS

  • 8/2/2019 Com 312 Lecture Notes2010

    49/49

    Entity

    Entity set

    Attribute

    Domain

    Value

    Relationship

    Relationship set

    Cardinality

    Association

    STUDENT ACTIVITY

    1)Define entity, domain,value?

    2)Define relationship, relationship set?

    3)Differentiate between simple & composit attribute?

    4)Define derived attribute?

    5)Differentiate between single & multi-valued attribute?

    6)Define cardinality?Explain various kinds of cardinality?

    7)Define various components of E-R-Diagram?

    STUDENTS NOTES

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________

    ________________________________________________________________________________________________________