Upcoming SlideShare
×

# 05 iec t1_s1_oo_ps_session_07

• 335 views

More in: Technology
• Comment goes here.
Are you sure you want to
Be the first to comment
Be the first to like this

Total Views
335
On Slideshare
0
From Embeds
0
Number of Embeds
2

Shares
20
0
Likes
0

No embeds

### Report content

No notes for slide
• Students have learnt the structure of different types of dimensions and the importance of surrogate keys in Module I. In this session, students will learn to load the data into the dimension tables after the data has been transformed in the transformation phase. In addition, students will also learn to update data into these dimension tables. Students already know about different types of dimension tables. Therefore, you can start the session by recapitulating the concepts. Initiate the class by asking the following questions: 1. What are the different types of dimensions? 2. Define flat dimension. 3. What are conformed dimension? 4. Define large dimension. 5. Define small dimension. 6. What is the importance of surrogate key in a dimension table? Students will learn the loading and update strategies theoretically in this session. The demonstration to load and update the data in the dimension table will be covered in next session.
• Students know the importance of surrogate keys. In this session students will learn the strategy to generate the surrogate key. Give an example to explain the strategy to generate the surrogate keys by concatenating the primary key of the source table with the date stamp. For example, data from a Product table has to be loaded into the Product_Dim dimension table on Feb 09, 2006. The product_code is the primary key column in the Product table. To insert the surrogate key values before loading the data into the dimension table, you can combine the primary key value with the date on which the data has to be loaded. In this case the surrogate key value can be product_code+09022006.
• Students know what is the structure of Flat dimension. You can initiate the session by asking the following questions: 1. What are flat dimension tables? 2. What is the structure of flat dimension? 3. Given examples of a flat dimension? Next, tell the strategy to load the data into the flat dimension table. You can explain the loading strategy with the help of the example given in SG. Continue this session by asking the following questions: 4. What are large flat dimension tables? 5. Give examples of large flat dimensions? Then, explain the strategy to load data into the large flat dimension table. Before explaining the strategy to load data into the small dimension table ask the following questions and the tell the strategy to load the data into the dimension table. 6. What are small flat dimension tables? 7. Give examples of small flat dimension tables. With the help of these questions, students will be able to recall about flat dimensions, they have learnt in Module I. Explain this topic with the help of an example given in SG.
• Students know what is the structure of Flat dimension. You can initiate the session by asking the following questions: 1. What are flat dimension tables? 2. What is the structure of flat dimension? 3. Given examples of a flat dimension? Next, tell the strategy to load the data into the flat dimension table. You can explain the loading strategy with the help of the example given in SG. Continue this session by asking the following questions: 4. What are large flat dimension tables? 5. Give examples of large flat dimensions? Then, explain the strategy to load data into the large flat dimension table. Before explaining the strategy to load data into the small dimension table ask the following questions and the tell the strategy to load the data into the dimension table. 6. What are small flat dimension tables? 7. Give examples of small flat dimension tables. With the help of these questions, students will be able to recall about flat dimensions, they have learnt in Module I. Explain this topic with the help of an example given in SG.
• Students know what is the structure of Flat dimension. You can initiate the session by asking the following questions: 1. What are flat dimension tables? 2. What is the structure of flat dimension? 3. Given examples of a flat dimension? Next, tell the strategy to load the data into the flat dimension table. You can explain the loading strategy with the help of the example given in SG. Continue this session by asking the following questions: 4. What are large flat dimension tables? 5. Give examples of large flat dimensions? Then, explain the strategy to load data into the large flat dimension table. Before explaining the strategy to load data into the small dimension table ask the following questions and the tell the strategy to load the data into the dimension table. 6. What are small flat dimension tables? 7. Give examples of small flat dimension tables. With the help of these questions, students will be able to recall about flat dimensions, they have learnt in Module I. Explain this topic with the help of an example given in SG.
• Students know what is the structure of Flat dimension. You can initiate the session by asking the following questions: 1. What are flat dimension tables? 2. What is the structure of flat dimension? 3. Given examples of a flat dimension? Next, tell the strategy to load the data into the flat dimension table. You can explain the loading strategy with the help of the example given in SG. Continue this session by asking the following questions: 4. What are large flat dimension tables? 5. Give examples of large flat dimensions? Then, explain the strategy to load data into the large flat dimension table. Before explaining the strategy to load data into the small dimension table ask the following questions and the tell the strategy to load the data into the dimension table. 6. What are small flat dimension tables? 7. Give examples of small flat dimension tables. With the help of these questions, students will be able to recall about flat dimensions, they have learnt in Module I. Explain this topic with the help of an example given in SG.
• Students know what is the structure of Flat dimension. You can initiate the session by asking the following questions: 1. What are flat dimension tables? 2. What is the structure of flat dimension? 3. Given examples of a flat dimension? Next, tell the strategy to load the data into the flat dimension table. You can explain the loading strategy with the help of the example given in SG. Continue this session by asking the following questions: 4. What are large flat dimension tables? 5. Give examples of large flat dimensions? Then, explain the strategy to load data into the large flat dimension table. Before explaining the strategy to load data into the small dimension table ask the following questions and the tell the strategy to load the data into the dimension table. 6. What are small flat dimension tables? 7. Give examples of small flat dimension tables. With the help of these questions, students will be able to recall about flat dimensions, they have learnt in Module I. Explain this topic with the help of an example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about type 2 SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 2 SCDs? Given an example to explain type 2 SCDs. This will recapitulate what they have learnt about type 2 SCD in Module 1. Now explain the strategy to update the data into these dimension tables with help the example given in SG. After explaining the examples, you can ask students to think of an example of a type 2 SCD and then tell the strategy to update the data into this dimension table.
• Student already have learnt about type 2 SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 2 SCDs? Given an example to explain type 2 SCDs. This will recapitulate what they have learnt about type 2 SCD in Module 1. Now explain the strategy to update the data into these dimension tables with help the example given in SG. After explaining the examples, you can ask students to think of an example of a type 2 SCD and then tell the strategy to update the data into this dimension table.
• Student already have learnt about type 2 SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 2 SCDs? Given an example to explain type 2 SCDs. This will recapitulate what they have learnt about type 2 SCD in Module 1. Now explain the strategy to update the data into these dimension tables with help the example given in SG. After explaining the examples, you can ask students to think of an example of a type 2 SCD and then tell the strategy to update the data into this dimension table.
• Student already have learnt about type 2 SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 2 SCDs? Given an example to explain type 2 SCDs. This will recapitulate what they have learnt about type 2 SCD in Module 1. Now explain the strategy to update the data into these dimension tables with help the example given in SG. After explaining the examples, you can ask students to think of an example of a type 2 SCD and then tell the strategy to update the data into this dimension table.
• Student already have learnt about type 2 SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 2 SCDs? Given an example to explain type 2 SCDs. This will recapitulate what they have learnt about type 2 SCD in Module 1. Now explain the strategy to update the data into these dimension tables with help the example given in SG. After explaining the examples, you can ask students to think of an example of a type 2 SCD and then tell the strategy to update the data into this dimension table.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• Student already have learnt about SCDs in Module I. Therefore, you can start this topic by asking the following questions to students: What are type 1 SCDs? Given an example to explain type 1 SCDs. This will recapitulate what they have learnt about type 1 SCD in Module 1. Now explain the strategy to load the data into these dimension tables with help of the given diagram. Relate this diagram to the example given in SG.
• You can summarize the session by running through the summary given in SG. In addition, you can also ask students summarize what they have learnt in this session.
• You can summarize the session by running through the summary given in SG. In addition, you can also ask students summarize what they have learnt in this session.

