SlideShare a Scribd company logo
DATABASE DESIGN
23
              Observations about DATA              bc
1                                                a

         • Data are the most stable part of an

         organization’s information system
         • Permanent data are stored in tables within

         a database
         • Permanent storage of data is also referred

xyz to as persistent data                        7 89
2 3 Why do we need database design?           a bc
1

     • A quality I.S. demands a quality db design

     • Avoid redundancy (duplication) of data

     • Insures simple db structures which allow

     for maximum effective utilization of the data



xyz                                             7 89
Analysis to Design
(Logical model to Physical model)
    Student      Major     Analysis
                           (Logical)
    iD           code
    name         name

                              Design
   Student       Major      (Physical)
   iD                         note:
   name          code       majorCode
   majorCode     name          is a
                           synonym for
                              code
Example of Duplicate Data
             (notice the redundancy in the data values)

First Name     Last Name Student ID Course Taken Grade
  John          Adams        123-45-6789        IDS-306   B
  John          Adams        123-45-6789        IDS-406   A
  John          Adams        123-45-6789        IDS-315   B+

  Susan         Baker        987-65-4321        IDS-250   A
  Susan         Baker        987-65-4321        IDS-315   A-
  Susan         Baker        987-65-4321        IDS-306   B
  Susan         Baker        987-65-4321        IDS-480   B

  Kim           Le           789-12-3456        IDS-180   A
  Kim           Le           789-12-3456        IDS-250   A
Distribute the data into 2 tables
         (notice the reduction in redundancy)


First Last                                      Course
                              Student ID        Taken    Grade
Name Name Student ID
                             123-45-6789    IDS-306       B
John    Adams 123-45-6789
                             123-45-6789    IDS-406       A
Susan   Baker 987-65-4321    123-45-6789    IDS-315       B+

Kim     Le    789-12-3456    987-65-4321    IDS-250       A
                             987-65-4321    IDS-315       A-
                             987-65-4321    IDS-306       B
                             987-65-4321    IDS-480       B

                             789-12-3456    IDS-180        A
                             789-12-3456    IDS-250        A


                             Foreign Key
Hierarchical Components of Persistent Data
   Bits      01110001                     Bytes A, B, ... Z, 0,1...9, #, &, $, etc...



                                   Attributes
Template
     First Name        Middle Initial Last Name            Social Security Number State
     Ronald                  J             Norman                    559-65-8213           CA

Values, states, or instances

                           First Name   Middle Initial   Last Name    Social Security Number    State

                              Ronald            J        Norman           559-65-8213          CA
        Records
  (each row is a record)      Rashmi            B        Kumar            371-48-4562          MI

                              James             R        Logan            559-63-8472          OR

                              Susan             L        Johnson          243-74-5219          NY
TABLES (Individual Files or all part of a database)
                   First Name Middle Initial   Last Name   Social Security Number    State
      Table #1                                                                      CA
                       Ronald           J       Norman          559-65-8213
      Student          Rashmi           B       Kumar           371-48-4562         MI
    Information        James            R       Logan           559-63-8472         OR
                       Susan            L       Johnson         243-74-5219         NY


                      Course Number         Course Name           Units     Department
      Table #2                Act102   Accounting Principles     3 Accounting
                              Bio101   Intro to Biology          3 Biology
      Course                  Chm109   Organic Chemistry         3 Chemistry
    Information               Eco104   Macro Economics           3 Economics
                              Eng100   Beginning English         3 English
                              MIS111   Intro. to Computers       3 M.I.S.
                              Mkt114   Principles of Marketing   3 Marketing
                  Department PEd118Department Head Telephone No. of Majors
                                       Beginning Golf            1 Phys. Educ.
                    AccountingPhl108 J.Philosophy
                                        Morgan          594-2348 3 Philosophy
                                                                   275
                    Biology Soc105   S.Cultural Changes594-4459 3
                                        Tishman                    Sociology
                                                                   110
                    Chemistry        P. Dayson          594-7728   120
  Table #3          Economics        R. Kumar           594-0923    75
Department          English          J. Amar            594-8276    60
Information         M.I.S.           K. Kettleman       594-1010   175
                    Marketing        A. Winters         594-2034   140
                    Phys. Educ.      T. Tolner          594-2229   225
                    Philosophy       A. Hayley          594-9011   150
                    Sociology        B. O’Neal          594-3927    70
Seven Table (file) Types

    • Master
    • Transaction
    • “Table”
    • Temporary
    • Log
    • Mirror
    • Archive
Master Table -
reference (foundational) data for the information system

                     Student Master Table

    Social
    Security       First      Middle    Last
    Number         Name       Initial   Name     Zipcode   Telephone etc.......
     123-45-6789     Jim         R      Thomas    91942     464-3782    etc...
     321-54-6638     Mary        J      Wilson    92020     571-2190    etc...
     559-38-8921     Minder             Chang     91938     291-8374    etc...
Transaction Table -
holds the business activity for the information system


         Course Registration Transaction Table
       Course      Course     Course                    Transaction
      Serial #   Number     Section # Student #   Semester Date/Time
         10294     Eng100       5    559680843    Spr95   941115/1202
         29832     MIS111       2    525987391    Spr95   941115/1202
         42198     Act102       2    371234959    Spr95   941115/1202
         17620     Soc118       1    559680843    Spr95   941115/1203
         10294     Eng100       5    224942874    Spr95   941115/1203
         28734     PhE119       3    104873298    Spr95   941115/1203
         44398     Chm107       2    525987391    Spr95   941115/1204
“Table” Table -
                Static (relatively) table of values

   State Code Table                    Sales Tax Code Table
                                         Sale Range   Sales Tax
State Code    State Name
                                          .00 - .09     .00
    AL       Alabama
                                          .10 - .24     .01
    AZ       Arizona
                                          .25 - .39     .02
    CA       California
                                          .40 - .54     .03
    CO       Colorado
                                          .55 - .69     .04
    WY       Wyoming
                                          .70 - .84     .05

                                          .85 - .99     .06
Temporary Table - created and used briefly OR over an
  extended period of time to help the information system
  accomplish its intended purpose

  Log Table - contains copies of Master and Transaction
  table records for audit, statistical, and recovery purposes

Mirror Table - an exact copy of one of the other types
of tables used to minimize or eliminate information
system downtime

  Archive Table - a historical copy of a master, transaction,
  “table”, or log table
DATABASE DESIGN
• Database = one or more related tables (files)
• Folder = Metaphor for holding a database
• Data Structures - another name for records
      • Simplicity
      • Non-redundancy
