FILE VS. DATABASES Let’s examine some basic principles about how data are stored in computer systems. – An entity is anything about which the organization.

Slides:



Advertisements
Similar presentations
Relational Database and Data Modeling
Advertisements

CHAPTER OBJECTIVE: NORMALIZATION THE SNOWFLAKE SCHEMA.
Normalisation The theory of Relational Database Design.
Relational Databases Chapter 4.
Monash University Week 7 Data Modelling Relational Database Theory IMS1907 Database Systems.
ETEC 100 Information Technology
Database table design Single table vs. multiple tables Sen Zhang.
Client/Server Databases and the Oracle 10g Relational Database
© 2006 Prentice Hall Business Publishing Accounting Information Systems, 10/e Romney/Steinbart1 of 95 C HAPTER 4 Relational Databases.
The Relational Database Model:
© 2008 Prentice Hall Business Publishing Accounting Information Systems, 11/e Romney/Steinbart1 of 96 C HAPTER 4 Relational Databases.
Introduction to Databases CIS 5.2. Where would you find info about yourself stored in a computer? College Physician’s office Library Grocery Store Dentist’s.
© 2008 Prentice Hall Business Publishing Accounting Information Systems, 11/e Romney/Steinbart1 of 96 C HAPTER 4 Relational Databases.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
© 2008 Prentice Hall Business Publishing Accounting Information Systems, 11/e Romney/Steinbart1 of 96 C HAPTER 4 Relational Databases.
Relational Databases Chapter 4.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education 4-1.
Chapter 4 Relational Databases.
Michael F. Price College of Business Chapter 6: Logical database design and the relational model.
Relational Databases Chapter 4.
Chapter 4 Relational Databases Copyright © 2012 Pearson Education, Inc. publishing as Prentice Hall 4-1.
COMPUTING FOR BUSINESS AND ECONOMICS-III. Lecture no.6 COURSE INSTRUCTOR- Ms. Tehseen SEMESTER- Summer 2010.
Databases From A to Boyce Codd. What is a database? It depends on your point of view. For Manovich, a database is a means of structuring information in.
Lecture 2 The Relational Model. Objectives Terminology of relational model. How tables are used to represent data. Connection between mathematical relations.
Copyright © 2012 Pearson Education, Inc. Publishing as Prentice Hall 9.1.
Chapter 3 The Relational Model Transparencies Last Updated: Pebruari 2011 By M. Arief
Week 6 Lecture Normalization
Concepts and Terminology Introduction to Database.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
MIS 301 Information Systems in Organizations Dave Salisbury ( )
Concepts of Database Management, Fifth Edition
Normalization (Codd, 1972) Practical Information For Real World Database Design.
Concepts of Relational Databases. Fundamental Concepts Relational data model – A data model representing data in the form of tables Relations – A 2-dimensional.
Logical Database Design Relational Model. Logical Database Design Logical database design: process of transforming conceptual data model into a logical.
M Taimoor Khan Course Objectives 1) Basic Concepts 2) Tools 3) Database architecture and design 4) Flow of data (DFDs)
CORE 2: Information systems and Databases NORMALISING DATABASES.
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 4-1 Accounting Information Systems 9 th Edition Marshall.
Data Models and Relational Databases Chapter 2. Learning Objectives Identify primary and foreign keys for each entity and relevant relationships in the.
Normalization Information Systems II Ioan Despi. Informal approach Building a database structure : A process of examining the data which is useful & necessary.
DataBase Management System What is DBMS Purpose of DBMS Data Abstraction Data Definition Language Data Manipulation Language Data Models Data Keys Relationships.
System Design System Design - Mr. Ahmad Al-Ghoul System Analysis and Design.
11/07/2003Akbar Mokhtarani (LBNL)1 Normalization of Relational Tables Akbar Mokhtarani LBNL (HENPC group) November 7, 2003.
Copyright 2006 Prentice-Hall, Inc. Essentials of Systems Analysis and Design Third Edition Joseph S. Valacich Joey F. George Jeffrey A. Hoffer Chapter.
M1G Introduction to Database Development 4. Improving the database design.
Database Fundamentals CSC105 Furman University Peggy Batchelor.
© 2006 Prentice Hall Business Publishing Accounting Information Systems, 10/e Romney/Steinbart1 of 95 C HAPTER 4 Relational Databases.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 16 Using Relational Databases.
CHAPTER 4 Relational Databases. Learning Objectives Explain the importance and advantages of databases Describe the difference between database systems.
MIS 301 Information Systems in Organizations Dave Salisbury ( )
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 4-1 Relational Databases.
The Relational Model. 2 Relational Model Terminology u A relation is a table with columns and rows. –Only applies to logical structure of the database,
©2003 Prentice Hall Business Publishing, Accounting Information Systems, 9/e, Romney/Steinbart 4-1 Relational Databases.
© 2008 Prentice Hall Business Publishing Accounting Information Systems, 11/e Romney/Steinbart1 of 96 C HAPTER 4 Relational Databases.
IST Database Normalization Todd Bacastow IST 210.
6.1 © 2007 by Prentice Hall Chapter 6 (Laudon & Laudon) Foundations of Business Intelligence: Databases and Information Management.
1 CS 430 Database Theory Winter 2005 Lecture 7: Designing a Database Logical Level.
Lecture 4: Logical Database Design and the Relational Model 1.
Logical Database Design and Relational Data Model Muhammad Nasir
RELATIONAL DATABASES SYSTEMS Unit 3. This unit shift attention to database as an important component of AIS. Understanding the fundamentals of database.
1 The Relational Data Model David J. Stucki. Relational Model Concepts 2 Fundamental concept: the relation  The Relational Model represents an entire.
IT 5433 LM3 Relational Data Model. Learning Objectives: List the 5 properties of relations List the properties of a candidate key, primary key and foreign.
© 2006 Prentice Hall Business Publishing Accounting Information Systems, 10/e Romney/Steinbart1 of 95 C HAPTER 4 Relational Databases.
HAPTER 4 Relational Databases.
Relational Databases Chapter 4.
Chapter 4 Relational Databases
A SIMPLE GUIDE TO FIVE NORMAL FORMS (See the next slide for required reading) Prof. Ghandeharizadeh 2018/11/14.
Normalization Referential Integrity
Database solutions Chosen aspects of the relational model Marzena Nowakowska Faculty of Management and Computer Modelling Kielce University of Technology.
Accounting Information Systems 9th Edition
Relational Databases Chapter 4.
Presentation transcript:

