Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mani-CS34311 CS3431 – Database Systems I Introduction Instructor: Murali Mani

Similar presentations


Presentation on theme: "Mani-CS34311 CS3431 – Database Systems I Introduction Instructor: Murali Mani"— Presentation transcript:

1 Mani-CS34311 CS3431 – Database Systems I Introduction Instructor: Murali Mani mmani@cs.wpi.edu

2 Mani-CS34312 What is a Database System? usually too large to fit in computer memory at once usually data is important for the application usually many users may need fast access to data Database: a large collection of related data Focus: information, rather than computation

3 Mani-CS34313 Database Applications E-commerce: books etc at Amazon, B&N Banks -- your valuable $$ and ATM transactions Airlines – manage flights to get you places Universities – manage student enrollment GIS (Maps) – find restaurants closest to WPI WWW (World Wide Web) – blobs, wikis, etc. Bio-informatics (genome data) Have you ever used a database application? Datasets increasing in diversity and volume everywhere !!! ?

4 Mani-CS34314 Example Database : Relational Tabular View of Data: Airline System Flight Passenger flightNostartdestinationmiles 101BOSLAX3000 102PVDLAX2900 pNameffNumberDoBmilesEarned Joe1001198012000 Mary1002198111000 flightNoffNumberdate 1011001Jan 4 1021002Jan 5 FlewIn Tabular view of data is called Relational Model

5 Mani-CS34315 Basic Terminology Data Model: A collection of “concepts” used for describing data Schema: Describes “structures” for a particular application, using the given data model Database : Collection of actual data that conforms to given schema Database Management System : Software that allows us to create, use and maintain a database (conforming to given model).

6 Mani-CS3431 Relational Data Models The relational model of data The most widely used model today. Main concept: relation, basically a table with rows and columns. Every relation has a schema, which describes the columns, or fields.

7 Mani-CS34317 Levels of Abstraction External schema (view) -- describes how users see the data Logical schema – describes the logical structures used Physical schema -- describes files and indexes

8 Mani-CS34318 Levels of Abstraction: Example Logical (Conceptual) Schema: Flight, Passenger, FlewIn tables Physical Schema Flight table stored as a sorted file Index on flightNo attribute for Flight relation Views ( External Schema ) NoOfPassengers (flightNo, date, numPassengers)

9 Mani-CS34319 Why use DBMS, and not files? Data independence (robustness under change) Efficient access even on huge data sets Reduced application development time Data integrity ensures consistency of data even with multiple users Recovery from crashes, security, etc.

10 Mani-CS3431 Data Independence Applications insulated from how data is structured and stored. Logical data independence: Logical schema can change, but views need not change Protection from changes in logical structure of data. Physical data independence: Protection from changes in physical structure of data. Physical schema such as indexes can change, but logical schema need not change.

11 Mani-CS343111 Efficient access Indexing : Indexes give direct access to “necessary” portion of data, as opposed to sequential access in files. Costing : Estimate expected execution times Query optimization : Automatically determine and prepare optimal access plans for getting to the data Optimizer = “The Bread and Butter of a DBMS !”

12 Mani-CS343112 Reduced application development time Higher level of data abstraction Queries are written in a high level language tailored for database applications Example : SELECT pname FROM Passengers WHERE flightNo = 101

13 Mani-CS343113 Data Integrity DBMS ensures data is consistent under concurrent access E.g.: multiple airline staff trying to reserve a seat for different customers. Concepts: Transactions – grouping multiple instructions (reads/writes) into one atomic unit Locks – locking of resources (tables)

14 Mani-CS343114 Recovery from Crashes If system crashes in middle of transaction, recovery must be provided : Cannot afford to loose data Ideas: logging, commit/rollback of transactions

15 Mani-CS343115 Who use databases? End users DB application programmers Database Administrators Database design Security, Authorization Data availability, crash recovery Database tuning (for performance)

16 Mani-CS343116 Summary : Why study DBMS? Need to process large amounts of data increasing Video, WWW, computer games, geographic information systems (GIS), genome data, digital libraries, etc. DB administrators and programmers hold rewarding jobs. DBMS research is one of the most exciting areas in Computer Science !!

17 Mani-CS343117 Introductory Material Sets, Relations and Functions

18 Mani-CS343118 Sets Unordered collection of objects Characteristics Unordered No duplicates (no object appears more than once in a set) Eg: Set of passengers, set of flights Recall the main set operations Union, intersection, complement Check subset

19 Mani-CS343119 Relations Given multiple sets A1, A2, …, An, a relation is a set of n-tuples of the form (a11, a12, …, a1n), where a11 is an element of A1, a12 is an element of A2, and so on. Eg: suppose the set of course = {DB1, DB2}, the set of TAs = {Hong, Song}, then a relation between these two sets could be {(DB1, Hong), (DB1, Song), (DB2, Hong)}

20 Mani-CS343120 Functions Given two sets A, B, a function f from A to B is denoted as f: A  B. This maps any value of A to one value of B. Eg: consider function from faculty members to depts {(Mike Gennert  CS), (Peter Hansen  Humanities)} Characteristics A is called domain B is called range No value of A can map to multiple B’s.

21 Mani-CS343121 Functions Injection (one to one): No 2 values in A map to the same B Eg: set of Husbands  set of wives Surjections (onto) Every value in B has at least 1 value in A that maps to it Bijections One to one and onto


Download ppt "Mani-CS34311 CS3431 – Database Systems I Introduction Instructor: Murali Mani"

Similar presentations


Ads by Google