If you’ve ever worked on a data warehouse with multiple subject areas, you’ve likely run into a seemingly small issue that turns into a huge problem: inconsistent dimension values — especially for something as basic as countries, Gender and others. Recently, I faced this exact challenge and wanted to share how I tackled it, along … Continue reading Solving the Country Dimension Chaos in a Data Warehouse: Smart Design Tips You Can Use
SQL with ChatGPT in Python
SQL Developer Warning – could not install some modules
I have SQL Developer version 22.2 installed on my laptop, then I installed the latest version 23.1.1.Both of them are working fine, and I can run both of them simultaneously without any issue.I have also a separate installation for the Data Modeler version 23.1I restarted my laptop (I didn't restart it since more than one … Continue reading SQL Developer Warning – could not install some modules
Back to Basics – What is the Difference between Selection and Projection?
These concepts are related to the sql statement in oracle and in RDBMS in general. Projection This is a vertical subset of table columns (the select list) , including all rows.It may include one column, two columns or all table columns.Projection answers the question: which columns the query shall return? For example:select empno , ename, … Continue reading Back to Basics – What is the Difference between Selection and Projection?
Loading Arabic Data Into Oracle Database using SQLCL
This is a follow up post on my previous post:https://ahmedfattah.com/2019/12/15/loading-data-into-oracle-database-from-text-csv-files/If you read this post, you find that we uploaded some data , part of it was Arabic data, and although it was loaded successfully, the Arabic data was corrupted (appeared as ???????). In this post, we see how we can configure sqlcl to load and … Continue reading Loading Arabic Data Into Oracle Database using SQLCL
Oracle Database 32-bit Funny Migration to 64-bit
Objective: Migrating one 11.1.0.7 32-bit database that resides on an old Windows 2008 (32-bit) (4GB memory) to Windows 2008 64-bit (no upgrade) on a brand new server with 64GB memory. {At 2017 and still there is 11.1.0.7 database ==> yes there is!} Introduction and Background I have a client with the following very old environment: … Continue reading Oracle Database 32-bit Funny Migration to 64-bit
Oracle SQL: Normalize the UnNormalized
What is the problem? Sometimes you are faced with a bad (poorly normalized) schema design. For example: But, you may need the output to be in the following normalized form: The correct solution may be to fix the schema design, but in most cases this will not be feasible. Test Case 1: We need to … Continue reading Oracle SQL: Normalize the UnNormalized
Formatting a Wrapped Execution Plan
If you received or produced an execution plan like the following unreadable one: ---------------------------------------------------------------------------------------------------| Id | Operation | Name | E-Rows | OMem |1Mem | Used-Mem |---------------------------------------------------------------------------------------------------| 0 | SELECT STATEMENT | | | || || 1 | SORT AGGREGATE | | 1 | || ||* 2 | HASH JOIN | | 13 | 1102K|1102K| … Continue reading Formatting a Wrapped Execution Plan