Lyrebird · Realistic synthetic test databases, generated fully offline

Oracle · Human Resources (HR)

JOBS

Source rows
19
Synthetic rows
19
Broken foreign keys
No foreign keys
Rows equal to a source row
100%

Every synthetic row matches a source row outside its keys. Kept reference data and resampled source values match by design, and columns with few possible values can match by chance: see how each column was generated below. You can review, replace or remove kept values before you publish a profile.

Rows

Both databases, first rows by primary key, in one table: scrolling sideways moves them together. Rows at the same position are unrelated, unless the table holds kept reference data. Long values are cut at 60 characters.

JOB_ID keyJOB_TITLEMIN_SALARYMAX_SALARY
Source database · 12 of 19 rows
AC_ACCOUNTPublic Accountant42009000
AC_MGRAccounting Manager820016000
AD_ASSTAdministration Assistant30006000
AD_PRESPresident2008040000
AD_VPAdministration Vice President1500030000
FI_ACCOUNTAccountant42009000
FI_MGRFinance Manager820016000
HR_REPHuman Resources Representative40009000
IT_PROGProgrammer400010000
MK_MANMarketing Manager900015000
MK_REPMarketing Representative40009000
PR_REPPublic Relations Representative450010500
Synthetic database · 12 of 19 rows
AC_ACCOUNTPublic Accountant42009000
AC_MGRAccounting Manager820016000
AD_ASSTAdministration Assistant30006000
AD_PRESPresident2008040000
AD_VPAdministration Vice President1500030000
FI_ACCOUNTAccountant42009000
FI_MGRFinance Manager820016000
HR_REPHuman Resources Representative40009000
IT_PROGProgrammer400010000
MK_MANMarketing Manager900015000
MK_REPMarketing Representative40009000
PR_REPPublic Relations Representative450010500

Column by column

Each figure is computed from all rows of both databases in the same way. S is the source, Y the synthetic copy. Difference runs from 0 (same distribution) to 1 (no overlap): Kolmogorov-Smirnov for numbers and times, total variation for columns with few values. Personal columns are meant to differ, so they show how many values also appear in the source instead. Lyrebird draws names from built-in lists, not from the source, so common names can match.

Column Model read it as How it was generated Empty Distinct Range or length Most common Difference
JOB_IDVARCHAR2(10 BYTE) record key New key values S 0%
Y 0%
S 19
Y 19
S 6.8 chars avg
Y 6.8 chars avg
S AC_ACCOUNT 5.3% · AC_MGR 5.3% · AD_ASST 5.3% · AD_PRES 5.3% · AD_VP 5.3% · FI_ACCOUNT 5.3%
Y AC_ACCOUNT 5.3% · AC_MGR 5.3% · AD_ASST 5.3% · AD_PRES 5.3% · AD_VP 5.3% · FI_ACCOUNT 5.3%
—
JOB_TITLEVARCHAR2(35 BYTE) job title Kept from the source as reference data S 0%
Y 0%
S 19
Y 19
S 17.8 chars avg
Y 17.8 chars avg
S Public Accountant 5.3% · Accounting Manager 5.3% · Administration Assistant 5.3% · President 5.3% · Administration Vice President 5.3% · Accountant 5.3%
Y Public Accountant 5.3% · Accounting Manager 5.3% · Administration Assistant 5.3% · President 5.3% · Administration Vice President 5.3% · Accountant 5.3%
0 TVD
MIN_SALARYNUMBER(6,0) monetary amount Kept from the source as reference data S 0%
Y 0%
S 14
Y 14
S 2008 → 20080
Y 2008 → 20080
S 4000 15.8% · 4200 10.5% · 8200 10.5% · 2500 10.5% · 3000 5.3% · 20080 5.3%
Y 4000 15.8% · 4200 10.5% · 8200 10.5% · 2500 10.5% · 3000 5.3% · 20080 5.3%
0 KS
MAX_SALARYNUMBER(6,0) monetary amount Kept from the source as reference data S 0%
Y 0%
S 13
Y 13
S 5000 → 40000
Y 5000 → 40000
S 9000 21.1% · 16000 10.5% · 15000 10.5% · 5500 10.5% · 6000 5.3% · 40000 5.3%
Y 9000 21.1% · 16000 10.5% · 15000 10.5% · 5500 10.5% · 6000 5.3% · 40000 5.3%
0 KS