Showing posts with label mani. Show all posts
Showing posts with label mani. Show all posts

Monday, September 12, 2011

Types of tables in oracle

There are seven types of tables:

1. Heap organized tables:

A heap-organized table is a table with rows stored in no particular order. This is a standard Oracle table; the term "heap" is used to differentiate it from an index-organized table or external table.If a row is moved within a heap-organized table, the row's ROWID will also change.

Ex.
CREATE TABLE t1 (c1 NUMBER PRIMARY KEY, c2 VARCHAR2(30)) organization heap;

2.Index organized tables:

Index Organized Tables are tables that, unlike heap tables, are organized like B*Tree indexes. Besides storing the primary key values of an Oracle indexed-organized tables row, each index entry in the B-tree also stores the non-key column values.


Index clustered tables


Hash clustered tables


Nested tables


Global temporary tables

Object tables


Saturday, April 30, 2011

Business Intelligence

"Business Intelligence is a set of methodologies, processes, architectures, and technologies that transform raw data into meaningful and useful information used to enable more effective strategic, tactical, and operational insights and decision-making."

Business intelligence (BI) refers to computer-based techniques used in identifying, extracting and analyzing business data, such as sales revenue by products and/or departments, or by associated costs and incomes.

BI technologies provide historical, current and predictive views of business operations. Common functions of business intelligence technologies are reporting, online analytical processing, analytics, data mining, business performance management, benchmarking, text mining and predictive analytics.

Business intelligence aims to support better business decision-making. Thus a BI system can be called a decision support system (DSS).

Though the term business intelligence is sometimes used as a synonym for competitive intelligence, because they both support decision making, BI uses technologies, processes, and applications to analyze mostly internal, structured data and business processes while competitive intelligence gathers, analyzes and disseminates information with a topical focus on company competitors. Business intelligence understood broadly can include the subset of competitive intelligence.

BI applications use data gathered from a data warehouse or a data mart. However, not all data warehouses are used for business intelligence, nor do all business intelligence applications require a data warehouse.

Business intelligence also includes technologies such as data integration, data quality, data warehousing, master data management, text and content analytics, and many others that the market sometimes lumps into the Information Management segment.

Business Intelligence can be applied to the following business purposes (MARCKM), in order to drive business value:

  1. Measurement – program that creates a hierarchy of Performance Metrics and Benchmarking that informs business leaders about progress towards business goals.
  2. Analytics – program that builds quantitative processes for a business to arrive at optimal decisions and to perform Business Knowledge Discovery. Frequently involves: data mining, Statistical Analysis, Predictive Analytics, Predictive Modeling, Business Process Modeling
  3. Reporting/Enterprise Reporting – program that builds infrastructure for Strategic Reporting to serve the Strategic management of a business, NOT Operational Reporting. Frequently involves: Data visualization, Executive information system, OLAP
  4. Collaboration/Collaboration platform – program that gets different areas (both inside and outside the business) to work together through Data sharing and Electronic Data interchange.
  5. Knowledge Management – program to make the company data driven through strategies and practices to identify, create, represent, distribute, and enable adoption of insights and experiences that are true business knowledge. Knowledge Management leads to Learning Management and Regulatory Compliance/Compliance.
In the next tutorial, we will go through the architecture....

Monday, April 18, 2011

Compilation and Linking

Compilation refers to the processing of source code files (.c, .cc, or .cpp) and the creation of an 'object' file. 
This step doesn't create anything the user can actually run. Instead, the compiler merely produces the machine language instructions that correspond to the source code file that was compiled. 
For instance, if you compile (but don't link) three separate files, you will have three object files created as output, each with the name .o or .obj (the extension will depend on your compiler). 
Each of these files contains a translation of your source code file into a machine language file -- but you can't run them yet! You need to turn them into executables your operating system can use. That's where the linker comes in.
Linking refers to the creation of a single executable file from multiple object files. 
In this step, it is common that the linker will complain about undefined functions (commonly, main itself). 
During compilation, if the compiler could not find the definition for a particular function, it would just assume that the function was defined in another file.
If this isn't the case, there's no way the compiler would know -- it doesn't look at the contents of more than one file at a time. 
The linker, on the other hand, may look at multiple files and try to find references for the functions that weren't mentioned.

Why they are seperated?

First, it's probably easier to implement things that way. The compiler does its thing, and the linker does its thing -- by keeping the functions separate, the complexity of the program is reduced. 
Another (more obvious) advantage is that this allows the creation of large programs without having to redo the compilation step every time a file is changed. Instead, using so called "conditional compilation", it is necessary to compile only those source files that have changed; for the rest, the object files are sufficient input for the linker. 
Finally, this makes it simple to implement libraries of pre-compiled code: just create object files and link them just like any other object file. (The fact that each file is compiled separately from information contained in other files, incidentally, is called the "separate compilation model".)
Knowing the difference between the compilation phase and the link phase can make it easier to hunt for bugs. Compiler errors are usually syntactic in nature -- a missing semicolon, an extra parenthesis. Linking errors usually have to do with missing or multiple definitions. If you get an error that a function or variable is defined multiple times from the linker, that's a good indication that the error is that two of your source code files have the same function or variable.