Database
Terminologies
Data - Known facts that can be recorded and that have implicit
meaning.
Database: Shared collection of logically related data and a
description of this
data, designed to meet the information needs of an organization
Tables – The view that displays the data base as a
combinations of rows (records) and columns (fields).
     The cells contain the bits and pieces of data for each
record in each field.
      The first row of a table is reserved for the field names.
Key-    A key is a logical value to access record in a table.
        A key that uniquely identifies a record is called as
primary key.
Field names – Identify the different categories in a database.
            The top row is reserved for field names.
Fields – Categories in a database. Fields are displayed in
columns.
                                                                  1
Domain-Domain refers to the possible values each field can
   Database
   Terminologies
View- View is a virtual table made up of a subset of the
actual tables.
Records – Related information that is separated by columns
or fields.
Constraints- constraints are the logic rules that are used to
ensure data consistency or avoid certain unacceptable
operations on the data.
Cells - The intersection of columns and rows that contain
the data for each record
Index-   it is the part of the physical structure.
NULL value- A field is said to be contain a null value when it
contains nothing at all.
                                                                 2
     Database
     Terminologies
Objects – Enables you to find, view, display, and print data
differently, based on your needs.
           The most commonly        used   objects   are   tables,
queries, forms and reports.
 Tables show all records in a spreadsheet format
 Queries allow you to ask questions of the one or more tables
and show only the information you ask for
 Forms display one record at a time
 Reports give and organize way of presenting information.
                                                                     3
Database Management System
(DBMS)
     DBMS contains information about a particular
      enterprise
      ◦ Collection of interrelated data
      ◦ Set of programs to access the data
      ◦ An environment that is both convenient and
        efficient to use
     Database Applications:
      ◦ Banking: all transactions
      ◦ Airlines: reservations, schedules
      ◦ Universities: registration, grades
      ◦ Sales: customers, products, purchases
      ◦ Online retailers: order tracking, customized
        recommendations
      ◦ Manufacturing: production, inventory, orders, supply
        chain
      ◦ Human resources: employee records, salaries, tax
        deductions
                                                           4
File-based Approach
Data is stored in one or more
 separate computer files
Data is then processed by
 computer programs -
 applications
                                 5
File-based Approach
                      6
               File-based approach
                  Files
                   Customer
Applications         File
                                                              Files
   Customer          Stock
    Orders            File     Applications                       Customer
                     Order
                                                                    File
                      File
                                  Customer
                                   Orders
                   Customer
                     File                                              Stock
                                                                        File
   Customer          Stock
   Invoicing          File        Customer
                                  Invoicing
                     Order
                      File                                             Order
                                                                        File
                     Stock
   Purchase
                      File        Purchase
    Orders
                    Supplier
                                   Orders
                      File                                            Supplier
                                                                        File
                     Stock
                      File
     Stock
    Control                         Stock
                     Order         Control
                      File
                                              Shared file approach
                                                                                 7
    Purpose of Database
 InSystems
    the early days, database applications
  were built directly on top of file systems
 Drawbacks of using file systems to store
  data:
 ◦ Data redundancy and inconsistency
   Multiple file formats, duplication of information in
    different files
 ◦ Difficulty in accessing data
   Need to write a new program to carry out each new
    task
 ◦ Data isolation — multiple files and formats
 ◦ Integrity problems
   Integrity constraints (e.g. account balance > 0)
    become “buried” in program code rather than being
    stated explicitly
   Hard to add new constraints or change existing
    ones
                                                           8
Purpose of Database Systems
(Cont.)
 Drawbacks of using file systems (cont.)
 
 ◦ Atomicity of updates
   Failures may leave database in an inconsistent
    state with partial updates carried out
   Example: Transfer of funds from one account to
    another should either complete or not happen at all
 ◦ Concurrent access by multiple users
   Concurrent accessed needed for performance
   Uncontrolled concurrent accesses can lead to
    inconsistencies
     Example: Two people reading a balance and updating it at
      the same time
 ◦ Security problems
   Hard to provide user access to some, but not all,
    data
 Databasesystems offer solutions to all
 the above problems
                                                                 9