### Transcript

• 1. Object-Oriented Programming Using C#Objectives In this session, you will learn to: Describe memory allocation Use structure Use enumerations Implement arrays Use collections Ver. 1.0 Session 7 Slide 1 of 32
• 2. Object-Oriented Programming Using C#Describing Memory Allocation The memory allocated to variables is referred to in the following ways: – Value types: Contains data. Built-in data types, such as int, char, and float are value types. – Reference types: Contains address referring to a block of memory. Data types, such as string and class are reference types. Let us understand the concept of memory allocation in detail. Ver. 1.0 Session 7 Slide 2 of 32
• 3. Object-Oriented Programming Using C#Describing Memory Allocation (Contd.) Value Type: int Num1; Variable Declaration Num1=50; Num1 Initialization 50 Both Num1 and Num2 Contain 50 Num2 50 int Num2; Variable Declaration Num2=Num1; Initializing Num2 with Num1 Ver. 1.0 Session 7 Slide 3 of 32
• 4. Object-Oriented Programming Using C#Describing Memory Allocation (Contd.) Value Type (Contd.): Num1 New Value Assigned to Num1 Num1=60; 60 The Value of Num2 Remains Unaffected Num2 50 Ver. 1.0 Session 7 Slide 4 of 32
• 5. Object-Oriented Programming Using C#Describing Memory Allocation (Contd.) Reference Type: Car Suzuki= new Car(); Object of Class Car() Suzuki.Model=10; Initialization Member Variable of Class Car() Car Mercedes; Object of Class Car() Mercedes=Suzuki; Initializing Mercedes with Suzuki Ver. 1.0 Session 7 Slide 5 of 32
• 6. Object-Oriented Programming Using C#Describing Memory Allocation (Contd.) Reference Type (Contd.): Suzuki Referring to Memory *** Location Where the Data is Stored 10 Mercedes Referring to Memory *** Location Where the Data is Stored Ver. 1.0 Session 7 Slide 6 of 32
• 7. Object-Oriented Programming Using C#Using Structure • A structure is a value type data type. • When you want a single variable to hold related data of various data types, you can create a structure. • To create a structure you use the struct keyword. • The following code shows the example of a declaring a structure names Bill_Details: struct Bill_Details { public string inv_No; // Invoice Number string ord_Dt; // Order Date string custName; // Customer name Ver. 1.0 Session 7 Slide 7 of 32
• 8. Object-Oriented Programming Using C#Using Structure (Contd.) public string product; // Product Name public double cost; // Cost of the product public double due_Amt; // Total amount due } Ver. 1.0 Session 7 Slide 8 of 32
• 9. Object-Oriented Programming Using C#Using Enumeration • Enumeration is a value type data type. • Enumeration contains its own values and cannot inherit or pass inheritance. • Enumerators allows you to assign symbolic names to integral constants. • To enumerate, you can use the enum keyword. Ver. 1.0 Session 7 Slide 9 of 32
• 10. Object-Oriented Programming Using C#Declaring an Enumeration • The following code is an example of declaring an enumeration named Days: enum Days { Sat, Sun, Mon, Tue, Wed, Thu, Fri }; Ver. 1.0 Session 7 Slide 10 of 32
• 11. Object-Oriented Programming Using C#Implementing Enumerations After declaring the enumeration type, you can use the enumeration type in the same manner as any other data type: int First_Day = (int)Days.Sat; int Last_Day = (int)Days.Fri; Ver. 1.0 Session 7 Slide 11 of 32
• 12. Object-Oriented Programming Using C#Implementing Arrays An array is a collection of values of the same data type. The following figure shows the array structure in the system’s memory. Index Index Value 0 Value 6 Ver. 1.0 Session 7 Slide 12 of 32
• 13. Object-Oriented Programming Using C#Declaring an Array An array needs to be declared before it can be used in a program. You can declare an array by using the following statement: datatype[] Arrayname; Let us understand the explanation of the various elements of the array declaration through an example. Ver. 1.0 Session 7 Slide 13 of 32
• 14. Object-Oriented Programming Using C#Declaring an Array (Contd.) int[ ] Score; Datatype Is used to specify the data type for the elements Ver. 1.0 Session 7 Slide 14 of 32
• 15. Object-Oriented Programming Using C#Declaring an Array (Contd.) int[ ] Score; [] Is used to specify the rank of the array Ver. 1.0 Session 7 Slide 15 of 32
• 16. Object-Oriented Programming Using C#Declaring an Array (Contd.) int[ ] Score; Arrayname Is used to specify the name of the array using which the elements of the array will be initialized and manipulated Ver. 1.0 Session 7 Slide 16 of 32
• 17. Object-Oriented Programming Using C#Initializing and Assigning Values to Array • In C#, you can initialize the array variable and can assign values to the array elements. In addition, you can copy the array variable to another variable. • During initialization, you need to use the new keyword to create an instance of the array. In addition, the size of the array is also specified while it is initialized. • The following is an example of array initialization: int[] Score; // Array declaration Score = new int[10]; //Array Instance Ver. 1.0 Session 7 Slide 17 of 32
• 18. Object-Oriented Programming Using C#Initializing and Assigning Values to Array (Contd.) You can assign values to each element of the array by using the index number, which is called the array subscript of the element. The following is an example of assigning values to the array: int[] Score = new int[3]; Score[0]=10; Or int[] Score={5,10,15}; When you copy the array variable, both the source and target variable refer to the same array instance in the memory. The following is an example of copying the array variables: int[] Source = new int[10] {0, 1, 2, 3, 4}; int[] Target= Source; Ver. 1.0 Session 7 Slide 18 of 32
• 19. Object-Oriented Programming Using C#Manipulating Array Elements • When an array is initialized, you can access the element values and manipulate them. • The foreach loop is specially used for manipulating arrays. • The following is the syntax of the foreach loop: foreach (type identifier in expression) { //statements } Ver. 1.0 Session 7 Slide 19 of 32
• 20. Object-Oriented Programming Using C#Manipulating Array Elements (Contd.) • The following is the example of foreach loop: int[] Numbers = { 4, 3, 2, 1, 0, -1, -2, 9, 5 }; Console.WriteLine("The Contents of an Array is:"); foreach (int K in Numbers) { Console.WriteLine("{0} t",K); } Ver. 1.0 Session 7 Slide 20 of 32
• 21. Object-Oriented Programming Using C#Manipulating Array Elements (Contd.) • While declaring a method if you are not sure about the number of arguments passed as a parameter, you can use the param array. • The following is the example of param array: public int Adding_ArrayElement(params int[] List) { int Total = 0; foreach ( int I in List ) { Total += I; } return Total; } Ver. 1.0 Session 7 Slide 21 of 32
• 22. Object-Oriented Programming Using C#Demo: Matrix Subtraction Using Arrays Problem Statement: David, a student of California University, is currently pursuing mathematics. He is working on a project named Matrix Subtraction. He needs to perform the following tasks for his project: • Accept data in two Arrays. • Perform the subtraction operation. • Verify the value of subtraction. Help David to create the C# program using Visual Studio IDE. Ver. 1.0 Session 7 Slide 22 of 32
• 23. Object-Oriented Programming Using C#Demo: Matrix Subtraction Using Arrays (Contd.) Solution: To solve the preceding problem, David needs to perform the following tasks: 1. Create a console-based application for Matrix Subtraction. 2. Build and execute an application. Ver. 1.0 Session 7 Slide 23 of 32
• 24. Object-Oriented Programming Using C#Multidimensional Arrays The rank value of the array is also known as the dimension of the array. The array can be single dimensional or multidimensional. Single dimensional array stores data in a row. Multidimensional array stores data using different dimensions. The following figure is a graphical representation of values stored in a single dimensional array and a multidimensional array. int [] Num; int[,] Num; 0 0 1 2 3 4 1 0 1 2 3 4 Ver. 1.0 Session 7 Slide 24 of 32
• 25. Object-Oriented Programming Using C#Multidimensional Arrays (Contd.) • The Array class is the base class for all the arrays in C#. • The Array class provides properties and methods to work with arrays. – Properties: The following table explains some of the most commonly used properties of the Array class. Properties Explanation Length Returns the total number of items in all the dimensions of an array Rank Returns the total number of items in all the dimensions of an array IsFixedSize Return a value indicating if an array has a fixed size or not IsReadOnly Returns a value indicating if an array is read-only or not Ver. 1.0 Session 7 Slide 25 of 32
• 26. Object-Oriented Programming Using C#Multidimensional Arrays (Contd.) – Methods: The following table explains some of the most commonly used methods of the Array class. Properties Explanation Sort Performs sort operation on an array passed to it as a parameter Clear Removes all items of an array and sets a range of items in the array to 0 GetLength Returns the number of items in an Array GetValue Returns the value of the specified item in an Array IndexOf Returns the index of the first occurrence of a value in a one-dimensional Array or in a portion of the Array Ver. 1.0 Session 7 Slide 26 of 32
• 27. Object-Oriented Programming Using C#Using Collections • Arrays are used to collect the elements of same data type. • The .NET Framework provides several classes that also collect elements in specialized ways. Theses classes are the Collection classes, and are declared in the System.Collections namespace and sub-namespaces. Ver. 1.0 Session 7 Slide 27 of 32
• 28. Object-Oriented Programming Using C#Using Collections (Contd.) • The collection classes accept, hold, and return their elements as items. • The element type of collection class is an object. Object is a reference type. • The following figure shows the storage of values in array of type int: STACK HEAP Array @ 9 7 3 2 int [] array= {9, 7, 3, 2}; Ver. 1.0 Session 7 Slide 28 of 32
• 29. Object-Oriented Programming Using C#Using Collections (Contd.) The action which automatically converts the value type to the reference type, is known as boxing. The following figure shows the boxing technique. STACK HEAP 7 2 Array @ @ @ @ @ 9 3 int [] array= {9, 7, 3, 2}; Ver. 1.0 Session 7 Slide 29 of 32
• 30. Object-Oriented Programming Using C#Using Collections (Contd.) • When you want to access the elements of an array through its index value location in an array, use an ArrayList class. • The following table describes the use of various methods of an ArrayList class. Method Use Add Adds an object to the end of the ArrayList Remove Removes the element at the first occurrence of a specific object from the ArrayList Clear Removes all the elements from the ArrayList Insert Inserts an element into the ArrayList at the specified index TrimToSize Sets the capacity to the actual number of elements in the ArrayList Sort Sorts the elements in the ArrayList Reverse Reverses the element in the ArrayList Ver. 1.0 Session 7 Slide 30 of 32
• 31. Object-Oriented Programming Using C#Summary In this session, you learned that: – Memory allocated to variables are of two types, value type and reference type. – Value-types are the simplest types in C#. Variables of value types directly contain their data in the variable. – Reference-types variables contain only a reference to data. The data is stored in a separate memory area. – A value type variable holds its value in the stack. – A reference type variable holds a reference to an object in the heap. – To hold related data of various data type in single variable, structures are used. – C# provides the features of enum to create user defined data types with numbers as an index value to access them. – An array is a collection of values of the same data type. Ver. 1.0 Session 7 Slide 31 of 32
• 32. Object-Oriented Programming Using C#Summary (Contd.) – The foreach statement interprets the common loop process and removes the need for you to check the array size. – Param arrays are used in the methods with parameter list when the total number of parameters is not known. – The .NET Framework provides several classes that also collect elements together in other specialized ways. These are the Collection classes, and they live in the System namespace. – ArrayList is useful when you want to manipulate the values in an array easily. Ver. 1.0 Session 7 Slide 32 of 32