Friday, November 22, 2024

Different data modeling tools list

 

===========================================
AIR TABLE : (3jul 2025)
Data modeling tool with AI data options and self creating data model 


===========================================


===========================================
ToolCreatorTarget Business SizeLicenseSupported Database PlatformsSupported OSsStandalone or bundled into a larger toolkitLaunch Date
AstahChange VisionEnterprisesProprietaryMySQLOracle,Windows, macOS, LinuxStandalone2006
Database WorkbenchUpscene ProductionsSMBs and enterprisesProprietaryMS SQL ServerMySQLOracleFirebirdInterBaseSQL AnywhereNexusDBMariaDBWindows, Linux and FreeBSD (both through Wine)Standalone2001
DbSchemaWise Coders GmbHSMBs and enterprisesProprietaryMS SQL ServerMySQLOracleFirebirdInterBaseSQL AnywhereNexusDBMariaDBSQLitePostgreSQLSybaseWindows, Linux, macOSStandalone2018
Enterprise ArchitectSparx SystemsSMBs and enterprisesProprietaryIBM Db2FirebirdInterBaseInformixIngresAccessMS SQL ServerMySQLSQLiteOraclePostgreSQLSybaseWindows, Linux (Wine), macOS (via CrossOver)Data modeling is supported as part of a complete modeling platform.2000
ER/StudioEmbarcadero (acquired by IDERA)SMBs and enterprisesProprietaryAccessSnowflakeMicrosoft Azure IBM Db2Informix, Hitachi HiRDB, FirebirdInterbaseMySQLMS SQL ServerNetezzaOraclePostgreSQLSybaseTeradataVisual Foxpro and others via ODBC/ANSI SQLWindowsStandalone1998
Erwin Data ModelerLogic Works (now Quest)SMBs and enterprisesProprietaryAccessIBM Db2InformixMySQLMS SQL ServerNetezzaOraclePostgreSQLSybase, and others via ODBC/ANSI SQLWindowsStandalone1998
MagicDrawNo MagicEnterprises, SMBs, personalProprietaryMS SQL ServerOracleMySQLPostgreSQLIBM Db2Windows, Linux, macOSStandalone1995
SQL Server Management StudioMicrosoftUn­knownProprietaryMS SQL ServerWindowsStandalone2005
ModelRightModelRightEnterprises, SMBs, personalProprietaryAccessMS SQL ServerOracleMySQLPostgreSQLIBM Db2WindowsStandalone2005
MySQL WorkbenchMySQL (An Oracle Company)SMBs - personalProprietary or GPLMySQLLinux, Windows, macOSStandalone2006
Navicat Data ModelerPremiumSoftSMBs and enterprisesProprietaryMySQLMS SQL ServerPostgreSQLOracleSQLiteWindows, macOS, LinuxStandalone2012
NORMA Object-Role ModelingTerry HalpinSMBs and enterprisesOpen source (CPL)MySQLMS SQL ServerPostgreSQLOracleIBM Db2WindowsVisual Studio Extension2005
Open ModelSphereGranditeEnterprises - SMBs - personalOpen source (GNU GPL3)MS SQL ServerMySQLPostgreSQLOracleIBM Db2Windows, macOS, LinuxStandalone with Data, UML, and process modeling2008
Oracle SQL Developer Data ModelerOracleEnterprisesProprietaryOracleMS SQL ServerIBM Db2Cross-platformStandalone2009
PowerDesignerSAPSMBs and enterprisesProprietaryAccessGreenplumApache HiveHP NeoviewIBM Db2InformixIngresInterbaseMySQLNetezzaNonStop SQLOraclePostgreSQL, Red Brick Warehouse, SAP business SuiteSAP HanaSAP Adaptive Server EnterpriseSAP IQSAP SQL AnywhereMS SQL ServerTeradataWindowsStandalone1989
Software Ideas ModelerDusan RodinaEnterprises, SMBs, personalProprietaryMS SQL ServerMySQLWindowsStandalone2009
SQLyogWebyog, Inc.Enterprises, SMBs, personalProprietaryMySQLMariaDBWindows and Linux (using Wine)Standalone2001
Toad Data ModelerQuest SoftwareSMBs and enterprisesProprietaryAccessIBM Db2InformixMySQLMariaDBPostgreSQLMS SQL ServerSQLiteOracleWindowsStandalone2005 (before this date known as CaseStu

Tuesday, November 19, 2024

inner join and outer join queries and results

 

 

--  // Create database //

 use db1;

show tables;

 

create table t1 ( id int , name varchar(44) ) ;

create table t2 ( id int , name varchar(44) ) ;

 

 

--  // insert data  into tables  //

 

insert into t1 values( 1, "x1");

 

insert into t1 values( 2, "x2");

insert into t1 values( 3, "x3");

insert into t1 values( 4, "x4");

 

select * from t1;

 

insert into t2 values( 1, "x1");

insert into t2 values( 2, "x2");

insert into t2 values( 5, "x5");

insert into t2 values( 6, "x6");

 

 

select * from t2;

 ------------------

 

-- // inner join //

select * from t1 join t2 on t1.id = t2.id

 

 

-- // left join //

select * from t1 left join t2 on t1.id = t2.id

 

 

-- // Right  join //

 

select * from t1 right join t2 on t1.id = t2.id

 

 

- // fuill outer  join //

 

 select * from t1 left join t2 on t1.id = t2.id

union

 select * from t1 right join t2 on t1.id = t2.id

 

 

Monday, October 21, 2024

Parquet datatypes

 

Parquet Data Types and Transformation Data Types

Parquet data types map to transformation data types that the Data Integration Service uses to move data across platforms.
The following table compares the Parquet data types that the Data Integration Service supports and the corresponding transformation data types:
Parquet
Transformation
Range
Binary
Binary
1 to 104,857,600 bytes
Binary (UTF8)
String
1 to 104,857,600 characters
Boolean
Integer
-2,147,483,648 to 2,147,483,647
Precision of 10, scale of 0
Date
Date/Time
January 1, 0001 to December 31, 9999.
Decimal
Decimal
Decimal value with declared precision and scale. Scale must be less than or equal to precision.
For transformations that support precision up to 38 digits, the precision is 1 to 38 digits, and the scale is 0 to 38.
For transformations that support precision up to 28 digits, the precision is 1 to 28 digits, and the scale is 0 to 28.
If you specify the precision greater than the maximum number of digits, the Data Integration Service converts decimal values to double in high precision mode.
Double
Double
Precision of 15 digits.
Float
Double
Precision of 15 digits.
Int32
Integer
-2,147,483,648 to 2,147,483,647
Precision of 10, scale of 0
Int64
Bigint
-9,223,372,036,854,775,808 to 9,223,372,036,854,775,807
Precision of 19, scale of 0
Map
Map
Unlimited number of characters.
Struct
Struct
Unlimited number of characters.
Time
Date/Time
Time of the day. Precision to microsecond.
Timestamp
Date/Time
January 1, 0001 00:00:00 to December 31, 9999 23:59:59.997.
Precision to microsecond.
group (LIST)
Array
Unlimited number of characters.
The Parquet schema that you specify to read or write a Parquet file must be in smaller case. Parquet does not support case-sensitive schema.

Parquet Timestamp Data Type Support

The following table lists the Timestamp data type support for Parquet file formats:
Timestamp Data type
Native
Spark
Timestamp_micros
Yes
No
Timestamp_millis
Yes
No
Time_millis
Yes
No
Time_micros
Yes
No
int96
Yes
Yes

Unsupported Parquet Data Types

The Developer tool does not support the following Parquet data types:
  • Timestamp_nanos
  • Time_nanos
  • Timestamp_tz

150 ) Data model - Optimization

   Data model - Optimization   Diagnosing, Reporting, and Resolving a Data Model Problem Here is the complete, end-to-end process showing ho...