Database Approach
Arose   because:
 ◦ Definition of data was embedded in
   application programs, rather than
   being stored separately and
   independently
 ◦ No control over access and
   manipulation of data beyond that
   imposed by application programs
Result:
 ◦ The Database and Database
   Management System (DBMS).
                                        10
Database Approach
                    11
   Levels of Abstraction
 Physical level: describes how a record (e.g.,
  customer) is stored.
 Logical level: describes data stored in
  database, and the relationships among the data.
  type customer = record
  customer_id : string;
  customer_name : string;
  customer_street : string;
  customer_city : integer;
     end;
 View level: application programs hide details of
 data types. Views can also hide information
 (such as an employee’s salary) for security
 purposes.
                                                     12
        View of Data
An architecture for a database system
                                        13
      Instances and Schemas
    Similar to types and variables in programming languages
   Schema – the logical structure of the database
    ◦ Example: The database consists of information about a set of
      customers and accounts and the relationship between them)
    ◦ Analogous to type information of a variable in a program
    ◦ Physical schema: database design at the physical level
    ◦ Logical schema: database design at the logical level
   Instance – the actual content of the database at a particular point in
    time
    ◦ Analogous to the value of a variable
   Physical Data Independence – the ability to modify the physical
    schema without changing the logical schema
    ◦ Applications depend on the logical schema
    ◦ In general, the interfaces between the various levels and components
      should be well defined so that changes in some parts do not seriously
      influence others.
                                                                              14
     Data Models
A   collection of tools for describing
 ◦   Data
 ◦   Data relationships
 ◦   Data semantics
 ◦   Data constraints
1.Relational model
2.Entity-Relationshipdata model (mainly
  for database design)
3.Object-based data models (Object-
  oriented and Object-relational)
4.Semi structured data model (XML)
Other older models:
 Network model
 Hierarchical model
                                          15
The Entity-Relationship
Model
                          16
Relational Model
                   17
The object-oriented data
model
                           18
The eXtensible Markup
Language (XML)
                        19
Network Data Model
                     20
Hierarchical Model
                     21
Data Manipulation Language
(DML)
Language  for accessing and
 manipulating the data organized by
 the appropriate data model
 ◦ DML also known as query language
Two   classes of languages
 ◦ Procedural – user specifies what data is
   required and how to get those data
 ◦ Declarative (nonprocedural) – user
   specifies what data is required without
   specifying how to get those data
SQL is the most widely used query
 language
                                              22
   Data Definition Language
(DDL)
   Specification notation for defining the
    database schema
    Example:          create table account (
                           account-number
     char(10),
                            balance               integer)
    DDL  compiler generates a set of tables
     stored in a data dictionary
    Data dictionary contains metadata (i.e.,
     data about data)
    ◦ Database schema
    ◦ Data storage and definition language
      Specifies the storage structure and access methods
       used
    ◦ Integrity constraints
        Domain constraints
        Referential integrity (references constraint in SQL)
        Assertions
        Authorization
                                                                23
   Relational Model
 Example
                                               Attributes
            of tabular data in the relational model
                                                            24
A Sample Relational
Database
                      25
    SQL
   SQL: widely used non-procedural language
    ◦ Example: Find the name of the customer with customer-
      id 192-83-7465
        select       customer.customer_name
        from customer
        where        customer.customer_id = ‘192-83-7465’
    ◦ Example: Find the balances of all accounts held by the
      customer with customer-id 192-83-7465
        select       account.balance
        from         depositor, account
        where        depositor.customer_id = ‘192-83-7465’
      and
        depositor.account_number = account.account_number
   Application programs generally access databases
    through one of
    ◦ Language extensions to allow embedded SQL
    ◦ Application program interface (e.g., ODBC/JDBC) which
      allow SQL queries to be sent to a database
                                                          26