FILE VS. DATABASES Let’s examine some basic principles about how data are stored in computer systems. – An entity is anything about which the organization wishes to store data. At your college or university, one entity would be the student. STUDENT Student IDLast NameFirst Name Phone NumberBirth Date SimpsonAlice /11/ SandersNed /24/ MooreArtie /20/85

FILE VS. DATABASES – Information about the attributes of an entity (e.g., the student’s ID number and birth date) are stored in fields. STUDENT Student IDLast NameFirst Name Phone NumberBirth Date SimpsonAlice /11/ SandersNed /24/ MooreArtie /20/85

FILE VS. DATABASES – All the fields containing data about one entity (e.g., one student) form a record. – The example below shows the record for Artie Moore. STUDENT Student IDLast NameFirst Name Phone NumberBirth Date SimpsonAlice /11/ SandersNed /24/ MooreArtie /20/85

FILE VS. DATABASES – A set of all related records forms a file (e.g., the student file). – If this university only had three students and five fields for each student, then the entire file would be depicted below. STUDENT Student IDLast NameFirst Name Phone NumberBirth Date SimpsonAlice /11/ SandersNed /24/ MooreArtie /20/85

FILE VS. DATABASES – A set of interrelated, centrally coordinated files forms a database. Student File Class File Advisor File

FILE VS. DATABASES Database systems were developed to address the problems associated with the proliferation of master files. – For years, each time a new information need arose, companies created new files and programs. – The result: a significant increase in the number of master files.

FILE VS. DATABASES This proliferation of master files created problems: – Often the same information was stored in multiple master files. – Made it more difficult to effectively integrate data and obtain an organization-wide view of the data. – Also, the same information may not have been consistent between files. If a student changed his phone number, it may have been updated in one master file but not another. Master File 1 Fact A Fact B Fact C Master File 2 Fact A Fact D Fact F Master File 1 Fact A Fact B Fact F Enrollment Program Fin. Aid Program Grades Program

FILE VS. DATABASES A database is a set of inter-related, centrally coordinated files. Database Fact A Fact B Fact C Fact D Fact E Fact F Enrollment Program Fin. Aid Program Grades Program Database Management System

