ics321 / ibm205 management information systems dr. ken cosh databases: foundations of business...
TRANSCRIPT
ICS321 / IBM205 Management Information Systems
Dr. Ken Cosh
Databases: Foundations of Business Intelligence
Review
• Last week we looked at;– Hardware
• Input, Output devices, Processors, Memory
– Types of computer• Mainframe, Midrange, PC’s
– The emergence of Client Server relationships• Thin Clients, Fat Clients, P2P
– Networks• Centralised, Decentralised, Distributed
This Weeks Topics
• The ‘Data’ Resource– Organising Data– Databases
The Importance of Good Data
• Garbage In, Garbage Out;– Bad data will result in bad information (hence bad
decisions)
• An effective information system depends not only on having good data, but on storing, organising and accessing the data.
• Challenges to this include;– Organisational Obstacles– Data Integration and Quality
Organisational Obstacles
• Implementing new data models requires re-examining the role of data within an organisation,– Who has access to what data, and when?– Changing the allocation (or sharing) of data can
impact on current power relationships, and so is often met by political resistance.
• Traditionally data is stored in file format, with each department having a selection of files. Modern approaches introduce databases and DBMS that can be shared across multiple departments
Data Integration and Quality
• When moving data from a file format to a database (or sharing data from one source across multiple systems), converting data formats can be costly, and risks losing important information.
Traditional File Format
• Bit (binary digit) – smallest unit a computer handles.• Byte – Group of bits which can represent a character• Field – Group of bytes which can represent a word• Record – Group of related fields (such as name, course,
grade, date)• File – Group of records of the same type (such as a
group of students records)• Database – Group of related files (such as grouping the
student’s personal history, financial records)
More terms
• Entity – a person, place, thing or event for which data is stored about.
• Attribute – Any characteristic or quality describing an entity, for example ‘age’.
• Key Field – Every record in a file, should contain at least one key field, which uniquely identifies instances of that record, so that they can be retrieved, updated or sorted, for example ‘order number’.
Key Terms
Bit 0
Byte 01001010 (Letter J in ASCII)
Field John Stewart (NAME Field)
Record John Stewart ICS321 2005 C+NAME COUR DATE GRADE
File John Stewart ICS321 2005 C+Sarah Smith ICS321 2005 BKen Cosh ICS321 2005 A+
NAME COUR DATE GRADE
Database Course File History File Finance File
So What’s the Problem?
• Remember Systems within systems (subsystems), interfacing systems and adaptive systems?– Each system tends to grow and adapt
independently.– Functional units develop systems isolated
from other units.– Each functional unit develops many
databases; personnel has personnel, payroll, medical insurance, pensions, mailing file….
Problems
• Data Redundancy and Confusion– Duplicate Data in multiple data files.– The same data can have different names,
different meanings, different related data in different places.
– The same name might be used for different data in different places.
– Database confusion makes implementing a SCM, CRM or Enterprise wide system difficult.
Problems 2
• Program-Data Dependence– There is a tight relationship between the data in files
and the programs using them.– Any changes to the data, results in necessary
changes to the programs that use the data.– Maintaining data becomes costly.
• Lack of Flexibility– Scheduled reports can easily be generated from the
data.– Ad Hoc reports however are costly to generate. While
the information is somewhere in the system getting it out is tricky.
Problems 3
• Poor Security– Or poor control.– There is now a lot of data in a lot of databases
throughout the organisation. It is difficult to control or manage the data – who is accessing what data?
• Lack of Data Sharing & Availability– With poor control over data, its difficult to share data
between functions.– Accounts might benefit from some data that
manufacturing has, etc.
Databases
• “Group of related files (such as grouping the student’s personal history, financial records)”
• Ideally a database is a group of related data which can be used to serve many different applications, by centralising data and minimising redundancy.
Data Management
EmployeesName
AddressID
Position
PayrollHours Worked
Pay RateTax
Gross Pay
BenefitsLife Insurance
Golf MembershipHealthcareRetirement
DBMS
PersonnelApplications
PayrollApplications
BenefitsApplications
DBMS
• The DBMS sits between the actual data and the applications which use the data.
• This saves the user from needing to understand the actual physical way the data is stored, instead presenting a logical view of it.
• The user doesn’t need to know the data definition language, but instead could use a data manipulation language such as SQL.
• In reality often the manipulation language is hidden within an application.
DBMS
Database
Data Definition
Data Manipulation
ApplicationGeneration
Data Administration
Creating & Changing the logical structure of a database
Querying & making changes to the information
Menus, data entry screens, reports and application software
Who can see what information; methods for backup and recovery
Hierarchical Database
Employee
Compensation Job Assignment Benefits
PerformanceRatings
Salary History
PensionHistory
Life Insurance Health
ROOT
FIRSTCHILD
SECONDCHILD
Hierarchical Data
• Suppose from the previous data structure, we wanted to access the salary history for all people with the job title “Assistant”, accessing that data would not be easy.
• While certain scheduled reports can be generated, ad hoc reports are not as flexible.
Relational Databases
• Data is organised into tables, which could be visualised as a spreadsheet. In each table data is organised into rows / records (or tuples).
• Any piece of data from any table can be linked to any piece of data in another table, so long as they have a common data element (field).
Designing Databases
• Designing Relational Databases normally begins from building an Entity Relationship Diagram (E-R Diagram).– An Entity is a person, place, thing, or event for
which data is collected and maintained. – Deciding what data should be stored about
each entity– Defining the relationships between entities.
• A customer can have many order numbers.• A doctor treats many patients.
E-R Diagrams
Customer Order No.Has1 M
Doctor PatientsTreats1 M
Manager DepartmentLeads1 1
Normalisation
• Process of creating small stable data structures from complex groups of data.
• Relationships between entities can be ‘one to one’, ‘one to many’ or ‘many to many’.
• An E-R diagram can become very complex with many data elements to be stored for many entities with complex relationships.
• Normalisation attempts to break entities down into smaller entities, and tries to remove complicated ‘many to many’ relationships.
Designing Databases
• Another key factor in designing databases is designing how they will be distributed– Will there be one central database server with clients
accessing the data? • Single point of Risk• Powerful and expensive server required.
– Will there be distributed data base servers, in multiple physical locations?
– If distributed how and when will the data be updated? (Batch process overnight?)
– What happens if 2 replicated databases have conflicting updates?
SQL
• Structured Query Language– The commonest data manipulation language for
relational databases.– Used to query (get information from) databases, and
also to put information into databases.
• SELECT Part_Number, Supplier_Code FROM Part WHERE Unit_Price < 25.00;– This would return the all the part numbers and
supplier codes from the database called ‘part’ which cost less than 25.00.
SQL
• Suppose we want to know;– “By actual vs budgeted, how many size 8
shoes in black did we sell last month in the southeast and southwest regions, compared to the same month over the past 5 years.”
• A complex request…– If we can build the query, it could effect the
performance of the database system!• Especially if it is a live operating system.
Trends in Databases
• Multidimensional Visualisations– Often managers want to see relationships
between large amounts of data.• Sales of 4 different projects over a period of
months versus projected sales.
– Can implement a multidimensional database…
– Or a multidimensional visualisation tool.– When further dimensions need to be added,
virtual reality or embedded data can be used.
Trends in Databases• Data warehouse
– A database of current and historical data which can be accessed by anyone within the organisation.
– Backups are made of all the data from all applications and stored in the warehouse.
– Data in the warehouse can not be changed though, it is simply a record of company history, which can be used to find trends etc.
• A data mart– A subsection of a data warehouse specifically
targeted towards a certain group of people.• Data mining
– The process of extracting patterns and or rules from a data warehouse. Often used by marketing departments to profile customers.
Object-Oriented DB
• Hierarchical and Relational databases assume that data is in character or numerical form.
• How about databases that store data which can’t easily be represented in files and tables (such as graphics, sounds, java applets or any other multimedia).
• O-O databases are designed to deal with these diverse data types, however they tend to be a lot slower than relational databases.