1 CSE 480: Database Systems Lecture 1: Introduction Reference: Read Chapters 1 & 2 of the textbook.
-
Upload
wilfred-beasley -
Category
Documents
-
view
231 -
download
0
Transcript of 1 CSE 480: Database Systems Lecture 1: Introduction Reference: Read Chapters 1 & 2 of the textbook.
4
What is a Database?
Collection of related data central to a given enterprise (mini-world or universe of discourse)
– Examples: Banking – savings/checking accounts, mortgage, etc Vehicle registration – car registration, year, make, etc Student registration – name, PID, GPA, last semester enrolled, etc Electronic Medical Records – name, SSN, date of birth, address,
symptoms, diseases, medication, test results, etc
5
Example of a Database
Mini-world: UNIVERSITY environment– What are the mini-world concepts that need to be captured by
the database?
Entities:– STUDENTs
– COURSEs
– SECTIONs
– DEPARTMENTs
– INSTRUCTORs
6
Example of a Database
Relationships between entities of the mini-world:– SECTIONs are for specific COURSEs
– STUDENTs take SECTIONs
– COURSEs have prerequisite COURSEs
– INSTRUCTORs teach SECTIONs
– COURSEs are offered by DEPARTMENTs
– STUDENTs major in DEPARTMENTs
7
Example of a Database
Constraints on the entities and relationships– Each course must have a unique course number
– GPA must be a real number between 0 and 4.0
– Each section has only one instructor but an instructor can teach more than one section
Database design (Lectures 2-4)– Specifying the entities, relationships, and
constraints of a mini-world using the Entity-Relationship and Enhanced Entity Relationship models.
Database Architect or Designer
8
Database Management System (DBMS)
A collection of programs that enables users to create and maintain a database
Examples of DBMS– MS Access, MS SQL Server, IBM DB2, Oracle, Sybase,
Postgres, mySQL, and many more
Why do we need a DBMS?
9
File Server Architecture (no DBMS)
Source: Modern Database Management. 6th Edition, Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden
Thick clientThick client
10
Client-Server DBMS Architecture
Source: Modern Database Management. 6th Edition, Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden
DBMS running on database server; performs all data storage and access operations
Thin clientThin client
11
Three-tier Architecture
Business rules stored on Business rules stored on application serverapplication server
Source: Modern Database Management. 6th Edition, Jeffrey A. Hoffer, Mary B. Prescott, Fred R. McFadden
12
Typical DBMS Functionalities
Define a database – Specify the structure of the data records
Construct a database– Store the data on some storage medium controlled by the DBMS
Manipulate the database – Query the database to retrieve specific data, update the database to
reflect changes, and generate reports
Support concurrent processing and sharing by users and applications– yet, keeping all the data valid and consistent
Support protection/security measures to prevent unauthorized access
13
Characteristics of DBMS
Self-Describing Provides insulation between programs and data Allows multiple views Allows multi-user transaction processing
14
Characteristics of DBMS
Self-describing nature of a database management system– DBMS contains not only the data but also complete description
of its structure and constraints Structure: Student ID is 10 characters long, GPA is a real number Constraints: GPA must be between 0 and 4.0 (non-negative)
– A DBMS catalog stores the description of the database The description is called meta-data
– This allows the DBMS software to work with any types of data (banking, university, company, etc)
15
Example of DBMS Catalog
Information in DBMS catalog are needed for query processing and optimization (to be discussed more in lectures 22-24)
16
Characteristics of DBMS
Insulation between programs and data – Program-data independence
Allows changing data storage structures and operations without changing the DBMS access programs
– Program-operation independence In OO and OR database systems, users can define operations
(methods) on data using an interface; implementation of the operation (method) can be separately specified
17
Characteristics of DBMS
Support multiple views of the data– A database typically has many users, each of whom require
different perspective (view) of the database
– A common principle used by many organizations is that data must be accessible on a need-to-know basis
– Example: Student database may contain information about student’s name,
SSN, courses taken and grades, salary, etc Users of the database include registrar office and payroll department
– Registrar doesn’t need to know what is student’s salary
– Payroll doesn’t need to know what is student’s GPA
18
Characteristics of DBMS
Multi-user transaction processing – Database stores information about current state of an enterprise
Example: Bank database stores balance for each customer account
– When an event in the real world changes, a transaction is executed to cause corresponding change in the database state A transaction is an executing program or process that includes one
or more database accesses, such as reading or updating database records
Each transaction is designed to maintain correctness of the relationship between database state and real-world enterprise it is modeling
– Example: When a customer deposits $50 in a bank, a deposit transaction is executed to increase the account balance by $50
– Concurrency control of DBMS ensures correctness of the database when multiple concurrent transactions are executed
20
Abstraction
Data is actually stored as bits, but it is difficult to work with data at this level
DBMS provides a level of abstraction by hiding the details of data organization and storage
– A data model is used to hide storage details and present the users with a conceptual view of the database
21
Data Model
111000010010111011010111011011
User/Program
(John, 21)(Mary, 19)
(CSE480)(CSE331)
(CSE, Engr)(ECE, Engr)
Physical data storage
Data model
Student Course Department
DBMS
22
Examples of Data Models
Network Model Hierarchical Model Relational Model (most widely used) Object-Oriented Data Models Object-Relational Models
More recently, NoSQL– Google BigTable
– Amazon Dynamo
– Facebook Cassandra
23
Relational Data Model
Proposed by Edgar Codd– E. F. Codd: A Relational Model of Data for Large
Shared Data Banks. Commun. ACM 13(6): 377-387 (1970)
Model the data as relations (tables)– Advantages:
Simple Mathematically based Has a set of powerful, high-level operators to analyze relational
expressions ( queries)
– Queries are transformed to equivalent expressions automatically (query processing and optimization) Transformed expressions can be executed more efficiently
24
Database Schemas versus Instances
In any data model, it is important to distinguish between description of the database from the database itself
Database Schema:– The description of a database
Includes descriptions of data elements, data types, and constraints
– Schema Diagram: An illustrative display of a database schema
Database Instance (State/Snapshot):– The actual data stored in the database at a particular moment
in time
– Valid State: A state that satisfies the structure and constraints of the database
27
Database Schema vs. Database State
Distinction– The database schema changes very infrequently.
– The database state changes every time the database is updated.
Schema is also called intension State is also called extension
28
Three-Schema Architecture
Externalschemas
Internal Schema
Physical storage for data about students, courses, employment, etc
29
Internal Schema/Level
Describes the details of how data is physically stored – Specify how data is stored in files, tracks, cylinders.
– Specify the indices that support fast access to the rows of a table
– Specify the machine that has the data (Data may be distributed)
30
Conceptual Schema/Level
Hides the details of physical data representation– In the relational model, the conceptual schema presents data as
a set of tables (relations)
DBMS maps from conceptual to internal schema automatically
Physical data independence – Internal schema can be changed without changing the
conceptual schema
31
External Schema/Level
External schema customizes the conceptual schema to the needs of various users
In the relational model, the external schema also presents data as a set of relations
Externalschemas
32
External Schema
Application is written in terms of an external schema.– Different external schemas can be provided to different
categories of users
DBMS maps external to conceptual schema automatically at run time
Logical data independence – Conceptual schema can be changed without changing external
schema and application programs
33
DBMS Languages
Data Definition Language (DDL): – Used to specify the conceptual schema of a database
In many DBMSs, DDL is also used to define internal and external schemas (views).
In some DBMSs, separate storage definition language (SDL) and view definition language (VDL) are used to define internal and external schemas
CREATE TABLE DEPARTMENT (DNAME VARCHAR(10) NOT NULL,DNUMBER INTEGER NOT NULL,MGRSSN CHAR(9),MGRSTARTDATE CHAR(9)
);
34
DBMS Languages
Data Manipulation Language (DML)– Used to specify database retrievals and updates
– Both DML and DDL can be embedded in a general-purpose programming language, such as C, C++, Java or PHP
INSERT INTO DEPARTMENT VALUES (‘Payroll’, 154, ‘123-11-2344’, ‘2005-06-22’);
SELECT MgrSSNFROM DEPARTMENTWHERE DName = ‘Payroll’;
37
MySQL Account
Every registered student will have access to a MySQL account on mysql-user.cse.msu.edu
To log in, go to:– http://www.cse.msu.edu/facility/phpMyAdmin/index.php
– Username is your CSE usernamePassword is your PIDServer Choice: mysql-user
Send an email to [email protected] if you have problems logging in