• Data Structure Modeling:
      • Entity-Relationship Diagrams
      • Object Models:
          • Generalization-Specialization Structure
          • Whole-Part Object Connection w/constraints
          • Object Connection w/constraints
Attribute (field) Types
• Key - used to identify & find one or more records in a table (file)
    • Primary - unique; identifies one specific record; table may
        need to combine two or more attributes to accomplish this
        (Examples: customer #, student #, VIN #, UPC #)
    • Secondary - non-unique - may identify multiple records;
        another way to identify one or more records in a file
        (Examples: customer name, zip code, city, last name)
    • Foreign - attributes added to a table to associate a record in the
        table with one or more records in one or more OTHER tables
        (Example: “Courses Taken” table has a student # in it)
• Descriptor - characteristics that describe the data; some of these
attributes are used for Audit & Control purposes, Security purposes,
or programmer consistency & control purposes
Key Examples
                • Student Account Number
                • Bank Account Number
  Primary       • Vehicle ID Number
  (unique)      • Credit Card Number
                • University Course Schedule Number
                • University Course Number + Section Number

                • Student Last Name
 Secondary      • Vehicle Type
                • State
(non-unique)    • Zipcode

                • Student Account Number -----> Courses Taken
  Foreign       •Vehicle Type -----> Description of this Type
(association)   • State -----> Table of State Codes & Descriptions
                • City ---> Table of valid zip codes for each city
Key Attribute Examples

Key Attribute Name             Instance (Value or State) Example
  Student ID Number                 68372

  Social Security Number            559-68-0923

  Vehicle ID Number                 JA3XC52BONY002400

  Course Number                     MIS-111

  VISA Card Number                  4128 0022 2048 2552

  Checking Account Number           128-0049

  Video Store Account Number        Norm001
Foreign Key Example

          Student Information Table*         Course Information Table*
         Student Name Student ID Number   Student ID Number Course Number
             Adams       371-48-4326         557-33-5849    Bio101
             Jones       559-62-0987         243-98-7615    Bio101
             Kumar       243-98-7615         558-97-8221    Bio101
             Lopez       337-89-6212         371-48-4326    Eng103
             Norman      558-97-8221         298-88-7643    Eng103
             Smith       557-33-5849         557-33-5849    MIS111
             Zumwalt     298-88-7643         558-97-8221    MIS111
                                             337-89-6212    PE118
                                             243-98-7615    Phl125
                                             298-88-7643    Phl125
                                             559-62-0987    Phl125
                                             337-89-6212    Phl125




                                          Foreign Key

ote: Both of these tables would have additional attributes (colum
Seven Table (file) Types
          •   Master
          •   Transaction
          •   “Table”
          •   Temporary
          •   Log
          •   Mirror
          •   Archive

These different types of tables
have access and organization
needs/requirements…next page
Table Access & Organization

Table Access: Method of reading or writing records
         • Sequential - first to last, vice versa
         • Direct - any record
Table Organization: Method of storing records

   • Serial - based on arrival time of data
   • Sequential - based on sorted attribute(s)
   • Relative or Direct - based on an algorithm
   • Indexed - based on maintaining a sorted
   index of attribute values separate from the data
Serial File Organization

                  E-Mail InBox File
    From         Date       Time      Subject

1    Dean        11/28/97   09:12 New Enroll

2    President   11/28/97   11:55 Discrim. Policy

3    JSmith      12/01/97   10:16 Grade in Class

4    MChen       12/01/97   15:43 Research Paper

5    Dean        12/01/97   16:28 Faculty Mtg.

6    KHaddad     12/02/97   07:48 Personnel Mtg.



      Based on arrival date & time attributes
Sequential File Organization

  Table ordered by Student ID Number   Table ordered by Student (Last) Name


Student ID Number    Student Name      Student ID Number    Student Name
    102-58-9762       Smith, Fred         204-78-7652       Baker, Jane

    204-78-7652       Baker, Jane         450-22-9611       Chang, Minder

    371-48-4133       Haddad, Kamal       371-48-4133       Haddad, Kamal

    450-22-9611       Chang, Minder       558-56-6749       Favre, Brett

    557-38-9120       Rice, Jerry         557-38-9120       Rice, Jerry

    558-56-6749       Favre, Brett        102-58-9762       Smith, Fred
Student Master Table ordered by Student ID
Number
Student ID Number          Student Name       Insertion of new records
     102-58-9762           Smith, Fred
                                                in a Sequential Table
     204-78-7652           Baker, Jane

     371-48-4133           Haddad, Kamal

     450-22-9611           Chang, Minder              NEW Student Master Table
                                                     ordered by Student ID Number
     557-38-9120           Rice, Jerry
                                             Student ID Number    Student Name
     558-56-6749           Favre, Brett
                                                 102-58-9762        Smith, Fred
                                                 204-78-7652        Baker, Jane
                                                 298-73-0912        Jackson, Janet
       Insert new students:
   298-73-0912      Jackson, Janet               371-48-4133        Haddad, Kamal
   557-93-8247      Carey, Mariah                450-22-9611        Chang, Minder
                                                 557-38-9120        Rice, Jerry

                                                 557-93-8247        Carey, Mariah

                                                 558-56-6749        Favre, Brett
A discussion of the Direct (Relative) Table
    Organization Method is in the text
but not planned for classroom discussion.
Conceptual Model of an Index Table Organization
    Student ID # Index
   102-58-9762       4                                Student Master Table
   204-78-7652       6
   298-73-0912       3                      Student ID #   Student Name Etc...
                                        1   371-48-4133    Haddad, Kamal
   371-48-4133       1
   450-22-9611       8                  2   557-93-8247    Carey, Mariah
   557-38-9120       7                  3   298-73-0912    Jackson, Janet
   557-93-8247       2                  4   102-58-9762    Smith, Fred
   558-56-6749       5                  5   558-56-6749    Favre, Brett
                                        6   204-78-7652    Baker, Jane
                                        7   557-38-9120    Rice, Jerry
                                        8   450-22-9611    Chang, Minder



                                              Note: This Table will normally have
                                              dozens of attributes.
1. Search Student Index Table to find Student ID Number.
2. Get Pointer Value and access that record in Student Master Table to
   find the actual student record.
Relational Database Normalization
Relational Database
          Normalization
“The process of simplifying complex data
 structures so that the resulting data
 structures will be more easily maintained
 and more flexible to meet present and
 future needs of the user.” (Norman, 1996)
Relational Database
          Normalization

“… data analysis uses a procedure called
 normalization to simplify entities,
 eliminate redundancy, and build flexibility
 into the data model.” (Whitten, 1989)
Why Normalization?

  • Find entities (tables)


  • Avoid anomalies
Sample Data
ROWID   ID     NAME   COURSE   GRADE   MAJOR
1       020    Jim    IDS301   A       IDS
2       020    Jim    IDS180   B       IDS
3       025    Joe    CS137    A       CS
4       196    Mary   IDS301   A       IDS
5       196    Mary   IDS480   B       IDS
6       196    Mary   FIN323   B       IDS
Deletion Anomalies

• Deletion anomalies: When a value for one
  attribute is unexpectedly removed when a
  value for another attribute is deleted.
• E.g. deleting row 3 results in the ‘loss’ of
  the CS major
Update Anomalies
• Update anomalies: In order to effect a
  change to a single attribute, changes to
  multiple rows of a table must be made.

• E.g. Rows 4-6 must be changed to
  accommodate a name change for ‘Mary’.
Insert Anomalies
• Insert anomalies: Need to store a value for
  an attribute but cannot because the value
  for another attribute is unknown.
• E.g. cannot add a complete record for
  ‘Ron’, until he completes a class and
  receives a grade!
E. F. Codd
• Each attribute is dependent on the key,
  the whole key, and nothing but the key, …
  so help me Codd
Order Number                 ABC Incorporated             Order Date
                                  SALES ORDER FORM
     Customer Number
     Customer Name
     Street Address
     City                                  State           Zip Code

    Product      Product                           Unit                       Total
    Number        Name                    Color    Price   Quantity           Price
1
2
3
4
5
6
7

     Come to ABC Incorporated for                    ORDER TOTAL
     all your technology needs.
                                                     SALES TAX
     Thank you for your patronage.                   SHIPPING

     You are a valued customer.                      GRAND TOTAL
Relational
                                Unnormalized
  Database                      Data Structure              1.
                                                    Remove Attributes
Normalization                                         that can have
                                                     multiple values
                  2.           Data Structure in
          Remove non-key
                              First Normal Form
           attributes that
            are not fully,
            functionally
          dependent on all
          attributes in the
            primary key       Data Structure in               3.
               (partial       Second Normal         Remove attributes
            dependency)             Form             that are uniquely
                                                   identified by another
                                                     non-key attribute
 4th Normal Form               Data Structure in         (transitive
 Boyce-Codd NF                Third Normal Form        dependency)
 5th Normal Form
 Domain-Key NF
Sales Order
Class with                     SalesOrder
  Objects     orderNumber (primary key)
              orderDate

              customerNumber
              customerName
              customerAddress
              customerCity
              customerState
              customerZipcode

              For each product ordered (up to 7)
                 productNumber
                 productName
                 productColor
                 productUnitPrice
                 productQuantity
                 productTotalPrice (derived)

              orderTotal (derived)
              orderTax (derived)
              orderDelivery (derived)
              orderGrandTotal (derived)
                                services
SalesOrder and ProductsOrdered Classes with Objects in First N.F.

          SalesOrder                                          1.
  orderNumber (primary key)                           Remove Attributes
  orderDate                                             that can have
                                                       multiple values
  customerNumber                    1,7
  customerName
  customerAddress
  customerCity
  customerState
  customerZipcode

  orderTotal (derived)
  orderTax (derived)
  orderDelivery (derived)
                                                      1
  orderGrandTotal (derived)
            services                      ProductsOrdered
                                   orderNumber (primary key)
                                   productNumber (primary key)
                                   productName
                                   productColor
                                   productUnitPrice
                                   productQuantity
                                   productTotalPrice (derived)
                                               services
Order Number                      ABC Incorporated                          Order Date
            34820                      SALES ORDER FORM                             12/02/97

     Customer Number                 534
     Customer Name             Norman Business Systems, Inc.
     Street Address             7150 University Blvd., Suite 218
     City     San Diego                              State CA             Zip Code    92108

    Product         Product                                    Unit                             Total
    Number           Name                           Color      Price      Quantity              Price
                    Intel Pentium CPU                              $675        1                    $675
1 IC-PENT                                             Bn
                    220 V. Power Supply                            $150        1                    $150
2 PS-220                                              Sl
                    102-key Keyboard                               $ 75        1                    $ 75
3 KB-102                                              Tn
                    Mouse - Serial                                 $ 65        2                    $130
4 MO-675                                              Tn
                    550 MB Hard Disk                               $325        1                    $325
5 HD-550                                              Sl

6
7

     Come to ABC Incorporated for                                   ORDER TOTAL                 $1,355
     all your technology needs.
                                                                    SALES TAX                   $    95
     Thank you for your patronage.                                  SHIPPING                    $    25

                                                                    GRAND TOTAL                 $1,475
     You are a valued customer.
SalesOrder
       orderNumber (primary key)           34820
       orderDate                           12/02/97
       customerNumber                      534
       customerName                        Norman Business Systems
       customerAddress                     7150 University Ave., Suite 218
       customerCity                        San Diego
       customerState                       CA
       customerZipcode                     92108
       orderTotal (derived)                1355
       orderTax (derived)                  95
       orderDelivery (derived)             25
       orderGrandTotal (derived)           1475
                  5
                  1


   ProductsOrdered
orderNumber (primary key)          34820               34820      34820      34820    34820
productNumber (primary key)        IC-PENT             PS-220     KB-102     MO-675   HD-550
                                   Intel Pentium CPU     etc...   etc...     etc...   etc...
productName
                                   Bn                  Sl         Tn         Tn       Sl
productColor                                                      75                  325
                                   675                 150                   65
productUnitPrice                   1                   1          1          2        1
productQuantity                    675                 150        75         130      325
productTotalPrice (derived)


          Sample Objects for SalesOrder and ProductsOrdered
Sample ProductsOrdered Objects for Several SalesOrders

                                                                                             34820
                                                                                    34820    HD-550
     ProductsOrdered                                                  34820         MO-675   etc...
                                                           34820      KB-102        etc...   Sl
orderNumber (primary key)           34820                  PS-220     etc...        Tn       325
productNumber (primary key)         IC-PENT                etc...     Tn            65       1
productName                         Intel Pentium CPU      Sl         75            2        325
productColor                        Bn                     150        1             130
productUnitPrice                    675                    1          75
productQuantity                     1                      150
productTotalPrice (derived)         675
          services
                                                        (continued)



                                                                                             34823
                                                                               34823         HD-550
                                                             34822             IC-80486      etc...
                                        34821                KB-102
                  34821                                                        Intel 80486   Sl
                                        PS-220               102-key
                  IC-80486                                                     CPU           325
                                        220 V. Power         Keyboard
                  Intel 80486 CPU                                              Bn            3
                                        Supply               Tn
                  Bn                                                           325           975
                                        Sl                   75
                  325                                                          2
                                        150                  4
                  10                                                           650
                                        3                    300
                  3,250                 450
Sales Order Data Structure
             SalesOrder
      orderNumber (primary key)                in Second Normal Form
      orderDate

      customerNumber                                                             2.
      customerName                                                       Remove non-key
      customerAddress
                                        1,7
                                                                          attributes that
      customerCity
      customerState                                                        are not fully,
      customerZipcode                                                      functionally
                                                                         dependent on all
      orderTotal (derived)
      orderTax (derived)                                                 attributes in the
      orderDelivery (derived)                                              primary key
      orderGrandTotal (derived)                                               (partial
              services                                                     dependency)
                                                                 1
                                                      ProductsOrdered
            Product
productNumber (primary key)                    orderNumber (primary key)
                                  0,m          productNumber (primary key)
productName
productColor                             1     productUnitPrice
productUnitPrice                               productQuantity
                                               productTotalPrice (derived)
           services
                                                         services
SalesOrder                               Sample Objects For Second
          orderNumber (primary key)
          orderDate
                                                              Normal Form Sales Order
          customerNumber
          customerName
          customerAddress                              1,m
          customerCity
          customerState
          customerZipcode
          orderTotal (derived)
          orderTax (derived)                                         1
          orderDelivery (derived)                                             etc.....
          orderGrandTotal (derived)
                  services                              ProductsOrdered
                                                        orderNumber (primary key)               34820
                                                        productNumber (primary key)             IC-PENT
                                                        productUnitPrice                        675
                                                        productQuantity                         1
                                                        productTotalPrice (derived)             675




       Product
productNumber (primary    IC-80486            PS-220              KB-102              MO-675         HD-550
key)                      Intel Pentium CPU   220 V. Power        102-key Keyboard    Mouse -        550 MB HD
productName               Bn                  Supply              Tn                  Serial         Sl
productColor              675                 Sl                  75                  Tn             325
      services
productUnitPrice                              150                                     65
SalesOrder                                         Customer
                                                        customerNumber (primary key)
   orderNumber (primary key)         1
   orderDate                                            customerName
                                                  0,m   customerAddress
   customerNumber                                       customerCity
                                      1,m               customerState
   orderTotal (derived)                                 customerZipcode
   orderTax (derived)
   orderDelivery (derived)                                       services
   orderGrandTotal (derived)

             services

                                         3.
                                Remove attributes
                                 that are uniquely
                               identified by another
                                 non-key attribute                      1
                                    (transitive
                                   dependency)            ProductsOrdered
            Product                                     orderNumber (primary key)
productNumber (primary key)         0,m                 productNumber (primary key)
productName                                             productUnitPrice
productColor                                       1    productQuantity
productUnitPrice                                        productTotalPrice (derived)
            services                                            services




      Sales Order Data Structure in Third Normal Form
Order         Order   Customer   OrderTotal OrderTax OrderDelivery      OrderGrand
             Number        Date     Number     (derived)  (derived) (derived)         Total (derived)
SalesOrder
             34820     12/02/95    534          1355           95         25                1475

             34821     12/02/95    871          7200          504         15                7719

             34822     12/02/95    290           300           21         17                  338


                OrderNumber ProductNumber         ProductUnitPrice ProductQuantity    ProductTotalPrice
                                                                                        (derived)
ProductsOrdered       34820        IC-PENT             675                  1              675
                      34820        PS-220               150                 1              150
                      34820        KB-102               75                  1               75
                      34820        MO-675               65                  2              130
                      34820        HD-550              325                  1              325
                      34821        IC-80486            325                  10            6750
                      34821        PS-220              150                  3              450
                      34822        KB-102               75                  4              300

                ProductNumber ProductName                 ProductColor      ProductUnitPrice
                     IC-PENT      Intel Pentium CPU         Bn               675
                     IC-80486    Intel 80486/DX4 CPU         Sl              325
    Product          HD-550       550 MB Hard Disk           Sl              325
                     HD-1GB      1-GB Hard Disk             Sl                550
                     KB-102      102-key Keyboard           Tn                 75
                     MN-209      NEC .29 Monitor            Tn                375
                     MO-675      Mouse - Serial
                 Customer Customer                          Tn
                                                        Customer               65         Customer      Cust Custome
                     PS-220
                  Number   Name 220 V. Power Supply         Sl
                                                        Address               150          City         St Zipcode
                     107    Chips ‘N Bits              824 E. Main Street                 Pasadena CA 92875
                     290    Computers 4 U              925 W. Broadway Avenue             Tucson     AZ 85721
    Customer         534    Norman Business Systems     7150 University Ave., Suite 218     San Diego CA 92108
                     871    Computers Unlimited        2978 So. Grand Avenue               Lansing   MI 48286
Normalization Summary
  Conversion to First Normal Form
  (remove multi-valued attributes)
                                                                   Conversion to Third
                                    ABEF                             Normal Form
  primary    CD                            primary keys
    key                                                   (Remove attributes uniquely identified
           CD                                             by another non-key attribute
          C D                        AC    D
                                                          (transitive dependencies)
                                     AC    D
       AB CDEF                       AC    D
                                     AC    D
                                                                           A B      C
       Conversion to Second Normal Form
(Remove non-key attributes not fully, functionally                        primary key
dependent on all attributes in the key
[partial dependencies])

                                  ABC

     ABCD                               primary keys


   primary keys                    AD                               A B                 B C
                                                                          primary key
                     = dependency                                             = dependency
Normalization Example
  Course Registration Record

  Id _________ Name __________
  Address ___________________
          _____________________

  Course Request List
  Course Title Units Grade
  ____________________________
  ____________________________
  ____________________________

  Year ________     Term ______
  Class Level ___   Fees _______
Why Object-Oriented Database Management Systems?

• OODB supports new types of applications that no relational,

network, or hierarchical database system is well suited.

• Object-oriented languages are rapidly gaining acceptance, and

OODB has proven to be able to support the persistent data needs

better than the conventional record-based database models

(relational, network, and hierarchical).

• The majority of conceptual language-design work from object-

oriented programming languages carries over easily to OODB.

• Information systems are becoming more and more rigorous and

sophisticated.
Object-Oriented Data Model

   Traditional       Semantic         Object-Oriented
Database Systems    Data Model         Programming
• Persistence                         • Complex objects
                   • Aggregation
• Sharing                             • Object identity
                   • Generalization
• Query Language                      • Classes &
• Transaction                             Methods
    Processing                        • Encapsulation
                                      • Inheritance
                                      • Extensibility




           Object-Oriented Data Model
Common Characteristics of an Object Data Model

• Supports the representation of complex objects

• Extensibility; allows the definition of new data types

as well as operations that act on them

• Encapsulation of data and methods

• Inheritance of data and methods from other objects

• Object identity
The Object-Oriented Database
    Management System Manifesto Rules
The system must:
1. Support complex objects
2. Support object identity
3. Allow objects to be encapsulated
4. Support types or classes
5. Support inheritance
6. Avoid premature binding
7. Be computationally complete
8. Be extensible

9. Be able to remember data locations
10. Be able to manage very large databases
11. Accept concurrent users
12. Be able to recover from hardware/software failures
13. Support data query in a simple way
Strengths and Weaknesses of an OODB


1. Data Modeling                Strengths
2. Non-homogenous data
                                      Weaknesses
3. Variable length and

  long strings

4. Complex objects
                         1. New problem solving approach
5. Version control
                         2. Lack of a common data model
6. Schema evolution        with a strong theoretical foundation
7. Equivalent objects    3. Limited success stories

8. Long transactions

9. User Benefits
Normalizationindbms ppt examples8

More Related Content

DOCX
قاعد البيانات الشيئية الموجهة نحو الهدف Object
PPTX
Fundamentals of database system - Data Modeling Using the Entity-Relationshi...
PPTX
Object oriented database model
PDF
Object Oriented Programming with Real World Examples
PDF
2024 Trend Updates: What Really Works In SEO & Content Marketing
PDF
Storytelling For The Web: Integrate Storytelling in your Design Process
PDF
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
PDF
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
قاعد البيانات الشيئية الموجهة نحو الهدف Object
Fundamentals of database system - Data Modeling Using the Entity-Relationshi...
Object oriented database model
Object Oriented Programming with Real World Examples
2024 Trend Updates: What Really Works In SEO & Content Marketing
Storytelling For The Web: Integrate Storytelling in your Design Process
Artificial Intelligence, Data and Competition – SCHREPEL – June 2024 OECD dis...
How to Leverage AI to Boost Employee Wellness - Lydia Di Francesco - SocialHR...
Ad

Normalizationindbms ppt examples8

  • 2. 23 Observations about DATA bc 1 a • Data are the most stable part of an organization’s information system • Permanent data are stored in tables within a database • Permanent storage of data is also referred xyz to as persistent data 7 89
  • 3. 2 3 Why do we need database design? a bc 1 • A quality I.S. demands a quality db design • Avoid redundancy (duplication) of data • Insures simple db structures which allow for maximum effective utilization of the data xyz 7 89
  • 4. Analysis to Design (Logical model to Physical model) Student Major Analysis (Logical) iD code name name Design Student Major (Physical) iD note: name code majorCode majorCode name is a synonym for code
  • 5. Example of Duplicate Data (notice the redundancy in the data values) First Name Last Name Student ID Course Taken Grade John Adams 123-45-6789 IDS-306 B John Adams 123-45-6789 IDS-406 A John Adams 123-45-6789 IDS-315 B+ Susan Baker 987-65-4321 IDS-250 A Susan Baker 987-65-4321 IDS-315 A- Susan Baker 987-65-4321 IDS-306 B Susan Baker 987-65-4321 IDS-480 B Kim Le 789-12-3456 IDS-180 A Kim Le 789-12-3456 IDS-250 A
  • 6. Distribute the data into 2 tables (notice the reduction in redundancy) First Last Course Student ID Taken Grade Name Name Student ID 123-45-6789 IDS-306 B John Adams 123-45-6789 123-45-6789 IDS-406 A Susan Baker 987-65-4321 123-45-6789 IDS-315 B+ Kim Le 789-12-3456 987-65-4321 IDS-250 A 987-65-4321 IDS-315 A- 987-65-4321 IDS-306 B 987-65-4321 IDS-480 B 789-12-3456 IDS-180 A 789-12-3456 IDS-250 A Foreign Key
  • 7. Hierarchical Components of Persistent Data Bits 01110001 Bytes A, B, ... Z, 0,1...9, #, &, $, etc... Attributes Template First Name Middle Initial Last Name Social Security Number State Ronald J Norman 559-65-8213 CA Values, states, or instances First Name Middle Initial Last Name Social Security Number State Ronald J Norman 559-65-8213 CA Records (each row is a record) Rashmi B Kumar 371-48-4562 MI James R Logan 559-63-8472 OR Susan L Johnson 243-74-5219 NY
  • 8. TABLES (Individual Files or all part of a database) First Name Middle Initial Last Name Social Security Number State Table #1 CA Ronald J Norman 559-65-8213 Student Rashmi B Kumar 371-48-4562 MI Information James R Logan 559-63-8472 OR Susan L Johnson 243-74-5219 NY Course Number Course Name Units Department Table #2 Act102 Accounting Principles 3 Accounting Bio101 Intro to Biology 3 Biology Course Chm109 Organic Chemistry 3 Chemistry Information Eco104 Macro Economics 3 Economics Eng100 Beginning English 3 English MIS111 Intro. to Computers 3 M.I.S. Mkt114 Principles of Marketing 3 Marketing Department PEd118Department Head Telephone No. of Majors Beginning Golf 1 Phys. Educ. AccountingPhl108 J.Philosophy Morgan 594-2348 3 Philosophy 275 Biology Soc105 S.Cultural Changes594-4459 3 Tishman Sociology 110 Chemistry P. Dayson 594-7728 120 Table #3 Economics R. Kumar 594-0923 75 Department English J. Amar 594-8276 60 Information M.I.S. K. Kettleman 594-1010 175 Marketing A. Winters 594-2034 140 Phys. Educ. T. Tolner 594-2229 225 Philosophy A. Hayley 594-9011 150 Sociology B. O’Neal 594-3927 70
  • 9. Seven Table (file) Types • Master • Transaction • “Table” • Temporary • Log • Mirror • Archive
  • 10. Master Table - reference (foundational) data for the information system Student Master Table Social Security First Middle Last Number Name Initial Name Zipcode Telephone etc....... 123-45-6789 Jim R Thomas 91942 464-3782 etc... 321-54-6638 Mary J Wilson 92020 571-2190 etc... 559-38-8921 Minder Chang 91938 291-8374 etc...
  • 11. Transaction Table - holds the business activity for the information system Course Registration Transaction Table Course Course Course Transaction Serial # Number Section # Student # Semester Date/Time 10294 Eng100 5 559680843 Spr95 941115/1202 29832 MIS111 2 525987391 Spr95 941115/1202 42198 Act102 2 371234959 Spr95 941115/1202 17620 Soc118 1 559680843 Spr95 941115/1203 10294 Eng100 5 224942874 Spr95 941115/1203 28734 PhE119 3 104873298 Spr95 941115/1203 44398 Chm107 2 525987391 Spr95 941115/1204
  • 12. “Table” Table - Static (relatively) table of values State Code Table Sales Tax Code Table Sale Range Sales Tax State Code State Name .00 - .09 .00 AL Alabama .10 - .24 .01 AZ Arizona .25 - .39 .02 CA California .40 - .54 .03 CO Colorado .55 - .69 .04 WY Wyoming .70 - .84 .05 .85 - .99 .06
  • 13. Temporary Table - created and used briefly OR over an extended period of time to help the information system accomplish its intended purpose Log Table - contains copies of Master and Transaction table records for audit, statistical, and recovery purposes Mirror Table - an exact copy of one of the other types of tables used to minimize or eliminate information system downtime Archive Table - a historical copy of a master, transaction, “table”, or log table
  • 14. DATABASE DESIGN • Database = one or more related tables (files) • Folder = Metaphor for holding a database • Data Structures - another name for records • Simplicity • Non-redundancy • Data Structure Modeling: • Entity-Relationship Diagrams • Object Models: • Generalization-Specialization Structure • Whole-Part Object Connection w/constraints • Object Connection w/constraints
  • 15. Attribute (field) Types • Key - used to identify & find one or more records in a table (file) • Primary - unique; identifies one specific record; table may need to combine two or more attributes to accomplish this (Examples: customer #, student #, VIN #, UPC #) • Secondary - non-unique - may identify multiple records; another way to identify one or more records in a file (Examples: customer name, zip code, city, last name) • Foreign - attributes added to a table to associate a record in the table with one or more records in one or more OTHER tables (Example: “Courses Taken” table has a student # in it) • Descriptor - characteristics that describe the data; some of these attributes are used for Audit & Control purposes, Security purposes, or programmer consistency & control purposes
  • 16. Key Examples • Student Account Number • Bank Account Number Primary • Vehicle ID Number (unique) • Credit Card Number • University Course Schedule Number • University Course Number + Section Number • Student Last Name Secondary • Vehicle Type • State (non-unique) • Zipcode • Student Account Number -----> Courses Taken Foreign •Vehicle Type -----> Description of this Type (association) • State -----> Table of State Codes & Descriptions • City ---> Table of valid zip codes for each city
  • 17. Key Attribute Examples Key Attribute Name Instance (Value or State) Example Student ID Number 68372 Social Security Number 559-68-0923 Vehicle ID Number JA3XC52BONY002400 Course Number MIS-111 VISA Card Number 4128 0022 2048 2552 Checking Account Number 128-0049 Video Store Account Number Norm001
  • 18. Foreign Key Example Student Information Table* Course Information Table* Student Name Student ID Number Student ID Number Course Number Adams 371-48-4326 557-33-5849 Bio101 Jones 559-62-0987 243-98-7615 Bio101 Kumar 243-98-7615 558-97-8221 Bio101 Lopez 337-89-6212 371-48-4326 Eng103 Norman 558-97-8221 298-88-7643 Eng103 Smith 557-33-5849 557-33-5849 MIS111 Zumwalt 298-88-7643 558-97-8221 MIS111 337-89-6212 PE118 243-98-7615 Phl125 298-88-7643 Phl125 559-62-0987 Phl125 337-89-6212 Phl125 Foreign Key ote: Both of these tables would have additional attributes (colum
  • 19. Seven Table (file) Types • Master • Transaction • “Table” • Temporary • Log • Mirror • Archive These different types of tables have access and organization needs/requirements…next page
  • 20. Table Access & Organization Table Access: Method of reading or writing records • Sequential - first to last, vice versa • Direct - any record Table Organization: Method of storing records • Serial - based on arrival time of data • Sequential - based on sorted attribute(s) • Relative or Direct - based on an algorithm • Indexed - based on maintaining a sorted index of attribute values separate from the data
  • 21. Serial File Organization E-Mail InBox File From Date Time Subject 1 Dean 11/28/97 09:12 New Enroll 2 President 11/28/97 11:55 Discrim. Policy 3 JSmith 12/01/97 10:16 Grade in Class 4 MChen 12/01/97 15:43 Research Paper 5 Dean 12/01/97 16:28 Faculty Mtg. 6 KHaddad 12/02/97 07:48 Personnel Mtg. Based on arrival date & time attributes
  • 22. Sequential File Organization Table ordered by Student ID Number Table ordered by Student (Last) Name Student ID Number Student Name Student ID Number Student Name 102-58-9762 Smith, Fred 204-78-7652 Baker, Jane 204-78-7652 Baker, Jane 450-22-9611 Chang, Minder 371-48-4133 Haddad, Kamal 371-48-4133 Haddad, Kamal 450-22-9611 Chang, Minder 558-56-6749 Favre, Brett 557-38-9120 Rice, Jerry 557-38-9120 Rice, Jerry 558-56-6749 Favre, Brett 102-58-9762 Smith, Fred
  • 23. Student Master Table ordered by Student ID Number Student ID Number Student Name Insertion of new records 102-58-9762 Smith, Fred in a Sequential Table 204-78-7652 Baker, Jane 371-48-4133 Haddad, Kamal 450-22-9611 Chang, Minder NEW Student Master Table ordered by Student ID Number 557-38-9120 Rice, Jerry Student ID Number Student Name 558-56-6749 Favre, Brett 102-58-9762 Smith, Fred 204-78-7652 Baker, Jane 298-73-0912 Jackson, Janet Insert new students: 298-73-0912 Jackson, Janet 371-48-4133 Haddad, Kamal 557-93-8247 Carey, Mariah 450-22-9611 Chang, Minder 557-38-9120 Rice, Jerry 557-93-8247 Carey, Mariah 558-56-6749 Favre, Brett
  • 24. A discussion of the Direct (Relative) Table Organization Method is in the text but not planned for classroom discussion.
  • 25. Conceptual Model of an Index Table Organization Student ID # Index 102-58-9762 4 Student Master Table 204-78-7652 6 298-73-0912 3 Student ID # Student Name Etc... 1 371-48-4133 Haddad, Kamal 371-48-4133 1 450-22-9611 8 2 557-93-8247 Carey, Mariah 557-38-9120 7 3 298-73-0912 Jackson, Janet 557-93-8247 2 4 102-58-9762 Smith, Fred 558-56-6749 5 5 558-56-6749 Favre, Brett 6 204-78-7652 Baker, Jane 7 557-38-9120 Rice, Jerry 8 450-22-9611 Chang, Minder Note: This Table will normally have dozens of attributes. 1. Search Student Index Table to find Student ID Number. 2. Get Pointer Value and access that record in Student Master Table to find the actual student record.
  • 27. Relational Database Normalization “The process of simplifying complex data structures so that the resulting data structures will be more easily maintained and more flexible to meet present and future needs of the user.” (Norman, 1996)
  • 28. Relational Database Normalization “… data analysis uses a procedure called normalization to simplify entities, eliminate redundancy, and build flexibility into the data model.” (Whitten, 1989)
  • 29. Why Normalization? • Find entities (tables) • Avoid anomalies
  • 30. Sample Data ROWID ID NAME COURSE GRADE MAJOR 1 020 Jim IDS301 A IDS 2 020 Jim IDS180 B IDS 3 025 Joe CS137 A CS 4 196 Mary IDS301 A IDS 5 196 Mary IDS480 B IDS 6 196 Mary FIN323 B IDS
  • 31. Deletion Anomalies • Deletion anomalies: When a value for one attribute is unexpectedly removed when a value for another attribute is deleted. • E.g. deleting row 3 results in the ‘loss’ of the CS major
  • 32. Update Anomalies • Update anomalies: In order to effect a change to a single attribute, changes to multiple rows of a table must be made. • E.g. Rows 4-6 must be changed to accommodate a name change for ‘Mary’.
  • 33. Insert Anomalies • Insert anomalies: Need to store a value for an attribute but cannot because the value for another attribute is unknown. • E.g. cannot add a complete record for ‘Ron’, until he completes a class and receives a grade!
  • 34. E. F. Codd • Each attribute is dependent on the key, the whole key, and nothing but the key, … so help me Codd
  • 35. Order Number ABC Incorporated Order Date SALES ORDER FORM Customer Number Customer Name Street Address City State Zip Code Product Product Unit Total Number Name Color Price Quantity Price 1 2 3 4 5 6 7 Come to ABC Incorporated for ORDER TOTAL all your technology needs. SALES TAX Thank you for your patronage. SHIPPING You are a valued customer. GRAND TOTAL
  • 36. Relational Unnormalized Database Data Structure 1. Remove Attributes Normalization that can have multiple values 2. Data Structure in Remove non-key First Normal Form attributes that are not fully, functionally dependent on all attributes in the primary key Data Structure in 3. (partial Second Normal Remove attributes dependency) Form that are uniquely identified by another non-key attribute 4th Normal Form Data Structure in (transitive Boyce-Codd NF Third Normal Form dependency) 5th Normal Form Domain-Key NF
  • 37. Sales Order Class with SalesOrder Objects orderNumber (primary key) orderDate customerNumber customerName customerAddress customerCity customerState customerZipcode For each product ordered (up to 7) productNumber productName productColor productUnitPrice productQuantity productTotalPrice (derived) orderTotal (derived) orderTax (derived) orderDelivery (derived) orderGrandTotal (derived) services
  • 38. SalesOrder and ProductsOrdered Classes with Objects in First N.F. SalesOrder 1. orderNumber (primary key) Remove Attributes orderDate that can have multiple values customerNumber 1,7 customerName customerAddress customerCity customerState customerZipcode orderTotal (derived) orderTax (derived) orderDelivery (derived) 1 orderGrandTotal (derived) services ProductsOrdered orderNumber (primary key) productNumber (primary key) productName productColor productUnitPrice productQuantity productTotalPrice (derived) services
  • 39. Order Number ABC Incorporated Order Date 34820 SALES ORDER FORM 12/02/97 Customer Number 534 Customer Name Norman Business Systems, Inc. Street Address 7150 University Blvd., Suite 218 City San Diego State CA Zip Code 92108 Product Product Unit Total Number Name Color Price Quantity Price Intel Pentium CPU $675 1 $675 1 IC-PENT Bn 220 V. Power Supply $150 1 $150 2 PS-220 Sl 102-key Keyboard $ 75 1 $ 75 3 KB-102 Tn Mouse - Serial $ 65 2 $130 4 MO-675 Tn 550 MB Hard Disk $325 1 $325 5 HD-550 Sl 6 7 Come to ABC Incorporated for ORDER TOTAL $1,355 all your technology needs. SALES TAX $ 95 Thank you for your patronage. SHIPPING $ 25 GRAND TOTAL $1,475 You are a valued customer.
  • 40. SalesOrder orderNumber (primary key) 34820 orderDate 12/02/97 customerNumber 534 customerName Norman Business Systems customerAddress 7150 University Ave., Suite 218 customerCity San Diego customerState CA customerZipcode 92108 orderTotal (derived) 1355 orderTax (derived) 95 orderDelivery (derived) 25 orderGrandTotal (derived) 1475 5 1 ProductsOrdered orderNumber (primary key) 34820 34820 34820 34820 34820 productNumber (primary key) IC-PENT PS-220 KB-102 MO-675 HD-550 Intel Pentium CPU etc... etc... etc... etc... productName Bn Sl Tn Tn Sl productColor 75 325 675 150 65 productUnitPrice 1 1 1 2 1 productQuantity 675 150 75 130 325 productTotalPrice (derived) Sample Objects for SalesOrder and ProductsOrdered
  • 41. Sample ProductsOrdered Objects for Several SalesOrders 34820 34820 HD-550 ProductsOrdered 34820 MO-675 etc... 34820 KB-102 etc... Sl orderNumber (primary key) 34820 PS-220 etc... Tn 325 productNumber (primary key) IC-PENT etc... Tn 65 1 productName Intel Pentium CPU Sl 75 2 325 productColor Bn 150 1 130 productUnitPrice 675 1 75 productQuantity 1 150 productTotalPrice (derived) 675 services (continued) 34823 34823 HD-550 34822 IC-80486 etc... 34821 KB-102 34821 Intel 80486 Sl PS-220 102-key IC-80486 CPU 325 220 V. Power Keyboard Intel 80486 CPU Bn 3 Supply Tn Bn 325 975 Sl 75 325 2 150 4 10 650 3 300 3,250 450
  • 42. Sales Order Data Structure SalesOrder orderNumber (primary key) in Second Normal Form orderDate customerNumber 2. customerName Remove non-key customerAddress 1,7 attributes that customerCity customerState are not fully, customerZipcode functionally dependent on all orderTotal (derived) orderTax (derived) attributes in the orderDelivery (derived) primary key orderGrandTotal (derived) (partial services dependency) 1 ProductsOrdered Product productNumber (primary key) orderNumber (primary key) 0,m productNumber (primary key) productName productColor 1 productUnitPrice productUnitPrice productQuantity productTotalPrice (derived) services services
  • 43. SalesOrder Sample Objects For Second orderNumber (primary key) orderDate Normal Form Sales Order customerNumber customerName customerAddress 1,m customerCity customerState customerZipcode orderTotal (derived) orderTax (derived) 1 orderDelivery (derived) etc..... orderGrandTotal (derived) services ProductsOrdered orderNumber (primary key) 34820 productNumber (primary key) IC-PENT productUnitPrice 675 productQuantity 1 productTotalPrice (derived) 675 Product productNumber (primary IC-80486 PS-220 KB-102 MO-675 HD-550 key) Intel Pentium CPU 220 V. Power 102-key Keyboard Mouse - 550 MB HD productName Bn Supply Tn Serial Sl productColor 675 Sl 75 Tn 325 services productUnitPrice 150 65
  • 44. SalesOrder Customer customerNumber (primary key) orderNumber (primary key) 1 orderDate customerName 0,m customerAddress customerNumber customerCity 1,m customerState orderTotal (derived) customerZipcode orderTax (derived) orderDelivery (derived) services orderGrandTotal (derived) services 3. Remove attributes that are uniquely identified by another non-key attribute 1 (transitive dependency) ProductsOrdered Product orderNumber (primary key) productNumber (primary key) 0,m productNumber (primary key) productName productUnitPrice productColor 1 productQuantity productUnitPrice productTotalPrice (derived) services services Sales Order Data Structure in Third Normal Form
  • 45. Order Order Customer OrderTotal OrderTax OrderDelivery OrderGrand Number Date Number (derived) (derived) (derived) Total (derived) SalesOrder 34820 12/02/95 534 1355 95 25 1475 34821 12/02/95 871 7200 504 15 7719 34822 12/02/95 290 300 21 17 338 OrderNumber ProductNumber ProductUnitPrice ProductQuantity ProductTotalPrice (derived) ProductsOrdered 34820 IC-PENT 675 1 675 34820 PS-220 150 1 150 34820 KB-102 75 1 75 34820 MO-675 65 2 130 34820 HD-550 325 1 325 34821 IC-80486 325 10 6750 34821 PS-220 150 3 450 34822 KB-102 75 4 300 ProductNumber ProductName ProductColor ProductUnitPrice IC-PENT Intel Pentium CPU Bn 675 IC-80486 Intel 80486/DX4 CPU Sl 325 Product HD-550 550 MB Hard Disk Sl 325 HD-1GB 1-GB Hard Disk Sl 550 KB-102 102-key Keyboard Tn 75 MN-209 NEC .29 Monitor Tn 375 MO-675 Mouse - Serial Customer Customer Tn Customer 65 Customer Cust Custome PS-220 Number Name 220 V. Power Supply Sl Address 150 City St Zipcode 107 Chips ‘N Bits 824 E. Main Street Pasadena CA 92875 290 Computers 4 U 925 W. Broadway Avenue Tucson AZ 85721 Customer 534 Norman Business Systems 7150 University Ave., Suite 218 San Diego CA 92108 871 Computers Unlimited 2978 So. Grand Avenue Lansing MI 48286
  • 46. Normalization Summary Conversion to First Normal Form (remove multi-valued attributes) Conversion to Third ABEF Normal Form primary CD primary keys key (Remove attributes uniquely identified CD by another non-key attribute C D AC D (transitive dependencies) AC D AB CDEF AC D AC D A B C Conversion to Second Normal Form (Remove non-key attributes not fully, functionally primary key dependent on all attributes in the key [partial dependencies]) ABC ABCD primary keys primary keys AD A B B C primary key = dependency = dependency
  • 47. Normalization Example Course Registration Record Id _________ Name __________ Address ___________________ _____________________ Course Request List Course Title Units Grade ____________________________ ____________________________ ____________________________ Year ________ Term ______ Class Level ___ Fees _______
  • 48. Why Object-Oriented Database Management Systems? • OODB supports new types of applications that no relational, network, or hierarchical database system is well suited. • Object-oriented languages are rapidly gaining acceptance, and OODB has proven to be able to support the persistent data needs better than the conventional record-based database models (relational, network, and hierarchical). • The majority of conceptual language-design work from object- oriented programming languages carries over easily to OODB. • Information systems are becoming more and more rigorous and sophisticated.
  • 49. Object-Oriented Data Model Traditional Semantic Object-Oriented Database Systems Data Model Programming • Persistence • Complex objects • Aggregation • Sharing • Object identity • Generalization • Query Language • Classes & • Transaction Methods Processing • Encapsulation • Inheritance • Extensibility Object-Oriented Data Model
  • 50. Common Characteristics of an Object Data Model • Supports the representation of complex objects • Extensibility; allows the definition of new data types as well as operations that act on them • Encapsulation of data and methods • Inheritance of data and methods from other objects • Object identity
  • 51. The Object-Oriented Database Management System Manifesto Rules The system must: 1. Support complex objects 2. Support object identity 3. Allow objects to be encapsulated 4. Support types or classes 5. Support inheritance 6. Avoid premature binding 7. Be computationally complete 8. Be extensible 9. Be able to remember data locations 10. Be able to manage very large databases 11. Accept concurrent users 12. Be able to recover from hardware/software failures 13. Support data query in a simple way
  • 52. Strengths and Weaknesses of an OODB 1. Data Modeling Strengths 2. Non-homogenous data Weaknesses 3. Variable length and long strings 4. Complex objects 1. New problem solving approach 5. Version control 2. Lack of a common data model 6. Schema evolution with a strong theoretical foundation 7. Equivalent objects 3. Limited success stories 8. Long transactions 9. User Benefits

Editor's Notes