1 / 37

Databases and DBMSs

Databases and DBMSs. Todd S. Bacastow January 2005. 1. Evolution. Ways of storing data. Files (1960) (ancient times) Databases Hierarchical (1970) Network (1970) Relational (1980) Object (1990). File terms. Record

lanza
Download Presentation

Databases and DBMSs

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Databases and DBMSs Todd S. Bacastow January 2005 1

  2. Evolution

  3. Ways of storing data • Files (1960) (ancient times) • Databases • Hierarchical (1970) • Network (1970) • Relational (1980) • Object (1990)

  4. File terms • Record • data items related to a single logical entity (e.g. a student’s information) or row in a table • Field • a place for a data item in a record (first name field in a student record) or a column in a table • File • a sequence of records of the same type (the table)

  5. File structures A file: “STUDENT” field ID Last First Grade 3 Smith Jane A 1 Wood Bob C 2 Kent Chuck B 4 Boone Dan B record

  6. File organization • Serial • new records appended • Sequential • records ordered in file, usually according to a numeric key

  7. File structures • Serial • list of entries in which the order of entry into the list determines the order of the list ID Last First Grade 3 Smith Jane A 1 Wood Bob C 2 Kent Chuck B 4 Boone Dan B

  8. File structures • Search of a simple list entails going through each record until the query is satisfied (linear search), which is inefficient ID Last First Grade 3 Smith Jane A 1 Wood Bob C 2 Kent Chuck B 4 Boone Dan B

  9. File structures • Sequential • list of entries ordered in some way (e.g. numerically or alphabetically) ID Last First Grade 1 Wood Bob C 2 Kent Chuck B 3 Smith Jane A 4 Boone Dan B

  10. File structures • Search of an ordered sequential list can use a search method ID Last First Grade 1 Wood Bob C 2 Kent Chuck B 3 Smith Jane A 4 Boone Dan B

  11. File structures • Indexes provide a reference to records based on an index field, which is ordered Last Pointer ID Last First Grade Boone * Kent * Smith * Wood * 1 Wood Bob C 2 Kent Chuck B 3 Smith Jane A 4 Boone Dan B

  12. Problems with files • Redundancy • number of files grows with applications, and data is duplicated • Inconsistency • data is updated in one application’s files, but not in another’s • Maintenance problems • changes to data structures mean changes to many programs • Difficulty combining data • business needs may mean users want data from different applications

  13. Other ways to organize • Data model • A data model is a particular way of conceptually organizing multiple data files in a database • Other common models • Hierarchical • Network • Relational • Object

  14. Network model

  15. Relationships: one-to-one one-to-many many-to-one many-to-many Network data model Class Student Instructor Department Grade ID

  16. Network data model • Advantages • flexible, fast, efficient • Disadvantages • Complex • Restructuring can be difficult because of changing all the pointers

  17. Hierarchical database model

  18. Hierarchical data model • Parent-child relationship: • one-to-one • one-to-many Class Student Instructor Department Grade ID

  19. Hierarchical data model • Advantages • easy to search • add new branches easily • Disadvantages • Must establish the types of search prior to development of the hierarchical structure

  20. Summary • Hierarchical and network data models have generally been replaced by the relational data model • Relational databases dominate the database market • Oracle • Informix • SQL Server • DB2 • ……..

  21. Relational database model • Stores both • Data about real world objects (entities) in tables • Relationships between the tables

  22. Relational database • Fields (columns) in the table store attributes. • Each attribute has a specific domain. • Tuples (or records or rows) in the table store information. • Each tuple is a unique instance of an object. • Tables are composed of a set of tuples. • A table is also called a relation.

  23. Terms • Table • A collection of relevant data relating to one type of real world objects. • Column • A specific place for one type of data relating to one type of real world objects. • Domain • Set of all possible values for a specific column. • Row • Collection of data describing one real world object. • Primary Key • Columns, which are part of the row and uniquely identify any one row.

  24. Records • Each record represents a logical entity (e.g. a student) • Each field represents an attribute of the logical entity Student ID Last First Grade Class 1 Wood Bob C IST357 2 Kent Chuck B IST115 3 Smith Jane A IST357 4 Boone Dan B IST357

  25. Keys • Each table has a primary key, one field (or a combination of fields) that has a unique value for each and every record in the table Student ID Last First Grade Class ID is the primary key in this table (two students may share either a last or first name) 1 Wood Bob C IST357 2 Kent Chuck B IST115 3 Smith Jane A IST357 4 Boone Dan B IST357

  26. Relating tables • Tables can be related (joined) together based on their keys • The idea is to decompose into separate tables with no redundancy and to provide a capability to reassemble with no information loss Student Class ID Last First Grade Class Name #Stud Instructor 1 Wood Bob C IST357 2 Kent Chuck B IST115 3 Smith Jane A IST357 4 Boone Dan B IST357 IST357 48 Jones IST115 120 Brower IST20 120 Fountain

  27. Relating tables Primary key Foreign key Primary key Student Class ID Last First Grade Class Name #Stud Instructor 1 Wood Bob C IST357 2 Kent Chuck B IST115 3 Smith Jane A IST357 4 Boone Dan B IST357 IST357 48 Jones IST115 120 Brower IST20 120 Mennis

  28. Relating tables Student Class ID Last First Grade Class Name #Stud Instructor 1 Wood Bob C IST357 2 Kent Chuck B IST115 3 Smith Jane A IST357 4 Boone Dan B IST357 IST20 120 Brower IST115 120 Jones IST357 48 Jones Instructor Name Office Jones 332 Brower 517

  29. The view on data used by External Schema application programs. The logical model of data that is Conceptual Schema separate from how it is used. The physical storage of data in Internal Schema files and indexes. DBMS Schema • Ultimately data in databases is stored in files, but their structure is hidden

  30. RDBMS Features • Data Definition Language (DDL) • Data Manipulation Language (DML) • Integrity Constraints • Transaction Management • Concurrency • Security • Tuning of Storage

  31. Data integrity and validation (Constraints)

  32. Relationships • Link between entities. • A relationship may define constraints. • E.G, a person can only have one SSN.

  33. Advantages of RDBMS • Eliminate unnecessary duplication of data • Enforce data integrity through constraints • Changes to conceptual schema need not affect external schema • Changes to internal schema need not affect the conceptual schema • Many tools are available to manage the database

  34. Disadvantages of RDBMS • To store objects (e.g., drawings) in a relational database, the objects have to be ‘flattened’ into tables • e.g., a digital representation of a parcel must be separated from the behaviour of other parcels • Complex objects have to be taken apart and the parts stored in different tables • When retrieved from the database, the object has to be reassembled from the parts in different tables

  35. Other Types of DBMS • Object DBMS • store objects as objects • designed to handle complex nested objects for graphical and multimedia applications • Object-relational DBMS • hybrid databases that can store data in tables but can also store objects in tables

  36. Object DBMS • ODBMS have the advantage that objects can be stored directly • Object databases are closely linked to programming languages with ways of navigating through the database

  37. Summary

More Related