IS 273 Database Systems Introduction PDF
Document Details
Tags
Summary
This document introduces database systems, including the grading system, course contents, and course projects. It covers concepts like data versus information and the database management system (DBMS). The document also touches upon the uses, features, types, and history of databases.
Full Transcript
IS 273 Database Systems Introduction Grading System Lecture Section Project 7th Grade Exam (20) Assignmen Project (5) (30) ts/Quizzes (5) 12th Grade Exam (10) Assignmen Project (5) (20)...
IS 273 Database Systems Introduction Grading System Lecture Section Project 7th Grade Exam (20) Assignmen Project (5) (30) ts/Quizzes (5) 12th Grade Exam (10) Assignmen Project (5) (20) ts/Quizzes (5) Pre-final Lab Project (5) (10) Assignmen ts (5) Final (40) Exam (40) Course Contents Take an English language description and convert it into a working database application. Create E/R models from application descriptions. Convert E/R models into relational designs. Identify redundancies in designs and remove them using normalization techniques. Create databases in an RDBMS and enforce data integrity constraints using SQL. Write sophisticated database queries using SQL. Implement a web interface to a database. (Lab) Introduce an advanced database topic (XML or Transaction Management) Course Project Project overview 2 persons per project. Project runs the entire semester with regular assignments and a final implementation assignment. You are free to suggest a project. The project should not be “overly simple”. You must get approval from the TA before proceeding. Data vs. Information Data: – Raw facts; building blocks of information – Unprocessed information Information: – Data processed to reveal meaning Accurate, relevant, and timely information is key to good decision making Good decision making is key to survival in global environment Introducing the Database and the DBMS Database—shared, integrated computer structure that houses: – End user data (raw facts) – Metadata (data about data) Introducing the Database and the DBMS (continued) DBMS (database management system): – Collection of programs that manages database structure and controls access to data – Possible to share data among multiple applications or users – Makes data management more efficient and effective What is a DBMS? Database Management System (DBMS) = data + set of instructions to access/manipulate data Features of a DBMS – Support massive amounts of data – Persistent storage – Efficient and convenient access – Secure, concurrent, and atomic access Examples? – Search engines, banking systems, airline reservations, corporate records, payrolls, sales inventories. – New applications: Wikis, biological/multimedia/scientific/geographic data, heterogeneous data. Features of a DBMS Support massive amounts of data – Giga/tera/petabytes – Far too big for main memory Persistent storage – Programs update, query, manipulate data. – Data continues to live long after program finishes. Efficient and convenient access – Efficient: do not search entire database to answer a query. – Convenient: allow users to query the data as easily as possible. Secure, concurrent, and atomic access – Allow multiple users to access database simultaneously. – Allow a user access to only to authorized data. – Provide some guarantee of reliability against system failures. Types of Databases Single-user: – Supports only one user at a time Multi-user: – Supports multiple users at the same time Location of Databases Centralized: – Supports data located at a single site Distributed: – Supports data distributed across several sites Uses of Databases Transactional (or production): – Supports a company’s day-to-day operations Data warehouse: – Stores data used to generate information required to make tactical or strategic decisions Such decisions typically require “data massaging” – Often used to store historical data – Structure is quite different A Brief History of DBMS The earliest databases (1960s) evolved from file systems – File systems Allow storage of large amounts of data over a long period of time File systems do not support: – Efficient access of data items whose location in a particular file is not known – Logical structure of data is limited to creation of directory structures – Concurrent access: Multiple users modifying a single file generate non-uniform results Navigational and hierarchical User programmed the queries by walking from node to node in the DBMS. Relational DBMS (1970s to now) – View database in terms of relations or tables – High-level query and definition languages such as SQL – Allow user to specify what (s)he wants, not how to get what (s)he wants Object-oriented DBMS (1980s) – Inspired by object-oriented languages – Object-relational DBMS Contents of Customer File Basic File Terminology Why Study Databases? Academic – Databases involve many aspects of computer science – Fertile area of research – Three Turing awards in databases Programmer – a plethora of applications involve using and accessing databases Businessman – Everybody needs databases => lots of money to be made Student – Get those last three credits and I don’t have to come back to Blacksburg ever again!!! – Google, Oracle, Microsoft, etc. will hire me!! – Databases sound cool! – ??? What Will You Learn in this course? Implementation – How do you build a system such as ORACLE or MySQL? Design – How do you model your data and structure your information in a database? Programming – How do you use the capabilities of a DBMS? This course achieves a balance between – a firm theoretical foundation to designing moderate-sized databases – creating, querying, and implementing realistic databases and connecting them to applications The DBMS Industry A DBMS is a software system. Major DBMS vendors: Oracle, Microsoft, IBM, Sybase Free/Open-source DBMS: MySQL, PostgreSQL, Firebird. – Used by companies such as Google, Yahoo, Lycos, BASF. All are “relational” (or “object-relational”) DBMS.