Presentation on theme: "Introduction to Databases “When I use a word,” Humpty Dumpty said in rather a scornful tone, “it means just what I choose it to mean - neither more nor."— Presentation transcript:
Introduction to Databases “When I use a word,” Humpty Dumpty said in rather a scornful tone, “it means just what I choose it to mean - neither more nor less.” Lewis Carroll, Through the Looking Glass
Class Outline â What is data and why is it important? â What is a database and database schema? â What is a database management system? â What is a database application and what are its components? â What are the levels of database representation? â What were the limitations of the systems that led to the development of the current relational database systems? â What are various types of database systems? â What is a table, file and record?
When do I use a Database program?
Principles of Information Resource Management â Organizational resources flow into and out of the organization â Two types of major organizational resources: Physical resources, Conceptual resources (data & information) â As scale of organization grows, it becomes increasingly difficult to manage by observation (i.e., reliance on conceptual resources) â Conceptual resources can be managed just like physical resources or assets (e.g., employees, $$, equipment, widgets, etc.) â Management of data & information means getting it before it’s needed, protecting it, assuring quality, and getting rid of it when no longer required â Management of data & information can be achieved only through organizational commitment Adapted from McFadden, F.R. & Hoffer, J.A. (1994). Modern Database Management. Redwood City, CA:Benjamin/Cummings Publishing (p. 6)
Information is a major organizational resource processing Jane bought 30 in July Jane bought 20 in Aug John bought 50 in July John bought 10 in Aug Data (isolated facts) Average/ July is 40 Average/ Aug is 15 Information (organized data) Sales have dropped between July and August Knowledge Survey customers; invest in advertising; cut costs, expand product line Action
What is a Database? Organized collection of related information or data stored on a computer disk for easy, efficient use data information
(e.g., Oracle, dBase, Access, Paradox) Database DBMS Database Application user What is a Database Management System (DBMS)? “A set of programs used to define,administer, and process the database and its applications conveniently and efficiently” Program (or collection of programs) that enables users to create the database. The DBMS manages the storage and retrieval of data, and provides the user with certain functionalities to guarantee that the data will be logically organized and consistently applied.
What is a Database Application? A computer program that performs a specific task of practical value in a business situation An interface that allows the user to enter and manipulate data; User can request abstract views of data Created by database designers and developers using a DBMS program or a programming language Database DBMS Database application
Major Components of a Database Application 3. Query - asks questions of data 1. Form - data entry 2. Report - summarizes & prints 5. Program - used to automate a database 4. Menu - organizes components
Features of a DBMS DBMS EngineDBMS Engine Database user data metadata indexes application metadata Design Tools Subsystem Table Creation Tool Form Creation Tool Query Creation Tool Report Creation Tool Procedural Language Compiler Application program developer Run Time Subsystem Form Processor Query Processor Report Writer Procedural Language RunTime Application program users DBMS
Types of Database Systems Distributed >1 site, requires network not widely adapted yet due to many problems Centralized (single site) microcomputer (desktop) legacy mainframe/ mini computer (1 CPU) client/server architecture (>1 CPU) our focus; centralized, micro- computer database
Three levels of Database Representation database design, logical, abstract description of data elements & their relationships Conceptual level physical implementation - access methods, index construction, data structure; database exists in reality only here Internal level Primary focus of the lectures of this course is the conceptual level because the creation of a database begins with its design; the focus of the laboratories is the external level, using a RDBMS, which manages the internal level. External level each user group will have its own view of the database; database is accessed from here
Focus of this course Lectures â Conceptual design of databases: determining their purpose, developing a model, identifying the tables that are required, designing normalized tables and identifying their relationship to one another. Laboratories â Implement a database at the external level: create databases (tables) and database applications (queries, forms, reports, programs) using a typical microcomputer relational database management system, MS Access 97.
The Database System Environment Hardware - physical devices computer, peripherals, network devices Software DBMS (manages the database) operating systems software (manages hardware & software) application programs (user access and manipulate database) People system administrators (manage general operations) database designers (architects of database structure) database administrators (ensure the database is functioning) systems analysts & programmers (design & implement database) end users (use application programs) Procedures - rules of the company governing use of data â Data you are here
In the beginning…(in the 1950s) …There were no databases. Just file (or data processing) systems. Name :Jane Doe Address :123 Easy St. City :London Phone :455-0897 Date :Sept 14, 1955 Time :2:00 p.m. Patient :Jane Doe, 455-0897 OHIP :123456789 â File systems were typically organized by function (use) â The first data management systems performed clerical tasks (transactional processing) such as order entry processing, payroll, work scheduling. â e.g., files for patients (file folder analogy); each record for a single patient; another file for appointment/ billing information
Limitations of Data File Systems â Worked adequately if data collection needs were relatively small. â Problems arose as data files, information needs, and reporting requirements grow in complexity due to: Extensive programming - use of third-generation languages (e.g., COBOL, FORTRAN) in which the programmer must specify what is be done as well as how it is to be done Customer file Customer processing Application Order file Order processing Application
Limitations of Data File Systems Poor mechanisms for sharing data across organization - files are often incompatible with one another (separate, isolated data) Data redundancy - duplicate information in two or more files Program/ data dependence - if the file structure changed, ALL programs using the file had to be modified - time- consuming Lack of flexibility - could not do ad hoc queries or reports; required separate programs for every report or query Poor security - difficult to program, therefore, often omitted Difficulty of representing data in the users’ perspective
Historical Roots of Database Systems â Developed to overcome limitations of file systems, developed initially on mainframe computers in late 60s and early 70s - a typical early DBMS cost $100,000 (many are still in use) â First general databases were created for General Electric Company (GEC) - Integrated Data Store (IDS), designed to run on GEC machines; B.F. Goodrich ported IDS to IBM 360 - became dominant until 1980s â As PCs gained popularity (1980s), single-user, personal databases developed; at present, most database technology is used in workgroups Database DBMS Customer processing Application Order processing Application Employee processing Application ` `
Better Definition of a Database â A collection of users’ data, organized logically and managed by a unifying set of principles, procedures, and functionalities, which help guarantee the consistent application and interpretation of that data (a) organized collection of related information or data stored on a computer disk for easy, efficient use; represented in tabular format
Better Definition of a Database (cont'd) (b) A database is self-describing (metadata or system catalogues or data dictionary) A database contains a description of its own structure (e.g., the names of all the tables, the names and types of data in each column in all the tables) Kroenke, D.M., Database Processing: Fundamentals, Design & Implementation, Prentice Hall, 1998
Better Definition of a Database (cont'd) (c) Indexes are stored with the database â Data accessed from a source table for sorting and searching is time-consuming without a “pointer” system, which improves performance and accessibility of the database â The “overhead cost” of indexing is that each time data is updated, all indexes must also be updated, therefore, reserve index for cases in which they are needed (d) Application Metadata - stores structure and format of application components; not all DBMS support this feature
Evolution of Database Models Hierarchical Network Relational Semantic Object- Oriented Object- Relational still in use in many older (1970s) legacy systems; very few new databases; referred to “navigational systems” the vast majority currently use this, therefore, our course’s focus is here Very few new databases are being created using Object- Oriented Programming (not many ODBMS for businesses to implement this model)
The Relational Database Model Agents ClientsEntertainers Engagements Entertainer styles Instruments â represented by tables (like spreadsheets) â tables are NOT linked with physical pointers â unlike earlier systems, all three types of relationships can be represented â accommodates the design of larger databases that involve complex relationships and intricate manipulations
But #1 problem still is Evaluation of the Relational database model Advantages mechanisms for minimizing data redundancy and inconsistency logical database design is separated from physical aspects relatively program-data independent management of data for access, manipulation, and security flexible mechanisms for generating reports and queries program development and maintenance costs are reduced data can be accessed in a multiplicity of ways within and amongst organizations Disadvantages ease of use - many untrained people create and use databases without considering its design - usually incorporate many errors
Comparison of Database models Hierarchical, Network DBMS data independence structural dependence demands upon programmer Relational DBMS data independence structural independence demands upon computer File Systems data dependence structural dependence demands upon programmer
table=file=relation Table Users view their data in two-dimensional tables.
column=field=attribute Field The fields within records contain data. Data within a field must be of the same data type. Each field within a table must have a unique name. Order of fields is unimportant.
row =record=tuple Record â A record is a group of related fields of information about a single instance of one object or event in a database. â Tables consist of zero, one, or more records. â Order of rows is unimportant.
Database Schema Database schema defines database’s structure, tables, relationships, domains, and constraint rules Tables BOOK (ISBN, Title, AuthID, PubID, Price) PUBLISHER (PubID, PubName, PubPhone) AUTHOR (AuthID, AuthName, AuthPhone) Relationships Each book is published by one and only one publisher Each publisher publishes one or more books Domains (set of values in a column) Physical description (e.g., set of integers 0 < x < 99999) Constraints (business rules) Price cannot be less than zero; Author phone field cannot be left blank