FILE VS. DATABASES The database approach treats data as an organizational resource that should be used by and managed for the entire organization, not just a particular department. A database management system (DBMS) serves as the interface between the database and the various application programs. Database Fact A Fact B Fact C Fact D Fact E Fact F Enrollment Program Fin. Aid Program Grades Program Database Management System

RELATIONAL DATABASES A DBMS is characterized by the type of logical data model on which it is based. – A data model is an abstract representation of the contents of a database. – Most new DBMSs are called relational databases because they use the relational model developed by E.F. Codd in 1970.

RELATIONAL DATABASES The relational data model represents everything in the database as being stored in the forms of tables (aka, relations).

Relation

RELATIONAL DATABASES This model only describes how the data appear in the conceptual- and external-level schemas. The data are physically stored according to the description in the internal-level schema.

Each row is called a tuple, which rhymes with “couple.”

Each row contains data about a specific occurrence of the type of entity in the table.

Each column in a table contains information about a specific attribute of the entity.

A primary key is the attribute or combination of attributes that uniquely identifies a specific row in a table.

In some tables, two or more attributes may be joined to form the primary key.

ADVISORS Advisor No.Last NameFirst NameOffice No. 1418HowardGlen MeltonAmy ZhangXi RadowskiJ.D.203 STUDENTS Student IDLast Name First NamePhone No. Advisor No SimpsonAlice SandersNed MooreArtie A foreign key is an attribute in one table that is a primary key in another table.

ADVISORS Advisor No.Last NameFirst NameOffice No. 1418HowardGlen MeltonAmy ZhangXi RadowskiJ.D.203 Foreign keys are used to link tables together. STUDENTS Student IDLast Name First NamePhone No. Advisor No SimpsonAlice SandersNed MooreArtie

ADVISORS Advisor No.Last NameFirst NameOffice No. 1418HowardGlen MeltonAmy ZhangXi RadowskiJ.D.203 Other non-key attributes in each table store important information about the entity. STUDENTS Student IDLast Name First NamePhone No. Advisor No SimpsonAlice SandersNed MooreArtie

RELATIONAL DATABASES Alternatives for Storing Data – One possible alternate approach would be to store all data in one uniform table. – For example, instead of separate tables for students and classes, we could store all data in one table and have a separate line for each student x class combination.

Student ID Last Name First NamePhone No.Course No. Sectio nDayTime SimpsonAlice ACCT-36031M9:00 AM SimpsonAlice FIN-32133Th11:00 AM SimpsonAlice MGMT TH12:00 PM SandersNed ACCT-34332T10:00 AM SandersNed MGMT-30215W8:00 AM SandersNed ANSI-14227F9:00 AM MooreArtie ACCT-34332T10:00 AM MooreArtie FIN-32133Th11:00 AM Using the suggested approach, a student taking three classes would need three rows in the table. In the above, simplified example, a number of problems arise.

Student ID Last Name First NamePhone No.Course No.Sect.DayTime SimpsonAlice ACCT-36031M9:00 AM SimpsonAlice FIN-32133Th11:00 AM SimpsonAlice MGMT TH12:00 PM SandersNed ACCT-34332T10:00 AM SandersNed MGMT-30215W8:00 AM SandersNed ANSI-14227F9:00 AM MooreArtie ACCT-34332T10:00 AM MooreArtie FIN-32133Th11:00 AM Suppose Alice Simpson changes her phone number. You need to make the change in three places. If you fail to change it in all three places or change it incorrectly in one place, then the records for Alice will be inconsistent. This problem is referred to as an update anomaly.

Student ID Last Name First NamePhone No.Course No.Sect.DayTime SimpsonAlice ACCT-36031M9:00 AM SimpsonAlice FIN-32133Th11:00 AM SimpsonAlice MGMT TH12:00 PM SandersNed ACCT-34332T10:00 AM SandersNed MGMT-30215W8:00 AM SandersNed ANSI-14227F9:00 AM MooreArtie ACCT-34332T10:00 AM MooreArtie FIN-32133Th11:00 AM What happens if you have a new student to add, but he hasn’t signed up for any courses yet? Or what if there is a new class to add, but there are no students enrolled in it yet? In either case, the record will be partially blank. This problem is referred to as an insert anomaly.

