Chapter 1
Database Management System (DBMS)
DBMS contains info about a particular enterprise (ex. an institution, a business)
Collection of interrelated data (ex. info on an employee’s address, benefit’s that employee’s have)
Set of programs to access the data
An environment that is both convenient and efficient to use
Examples of Database Application include things like transactions in Banking or Reservations in Airlines - Databases touch on all aspects of our lives
University Database Example
Application program examples
Add new students, instructors, and courses
Register students for courses, and generate class rosters
Assign grades to students, computer GPA and generate transcripts
In the early days, database applications were built directly on top of file systems
Purpose of Database 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
Join - Merging two different files together to create one file
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
Atomicity of updates
Failures may leave database in an inconsistent state with partial updates carried out
Ex.: transfer of funds from one account to another should either complete or not happen at all
Concurrent access by multiple users
Concurrent access needed for performance
Ex.: Two people reading a balance and updating the balance by withdrawing money at the same time
Security problems
Hard to provide user access to some, but not all, data
Database systems offer solutions to all the above problems
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.
View Level: applications programs hide details of data types. Views can also hide information (such as an employee’s salary) for security purposes.
Instances and Schemas
Similar to types and variables in programming languages
Schema - the logical structure of the databse
Ex.: The databases 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 a database at a particular 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.
Data Models
A collection of tools for describing
Data
Data relationships
data semantics
data constraints
Some examples of models include:
Relational Model
Entity-Relationship data model (mainly for database design)
Object-based data model (object oriented and object-relational)
Semistructured data model (XML)
Other Older models include
Network model
Hierarchical model
Relational Model
Details will be in Chapter 2, so why tf are we atlking about it now. idk picture in slides
Type in the relational model is the domain where you pull values from. Ex.: The column name is the type of data that the column shows