350 likes | 540 Views
MGS 8020 Business Intelligence The Data Warehouse & Relational Database Management System Feb 6, 2014. Data Warehouse. Agenda. Relational Database. Designing & Building the Data Warehouse. The Data Warehouse. The Data Warehouse is physically separated from all other operational systems
E N D
MGS 8020Business Intelligence The Data Warehouse& Relational Database Management SystemFeb 6, 2014
Data Warehouse Agenda Relational Database Designing & Building the Data Warehouse
The Data Warehouse • The Data Warehouse • is physically separated from all other operational systems • holds aggregated data and transactional data for management separate from that data used for online transaction processing
Data Flow Operational Data Store Data Warehouse Personal Data Warehouse Legacy Systems Data Mart Metadata
The Data Warehouse • The Data Warehouse • is physically separated from all other operational systems • holds aggregated data and transactional data for management separate from that data used for online transaction processing
Characteristics of a Data Warehouse • Subject Orientation • Data Integrated • Consistent Naming and Measurement Attributes • Time Variant • Nonvolatility
External Data Sources Executive Information System Dashboard Balanced Scorecard KPI Financial Metrics Business Intelligence & Data Warehouse Internal Source Systems Data Warehouse Data Mart Extract, Transformation and Load Business Intelligence Business Objects Cognos Microstrategy Brios Microsoft Access Etc. Advanced Analytics SAS Minitab SPSS
Data Warehouse Vendors • Business Objects • Cognos • Hyperion • IBM • Microsoft • NCR / Teradata • Oracle • SAS
Metadata • What is Metadata? • Data about Data • Without metadata, the data is meaningless • Provides consistency of the truth • Components of Metadata • Transformation Mapping • Extraction and Relationship History • Algorithms for Summarization (and calculations) • Data Ownership • Patterns of Warehouse Access • Business Friendly naming conventions • Status Information
Data Warehouse Agenda Relational Database Designing & Building the Data Warehouse
Relational Database • A relational database is a collection of data items organized as a set of formally-described tables from which data can be accessed or reassembled in many different ways without having to reorganize the database tables. The relational database was invented by E. F. Codd at IBM in 1970. • The standard user and application program interface to a relational database is the structured query language (SQL). SQL statements are used both for interactive queries for information from a relational database and for gathering data for reports. • A relational database is a set of tables containing data fitted into predefined categories. Each table (which is sometimes called a relation) contains one or more data categories in columns. Each row contains a unique instance of data for the categories defined by the columns. For example, a typical business order entry database would include a table that described a customer with columns for name, address, phone number, and so forth. Another table would describe an order: product, customer, date, sales price, and so forth. A user of the database could obtain a view of the database that fitted the user's needs. For example, a branch office manager might like a view or report on all customers that had bought products after a certain date. A financial services manager in the same company could, from the same tables, obtain a report on accounts that needed to be paid.
Relational Database When creating a relational database, you can define the domain of possible values in a data column and further constraints that may apply to that data value. For example, a domain of possible customers could allow up to ten possible customer names but be constrained in one table to allowing only three of these customer names to be specifiable. The definition of a relational database results in a table of metadata or formal descriptions of the tables, columns, domains, and constraints. Meta is a prefix that in most information technology usages means "an underlying definition or description." Thus, metadata is a definition or description of data and metalanguage is a definition or description of language. A database is a collection of data that is organized so that its contents can easily be accessed, managed, and updated. The most prevalent type of database is the relational database, a tabular database in which data is defined so that it can be reorganized and accessed in a number of different ways. A distributed database is one that can be dispersed or replicated among different points in a network. An object-oriented programming database is one that is congruent with the data defined in object classes and subclasses. SQL (Structured Query Language) is a standard interactive and programming language for getting information from and updating a database. Although SQL is both an ANSI and an ISO standard, many database products support SQL with proprietary extensions to the standard language. Queries take the form of a command language that lets you select, insert, update, find out the location of data, and so forth.
Business Intelligence Environment Internal Source Systems Data Warehouse Data Mart Extract, Transformation and Load SQL RDBMS External Data Sources Business Intelligence Business Objects Cognos Microsoft Access Etc.
Relational Database • IBM DB2, DB2/400 • Microsoft SQL/Server • Teradata • Oracle • Sybase • Informix / Red Brick • Microsoft Access • MySQL
Relational Database SQL Request RDBMS BI Software Application Result Set
SQL • SQL – Structured Query Language • DDL – Data Definition Language • Create • Drop • Alter • DML – Data Manipulation Language • Insert • Update • Delete • Select
SQL Select Statement SELECT column1, column2, . . . FROM table1, table2, . . . WHERE criteria1 AND/OR criteria2 . . . . . ORDER BY column1, column1, . . .
SQL Select Statement SELECT column1, column2, . . . FROM table1, table2, . . . WHERE criteria1 AND/OR criteria2 . . . . . GROUP BY column1, column1, . . . HAVING criteria1 AND/OR criteria2 . . . . . Aggregation ORDER BY column1, column1, . . .
SQL – Example 1 SQL CREATE TABLE ADDR_BOOK ( NAME char(30), COMPANY char(20), E_MAIL char (25) Output Name Company Email John Smith Microsoft john.smith@microsoft.com Jeff Jones Delta jeffjones@delta.com
SQL – Example 2 2a) SQL SELECT NAME, COMPANY, E_MAIL FROM ADDR_BOOK WHERE COMPANY = ‘Microsoft' Output Name Company Email John Smith Microsoft john.smith@microsoft.com 2b) Table - Product ID Name Category I Internet A B Browsers A A Application Null G Graphics Null SQL SELECT ID, NAME from PRODUCT WHERE CATEGORY = NULL
SQL – Example 3 SQL SELECT ADDR_BOOK.NAME, COMPANY.EMAIL FROM ADDR_BOOK, COMPANY WHERE ADDR_BOOK.EMPLOYEE_ID = COMPANY.EMPLOYEE_ID Output Name Email John Smith john.smith@microsoft.com Jeff Jones jeffjones@delta.com
SQL – Example 4 SQL CREATE TABLE CUSTOMER ( CUST_NO INTEGER, FIRST_NAME CHAR(30), LAST_NAME CHAR(30), ADDRESS CHAR(50), CITY CHAR(30), STATE CHAR (2), ZIP_CODE CHAR(9), COUNTRY CHAR(20) ) CREATE TABLE ORDER ( ORDER_NO INTEGER, DATE_ENTERED DATE, CUST_NO INTEGER ) SQL SELECT ORDER.ORDER_NO, CUSTOMER.NAME, CUSTOMER.ADDRESS, CUSTOMER.CITY, CUSTOMER.ZIP_CIDE, CUSTOMER.COUNTRY FROM ORDER, CUSTOMER WHERE ORDER.CUST_NO = CUSTOMER.CUST_NO AND ORDER.DATE_ENTERED = '1998-20-11'
SQL – Example 5 SQL CREATE TABLE ADDR_BOOK ( NAME char(30), COMPANY char(20), E_MAIL char (25) Output Name Company Email John Smith Microsoft john.smith@microsoft.com Jeff Jones Delta jeffjones@delta.com
SQL – Example 6 – Referential Integrity SQL CREATE TABLE CUSTOMER ( CUST_NO INTEGER PRIMARY KEY, FIRST_NAME CHAR(30), LAST_NAME CHAR(30), ADDRESS CHAR(50), CITY CHAR(30), ZIP_CODE CHAR(9), COUNTRY CHAR(20) ) CREATE TABLE ORDER ( ORDER_NO INTEGER PRIMARY KEY, DATE_ENTERED DATE, CUST_NO INTEGER REFERENCES CUSTOMER (CUST_NO) ) SQL CREATE TABLE ORDER_ITEMS ( ORDER_NO INTEGER, ITEM_NO INTEGER, PRODUCT CHAR(30), QUANTITY INTEGER, UNIT_PRICE MONEY ) ALTER TABLE ORDER_ITEMS ADD PRIMARY KEY PK_ORDER_ITEMS (ORDER_NO, ITEM_NO) ALTER TABLE ORDER_ITEMS ADD FOREIGN KEY FK_ORDER_ITEMS_1 (ORDER_NO) REFERENCES ORDER (ORDER_NO)
SQL – Example 7 – Index When you have a primary key, you already have an implicitly (or explicitly) defined unique index on the primary key columns. It's generally a good idea to define non-unique indexes on the foreign keys. SQL CREATE UNIQUE INDEX PK_CUSTOMER ON CUSTOMER (CUST_NO) CREATE UNIQUE INDEX PK_ORDER ON ORDER (ORDER_NO) CREATE INDEX FK_ORDER_1 ON ORDER (CUST_NO) CREATE UNIQUE INDEX PK_ORDER_ITEMS ON ORDER_ITEMS (ORDER_NO, ITEM_NO) CREATE INDEX FK_ORDER_ITEMS_1 ON ORDER_ITEMS (ORDER_NO)
Data Warehouse Agenda Relational Database Designing & Building the Data Warehouse
Why Business Intelligence • Improve consistency and accuracy of reporting • Reduce stress on operational systems for reporting and analysis • Faster access to information • BI tools provide increased analytical capabilities • Empowering the Business User • Companies are realizing that data is a company’s most underutilized asset
ERM vs. DM • ERM - Entity Relationship Model • Remove redundancy • Efficiency of transactions • DM - Dimensional Model • Intuitive View of the Data • Efficiency of access and analysis
Fact Table • Contains Foreign Keys that relate to Dimension Tables • Have a many-to-one relationship to Dimension Tables • Contains Metrics to be aggregated • Typically does not contain any non-foreign key or non-metric data elements • Level of Granularity defines depth and flexibility of analysis
Dimension Table • Contains a Primary Key that relates to the Fact Table(s) • Has a one-to-many relationship to the Fact Table(s) • Contains Descriptive data used to limit and aggregated metrics from the Fact Table(s) • Can sometimes contain pre-aggregated data
Warehouse Architecture Specification • Common Sources • Common Dimensions • Common Business Rules • Common Semantics • Common Metrics
Time Dimension Date (Primary Key)– a day, 365 per year Week – defined by an end of week day Month – January, February, March, . . . Quarter – Q1: 01/01 – 03/31 Q2: 04/01 – 06/30 Q3: 07/01 – 09/30 Q4: 10/01 – 12/31 Year – 2000, 2001, 2002, 2003 Fiscal Month – 4/4/5 Fiscal Quarter Fiscal Year
Time Dimension Date (Primary Key)– a day, 365 per year Weekday/Weekend Day of Week – Monday, Tuesday, Wednesday, . . . Season – Winter, Spring, Summer, Fall Holiday – Labor Day, 4th of July, Memorial Day, . . . . . .