database organization and design chapter 1 adapted from slides by raghu ramakrishnan,...
TRANSCRIPT
Database Organization and Design
Chapter 1
Adapted from slides by Raghu Ramakrishnan, [email protected]
What is a DBMS?
• A database is a (very) large, integrated collection of data
• A database is based upon a data representation (data model) of a real-world enterprise– Objects (or Entities, e.g., students, courses)– Relationships (e.g., Charlie Brown is in CS3610)
• A Database Management System (DBMS) is a software package designed to store and manage databases. E.g., UNIDATA, mysql, or Access
File Storage vs. a DBMS
• A DBMS can “stage” data (for large datasets) between main memory and secondary sources (disk, CD, tape)
• A DBMS provides efficient (indexed) access• A DBMS provides a built-in query language to facilitate data retrieval
– Permits free form queries– Standard language provides standard communication for programs using
embedded queries• A DBMS protects data from inconsistency by
– Enforcing referential integrity during data modification– Enforcing data format constraints– Providing controlled concurrent access
• A DBMS provides crash recovery• A DBMS provide multi-level security and access control• A DBMS allows for uniform administration of the data
Data Models
• A data model is the manner in which you describe some data.– The Entity Relationship Diagram (ERD) represents a conceptual
data model for describing objects and their relationships. The ERD is the most common of the conceptual data models. It has several variants.
• Main features of an ERD is entities, attributes, and relationships.– The relational data model is a conceptual data model for
implementing a database. The relational model is easily the most widely used model today.
• Main concept the relation: a table of records and fields• Every relation has a defining schema
• A schema is the description of a particular collection of data in a given data model.
Levels of Abstraction
View 1 View 2 View 3
Conceptual Schema
Physical Schema
Example: University Database
• External View: – View1: course_info ( course_name, enrollment )– View2: teacher_info ( course_name, teacher )
• Conceptual Schema– Students(sid, name, age, gpa)– Courses (cid, name, credits)– Teachers (tid, name, rank)– Enrolled (sid, cid, grade)– Teaches (tid, cid)
• Physical Schema– Store relations as tables– Index tables by id fields
Road Ahead
• Modeling Data with Entity Relationship Diagrams• Using the Relational Model (i.e., Schema
Descriptions) to Model Data• Relational Algebra: A concise language for
describing data operations• Structured Query Language (SQL): A standard
language for manipulation of data by computers• Database Apps: Learning how to access databases
from programs• Database File Organization, Storage, and Indexing
Road Ahead (Continued)
• Hash Indexes• Query Evaluation: Getting the resultant data for
the (somewhat) least cost• Transaction Management: Keeping multiple users
from interfering with each other• Schema Design and Normal Forms: Reducing
redundancy in the database• Physical Database Design: Tuning your database
for performance