Student ID Last Name First NamePhone No.Course No.Sect.DayTime SimpsonAlice ACCT-36031M9:00 AM SimpsonAlice FIN-32133Th11:00 AM SimpsonAlice MGMT TH12:00 PM SandersNed ACCT-34332T10:00 AM SandersNed MGMT-30215W8:00 AM SandersNed ANSI-14227F9:00 AM MooreArtie ACCT-34332T10:00 AM MooreArtie FIN-32133Th11:00 AM If Ned withdraws from all his classes and you eliminate all three of his rows from the table, then you will no longer have a record of Ned. If Ned is planning to take classes next semester, then you probably didn’t really want to delete all records of him. This problem is referred to as a delete anomaly.

RELATIONAL DATABASES Alternatives for Storing Data – Another possible approach would be to store each student in one row of the table and create multiple columns to accommodate each class that he is taking.

This approach is also fraught with problems: –How many classes should you allow for in building the table? –The above table is quite simplified. In reality, you might need to allow for 20 or more classes (assuming a student could take many 1-hour classes). Also, more information than just the course number would be stored for each class. There would be a great deal of wasted space for all the students taking fewer than the maximum possible number of classes. –Also, if you wanted a list of every student taking MGMT-3021, notice that you would have to search multiple attributes. Student ID0 Last Name First Name Phone No.Class 1Class 2Class 3Class SimpsonAlice ACCT-3603FIN-3213MGMT SandersNed ACCT-3433MGMT-3021ANSI MooreArtie ACCT-3433FIN-3213

The solution to the preceding problems is to use a set of tables in a relational database. Each entity is stored in a separate table, and separate tables or foreign keys can be used to link the entities together.

RELATIONAL DATABASES Basic Requirements of a Relational Database – Every column in a row must be single valued. In other words, every cell can have one and only one value. In the student table, you couldn’t have an attribute named “Phone Number” if a student could have multiple phone numbers. There might be an attribute named “local phone number” and an attribute named “permanent phone number.” You could not have an attribute named “Class” in the student table, because a student could take multiple classes.

RELATIONAL DATABASES Basic Requirements of a Relational Database – The primary key cannot be null. The primary key uniquely identifies a specific row in the table, so it cannot be null, and it must be unique for every record. This rule is referred to as the entity integrity rule.

Note that within each table, there are no duplicate primary keys and no null primary keys. Consistent with the entity integrity rule.

RELATIONAL DATABASES Basic Requirements of a Relational Database – A foreign key must either be null or correspond to the value of a primary key in another table. This rule is referred to as the referential integrity rule. The rule is necessary because foreign keys are used to link rows in one table to rows in another table.

ADVISORS Advisor No.Last NameFirst NameOffice No. 1418HowardGlen MeltonAmy ZhangXi RadowskiJ.D.203 STUDENTS Student IDLast Name First NamePhone No. Advisor No SimpsonAlice SandersNed MooreArtie Advisor No. is a foreign key in the STUDENTS table. Every incident of Advisor No. in the STUDENTS table either matches an instance of the primary key in the ADVISORS table or is null.

RELATIONAL DATABASES Basic Requirements of a Relational Database – All non-key attributes in a table should describe a characteristic of the object identified by the primary key. Could nationality be a non-key attribute in the student table? Could advisor’s nationality be a non-key attribute in the student table?

RELATIONAL DATABASES The preceding four constraints produce a well- structured (normalized) database in which: – Data are consistent. – Redundancy is minimized and controlled. In a normalized database, attributes appear multiple times only when they function as foreign keys. The referential integrity rule ensures there will be no update anomaly problem with foreign keys.

Add a student here. Leaves no blank spaces. Add a course here. Leaves no blank spaces. When a particular student enrolls for a particular course, add that info here.

RELATIONAL DATABASES Deletion of a class for a student would cause the elimination of one record in the student x class table. – The student still exists in the student table. – The class still exists in the class table. – Avoids the delete anomaly.

Ned still exists in the student table. Even if Ned was the only student in the class, ACCT-3603 still exists in the course table. If Ned Sanders drops ACCT-3603, remove Ned’s class from this table.

RELATIONAL DATABASES There are two basic ways to design well- structured relational databases. – Normalization – Semantic data modeling

RELATIONAL DATABASES There are two basic ways to design well- structured relational databases. – Normalization – Semantic data modeling

RELATIONAL DATABASES Normalization – Starts with the assumption that everything is initially stored in one large table. – A set of rules is followed to decompose that initial table into a set of normalized tables. – Objective is to produce a set of tables in third- normal form (3NF) because such tables are free of update, insert, and delete anomalies. – We will discuss this in later lectures